Ralph Goers wrote:
On May 1, 2009, at 4:45 AM, Sylvain Wallez wrote:
dynnamitt wrote:
Thanks man, I didn't know about that Phone-home feat.
I did not however see GPL as an issue since the JVM(7) itself soon
becomes a member.
Does this mean that all apache apps will be stuck in JVM6 land ??
The GPL is "imposed freedom", in that it states that any derived
works of a GPL'ed product should also be GPL licensed itself, and
thus that its source code should be distributed with the product.
When your product (or Cocoon for that matter) uses classes from
XMLCalabash, it becomes a derived product and thus must be GPL'ed.
This is why any GPL library is a big no-no at Apache, since the
Apache license is much more liberal and allows proprietary usage.
The case of the JVM is different, because a Java application is not a
derived work of the JVM, and only relies on the Java specification
and the .class file format. You can then run your program on any
virtual machine that understands this class file format.
And by the way, Apache has an Apache-licensed virtual machine:
http://harmony.apache.org/
Actually, this isn't quite accurate. Java applications are "derivitive
works" (by the GPL definition) of the Java Library. However, OpenJDK
uses GPL with the classpath exception for the library. The classpath
exception is similar to the LGPL in that it says that your derived
work can be under a different license. See
http://freejdk.org/faqs/openjdk_license.html.
Hmm... true, but GPL virality only applies to distribution, i.e. when
you ship in a same package a GPL'ed JDK and an application. When the
end-user installs a Java application in an environment that already has
a JDK, this user is the one doing the assembly, out of the control of
the initial developer.
The JDK APIs specification and the class file format specification
aren't GPL'ed, meaning you can develop a non-GPL'ed application using
any implementation of these specifications, even simple stubs that just
make the compiler happy.
Anyway, the rule of thumb for Dynnamitt is that adding a GPL'ed library
to an Apache project is simply not possible.
Sylvain
--
Sylvain Wallez - http://bluxte.net