Last call for GPLv3
[Posted June 6, 2007 by corbet]
The Free Software Foundation has
announced the release
of the "last call" draft of version 3 of the GNU General Public
License. In the absence of a significant reason to make changes, the FSF
will be releasing something that looks very much like this draft on
June 29. So this would be a good time for anybody who is concerned
about this license to take a final look at
the license text
with an eye toward finding any last-minute problems.
There are a few significant changes that went in this time around, and one
which did not. The current draft contains this language:
You may not convey a covered work if you are a party to an
arrangement with a third party that is in the business of
distributing software, under which you make payment to the third
party based on the extent of your activity of conveying the work,
and under which the third party grants, to any of the parties who
would receive the covered work from you, a discriminatory patent
license (a) in connection with copies of the covered work conveyed
by you (or copies made from those copies), or (b) primarily for and
in connection with specific products or compilations that contain
the covered work, unless you entered into that arrangement, or that
patent license was granted, prior to 28 March 2007.
The final part is the "grandfather clause" which exempts the
Microsoft/Novell deal from this restriction. In the previous draft, the
FSF had mentioned the possibility of removing that clause, causing the full
power of that language to apply against Novell. That, in turn, would have
made it hard (or impossible) for Novell to distribute software licensed
under GPLv3. According to the FSF, it now seems that it is better to let
Novell distribute this software than to prohibit it:
Microsoft is scrambling to dispose of as many Novell SLES coupons
as possible prior to the adoption of GPLv3. Unfortunately for
Microsoft, those coupons bear no expiration date, and paragraph 6
has no cut-off date. Through its ongoing distribution of coupons,
Microsoft will have procured the distribution of GPLv3-covered
programs as soon as they are included in Novell SLES distributions,
thereby extending patent defenses to all downstream recipients of
that software by operation of paragraph 6.
If this reasoning holds up, any Microsoft patent which can be said to be
infringed by GPLv3-licensed software distributed by Novell will, in
essence, be licensed to the free software community. It seems too good to
be true, but the people who are arguing this point should know what they
are talking about.
The definition of a "user product" - the sort of product to which the
anti-DRM provisions apply - has changed somewhat. The previous draft used
a reference to a U.S. law, which was not entirely well received in other
parts of the world. The new draft says, instead:
A "User Product" is either (1) a "consumer product," which means
any tangible personal property which is normally used for personal,
family, or household purposes, or (2) anything designed or sold for
incorporation into a dwelling. In determining whether a product is
a consumer product, doubtful cases shall be resolved in favor of
coverage. For a particular product received by a particular user,
"normally used" refers to a typical or common use of that class of
product, regardless of the status of the particular user or of the
way in which the particular user actually uses, or expects or is
expected to use, the product. A product is a consumer product
regardless of whether the product has substantial commercial,
industrial or non-consumer uses, unless such uses represent the
only significant mode of use of the product.
The clear intent is to define most products as "user products," exempting
only a very few products from the requirement that "installation
instructions" be provided with the source. This requirement has always
been one of the most controversial parts of GPLv3, but the FSF has stuck
with it from the beginning.
The permissions for distributing copies have been broadened a little with
this language:
You may convey covered works to others for the sole purpose of
having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply
with the terms of this License in conveying all material for which
you do not hold copyright. Those thus making or running the covered
works for you must do so exclusively on your behalf, under your
direction and control, on terms that prohibit them from making any
copies of your copyrighted material outside their relationship with
you.
In other words, having an outside contractor work on a modified,
GPLv3-licensed program does not force the distribution of the modifications
to that program.
Finally, this draft of the GPLv3 is considered to be fully compatible with
version 2 of the Apache License. This compatibility was achieved by
changing the interpretation of the Apache License slightly (in a way which
matches the Apache Software Foundation's interpretation) and by adding a
couple of permissible extra terms to the GPL. It is now possible to
require indemnification of upstream contributors and to require modified
works to be distributed under a different name. Since the Apache License
contains terms like that, allowing them under GPLv3 was essential if the
two were to be made compatible with each other.
The screaming which accompanied earlier drafts of GPLv3 is notably absent
this time around. A number of the issues which upset people have been
resolved at this point. And most observers understand that other
controversial terms - such as the anti-DRM provisions - are not going to
change regardless of how much criticism is directed at them. For better or
for worse, the GPLv3 process is nearly complete; soon it will be a matter
of seeing which projects make the change to the new license. To that end,
Richard Stallman has posted an
essay encouraging movement to GPLv3. Starting on June 29,
projects will have the option of following that advice.
(
Log in to post comments)