Hi Richard,

Over the last week, there was discussions on the Classpath mailing-list about 
the license of Classpath for non-AWT code.  [I know there are some discussions 
about the license for AWT code; the current message has no relation to those 
discussions].

We have identified an important ambiguity (or probably "bug") in the current 
Classpath license.  I am writing this message to explain our concerns and 
propose a simple solution.  It was agreed, on the Classpath mailing-list, that 
if you approved of the solution, it would probably be adopted.

The problem
===========

Classpath (except the AWT code) is licensed under the GNU GPL plus the following 
license:

--- BEGIN ---
As a special exception, if you link this library with other files to
produce an executable, this library does not by itself cause the
resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License.
--- END ---

Unlike the text of the Guile license and the text proposed for GPL exceptions in 
the GPL FAQ (http://www.gnu.org/licenses/gpl-faq.html#WritingFSWithNFLibs), this 
exception does not give an "explicit" permission to apply it to derivative work.

In fact, the following sentence of the Classpath exception seems to indicate 
that ** modifications ** to Classpath are solely subject to the terms of the GNU 
GPL:

"This exception does not however invalidate any other reasons why the executable 
file might be covered by the GNU General Public License"

The consequence is that, if somebody (other than the copyright holder) modifies 
  Classpath, then the modified version must be licensed under the terms of the 
GNU GPL.  As there is no explicit permission to extend the the Classpath 
exception to derivative work, the modified Classpath is thus licensed under the 
"pure" GPL (i.e. no exception).

If I understand clearly the "intent" of the Classpath exception, forcing 
derivative work into the "pure" GNU GPL (no exception) was not the goal of this 
license.  In fact, you have yourself asserted this to me in a previous message, 
and other Classpath/libgcj project leaders (including Per Brothner) also think 
it sould be permitted to apply the exception to derivative work.

The Solution
============

To solve this ambiguity (or probably "bug" in the exception text), I suggest to 
add the following text to the Classpath exception, giving ** explicit ** 
permission to carry the exception to derivative work, as originally intended:

"Note that people who make modified versions of Classpath are not
obligated to grant this special exception for their modified versions;
it is their choice whether to do so.  The GNU General Public License
gives permission to release a modified version without this exception;
this exception also makes it possible to release a modified version
which carries forward this exception."

[You will notice that this text is extracted from a license you suggested to me 
  for SableVM; you are the author of this text.]

So, in summary, what I suggest is to replace the current Classpath exception by 
the following unambiguous text:

--- BEGIN ---
As a special exception, if you link this library with other files to
produce an executable, this library does not by itself cause the
resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License.

Note that people who make modified versions of Classpath are not
obligated to grant this special exception for their modified versions;
it is their choice whether to do so.  The GNU General Public License
gives permission to release a modified version without this exception;
this exception also makes it possible to release a modified version
which carries forward this exception.
--- END ---

Would you agree that the license of Classpath (non-AWT code) be changed to the 
GPL plus the above exception?

Or, if you disagree to the above change, could you please explain why?

Thanks,

Etienne

[This message is CC'ed to the [EMAIL PROTECTED] mailing-list].

-- 
Etienne M. Gagnon                    http://www.info.uqam.ca/~egagnon/
SableVM:                                       http://www.sablevm.org/
SableCC:                                       http://www.sablecc.org/


_______________________________________________
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath

Reply via email to