Re: Undistributable java in main
Dalibor Topic wrote:
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. ...
As running is clearly not covered under GPL, your argument doesn't work.
Modification *IS* covered by the GPL. (FYI, it's not my argument, it's
Now, linking *is* a form of modification. Were it not, you could simply
link your proprietary program with the GNU readline library. See
http://www.gnu.org/licenses/why-not-lgpl.html if you have doubts about
useability of a GPL library within proprietary code.
The fact that linking is done statically *or* dynamically is irrelevant;
the result is that you have a combined work; all parts of the work must
be licensed under terms that allow for the part to be combined with the
The frequent confusion is that people think that running a Java application
is the same as running a compiled C application; it's not.
A compiled C application is mostly *self-contained*, except for the C library
routines. The designers of glibc anticipated this, and made sure GNU libc
was licensed under the LGPL, otherwise you would not be able to *run* your
C application, as it would have to be *combined* (e.g. lined) dynamically
with glibc, thus forming a derived work (which is actually the work that is
So, in summary: *running* is not covered by the GPL. Your problem is that
you do not want to merely run ant; you want to run a work that is composed
of: ant + classpath + kaffe. What the GPL does NOT allow you to do is to
*create* this combined work (statically or dynamically) so that you can
FYI, here are excerpts from my private correspondance with RMS:
So, how come "running" a non-free Java program on Kaffe would violate
the GPL license? This is a point I have difficulty to understand.
Because it is linking the two together.
Just to confirm that I now understand correctly...
Linking (dynamic and/or static) of an GPL work "A" with another work "B"
is addressed by clause 2 of the GPL, namely: "you may *modify* your
copy...". This is because linking "A" with "B" does *modify* "A".
The analogy would be to say that "linking" a work by Shakespeare (which
is in the public domain) with an "introduction and commentary" does
create a derived work, even though no word has been changed in
Shakespeare's text. So, the simple act of "linking" constitutes a
modification of the original work. Right?
Right. It makes a collective or combined work.
Etienne M. Gagnon, Ph.D. http://www.info.uqam.ca/~egagnon/