[kaffe] Build system for kjc / external jars + Jetty/JSP
success
Mark Wielaard
mark@klomp.org
Thu Jun 26 09:54:01 2003
Hi,
On Thu, 2003-06-26 at 18:04, Jim Pick wrote:
> Actually, distributing some non-GPL compatible apps along with the VM
> sources is not a bad way to help people understand how we interpret the
> licensing issues.
Are you sure all copyright holders of the VM and the class libraries
interpret the GPL this way? What happened to the copyright that
Transvirtual held on large parts of the source code? The reason I ask is
because the SCO mess reminds me of the fact that there will always be
people/laywers who will interpret legal language in "creative" ways.
One of the reasons that the GNU Classpath and Kaffe projects worked on
their own core library implementations in the past was precisely because
they disagreed about this point.
> I don't believe that the GPL, when used as a license
> on a virtual machine, is so "super viral" that it contaminates
> applications run on top of the machine, or bundled alongside it.
> Granted, it's a matter of interpretation, but I've had discussions with
> a number of free software "luminaries" that basically agree with that
> interpretation.
>
> There are limits on how much the GPL infects other software - it doesn't
> cross all boundaries. The FSF will tell you so. The only people who
> will tell you that the GPL infects absolutely everything it comes in
> contact with is Microsoft, as part of their FUD campaign.
The FSF indeed says that it doesn't cross all boundaries (though they
use the terms "derived work" or "work based on the program", not
"infect" and "boundary", since those are more common when used when
talking about copyrights), but they do also say:
http://www.gnu.org/licenses/gpl-faq.html#OOPLang
In an object-oriented language such as Java, if I use a class that is
GPL'ed without modifying, and subclass it, in what way does the GPL
affect the larger program?
Subclassing is creating a derivative work. Therefore, the terms
of the GPL affect the whole program where you create a subclass
of a GPL'ed class.
http://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL
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?
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.
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. So if these facilities are released
under the GPL, the interpreted program that uses them must be
released in a GPL-compatible way. The JNI or Java Native
Interface is an example of such a facility; libraries that are
accessed in this way are linked dynamically with the Java
programs that call them.
Another similar and very common case is to provide libraries
with the interpreter which are themselves interpreted. For
instance, Perl comes with many Perl modules, and a Java
implementation comes with many Java classes. These libraries and
the programs that call them are always dynamically linked
together.
A consequence is that if you choose to use GPL'd Perl modules or
Java classes in your program, you must release the program in a
GPL-compatible way, regardless of the license used in the Perl
or Java interpreter that the combined Perl or Java program will
run on.
Maybe we should lobby the Apache Foundation to finally add the one word
to the Apache License that would make it compatible with the GPL as I
pointed out somewhere in the thread of that old email that Rob
mentioned.
Cheers,
Mark