Can Java code EVER be GPLd, at all?

Justin Wells jread at semiotek.com
Sat Nov 13 19:51:16 UTC 1999


On Sat, Nov 13, 1999 at 12:51:52AM -0800, Mark Wells wrote:

> Are shell scripts that use the GNU file utilities inherently copylefted?
> What's the difference between including GPL code in an application by
> linking to libraries and including it by running executables?  I think
> that as the lines between such concepts as 'compiling' and 'linking'
> continue to break down the GPL is going to need to be overhauled.

This is the key question. Java and perl are very similar to the shell 
example. The only difference is that they actually include the GPL'd 
material into the program at runtime when they finally link. So a 
*running* Java or perl program that includes GPL'd material is GPL'd, 
but not before that point. 

A compiled Java classfile contains no material at all from the other 
classes that it uses--just the names of the methods in those other 
classes. Only at runtime is this resolved. Similarly a perl program 
does not include material from a library it includes until the perl 
interpreter loads that library in--up to that point, it just contains
references by names. 

The purpose of the GPL is to promote the development of further free 
software by encumbering code which uses GPL'd code... and this works 
very well for traditional languages like C. 

But new technologies like perl, Java, CORBA, etc., are changing this
and I would like to think about what kind of license could be used 
that would be fair and would still impose a "copyleft" of some sort on 
these new technologies in order to promote the development of future
free software (let's leave the philosophical debate about whether I 
would succeed, whether this is right, etc., for another day--let's 
just talk about the technical and OSD compliance issues today.)

Justin




More information about the License-discuss mailing list