Re: webmin license
Brian Behlendorf writes:
> On Mon, 13 Dec 1999, Marc van Leeuwen wrote:
> > Indeed
> > a) REMIND may not be used under Microsoft Windows (3.0, 3.1, 95
> > or NT) or any future version of Windows. Such use constitutes
> > a violation of copyright.
> > b) REMIND may not be used by Cadabra Design Libraries Inc. or its
> > directors, nor by any of Cadabra's subsidiaries or their directors.
> > Such use constitutes a violation of copyright.
> > c) Except for situations (a) and (b), REMIND may be used and
> > distributed according to the terms of the GNU General Public
> > License, Version 2, which follows: [...]
> a) and b) contradict c). The GPL states that no further restrictions may
> be placed on the code. So all the parties mentioned in a) and b) may use
> the software under the terms of clause c).
I agree with this, to a certain extent.
If you want to use the GPL to license things to the public, you get to _add_
additional permissions ("under separate cover", so to speak). But you don't
obviously have the practical ability to _subtract_ permissions while still
authorizing redistribution under the GPL.
Let's take a whirlwind tour through the portions of the GPL which talk
about its applicability in order to see why this is so.
You don't get to modify the GPL:
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
The applicability of the GPL is all-or-nothing:
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.
The viral nature of the GPL doesn't include any separate permissions,
restrictions, or conditions that a previous distributor has imposed:
b) 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.
The GPL is the only source of authority for third parties to make and
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License.
Finally, and most importantly, the GPL forbids the imposition of any more
You may not impose any further restrictions on the recipients'
exercise of the rights granted herein.
So, what if you received some GPLed code subject to a "further restriction"
not expressed in the GPL itself? Well, that restriction, since it does
not modify the GPL, contradicts it, and
[i]f you cannot distribute so as to satisfy simultaneously your
obligations under this License and any other pertinent obligations,
then as a consequence you may not distribute the Program at all.
This seems clear-cut to me.
In fact, the FSF felt that it had to _specifically authorize_ a class of
restrictions which it did consider legitimate:
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
The fact that this paragraph needs to appear within the GPL itself clearly
implies that the FSF believes that it is _not_ ordinarily permissible for
the original copyright holder to add such restrictions.
Let me be clear about what I mean here: I don't mean that the FSF says that
you aren't allowed to license something to the public under those terms.
I mean that, if you do license something that way, your license is
self-defeating, because it doesn't effectively grant anybody else the
right to redistribute your code!
This situation is very different from the case in which people grant
additional permissions (Linux kernel note from Linus, Qt linking
exceptions, and all the other "As a special exception" clauses that
_allow uses which would ordinarily be prohibited_). The GPL does not
forbid you to grant additional permissions. It does forbid you to make
additional restrictions. So a distribution with permissions not required
by the GPL is consistent with the GPL, where a distribution with
restrictions not authorized by the GPL is inconsistent with the GPL, and
has the effect of not authorizing any further redistribution at all.
Summary: if someone says "You may distribute this under the GPL, except
never to person X", then either
- You may distribute it to someone under the pure GPL, without
that additional stipulation, and then that person may distribute
it to person X, or
- "[A]s a consequence you may not distribute the Program at all."
Which of these is true is left as an exercise for the lawyers, but the
GPL does not contemplate a third alternative.
If you can get away with effectively modifying the GPL, then the situation
is different, but certainly the GPL would like to be polymorph-resistant.
(Sorry, new NetHack release, you know.)
Seth David Schoen <email@example.com> | And do not say, I will study when I
Temp. http://www.loyalty.org/~schoen/ | have leisure; for perhaps you will
down: http://www.loyalty.org/ (CAF) | not have leisure. -- Pirke Avot 2:5