>
> Then I take it it is a modified GPL?
>
No, it's the GPL; what I described was Tim Wilkinson's interpretation.
The question revolves about what "linking" is.
Tim's interpretation coincides with the interpretation of other people.
Below, I append a mail Jules Bean sent. Jules is involved in the Debian
project. I think it makes a lot of sense.
- Godmar
Jules Bean wrote:
Hiya all..
I'm a debian developer, and we're notoriously anal about licenses ;-) so I
thought I've give you my stand.
We've been around these issues a few times before on the debian lists,
particularly with Qt. Let me outline what it looks like to me:
Scenario 1:
I develop a commercial app, built against the standard Java API. I
develop it on my Linux machine using Kaffe and some compiler (pizza,
maybe, but it doesn't matter). The resultant java class files are, IMO,
utterly 'untainted' by the GPL. The reason I claim this is that they have
been built against a standard API, which is not licensed at all. My class
files will run equally well with Klasses.jar, classpath, and the sun JDK
(modulo bugs in those respective implementations!). Therefore, my program
is not substantiatively 'linked' against any of the above. I distribute
it to my customers, simply saying 'run this on any Java 1.1 compatible
environment'.
Scenario 2:
I develop an application, using heavily some putative
kaffe.reallyutils.tim.rocks classes. Since my application will not run
without those classes, my application can reasonable be considered to be
linked to them - and hence I am constrained by the GPL as it applies to
those classes.
Scenario 3:
I develop a custom VM, based on kaffe VM. In this case there is *no
doubt* that I am using GPL'ed code and hence my custom VM must be GPLed.
The key difference between 1) and 2) is whether or not the combined work
can be sensibly described as 'linking' to the GPLed code. IMO (and RMS
agreed with this point of view w.r.t the Qt/Harmony debate), it is not
'linking' when there is no co-distribution, and the code will run with any
of several existing implementations. On the other and, and still IMO, it
*is* linking when there is only one implementation.
Jules