classpath
[Top][All Lists]
Advanced

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

Re: The Unofficial GNU Classpath License Rationale


From: John Keiser
Subject: Re: The Unofficial GNU Classpath License Rationale
Date: Fri, 09 Nov 2001 12:32:52 -0700
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.5+) Gecko/20011109

Etienne M. Gagnon wrote:

Hi all.

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.

It's not just in exchange for companies' help in contributing code; for at least some of us this exception is about letting more of them use it so that the application is better tested and (hopefully) becomes more stable. The company doesn't have to invest anything beyond a 5-minute gripe on the mailing list of "Class.forName() doesn't work when I have a slash in the name" or something like that. But we get benefits nonetheless. Bottom line: it's a library, meant to be used by others. The exception gets it used by more people.

Another reason, stated before by the GCJ guys, is the ability to link the native code statically in an embedded system, which would be impossible with plain GPL. Sometimes there isn't a free alternative that's good enough and you need to ship product; you can't wait 6 months to develop your own or fix the broken existing one. In an embedded system, static linking gives great benefits; you don't want to give that up because of a silly license.

Not that your reason is wrong, it just sort of sounds like "we're using this license in exchange for companies' contributing code." I don't really think any of us think that way.

--John





reply via email to

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