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". :)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "General" mailing list
http://lists.osafoundation.org/mailman/listinfo/general