Joe Wreschnig writes: > Step by step, tell me where you start to disagree: > > If I write a program that contains the entire ls source code as one > large C string, and then prints it out, that is a derivative work of the > ls source.
I disagree here. Why do you claim that is derivative work? Note that the GPL does not use "derivative work" in quite the same sense as US copyright law: the GPL includes compilations in the term, but excludes many of them from that treatment at the end of section 2. Several (a plurality, if not majority) of US federal court districts use the Abstraction, Filtration and Comparison test to determine whether one computer program infringes on another's copyright -- basically a test for derivative-work-ness under the meaning of the Copyright Act. Google it for background, but for want of a better test, I think it is a reasonable process to use here. The abstraction part is to analyze the program, first as a whole, then at successively lower levels, to determine how it operates. Applying the highest level of analysis to this program, its purpose is to print out a string. It does not care what that string is; the string is just along for the ride, so to speak. Filtration removes any elements that are fixed by the purpose of the code, leaving only the creative (and therefore copyrightable) elements. Do you think there is some creative element in printing a string? The comparison stage is a no-op if there was no creative element from the first two stages. Unless there is some creative element in embedding or printing the string, the AFC test suggests that the combined program is a compilation rather than a derivative. Perhaps another test is more appropriate, but I don't know of one. Michael