For Approval: GPLv3
chris at metatrontech.com
Fri Aug 31 01:37:23 UTC 2007
Wilson, Andrew wrote:
> No. Chris, it appears you haven't grokked the basic nature of
> sec. 7 additional permissions in v3. They are additional permissions
> which are granted by an original licensor (presumably the copyright
> holder) on top of the terms and conditions of GPLv3. There
> is, ipso facto, a "public license" involved.
Then pardon me for being confused here, I am trying to understand how
the following sections actually go together:
Section 2 (final sentence):
'Sublicensing is not allowed; section 10 makes it unnecessary.'
In other words, downstream users get their license from *me* for my
code, not from other GPL licensors. CHanging what you can do with *my*
code is not allowed. Seems pretty simple. This language has been there
since draft 1.
Section 7 (Portion of Paragraph 1):
"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."
The above two quotes suggest to me that if I add any permissions to the
work as a whole, they cannot be removed simply by saying so.
"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. "
Now, you may be right. However, if you are, then it is a problem with
the GPL3, in the sense that it does not do what it was intended to do.
However, at least the language is contradictory and confusing. At any
rate, your interpretation seems to be at odds with the process that the
GPL3 went through to get to this point. Of particular interest are
drafts 1 and 2 and the accompanying rationale documents. I bring this
up because I can't find any other way to reconcile these contraditions
in the GPL3. Looking to the earlier drafts, the changes, and the stated
rationale at least lets me know what the authors were thinking (whether
or not that is a defensible interpretation).
The GPL3 Draft 1 stated:
"When others modify the work, if they modify your parts of it, they may
release such parts of their versions under this License without
additional permissions, by including notice to that effect, or by
deleting the notice that gives specific permissions in addition to this
License. Then any broader permissions granted by your terms which are
not granted by this License will not apply to their modifications, or to
the modified versions of your parts resulting from their modifications.
ratiodoc: Requires a downstream user of a covered work to preserve the
non-GPL terms covering the added parts just as they must preserve the
GPL, as long as any substantial portion of those parts is present...[+]
The Rationale Document stated:
"Section 7 first explicitly allows added parts covered by terms with
additional permissions to be combined with GPL'd code. This codifies our
existing practice of regarding such licensing terms as compatible with
the GPL. A downstream user of a combined GPL'd work who modifies such an
added part may remove the additional permissions, in which case the
broader permissions no longer apply to the modified version, and only
the terms of the GPL apply to it."
This clearly states that the GPL3 allows for additional modifications
granted with all the encumbrances of the GPL3 with appropriate extra
terms. It is entirely clear and unambiguous and poses no conflict with
a prohibition against sublicensing.
The second draft changed this to:
" 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. Some additional permissions require their own
removal in certain cases when you modify the work."
Footnote 71 states: "We no longer formally require removal of an
additional permission to be by one who modifies." There is no further
documentation as to why this change was made. THe public comments do
not suggest such a debate over the original wording.
The rationale document for draft 2 thus provides at least a suggestion
that this change was not intended to change the goal of the license: to
allow code with additional permissions to be encumbered by copyrights
for code under the GPL3 with the additional conditions enumerated in
> Additional permissions may not be granted by a downstream distributee
> only license to the code is GPL.
But absent sublicensing, you can't remove the permissions that the
author originally gave to his/her original elements. The goal in Draft
1 was clearly to allow for modifications which would add the exact
restrictions of the GPL3 to *those modifications.* This goal was never
changed. If this license doesn't match this goal, then it is a problem
with the license.
> On the other hand, any downstream
> distributee may remove any or all sec. 7 additional permissions and
> (whoops, I mean "convey") under bare GPLv3. Read sec. 7, 2nd para:
> "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."
My concern is that this phrase can be read many different ways, such as
to allow essentially sublicensing (as you seem to suggest), as to
provide notice that new contributions will encumber the document to the
exact terms of the GPL3 + section 7 allowed restrictions, or possibly to
reach in and affect the rights of other copyright owners.
The intent of the GPL3 is clear in the initial rationale document.
Nothing in later rationale documents contradicts this intent as regards
additional permissions. If the license can be read so many different
ways outside its original intent, that represents a real risk for those
who use the license, or at least that is my opinion.
Having said this though, many of my original concerns have been removed
in debating this license. I have been trying to understand exactly:
1) What a license purports to allow or not
2) What the legal mechanism is involved. The reason is that I will
*not* commit a project to a license until I understand how to discuss it
Again getting back to a hypothetical example: I create a program with a
bunch of cool features. I apply the GPL plus a bunch of other
permissions to that code, and give a copy to an associate for review.
He fixes bugs in a couple bugs in one file, but removes my additional
permissions from all my code (including unaltered areas). He then
publishes the code online.
I haven't released to the public yet. Who does the license to the come
from and what does it include?
If this isn't sublicensing then the license comes from *me* and the
permission removal has *no effect* on unaltered portions and might even
be false advertising. If it is sublicensing, then it comes from the
publisher and is as stated in the license. However, because *I* have
never given any other license, it can't come from me and fail to include
all permissions I gave.
Perhaps you can see where my confusion is now. Yes, I fail to grok the
license but it is because it seems that the license is extremely
complicated and difficult to resolve all conflicts of wording.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 171 bytes
Desc: not available
More information about the License-discuss