On Wed, 2004-06-16 at 22:42, Michael Poole wrote: > 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.
I was using a minimal test case as an example here, but fine; consider a program that does many nontrivial things, one of which is printing such a string. For example it might print the source, count the number of times an identifier is used, count the number of lines, etc. Keep in mind that the string is still hardcoded into the program, though. Filtration, then, cannot remove any of my code, since it now clearly meets a standard of "creative work". This is much closer to the kernel situation, because the kernel does much more than store firmware blobs. In addition, I've not ever heard of AFC being used to distinguish between "compilation" and "derivative" works, only to distinguish whether or not two (very similar) bodies of code were a result of illegal copying or a result of the nature of the programs in question (usually, employees writing code for one company, and then another). We are not faced with a question like that at all here, so I don't find it applicable. -- Joe Wreschnig <[EMAIL PROTECTED]>
signature.asc
Description: This is a digitally signed message part