classpath
[Top][All Lists]
Advanced

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

The Unofficial GNU Classpath License Rationale


From: Etienne M. Gagnon
Subject: The Unofficial GNU Classpath License Rationale
Date: Fri, 9 Nov 2001 11:15:43 -0500
User-agent: Mutt/1.3.23i

Hi all.

First, I would like to thank you all for replying to my poposal,
and expressing clearly your opinion.  After hearing all the arguments,
I withdraw my proposal, as I am now convinced that the license clarification
is unnecessary, and that the GPL->LGPL change has little (or no) chance to go
through the approval process.

I think that I now better understand the rationale behind the current
license choice, as well as the political/technical problems involved for
changing it.

As a reference for the future (as this message is archived on the mailing-list),
I will try to summarize, as well as I can, my understanding of the situation,
and of the interpretation one should give to the license.  Please let me know
if you detect any error below.

----

Q: The first question that comes to mind to a new user is: why is Classpath
licensed under the GPL + a seemingly obscure exception?

A: The answer is that Classpath is part of a larger suite of libraries used by
the GNU Compiler Suite (GCC) and linked into the runtime of compiled 
applications.
GCC is a cornerstone of the Free Software movement: one cannot get a totally
Free operating system, running solely Free software, unless one has a Free 
compiler.

For pragmatic reasons, maintaining and porting a Free compiler to the latest 
processors
and machines, would be very difficult without the involvement of companies 
(which
have to get returns on their investments to pay their employees).  So, in order 
to
get help from commercial companies to maintain a state-of-the-art optimizing
compiler collection, one has to make sure these companies can benefit from their
investment.

A balanced way to protect the freedom of the compiler collection, while also 
accomodating
contributing companies, is to make sure these companies can use the compiler 
collection to
compile proprietary programs.  As a program (proprietary or not) needs to link 
with runtime
libraries, it is important that the license of all standard runtime libraries 
(and any
other runtime support code) be allowed to link with proprietary code.

For this reason, it was decided that all the runtime libraries would contain an 
exception,
allowing "free" linking, with no strings attached.

----

The following is a small excerpt from an email discussion between Richard 
Stallman 
and Etienne Gagnon:

Etienne: Does the GNU Classpath exception to the GPL (shown above)
         extend to derivative works?

Richard: That is up to whoever makes the derivative work.
         If you leave the exception in the text, it applies to your version.

----

Q: Isn't this exception somewhat ambiguous on whether carrying or not
the exception to derivative work is allowed?

A: Not really.  Beyond the possible ambiguity of words, courts also take into 
account
the historical interpretation of those words (or, in other words: the intent of 
the text).
As the interpretation above has been in use for many years, you are safe using
this interpretation.

----

Q: I would like to propose a change to the Classpath license, for XYZ reason.  
Is it feasible?

A: Nothing is impossible, but you have to remember that Classpath is part of a 
larger
framework.  For the sake of simplicity, the license of [most] GCC runtime 
libraries
is the same. So unless your proposal is essential for all these libraries, 
there is
little chances it will be accepted.

----

Q: Where can I learn more about these license related questions?

A: Go on the www.gnu.org web site, and look for the GNU General Public License 
F.A.Q.

----

The End!

:-)

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



reply via email to

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