classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: license question


From: Chris Pickett
Subject: Re: license question
Date: Tue, 20 Jul 2004 03:40:13 -0400
User-agent: Mozilla Thunderbird 0.6 (X11/20040509)

Chris Gray wrote:
On Tuesday 20 July 2004 03:36, Bryce McKinlay wrote:

Ben Hinkle wrote:

I'd like to port the Collections implementation in Classpath to another
language called D that is very similar to Java and I'm trying to figure
out the Classpath license. My question is simple: what license would
such a port fall under?

It looks like Classpath uses the GPL (not LGPL) with the "special
exception" which states that if one links statically *or dynamically* to
the classpath library that the sum is governed by the GPL. But then
there is the statement that "independent modules" aren't governed by the
GPL. So I interpret that to mean "independent modules" are ones that
aren't linked statically or dynamically with Classpath.

No. "An independent module is a module which is not derived from or
based on this library."

For example, if you took Classpath collections code and made
modifications to it, the modified code is subject to the terms of the
GPL+exception, and is not an independent module. If you have some
application code that USES classpath via the public java.* APIs, this IS
an independent module. If you link it with classpath, it is not subject
to the terms of the GPL+exception.


This much is clear. Less clear to me is what happens when I create a subclass of a class in Classpath. To me it "obvious" that my class is independent of the one in Classpath: 1) it contains not one jot or tittle of Classpath code, either at the source code or the bytecode level; unless one includes things like the name of the superclass and of (some of) its members, which are surely exempt. 2) if the superclass forms part of the public Java API, there is no way to tell whether my class derives from the Classpath implementation or the Sun one or Wonka or whatever. However I am quite sure that there are people to whom it is equally "obvious" that a subclass is a derived work of the superclass. So I feel some clarification is needed here.

Since every class is a subclass of java.lang.Object, and given that you 1) are most definitely allowed to create new classes, and 2) can't draw an arbitrary dividing line between classes or packages (except public vs. non-public), that means you can subclass any public class.

Chris




reply via email to

[Prev in Thread] Current Thread [Next in Thread]