[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Eclipse 3.0 Running ILLEGALY on Kaffe

Brian Thomas Sniffen wrote:
Måns Rullgård <mru@inprovide.com> writes:

It is compiled against an interface, not an implementation.  Which
particular implementation was used while compiling is irrelevant.

Can you support this assertion?  The program, including its libraries,
which the developer intends to put on end-user systems appears quite
relevant to me.

For a file written in Java, all that ends up in the compiled bytecode file from a library its compiled against are a bunch of strings denoting class, interface, field and method *names* that are used from the library, if any, but not the actual content of the library, i.e. actual expressions of data structures or methods as they exist in the library. That's a major difference between Java classes and C headers.

For Java APIs that are defined by some specification like J2SE 1.4, the developers of a GPLd class re-implementing it would have a hard time claiming copyright on the class, interface, field or method *names*, as they are not their own original work to claim copyright on, but are the result of the necessity of implementing an already existing specification. It would be the same as SCO's bogus 'Linux uses Unix interface names, so it all belongs to us' claim.

When the *names* are not copyrightable content, then there is no way for a copyright-based license to work its magic into works that just include the *names*. If the names are original work of the authors, then they are copyrightable, and then the GPL works. If they are not, like the name "java.lang.Object" is not my original work, then it would be a pretty far off claim :)

For the rest of the argument, I kindly refer to Andrew Suffield's analysis of Gadek's claims about 'undistributable Java in main' from 2003:


dalibor topic

Reply to: