"Martin v. Löwis" writes: > Note that it is ultimately up to a court to interpret these words of the > GPL, not to the FSF lawyer.
True, and in the case of a non-FSF product, any ambiguities would be resolved first by determining the intent of the copyright owner, second (perhaps even overriding the intent of the owner) by the understanding of the user, and only third by asking the author of the license. Nevertheless, in the U.S. at least the court would likely be influenced in its judgments about "intent" and "understanding" by public statements of the author, because those would tend to condition the general public's understanding, including that of the parties to the license. > > Specifically, in > > > > > "Major Component", in this context, means a major essential component > > > (kernel, window system, and so on) of the specific operating system > > > (if any) on which the executable work runs, or a compiler used to > > > produce the work, or an object code interpreter used to run it. > > > > the word "essential" would refer to running the compiler or the > > operating system or interpreter, not to a component essential to > > running the program but in general optional for using the system. > > Maybe my English is not good enough Mine is definitely not! :-) > - I read that to mean that the compiler itself is a major component > of the system (and thus doesn't need to be distributed along with > the source of the GPL'ed program). Note that it explicitly also > says that a "object code interpreter" used to run "it" (the > executable) is a major component, which would explicitly declare > Python a major component (as long as it's actually distributed with > the system). Well, English being what it is, your guess is as good as mine.<0.2 wink> My understanding is that the compiler or interpreter is not being defined as a major component. It is being defined as something which, like a major component, is exempt from the source distribution and licensing requirements of the GPL. As is typical of the GPL :-(, the English is ambiguous as to whether "major essential components" of compilers or interpreters are exempt, too. I would think so, though. This simplifies licensing of things like the runtime code distributed with GCC, Java Swing (or whatever the preferred GUI is nowadays), or the implementation of print() in Python 3 dramatically, at little cost in additional leniency that I can see. That is, the reason that Java and Python programs can usefully be GPL is unrelated to the "major component" part of that clause. Rather, my understanding of the above GPLv3 clause is that it promotes VMs and interpreters to the level of *platform*, just like the kernel. In general using a language *translator* is *not* considered to create a derivative, because a derivative is a (possibly partial or modified) copy of the original. I've asked Richard Stallman about this specifically for GPLv2, and that's what he told me about Emacs Lisp: it is possible to write and distribute non-GPL programs in Emacs Lisp (but difficult, because you have to avoid using Emacs-specific data structures and functions). This makes a fair amount of sense anyway, since the translator works on the program as data, but the translator is not (usually) copied into the program. In other words, the GPL doesn't apply to the output of GCC, not because of the generosity of Richard Stallman, but because in U.S. copyright law, at least, it *can't*.[1] In the case of an interpreter, this is a lot more fuzzy (the interpreter is linked to the implementations of the statements). The English/legalese of GPLv2 doesn't make this clear. I think that's why GPLv3 explicitly specifies "interpreters of object code" in that clause. > If your interpetation was right and Python is *not* a major > component, then any GPL'ed Python application would need to > distribute the source code of Python along with its own source > code, and with that the source of all libraries that are not major > components themselves. Yes, for the libraries. That's what James is worried about. > Also, if your interpretation was right, it wouldn't be possible to > license Java programs under the GPL, since the JVM wouldn't be a major > component, No, of course it's possible for the copyright holders to license Java programs under the GPL, and even for you (not the owner) to create derivatives, as long as you are confident that the copyright holders won't sue you. As for what the law and the GPL actually say about these matters, surely it is not news to you that the GPL sucks unless you want all software GPLed, and even then there are "regrettable" side effects. Footnotes: [1] OTOH, the bison license contains a special clause because the "hairy parser" is a fairly extensive piece of C code that is copied into a program using bison to compile yacc specifications. This clause says basically "the hairy parser is part of bison but as a special exception its presence in your program is OK even if you distribute the program under a license other than the GPL." _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com