The Free Software Foundation has, at last, made a draft version of version 3 of the
General Public License
available for comments. Your editor, having
read it five minutes ago, is now ready to comment. What follows is a quick
overview of the changes which have been made to the GPL; anybody wanting
more information should certainly read the accompanying rationale document
describes the changes - and their motivations - in detail.
The GPL is an important license. It is the most popular of free software
licenses, and it covers many important components of a Linux system. It is
a codification of the FSF's view of how free software should work, and it
imposes some real obligations on those who redistribute GPL-licensed
software. It is a core piece of our legal source code. So a major
revision of the GPL requires a great deal of thought. In your editor's
opinion, the FSF has put in that thought, and has put forward a revised
license which meets current challenges while remaining true to the spirit
of previous versions.
Digital restrictions management
Many of the changes in GPLv3 have to do with DRM schemes. The license
makes the FSF's position on DRM quite clear, and does its best to ensure
that GPL-licensed code will stay as far away from DRM as possible.
To start, the license makes its intent with regard to DRM clear:
As a free software license, this License intrinsically disfavors
technical attempts to restrict users' freedom to copy, modify, and
share copyrighted works. Each of its provisions shall be
interpreted in light of this specific declaration of the licensor's
intent. Regardless of any other provision of this License, no
permission is given to distribute covered works that illegally
invade users' privacy, nor for modes of distribution that deny
users that run covered works the full exercise of the legal rights
granted by this License.
The purpose here is to help ensure that, in any future court case, all of
the terms of the GPL will be interpreted with an anti-DRM bias.
An interesting clause can be found in section 3:
No covered work constitutes part of an effective technological
protection measure: that is to say, distribution of a covered work
as part of a system to generate or access certain data constitutes
general permission at least for development, distribution and use,
under this License, of other software capable of accessing the same
This provision is clearly targeted at anti-circumvention laws. If it
stands up, it says users can bypass any restrictions encoded in
GPL-licensed software without circumventing "technological protection
measures," since no GPL-licensed program can be part of such a measure.
Another key provision can be found in the revised definition of "source
Complete Corresponding Source Code also includes any encryption or
authorization codes necessary to install and/or execute the source
code of the work, perhaps modified by you, in the recommended or
principal context of use, such that its functioning in all
circumstances is identical to that of the work, except as altered
by your modifications. It also includes any decryption codes
necessary to access or unseal the work's output.
In other words, "trusted computing" mechanisms designed to keep people from
replacing the software on their gadgets cannot be used with GPLv3-licensed
software. This is a large and important change - though its effect will be
somewhat limited for as long as the Linux kernel remains licensed under
version 2 of the GPL.
As expected, the new version of the GPL addresses software patents in a
much more comprehensive manner. One fundamental change is that anybody who
redistributes software covered by the GPLv3 is explicitly granting all
patent licenses needed to use the software. This grant covers "all
versions of the covered work," and would seem to override the "field of
use" restrictions imposed by some patent owners.
Here's an interesting addition in v3:
This License gives unlimited permission to privately modify and run
the Program, provided you do not bring suit for patent infringement
against anyone for making, using or distributing their own works
based on the Program.
It is, of course, a patent retaliation clause. If you launch a patent suit
against somebody using a specific program, you cannot make any further use
of that program. It's a big departure from GPLv2; the previous version of
the license imposed no restrictions on individual use of the software at
all. With GPLv3, the right to use the software - not just to redistribute
it - can go away as a result of filing a patent suit.
There are no other patent retaliation clauses in the GPL itself; the FSF is
not entirely comfortable with this concept in general. From the rationale
Several other free software licenses include significantly broader
patent retaliation provisions. In our view, too little is known
about the consequences of these forms of patent retaliation.
There is, however, a subsection which allows the incorporation of
additional, limited patent retaliation terms. Terms which take away use of
the software for filing a wider range software patent lawsuits can be
They may impose software patent retaliation, which means permission
for use of your added parts terminates or may be terminated, wholly
or partially, under stated conditions, for users closely related to
any party that has filed a software patent lawsuit (i.e., a lawsuit
alleging that some software infringes a patent). The conditions
must limit retaliation to a subset of these two cases: 1. Lawsuits
that lack the justification of retaliating against other software
patent lawsuits that lack such justification. 2. Lawsuits that
target part of this work, or other code that was elsewhere released
together with the parts you added, the whole being under the terms
used here for those parts.
So the GPLv3 does not include full-scale patent retaliation, but there
should be enough there to get the attention of some types of patent
A few other types of additional restrictions are allowed in GPLv3. These
include limits on trademark use or the use of contributors' names for
publicity purposes. The idea here was to try to make the GPL compatible
with a wider range of free software licenses.
The much-discussed "web services loophole" is also addressed by way of an
They may require that the work contain functioning facilities that
allow users to immediately obtain copies of its Complete
Corresponding Source Code.
Beyond that, version 3, like its predecessors, explicitly disallows the
imposition of additional restrictions.
Under version 2, termination of the license was automatic if its terms were
violated. In theory, one who had gone against the GPL would have to go and
explicitly beg forgiveness before being able to distribute the relevant
software again. Back in 2000, Richard Stallman told
the KDE developers that they had to ask forgiveness in this way.
Version 3 changes the terms to put the onus on copyright holders to
terminate a license. Any copyright holder can do so if the terms are
violated, but a violator who mends his ways need not ask forgiveness from
any copyright holder who has not exercised that right.
Version 2 contains a clause saying that, if a program cannot be distributed
in a way which complies with both the GPL and any other restrictions
(patent licenses in particular), it cannot be distributed at all. There
has been some disagreement over just how strong that restriction is. GPLv3
makes it clear that a strong interpretation is expected; this section is
now titled "Liberty or Death for the Program."
The geographical restrictions clause, which allows terms disallowing the
distribution of code in certain countries due to legal problems there, has
been retained in GPLv3. The rationale document states, however, that the
FSF knows of no actual use of that clause, and they suggest it could be
removed during the comment period.
There are many other changes, mostly aimed at clarifying intent and
ensuring that the license is enforceable worldwide. Again, interested
parties are urged to read the license itself and the rationale document for
the full story. They will then be prepared to take part in the comment and
revision process, which is expected to last for about one year. If all
goes well, the FSF hopes to adopt GPLv3 in January, 2007.
to post comments)