For Approval: GPLv3
chris at metatrontech.com
Sun Aug 26 16:04:53 UTC 2007
First, I hate to say it but I think that the only reason why this
license is as well received as it is has to do with the organizations
pushing it. If Microsoft submitted it.... Well, I wouldn't want to be
Donovan Hawkins wrote:
> "It forces programmers who own copyrights to cede to distributors the
> right to drop permissions not granted by the GPL v3. These permissions
> can be dropped under the GPL v3 by anyone who merely conveys the
> software, and they can be dropped on code that neither the original
> author nor the distributor owns any copyrights to because they don't
> affect derivative works but merely downstream distribution."
> It does no such thing. If you release your original code under BSDL
> then you have ALREADY granted the right to remove permissions from
> your code. BSDL grants you the right to do nearly anything, and that
> includes using it in a GPL project (modified or not) with no
> additional permissions intact. You chose to allow that when you
> selected BSDL.
There are actually 2 issues here.
The first is that the GPL v3 unlike the GPL v2 may be actually
incompatible with the BSDL. The reason has to do with the fact that the
Corresponding Source must be licensed as a whole under the GPL v3, and
that other licenses constitute "additional permissions" under section 7.
Also under section 7, anyone who merely distributes the work (i.e.
*holds no copyright to any aspect of it*) may remove these additional
permissions from any component. Presumably this means removing the BSDL
conditions and replacing them with a GPL reference, but this is not
allowed under the BSDL. Therefore they may be incompatible because the
GPL may actually conflict with the BSDL requirements....
Compare in the BSDL (OSI license list version):
Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
With (from the GPL v3) in this case relating to the Corresponding
Source, including "the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require"
(from section 1, as required to be licensed under the GPL3 by section 6):
“Additional permissions” are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by this
License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove
any additional permissions from that copy, or from any part of it.
(Additional permissions may be written to require their own removal in
certain cases when you modify the work.) You may place additional
permissions on material, added by you to a covered work, for which you
have or can give appropriate copyright permission.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions; the above
requirements apply either way.
Can you really tell mee that you can meet the terms of the BSDL and the
GPL v3 simultaneously when the BSDL code is not modified? The only
reasonable reading I can give to both licenses is that the GPL v3
requires that you give the permission to remove the BSDL conditions list
without (as is normally required by the BSDL) a new derivative work
being created in the process.
By this reading, the GPLv3 forbids you from requiring BSDL code anywhere
in your Corresponding Source. This is *more* incompatible with the BSDL
than the MS-PL is.
The second issue is my real concern. My reading of the additional
permissions clause is that linking exceptions can be *removed* by
downstream distributors without even touching my code. This strikes me
as overly affecting other software (my complaint regarding the OSD), and
possibly copyright misuse as well.
> People choose the license that grants the permissions they want to
> grant. It's not our place to second guess whether they really wanted
> to grant those permissions.
I think that the GPL3 goes well beyond that by granting the right to
relicense to someone who does not create a derivative work. The exact
requirements seem to conflict with the BSDL in terms of actually
removing the license.
So, if I merely convey BSD code, and I relicense it under the GPL v3, is
this false advertising? A BSDL violation (since presumably I must
falsely attribute the actual copyright or restrictions, or remove the
>> c)*too many licenses makes it difficult to understand what you are
>> agreeing to in a multi-license distribution*
> All the more reason to avoid multi-license distributions where
> possible. Hardly a unique problem of GPL v3.
My concern is primarily that the GPL v3, because of the nasty
redistribution clause for corresponding source, provides a means of
purporting to cancel others developers' linking exceptions and other
additional permissions, and this is well hidden in the license
(paragraphs 1 and 2 of section 7). This affects other GPL v3
applications too and essentially attempts to ensure that every line of
code that a project depends on is GPLv3.
> <snipped various complaints about GPL v3 complexity>
> GPL v3 aims to close perceived loopholes in GPL v2. Obviously there
> are many who do not see these as loopholes (the discussions between
> Linus Torvalds and the FSF on that matter are very entertaining and
As are actually the bits on the Eclipse Licensing FAQ, since they
actually discuss the nature of derivation. Quite frankly, I agree with
Alexander that the FSF's licensing FAQ does not appear to be based on US
case law but IANAL.
> But for those that do, GPL v3 is their license. I accept that it is
> more complicated than some other licenses, but is it more complicated
> than it needed to be to achieve its goals? That has to be the standard
> it is measured against.
But what if it doesn't?
Are we encouraging licenses which make these unprecedented (in that the
GPLv2 only talked about modification-- here one can relicense on mere
distribution, stripping out linking exceptions of authors of the code
and thus misrepresenting the actual permissions given) relicensing
conditions a part of the license as if they don't affect other programs
(I argue this is a violation of the OSD)? Where do we draw the line?
The other way to read the GPLv3 is that a linking exception makes the
application unusable in the context of other GPLv3 applications that
depend on it, and therefore, the GPLv3 is so incompatible that it is
even incompatible with itself (provided that a linking exception is
Despite the fact that I expect to lose this one, I do expect to help
build awareness of what the GPLv3 really says. Personally, however, I do
not think that this license meets the stated criteria.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 171 bytes
Desc: not available
More information about the License-discuss