For Approval: GPLv3

Chris Travers 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 
here ;-)

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 
BSDL conditions)?
>
>> 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 
> educational).

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 
granted).

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.

Best Wishes,
Chris Travers
-------------- next part --------------
A non-text attachment was scrubbed...
Name: chris.vcf
Type: text/x-vcard
Size: 171 bytes
Desc: not available
URL: <http://lists.opensource.org/pipermail/license-discuss_lists.opensource.org/attachments/20070826/ce6b3709/attachment.vcf>


More information about the License-discuss mailing list