I thought a bit more about this and I think you'd be hard pressed to prove a completely clean delta if the concept is taken to the extreme.
Here's a trivial example:
Now add a line of code that is similar, but modified:
Code: Select all
someFunction(1, 2, "test");
someFunction(1, 2, "test-two");
What delta can you create that won't distribute some modified form of their original bits? Even if you include just this line, you're still including some form of their code:
If you say "well, this doesn't count", then what is to keep someone from extracting their code, running an obfuscator on it (to change the function names, variables, actual code paths but not logical code arcs, etc), and redistributing the result?
The code might end up looking like this:
Code: Select all
var a = decryptNumber(lookupConstant["a"]);
var b = decryptNumber(lookupConstant["b"]);
var c = decrypt("fj209fjkldasfjklds"); // turns into "test"
f(a, b, c); // note that someFunction is renamed "f"
...But it would still do the exact same thing as their original code (albeit slower).
Maybe this is paranoia speaking, and maybe there's a spirit to the law that is hard to codify, but I think there are problems with any literal interpretation of their current rules with respect to modifying existing content, or even to coding anything while being able to view existing source code (rather than simply having a white-listed API that they publish).
I guess they'd have to delta against an existing (probably empty) file to get this to work and be considered a "delta", which is pretty much logically identical to redistributing a modified existing file. Maybe this can be hunted down and stopped the same way they'd stop piracy, and is only relevant when taken to this logical extreme.
Blizzard (World of Warcraft modding) might have cleverly side-stepped this issue by explicitly forbidding the distribution of any work that has been run through an obfuscator.