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

Re: Undistributable java in main



E.L. Willighagen (Egon) wrote:
On Saturday 01 November 2003 20:08, Etienne Gagnon wrote:

E.L. Willighagen (Egon) wrote:

The big question seems to come done to:

"What part of Java is library and what part is language?"

It seems to me that at least the syntax *and* java.lang *is* the
language... Thus as long as you don't use anything else then java.lang
classes, you can use kaffe to run *any* Java byte code, independent which
license...

The FSF seems to disagree with you there.  See the GPL FAQ:


If only the part below makes you believe that the GPL FAQ disagrees,
then I tend not to agree... Contrarily, I think this FAQ items supports my point:

I think the text clearly distinguishes from language and library part of interpreters... just like my argument. The java.lang package *is* the Java language, not a library part... everything else under java.* is library...

So the FAQ items actually supports my view that if you only use Kaffe
to interpret java.lang classes and nothing else, then Kaffe just interprets the language, and the FAQ states that it then does not require the program
run by Kaffe needs to be GPL too...

Egon


http://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL

[Please note the 3rd paragraph of the answer.]

Q)If a programming language interpreter is released under the GPL, does
that mean programs written to be interpreted by it must be under
GPL-compatible licenses?

A)When the interpreter just interprets a language, the answer is no. The
interpreted program, to the interpreter, is just data; a free software
license like the GPL, based on copyright law, cannot limit what data you
use the interpreter on. You can run it on any data (interpreted program),
any way you like, and there are no requirements about licensing that data
to anyone.


The language is the syntax + java.lang classes. (IMHO) The .lang must come
from somewhere...

The language is defined by the Java Language Specification.

  However, when the interpreter is extended to provide "bindings" to other
facilities (often, but not necessarily, libraries), the interpreted program
is effectively linked to the facilities it uses through these bindings.


This would be packages like java.util and java.io

No, not really. Those packages are explicitely specified in the Java Language Specification, first edition. In fact, for some classes, like java.io.StreamTokenizer, the JLS 1st Ed. is the only place where the semantics of some of the methods is specified at all.

See http://java.sun.com/docs/books/jls/first_edition/html/javalang.doc.html#41908
http://java.sun.com/docs/books/jls/first_edition/html/javautil.doc.html#32170
http://java.sun.com/docs/books/jls/first_edition/html/javaio.doc.html#46187

Conclusion: The argument as presented by FSF is wrong. ;)

In my opinion, if the interpretation of GPL2 is so obviously ambiguous [1] as in this case, the FSF would be better off drafting a GPL3 that is unambiguous instead relying on 'dogmas' from above to regulate the interpretation.

cheers,
dalibor topic

[1] Given that most replys I've seen here didn't fully support FSFs view.



Reply to: