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

Re: Eclipse 3.0 Running ILLEGALY on Kaffe

Grzegorz B. Prokopski wrote:

Yet, if you *package* this program together with a JVM, so that when
the user says "I want to build this package" or "I want to run this
package" the user gets your program with a specific JVM, then it's not
a mere aggregation, but these two are explicitely bound together.

a) it's not packaged together as Kaffe does not end up in the Eclipse package, and no *copyrightable* parts from Kaffe either, afaik, because Eclipse is not a derived work from Kaffe.

It's the 'HelloWorld' example over again:

public class HelloWorld {
	public static void main(String [] args) {
		System.out.println("Hello World!");

This is an extremely complicated Java program written against the J2SE 1.0 API. Is this work a derived work of Kaffe?

I think it's quite obvious that it is not.

Compiling this with a Java bytecode compiler against Kaffe's class library and Sun's class library fascinatingly results in exactly the same bytecode sequence. Is that class a derived work of Kaffe, then?

Nope. For a copyright based license to work its 'derived/copied/modified work' magic, there needs to be something copyrightable in a work that's created from the GPLd work. Remeber that the original work in source code for HelloWorld was not a derived work, so something GPLd, copyrightable needs to be added to the output of the translation between the source code and the byte code for a derivation claim to hold.

Most of the content in the HelloWorld.class file is dictated by external factors, like the Java class file format. There are a couple of strings in the class file that are present in both Sun's and Kaffe's class library, like 'out', 'println', or 'System', though. Do these strings support a derivation claim?

Nope. They are from the non-GPLd source code, actually. The ones that are not, are in there because of 'scenes a faire' of the java byte code format, and the compilation to it. They are not copyrightable expressions. No copyrightable expression from Kaffe's handful of GPLd class libraries that implement the standard Java apis ever ends up in the bytecode compiled against them, afaict from writing the ocassional java bytecode compiler in my youth. :)

Unfortunately, apparently emulating a failed Unix(TM) vendor helplessly attacking a different GPLd project, you refrain from telling which file and line specifically in which class in the Eclipse packages where and how you believe to infringe on which GPLd file and line in Kaffe. That is kind of funny, since your theories about how copyright works appear to be quite similar to SCO's understanding of it. SCO, among many other funny things, claimed that Linux was shamelessly stolen from it, because it contained 'int a;' somewhere in it.[2]

b) Using a GPLd program to process data does not restrict the user in any way regarding the license of the data to process. So much for the generic claim about Kaffe's GPL propagating through using it to build something with it.

c) GPL allows users to run GPLd programs for any purpose without letting the GPL'd program impose restrictions on its data. So much for the claim about running.

dalibor topic

[1] No, just because there is a string 'java.lang.Object' in a class file, it does not make it a derived object of Kaffe. That's because GPL is a copyright-based license, so 'Scenes a faire', abstraction, filtration, and all that nice stuff from copyright law play quite a bit of a role. While non-free, click-wrap licenses often contain clauses where the copyright holders make claims that go beyound what copyright law gives them, GPL is not such a license, and it shouldn't be interpreted accordingly.

Kaffe's copyright holders couldn't claim copyright on that string any more than they could claim copyright on the strings 'URL', 'http://' or 'stdio.h'. All these strings are part of Kaffe, afaik, but that doesn't mean that they are original, copyrightable work of Kaffe authors. You can't enforce a copyright-based license on something that's not copyrightable, like the string 'int a;'.

Otherwise, it could equally be argued, using Gadek's theory of copyright without regard for copyrightability of an expression, that if SableVM contained single words from the JVM specification in its source code or binaries, like 'IllegalMonitorStateException', it was a derived work from it, and wrath of the spec's creator hung over its head and those that distributed its packages.

Which would be, in my opinion, utter bullshit. But then, my understanding of copyright law is obviously different from Gadek's.

[2] 'How Kaffe stole UNIX from SCO' in http://www.advogato.org/person/robilad/diary.html?start=56

Reply to: