[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: A use case of GPLv3 section 7b

On Fri, 07 Sep 2007 11:25:20 +0200 Josselin Mouette wrote:

> Le jeudi 06 septembre 2007 à 22:49 +0200, Francesco Poli a écrit :
> > On Thu, 06 Sep 2007 10:02:31 +0200 Josselin Mouette wrote:
> > 
> > [...]
> > > I think the authors have completely misunderstood the purpose of
> > > section 7. This section doesn't allow to add further restrictions,
> > > but to add further *permissions*. Like, for example, permitting to
> > > link the program with a library that requires preservation of
> > > reasonable legal notices.
> > 
> > I don't agree: it is my understanding that GPLv3 section 7 does
> > indeed allow adding (a limited set of) restrictions.
> > Section 7 is a permission to add some restrictions.
> > That is the main reason I dislike it: it weakens copyleft.
> I think this is plain wrong. The purpose of this section is not to
> weaken copyleft, but to allow linking software with some other
> software with a moderately GPL-incompatible license.
>         ___Additional permissions___ are terms that supplement the
>         terms of this License by making exceptions from one or more of
>         its conditions.
> These are exceptions to the existing GPL terms, not new terms.

I fail to understand how you draw this conclusion.

Let's go back to the text of section 7.

|   7. Additional Terms.
|   "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.

First two paragraphs speak about additional permissions, which can be
added on a part of the work, with the authorization of the copyright
holder(s) of such part.  Anyone can remove additional permissions,

This is the same situation that holds for the GNU GPL v2, as far as I
understand it.  Only more explicitly stated.

|   Notwithstanding any other provision of this License, for material
| you add to a covered work, you may (if authorized by the copyright
| holders of that material) supplement the terms of this License with
| terms:
|     a) Disclaiming [...] or
|     b) Requiring [...] or
|     c) Prohibiting [...] or
|     d) Limiting [...] or
|     e) Declining to grant rights [...] or
|     f) Requiring [...]

This third paragraph with the enumerated list does not talk about
additional permissions.  It allows the recipient to add material which
is licensed under the GPLv3 with additional terms that require
something, or prohibit something else, and so forth.
This allows to add material which is licensed in a *more* restrictive
manner than the plain GPLv3 (without any of those additional terms).
In other words, this paragraph is a permission to add restrictions.
Not any restriction, though: only a limited set of additional
restrictions are allowed.  Nonetheless, some restrictions may be added.

There is no such permission in the GNU GPL v2.

A permission to add restrictions weakens the copyleft mechanism of a

|   All other non-permissive additional terms are considered "further
| restrictions" within the meaning of section 10.

Please note that the above additional terms are called "non-permissive".
A diplomatic way to say that they are indeed additional restrictions.
The only difference between them and the so-called "further
restrictions" of section 10 is the former are allowed, while the latter
are forbidden.  Why?  Just because the text of the license says so.

| If the Program as you
| received it, or any part of it, contains a notice stating that it is
| governed by this License along with a term that is a further
| restriction, you may remove that term.  If a license document contains
| a further restriction but permits relicensing or conveying under this
| License, you may add to a covered work material governed by the terms
| of that license document, provided that the further restriction does
| not survive such relicensing or conveying.

This part tells you what you can do with "further restrictions", that is
to say, with any additional restriction that does *not* fall in one of
the six above enumerated categories: you can just drop them and move on.

I explicitly acknowledge that some people have expressed their doubts
about the enforceability of this clause...

|   If you add terms to a covered work in accord with this section, you
| must place, in the relevant source files, a statement of the
| additional terms that apply to those files, or a notice indicating
| where to find the applicable terms.
|   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.

The last two paragraphs of section 7 explain how to add the terms that
may actually be added.
Please note that the last paragraph explicitly classifies additional
terms in two categories: permissive and non-permissive ones.

I think I'm reading the text of section 7 the way it is intended to be
I obviously may be wrong (nobody is perfect, you know...), but I believe
that the above is the correct interpretation of the license.

Once again, my standardized disclaimers:

 Need to read a Debian testing installation walk-through?
..................................................... Francesco Poli .
 GnuPG key fpr == C979 F34B 27CE 5CD8 DC12  31B5 78F4 279B DD6D FCF4

Attachment: pgpjVQ2YsTOkf.pgp
Description: PGP signature

Reply to: