[Mono-list] purpose of the GPL & LGPL (was Re: The viral license problem (was System.CodeDom.Compiler licensing issues))

S11001001 rushing@sigecom.net
Sat, 25 May 2002 20:13:36 -0500

> Maybe I'm just looking at this a bit simplistically. I don't see GCC 
> and the mono C# compilers in the same league. One churns out code for 
> bunches of languages, and supports many back ends... Truly a massive 
> feat, which grants great power. The other compiles a single language 
> into IL bytecode. Not quite the scale of GCC, y'know?
> And that's kinda the lines where I like to see things licensed. Big, 
> important, powerful == GPL. Smaller, single purpose == BSD 

> ...


> Yeah, I know... I'm not really an opensource zealot, but from whence I 
> take, there I give...

Maybe so, but the problem is still there.

>> Free software for most people means that they have no
>> obligations at all to give back.
> And that I really don't mind... It's their choice.
>> The GPL protects honest developers from that type of
>> abuse, the LGPL does not.
> When they take, extend and keep proprietary... Sometimes that doesn't 
> bother me, (mostly with components, but it would infuriate me with the 
> biggies : GCC, Linux , etc...)
> I guess my complaint is with the GPL that it dictates what the overall 
> license will be once you commit to using the code. Whether  you 
> leverage 100 lines of code, or 100,000, or 100,000,000 lines.  Let's 
> face it, if I write a million lines, and I use a GPL'd library that's 
> got 100 lines in it, I'm forced to go GPL, if I wish to use the code, 
> or write my own. Yeah, it's my choice to use it, and Yeah, it's the 
> author's right to license code any way they want.
> It is just that in this particular case, I would like to use the code 
> in an opensource project, *without* making my opensource project GPL.  
> I don't feel my component is important enough to force my license on 
> others.
> Now, if it were at lease LGPL, I could build a library out of it.. ;)
> I guess I still don't see the mono C# compiler being in the same 
> league as the GCC suite.
> ...
> I wouldn't want GCC to be anything other than GPL too.  I don't need 
> all my software to be GPL or even opensouce. I've bought many a 
> software package, because it was fundamentally better than the 
> opensource/GPL equivalent. And regardless what RMS says, I'm NEVER 
> going to choose open first, quality second. 

It is precisely this attitude that necessitates the GPL, and copyleft in 
general, in the first place. It is rather difficult for a Free Software 
project to compete when it only has its own resources, and any potential 
proprietary appropriaters have not only the resources of the FS project 
to draw on, but their own.

The GPL allows Free Software developers to compete with proprietary 
developers. It is not in the interests of free software to accomodate 
proprietary developers at all.

This isn't knocking you, or anyone else who makes this choice. It is the 
way of the world. However, there are some people who do choose Freedom 
first, and developers who do the same, and they would like to spread 
their freedom as far as possible. I think that Free Software will 
eventually become universally Better Software, thanks to the power of 
copyleft, but it needs people to commit to it now; that is, choose 
freedom over quality.

>> I find assurance in knowing that the sofware that I use
>> will remain publicly available and no one will be able to "take over" 
>> that
>> software (the case of Kerberos is an example of what I mean).
> I don't see how someone can "take over" code under alternative 
> licensing. Yes, they can make a copy, and yes they could make serious 
> changes to it, to enhance it, but that still leaves the original code 
> availible. It didn't dissapear. 

Oh really? One example...Mosaic. Sure, you can still get the code, but 
so what? Fortunately, the Netscape people had a moment of magnanimity, 
thus giving back in a small way, and continues to do [most of] its 
development openly at Mozilla. However, such good deeds are extremely 
rare at best.

Or how about BSD Unix? If all development had been copylefted, that is, 
forced back into the mainstream BSD/Free Software community, would we 
ever have had a DOS/Windows come in and fill the void left by the major 
UNIX fragmenting that followed? But you know what, we've still got the 
code to BSD Unix too.


As for the GPL, there has been plenty of discussion on potential 
problems with the GPL linking with proprietary code. I agree that this 
is an important practical problem, but let me add that it is not the 
FSF's, or the GPL's in extension, to accommodate proprietary software 
providers or users, except when it means spreading the use of actually 
Free software (read: not that which is included in proprietary programs; 
Mosaic code is in IE, but that doesn't help anyone but Microsoft), as 
with the LGPL's compromise.

And to Daniel Carrera (because I want to get this all in one email, not 
cluttering the thread up more than it already is ;), you misread the 
purpose of the LGPL. You say that:

> Indeed, the FSF recommends that you *not* use the GPL for libraries unless
> you are writing a library that has unique functionality, and you want to
> give an advantage to free software (that's from their website).

The FSF actually says (and you can read it yourself, 
<http://www.gnu.org/licenses/why-not-lgpl.html>) that the GPL should 
*always* be used for libraries *unless* you are implementing 
functionality already widely available, such as with glibc. A subtle 
distinction, but important.

"There are reasons that can make it better to use the Library GPL in 
certain cases. The most common case is when a free library's features 
are readily available for proprietary software through other alternative 
libraries. In that case, the library cannot give free software any 
particular advantage, so it is better to use the Library GPL for that 
library. "

I like to add a distinction here, "0-cost", as the Qt licensing model 
does promote Free Software effectively (being that the non-free version 
costs ~$1500).

The point here is that the LGPL allows people to use Free code in 
non-free software, and in other cases than that above, I regard this as 
generally a Bad Thing, because it weakens the copyleft greatly. I don't 
like the common attitude, "I prefer GPL, but for libraries, I prefer 
LGPL" as it misinterprets the original intentions of that license.

Stephen Compall