Re: Linus about GPL x BSD(long)

"Deven T. Corzine" <[email protected]> Fri, 19 Jul 2002 12:00:42 -0400 (EDT)
Newsgroups gmane.comp.emulators.wine.license
Message-ID <[email protected]>
On Thu, 18 Jul 2002, Francois Gouget wrote:

> On Mon, 15 Jul 2002, Deven T. Corzine wrote:
> [...]
> > I think this is exactly what rubs people the wrong way about the "viral"
> > nature of the GPL.  Because the FSF thinks that the GPL is "the grand
> > poo-bah of licenses", the GPL demands that OTHER code must be licensed
> > under the GPL, and even a "kindred spirit" license like the MPL just isn't
> > good enough, because it's not THE one license that's good enough, the GPL.
> 
> Deven, could you please stop spreading lies. gcc and many other projects
> are GPL and yet this does not prevent you from contributing to X11
> projects such as XFree86. Even the fact that Wine is now LGPL does not
> prevent you from contributing to the X11 ReWind project (only spending
> all your time ranting in this forum prevents you from contributing).
> 
> The GPL does not prevent you from putting the license of your choice on
> your own code. What it does prevent you from doing is taking other
> people's code and putting a license of *your* choosing on *their* code.
> 
> And unlike the 'weak copyleft' licenses it also ensures that you cannot
> use workarounds like putting your code in a separate library and modify
> the GPL work so that it is unusable without your library.
> 
> I really don't understand how you can expect everyone to license *their*
> code in such a way that *you* can do whatever you want with it. Not
> everybody is going to put his code in the public domain or the X11/BSD.
> And what's wrong with that! Your rants sound like you want to strongarm
> everyone into doing so. You are just as much a bigot as Stallman!

This response proves that you haven't been listening to a word I've said.

I'm not spreading lies, nor did I say what you seem to think I said.  When 
did I _ever_ say that the existence of GPL projects impedes your ability to
contribute to X11 projects?  Never, so please don't spread disinformation 
about what I have and haven't said.

Obviously, the GPL's restrictions only apply if you make a derivative work 
of GPL'd code.  That's well-established, and we've gone over that point 
enough times already.  Therefore, in the context of discussing what the GPL 
requires, you should assume a derivative work is involved, or it would be a 
moot point.  Your comment about GCC vs. XFree86 is therefore a red herring.

When you write your own code, but combine it with GPL'd code to create a 
derivative work, the GPL _does_ prevent you from using the license of your 
choice on YOUR code.  Yes, the programmer gets to draw on the GPL codebase 
in return, and this is the bargain inherent in the GPL.  Nevertheless, this 
represents a loss of freedom to choose a license, because the GPL demands 
all code for derivative works MUST be available under the GPL, "or else".  

(Obviously, "or else" means "or else you can't distribute the program which 
was derived from the GPL codebase.  I shouldn't have to point this out yet 
again, but you seem to be willfully ignoring the basic assumptions of this 
debate, in order to claim that I'm "spreading lies"...)

As for the "weak copyleft" licenses, the entire point of them is to allow 
the new programmer the freedom to determine their own choice of license on 
their own code.  Yes, this means that the user may be stuck with a program 
which is partially closed.  The copylefted code is available, along with 
any modifications, but maybe not the additional code.  Even if the original 
code has been modified to depend on proprietary code, the user could just 
modify it back to no longer depend on it, or ignore the branch and use the 
original copylefted codebase which is completely open.

In Stallman's view, the mere possibility that part of a program could be 
closed is a weakness, because he considers closed proprietary software to 
be immoral -- he made the GPL so aggressive because he wants to impose his 
software morality on the rest of the world.  To many people, imposing one's 
own moral code on others is itself an immoral act.  It's not quite that 
clear-cut to me, because there's an implicit bargain involved with the GPL, 
and it's voluntary, so it's not simply a case of "legislating morality".  
Nevertheless, I have my misgivings about the means the GPL uses to achieve 
its ends.  I have no objection in principle to the GPL's ultimate goals.

I don't expect anyone to use any particular license, and I have no idea 
what gave you the impression that I want to "strongarm" everyone to license 
their code so that I can use it however I want.  I've never suggested that, 
which means that you're (1) apparently hearing things I've not been saying, 
(2) putting words into my mouth, and (3) not listening to what I have been 
saying all along.  Stallman may be a bigot, but I'm not.  I think you're 
entitled to your opinion and to make your own choices, whether or not I may 
consider them wrongheaded.

I don't really care whether any particular person places his code in the 
public domain, or under an X11/BSD license.  Of course, like most of us, 
I'd like to see as much code freely available, but I'm not bothered by 
those who choose to use the GPL instead of the X11 license.  In fact, the 
X11/BSD licenses have so little built-in protection that I believe they 
should only be used by people who don't care about closed forks of their 
code and/or projects that are so large and active (e.g. Apache) that the 
project itself discourages closed forks in practice.

My general recommendation at this point, for free software developers who 
don't want their code commandeered, but prefer not to dictate the license 
of new code, would be to use an MPL/LGPL/GPL triple license.  For those who 
get so upset about closed software (like Stallman) that they can't even 
bear to have their code combined with closed code, they might as well use 
the full GPL, and that's what I would recommend.

On the other hand, if the idea your code being commandeered doesn't bother 
you, I'd suggest using a triple license like BSD/LGPL/GPL or X11/LGPL/GPL 
rather than using a straight BSD or X11 license, or placing the code in the 
public domain.

Why use a triple license?  See the reasoning of the Mozilla project for 
much of the reasoning for why they choose to switch to a triple license. 
Basically, it's a clean way to be compatible with existing LGPL and GPL 
code while discouraging GPL-only forks of your code.  Even Stallman says 
that it's preferable to maintain dual licensing like Perl's Artistic/GPL 
rather than create a GPL-only fork and cause that maintenance hassle for 
the sake of ideology.  (He still prefers GPL-only licensing, of course.)

With a triple license, the hope is that LGPL/GPL developers will be able to 
benefit from the code and contribute back to the project rather than having 
a new GPL-only fork that wouldn't really constitute a contribution back to 
the original project.  Of course, there's no guarantee that a GPL-only fork 
won't be created, but using a triple license minimizes the incentive.

Personally, I have chosen to use the QPL for my Gangplank project to start.  
Ultimately, I expect to change to another license (such as MPL/LGPL/GPL),
but for now, the QPL offers a benefit that I can't get from the GPL -- it 
discourages code forks by requiring modifications be distributed as patches 
instead of allowing the modified source to be distributed directly.  While 
someone could still fork the code, this disincentive helps discourage it.  

Since I wrote the code and released it, I'd prefer to remain the primary 
source for my code rather than risk being eclipsed by a forked codebase, 
even if it's equally open.  As the primary developer (and only one so far), 
I don't want to be marginalized by having to compete with modified versions 
of my own code, at least not until my project is well-established.  Someone 
could still compete with me, but they'll have to work harder at it, and the 
QPL would at least ensure that people can see the version of the code that 
I blessed, and hopefully won't blame me for any bugs in modified code...

I'm not a license bigot.  I think the GPL, MPL, QPL and BSD/X11 licenses 
and others all have their place.  (However, I dislike the proliferation of 
substantially-similar licenses because of the confusion they engender; not 
every new major project needs a custom license!)

While I have some general concerns about what might happen in a future 
where the GPL dominates the software industry, I have no problem with any 
individual choosing to use the GPL.  I'm not unwilling to contribute code 
to GPL'd projects.  I don't think the GPL is evil, even if I believe there 
are some long-term dangers which are being ignored.  On the contrary, the 
GPL is well-intentioned and quite effective (in some ways), and strives to 
achieve laudable goals.

I'm just as interested in seeing a maximum amount of free software out 
there as Stallman is, even if I don't agree with all of his rhetoric or 
tactics.  I'm a "kindred spirit", not an apologist for closed proprietary 
software.  (I may play devil's advocate from time to time, but that's for 
the purpose of debate.)

Now, would you please stop spreading disinformation about me?

Deven