[General] Relicensing of Chandler source code

Phillip J. Eby pje at telecommunity.com
Wed May 3 09:47:12 PDT 2006


At 11:22 AM 5/3/2006 -0400, Reid Ellis wrote:
>On May 2, 2006, at 9:26 PM, Phillip J. Eby wrote:
>>At 06:05 PM 5/2/2006 -0700, Mikeal Rogers wrote:
>>>If we use the apache 2.0 license, which is incompatible with the
>>>GPL, wouldn't we then be restricting parcel developers from using
>>>the GPL if they did wish to do so?
>>
>>Why would Chandler's (non-viral) license stop anyone from licensing
>>their parcel under whatever license they want?  (Including a closed- 
>>source commercial license, if they so choose.)
>
>I think because a full GPL license requires linking to other GPL
>code, which Chandler would not be. If this is correct, then parcel
>writers would not be able to use the GPL.

Note that the GPL never talks about linking, only derivative works under 
copyright, and it provides a definition:

"""that is to say, a work containing the Program or a portion of it, either 
verbatim or with modifications and/or translated into another language."""

However, for the sake of argument, I'll pretend that the FSF's expansive 
interpretation does cover loading two independently-written modules into 
memory at the same time.

There are actually quite a few legal problems with this interpretation, not 
the least of which is explaining why pointer linkage between two programs 
is any different from bibliographical citations or hyperlinks on a webpage, 
or why two programs running at the same time on the same computer aren't a 
derivative work, and why virtually no commercial library licensing treats 
the combination as a derivative work, but we'll ignore all those problems 
for purposes of addressing the question.

So, if we pretend those problems exist, and look at the consequences of 
assuming the definition is correct, we see that if you combine Chandler 
with some other code, the result forms a derivative work of *both* Chandler 
*and* the other code.  Thus, both Chandler and the other code's license 
must allow you to have created this derivative work, or you're in violation 
of copyright law.

So let's look at the GPL, section 2a:

"""You must cause any work that you distribute or publish, that in whole or 
in part contains or is derived from the Program or any part thereof, to be 
licensed as a whole at no charge to all third parties under the terms of 
this License."""

And the end part of section 2 states:

"""If identifiable sections of that work are not derived from the Program, 
and can be reasonably considered independent and separate works in 
themselves, then this License, and its terms, do not apply to those 
sections when you distribute them as separate works.  But when you 
distribute the same sections as part of a whole which is a work based on 
the Program, the distribution of the whole must be on the terms of this 
License, whose permissions for other licensees extend to the entire whole, 
and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your 
rights to work written entirely by you; rather, the intent is to exercise 
the right to control the distribution of derivative or collective works 
based on the Program.

In addition, mere aggregation of another work not based on the Program with 
the Program (or with a work based on the Program) on a volume of a storage 
or distribution medium does not bring the other work under the scope of 
this License. """

So what does all this mean?  Chandler can reasonably be considered an 
independent and separate work in itself -- and is thus exempt from the 
GPL's control over the *distribution of the whole work*.  Ergo, mere 
distribution of a Chandler parcel by itself is not a derivative work 
including non-GPL code.  So the GPL doesn't prohibit creating and 
distributing a GPL module that runs on a non-GPL platform.  In fact, it 
doesn't even prohibit creating a CD that contains Chandler and the parcel, 
since that's mere aggregation.

In other words, all the GPL says about Chandler parcels is that a parcel 
author cannot merge their parcel code with the Chandler source, and then 
release the whole thing as a Chandler derivative with new built-in 
functionality under the GPL -- thus creating a GPL fork of Chandler.

And *that* is what the FSF means by "GPL incompatible" -- it's a 
code-phrase for "doesn't allow a GPL fork".  They like to use the term 
"incompatible" because it implies that it's the other license that's 
broken, which then gets people to campaign for changes to other software 
licenses because "compatibility == good".  :)



More information about the General mailing list