Changeset - 110f9ece935a
[Not reviewed]
0 1 0
Bradley Kuhn (bkuhn) - 10 years ago 2014-03-21 16:53:20
bkuhn@ebb.org
Rewrote paragraphs on additional permissions.
1 file changed with 19 insertions and 20 deletions:
0 comments (0 inline, 0 general)
gpl-lgpl.tex
Show inline comments
...
 
@@ -2715,830 +2715,829 @@ for services but not for selling copies of software and/or that the GPL
 
requires downloads to be gratis.  Perhaps this is because GPLv2 referred to
 
charging a ``fee''; the term ``fee'' is generally used in connection with
 
services.
 

	
 
GPLv2's wording also referred to ``the physical act of transferring.''  The
 
intention was to distinguish charging for transfers from attempts to impose
 
licensing fees on all third parties.  ``Physical'' might be read, however, as
 
suggesting ``distribution in a physical medium only''.
 

	
 
To address these two issues, GPLv3 says ``price'' in place of ``fee,'' and
 
removes the term ``physical.''
 

	
 
GPLv3~\S4 has also been revised from its corresponding section in GPLv2 in
 
light of the GPLv3~\S7 (see \S~\ref{GPLv3s7} in this tutorial for more).
 
Specifically, a distributor of verbatim copies of the program's source code
 
must obey any existing additional terms that apply to parts of the program
 
pursuant to GPLv3~\S7.  In addition, the distributor is required to keep
 
intact all license notices, including notices of such additional terms.
 

	
 
Finally, there is no harm in explicitly pointing out what ought to be
 
obvious: that those who convey GPL-covered software may offer commercial
 
services for the support of that software.
 

	
 
\section{GPLv3~\S5: Modified Source}
 
\label{GPLv3s5}
 

	
 
GPLv3\S5 is the rewrite of GPLv2\S2, which was discussed in \S~\ref{GPLv2s2}
 
of this tutorial.  This section discusses the changes found in GPLv3\S5
 
compared to GPLv2\S2.
 

	
 
GPLv3\S5(a) still requires modified versions be marked with ``relevant
 
date'', but no longer says ``the date of any change''.  The best practice is
 
to include the date of the latest and/or most significant changes and who
 
made those.  Of course, compared to its GPLv2\S2(a), GPLv3\S5(a) slightly
 
relaxes the requirements regarding notice of changes to the program.  In
 
particular, the modified files themselves need no longer be marked.  This
 
reduces administrative burdens for developers of modified versions of GPL'd
 
software.
 

	
 
GPLv3\S5(b) is a new but simple provision. GPLv3\S5(b)  requires that the
 
license text itself must be unmodified (except as permitted by GPLv3\S7; see
 
\S~\ref{GPLv3s7} in this tutorial).  Furthermore, it  removes any perceived
 
conflict between the words ``keep intact all notices'' in GPLv3\S4, since
 
operating under GPLv3\S5 still includes all the requirements of GPLv3\S4 by
 
reference.
 

	
 
GPLv3\S5(c) is the primary source-code-related copyleft provision of GPL. (The
 
object-code-related copyleft provisions are in GPLv3\S6, discussed in
 
\S~\ref{GPLv3s6} of this tutorial).  Compared to GPLv2\S2(b), GPLv3\S5(c)
 
states that the GPL applies to the whole of the work.  Such was stated
 
already in GPLv2\S2(b), in ``in whole or in part'', but this simplified
 
wording makes it clear the entire covered work
 

	
 
Another change in GPLv3\S5(c) is the removal of the
 
words ``at no charge,'' which was often is misunderstood upon na\"{i}ve
 
reading of in GPLv2\S(b) (as discussed in \S~\ref{GPLv2s2-at-no-charge} of this
 
tutorial).
 

	
 
%  FIXME-LATER: Write up something on 5d, and related it to Appropriate Legal Notices.
 

	
 

	
 
Note that of GPLv2~\S2's penultimate and ante-penultimate paragraphs are now
 
handled adequately by the definitions in GPLv3\S0 and as such, have no direct
 
analogs in GPLv3.
 

	
 
GPLv2~\S2's final paragraph, however, is reworded and expanded into the final
 
paragraph of GPLv3\S5, which now also covers issues related to copyright
 
compilations (but not compilations into object code --- that's in the next
 
section!).  The intent and scope is the same as was intended in GPLv2.
 

	
 
\section{GPLv3~\S6: Non-Source and Corresponding Source}
 
\label{GPLv3s6}
 

	
 
GPLv3~\S6 clarifies and revises GPLv2~\S3.  It requires distributors of GPL'd
 
object code to provide access to the corresponding source code, in one of
 
four specified ways.  As noted in \S~\ref{GPLv3s0}, ``object code'' in GPLv3
 
is defined broadly to mean any non-source version of a work.
 

	
 
% FIXME:  probably mostly still right, needs some updates, though.
 

	
 
GPLv3~\S6(a--b) now apply specifically to distribution of object code in a
 
physical product.  Physical products include embedded systems, as well as
 
physical software distribution media such as CDs.  As in GPLv2~\S3 (discussed
 
in \S~\ref{GPLv2s3} of this tutorial), the distribution of object code may
 
either be accompanied by the machine-readable source code, or it may be
 
accompanied by a valid written offer to provide the machine-readable source
 
code.  However, unlike in GPLv2, that offer cannot be exercised by any third
 
party; rather, only those ``who possesses the object code'' it can exercised
 
the offer.  (Note that this is a substantial narrowing of requirements of
 
offer fulfillment, and is a wonderful counterexample to dispute claims that
 
the GPLv3 has more requirements than GPLv2.)
 

	
 
% FIXME:  probably mostly still right, needs some updates, though.
 

	
 
GPLv3~\S6(b) further revises the requirements for the written offer to
 
provide source code. As before, the offer must remain valid for at least
 
three years. In addition, even after three years, a distributor of a product
 
containing GPL'd object code must offer to provide source code for as long as
 
the distributor also continues to offer spare parts or customer support for
 
the product model.  This is a reasonable and appropriate requirement; a
 
distributor should be prepared to provide source code if he or she is
 
prepared to provide support for other aspects of a physical product.
 

	
 
GPLv3~\S6(a--b) clarifies that the medium for software interchange on which
 
the machine-readable source code is provided must be a durable physical
 
medium.  GPLv3~\S6(b)(2), however, permits a distributor to instead offer to
 
provide source code from a network server instead, which is yet another
 
example GPLv3 looser in its requirements than GPLv2 (see
 
\S~\ref{GPLv2s3-medium-customarily} for details).
 

	
 
% FIXME-LATER: more information about source provision, cost of physically
 
% performing, reasonable fees, medium customary clearly being said durable
 
% connecting back to previous text
 

	
 
GPLv3\S6(c) gives narrower permission than GPLv2\S3(c).  The ``pass along''
 
option for GPLv3\S6(c)(1) offers is now available only for individual
 
distribution of object code; moreover, such individual distribution can occur
 
only ``occasionally and noncommercially.''  A distributor cannot comply with
 
the GPL merely by making object code available on a publicly-accessible
 
network server accompanied by a copy of the written offer to provide source
 
code received from an upstream distributor.
 

	
 
%FIXME-LATER: tie back to the discussion of the occasional offer pass along
 
%             stuff in GPLv2 this tutorial.
 

	
 
GPLv3~\S6(d) revises and improves GPLv2~\S3's final paragraph.  When object
 
code is provided by offering access to copy the code from a designated place
 
(such as by enabling electronic access to a network server), the distributor
 
must merely offer equivalent access to copy the source code ``in the same way
 
through the same place''.  This wording also permits a distributor to offer a
 
third party access to both object code and source code on a single network
 
portal or web page, even though the access may include links to different
 
physical servers.  For example, a downstream distributor may provide a link
 
to an upstream distributor's server and arrange with the operator of that
 
server to keep the source code available for copying for as long as the
 
downstream distributor enables access to the object code.  This codifies
 
formally typical historical interpretation of GPLv2.
 

	
 
% FIXME-LATER: perhaps in enforcement section, but maybe here, note about
 
% ``slow down'' on source downloads being a compliance problem. 
 

	
 
Furthermore, under GPLv3~\S6(d), distributors may charge for the conveyed
 
object code; however, those who pay to obtain the object code must be given
 
equivalent and gratis access to obtain the CCS.  (If distributors convey the
 
object code gratis, distributors must likewise make CCS available without
 
charge.)  Those who do not obtain the object code from that distributors
 
(perhaps because they choose not to pay the fee for object code) are outside
 
the scope of the provision; distributors are under no specific obligation to
 
give CCS to someone who has not purchased an object code download under
 
GPLv3~\S6(d).  (Note: this does not change nor impact any obligations under
 
GPLv3~\S6(b)(2); GPLv3~\S6(d) is a wholly different provision.)
 

	
 
\subsection{GPLv3~\S6(e): Peer-to-Peer Sharing Networks}
 

	
 
Certain decentralized forms of peer-to-peer file sharing present a challenge
 
to the unidirectional view of distribution that is implicit in GPLv2 and
 
Draft 1 of GPLv3.  Identification of an upstream/downstream link in
 
BitTorrent distribution is neither straightforward nor reasonable; such
 
distribution is multidirectional, cooperative and anonymous.  In peer-to-peer
 
distribution systems, participants act both as transmitters and recipients of
 
blocks of a particular file, but they perceive the experience merely as users
 
and receivers, and not as distributors in any conventional sense.  At any
 
given moment of time, most peers will not have the complete file.
 

	
 
Meanwhile, GPLv3~\S6(d) permits distribution of a work in object code form
 
over a network, provided that the distributor offers equivalent access to
 
copy the Corresponding Source Code ``in the same way through the same
 
place''.  This wording might be interpreted to permit peer-to-peer
 
distribution of binaries \textit{if} they are packaged together with the CCS,
 
but such packaging impractical, for at least three reasons.  First, even if
 
the CCS is packaged with the object code, it will only be available to a
 
non-seeding peer at the end of the distribution process, but the peer will
 
already have been providing parts of the binary to others in the network.
 
Second, in practice, peer-to-peer forms of transmission are poorly suited
 
means for distributing CCS.  In large distributions, packaging CCS with the
 
object code may result in a substantial increase in file size and
 
transmission time.  Third, in current practice, CCS packages themselves tend
 
\textit{not} to be transmitted through BitTorrent --- owing to reduced demand
 
-- thus, there generally will be too few participants downloading the same
 
source package at the same time to enable effective seeding and distribution.
 

	
 
GPLv3~\S6(e) addresses this issues.  If a licensee conveys such a work of
 
object code using peer-to-peer transmission, that licensee is in compliance
 
with GPLv3~\S6 if the licensee informs other peers where the object code and
 
its CCS are publicly available at no charge under subsection GPLv3~\S6(d).
 
The CCS therefore need not be provided through the peer-to-peer system that
 
was used for providing the binary.
 

	
 
Second, GPLv3\S9 also clarifies that ancillary propagation of a covered work
 
that occurs as part of the process of peer-to-peer file transmission does not
 
require acceptance, just as mere receipt and execution of the Program does
 
not require acceptance.  Such ancillary propagation is permitted without
 
limitation or further obligation.
 

	
 
% FIXME-LATER: Would be nice to explain much more about interactions between
 
% the various options of GPLv3~\S6(a-e), which might all be in play at once!
 

	
 
\subsection{User Products, Installation Information and Device Lock-Down}
 

	
 
As discussed in \S~\ref{GPLv3-drm} of this tutorial, GPLv3 seeks thwart
 
technical measures such as signature checks in hardware to prevent
 
modification of GPLed software on a device.
 

	
 
To address this issue, GPLv3~\S6 requires that parties distributing object
 
code provide recipients with the source code through certain means.  When
 
those distributors pass on the CCS, they are also required to pass on any
 
information or data necessary to install modified software on the particular
 
device that included it.  (This strategy is not unlike that used in LGPLv2.1
 
to enable users to link proprietary programs to modified libraries.)
 

	
 
% FIXME-LATER: LGPLv2.1 section should talk about this explicitly and this
 
%              should be a forward reference here
 

	
 
\subsubsection{User Products}
 

	
 
\label{user-product}
 

	
 
The scope of these requirements are narrow.  GPLv3~\S6 introduces the concept
 
of a ``User Product'', which includes devices that are sold for personal,
 
family, or household use.  Distributors are only required to provide
 
Installation Information when they convey object code in a User Product.
 

	
 
In brief, the right to convey object code in a defined class of ``User
 
Products,'' under certain circumstances, on providing whatever information is
 
required to enable a recipient to replace the object code with a functioning
 
modified version.
 

	
 
This was a compromise that was difficult for the FSF to agree to during the
 
GPLv3 drafting process.  However, companies and governments that use
 
specialized or enterprise-level computer facilities reported that they
 
actually \textit{want} their systems not to be under their own control.
 
Rather than agreeing to this as a concession, or bowing to pressure, they ask
 
for this as a \texit{preference}.  It is not clear that GPL should interfere
 
here, since the main problem lies elsewhere.
 

	
 
While imposing technical barriers to modification is wrong regardless of
 
circumstances, the areas where restricted devices are of the greatest
 
practical concern today fall within the User Product definition.  Most, if
 
not all, technically-restricted devices running GPL-covered programs are
 
consumer electronics devices.  Moreover, the disparity in clout between the
 
manufacturers and these users makes it difficult for the users to reject
 
technical restrictions through their weak and unorganized market power.  Even
 
limited to User Products, this provision addresses the fundamental problem.
 

	
 
% FIXME-LATER: link \href to USC 2301
 

	
 
The core of the User Product definition is a subdefinition of ``consumer
 
product'' adapted from the Magnuson-Moss Warranty Act, a federal
 
consumer protection law in the USA found in 15~USC~\S2301: ``any tangible
 
personal property which is normally used for personal, family, or household
 
purposes.''  The USA has had three decades of experience of liberal
 
judicial and administrative interpretation of this definition in a manner
 
favorable to consumer rights.\footnote{The Magnuson-Moss consumer product
 
  definition itself has been influential in the USA and Canada, having been
 
  adopted in several state and provincial consumer protection laws.}
 
Ideally, this body of interpretation\footnote{The FSF, however, was very
 
  clear that incorporation of such legal interpretation was in no way
 
  intended work as a general choice of USA law for GPLv3.} will guide
 
interpretation of the consumer product subdefinition in GPLv3~\S6, and this
 
will hopefully provide a degree of legal certainty advantageous to device
 
manufacturers and downstream licensees alike.
 

	
 
One well-established interpretive principle under Magnuson-Moss is that
 
ambiguities are resolved in favor of coverage.  That is, in cases where
 
it is not clear whether a product falls under the definition of consumer
 
product, the product will be treated as a consumer product.\footnote{16
 
CFR~\S\ 700.1(a); \textit{McFadden v.~Dryvit Systems, Inc.}, 54
 
UCC~Rep.~Serv.2d 934 (D.~Ore.~2004).}  Moreover, for a given product,
 
``normally used'' is understood to refer to the typical use of that type
 
of product, rather than a particular use by a particular buyer.
 
Products that are commonly used for personal as well as commercial
 
purposes are consumer products, even if the person invoking rights is a
 
commercial entity intending to use the product for commercial
 
purposes.\footnote{16 CFR \S \ 700.1(a).  Numerous court decisions
 
interpreting Magnuson-Moss are in accord; see, e.g., \textit{Stroebner
 
Motors, Inc.~v.~Automobili Lamborghini S.p.A.}, 459 F.~Supp.2d 1028,
 
1033 (D.~Hawaii 2006).}  Even a small amount of ``normal'' personal use
 
is enough to cause an entire product line to be treated as a consumer
 
product under Magnuson-Moss\footnote{\textit{Tandy Corp.~v.~Marymac
 
Industries, Inc.}, 213 U.S.P.Q.~702 (S.D.~Tex.~1981). In this case, the
 
court concluded that TRS-80 microcomputers were consumer products, where
 
such computers were designed and advertised for a variety of users,
 
including small businesses and schools, and had only recently been
 
promoted for use in the home.}.
 

	
 
However, Magnuson-Moss is not a perfect fit because in the area of components
 
of dwellings, the settled interpretation under Magnuson-Moss underinclusive.
 
Depending on how such components are manufactured or sold, they may or may
 
not be considered Magnuson-Moss consumer products.\footnote{Building
 
  materials that are purchased directly by a consumer from a retailer, for
 
  improving or modifying an existing dwelling, are consumer products under
 
  Magnuson-Moss, but building materials that are integral component parts of
 
  the structure of a dwelling at the time that the consumer buys the dwelling
 
  are not consumer products. 16 C.F.R.~\S\S~700.1(c)--(f); Federal Trade
 
  Commission, Final Action Concerning Review of Interpretations of
 
  Magnuson-Moss Warranty Act, 64 Fed.~Reg.~19,700 (April 22, 1999); see also,
 
  e.g., \textit{McFadden}, 54 U.C.C.~Rep.~Serv.2d at 934.}  Therefore, GPLv3
 
defines User Products as a superset of consumer products that also includes
 
``anything designed or sold for incorporation into a dwelling.''
 

	
 
Thus, the three sentences in the center of GPLv3's User Product definition
 
encapsulate the judicial and administrative principles established over the
 
past three decades in the USA concerning the Magnuson-Moss consumer product
 
definition.  First, it states that doubtful cases are resolved in favor of
 
coverage under the definition.  Second, it indicate that the words ``normally
 
used'' in the consumer product definition refer to a typical or common use of
 
a class of product, and not the status of a particular user or expected or
 
actual uses by a particular user.  Third, it clearly states that the
 
existence of substantial non-consumer uses of a product does not negate a
 
determination that it is a consumer product, unless such non-consumer uses
 
represent the only significant mode of use of that product.
 

	
 
It should be clear from these added sentences that it is the general mode of
 
use of a product that determines objectively whether or not it is a consumer
 
product.  One could not escape the effects of the User Products provisions by
 
labeling what is demonstrably a consumer product in ways that suggest it is
 
``for professionals'', for example.
 

	
 

	
 
\subsubsection{Installation Information}
 

	
 
With the User Products definition complete,  The ``Installation Information''
 
definition uses that to define what those receiving object code inside a User
 
Product must receive.
 

	
 
Installation Information is information that is ``required to install and
 
execute modified versions of a covered work \dots from a modified version of
 
its'' CCS, in the same User Product for which the covered work is conveyed.
 
GPLv3 provides guidance concerning how much information must be provided: it
 
``must suffice to ensure that the continued functioning of the modified
 
object code is in no case prevented or interfered with solely because
 
modification has been made.''  For example, the information provided would be
 
insufficient if it enabled a modified version to run only in a disabled
 
fashion, solely because of the fact of modification (regardless of the actual
 
nature of the modification).  The information need not consist of
 
cryptographic keys; Installation Information may be ``any methods,
 
procedures, authorization keys, or other information''.
 

	
 
Note that GPLv3 does not define ``continued functioning'' further.  However,
 
GPLv3 does provide some additional guidance concerning the scope of
 
GPLv3-compliant action or inaction that distributors of
 
technically-restricted User Products can take with respect to a downstream
 
recipient who replaces the conveyed object code with a modified version.
 
First of all, GPLv3 makes clear that GPLv3 implies no obligation ``to
 
continue to provide support service, warranty, or updates'' for such a work.
 

	
 
Second, most technically-restricted User Products are designed to communicate
 
across networks.  It is important for both users and network providers to
 
know when denial of network access to devices running modified versions
 
becomes a GPL violation.  GPLv3 permits denial of access in two cases: ``when
 
the modification itself materially and adversely affects the operation of the
 
network,'' and when the modification itself ``violates the rules and
 
protocols for communication across the network''.  The second case is
 
deliberately drawn in general terms, and it serves as a foundation for
 
reasonable enforcement policies that respect recipients' right to modify
 
while recognizing the legitimate interests of network providers.
 

	
 
Note that GPLv3 permits the practice of conveying object code in a mode not
 
practically susceptible to modification by any party, such as code burned in
 
ROM or embedded in silicon.  The goal of the Installation Information
 
requirement is to ensure the downstream licensee receives the real right to
 
modify when the device manufacturer or some other party retains that right.
 
Accordingly, GPLv3\S6's ante-penultimate paragraph states that the
 
requirement to provide Installation Information ``does not apply if neither
 
you nor any third party retains the ability to install modified object code
 
on the User Product''.
 

	
 
Finally, GPLv3\S6 makes it clear that there is also no requirement to
 
provide warranty or support for the User Product itself.
 

	
 
\section{Understanding License Compatibility}
 
\label{license-compatibility}
 

	
 
% FIXME: more about license compatibility here.
 

	
 
A challenge that faced the Free Software community heavily through out the
 
early 2000s was the proliferation of incompatible Free Software licenses.  Of
 
course, we cannot make the GPL compatible with all such licenses. GPLv3
 
contains provisions that are designed to reduce license incompatibility by
 
making it easier for developers to combine code carrying non-GPL terms with
 
GPL'd code.
 

	
 
% FIXME: connecting text
 

	
 
\subsection{Additional Permissions}
 
\subsection{GPLv3~\S7: Additional Permissions}
 

	
 
The GPL is a statement of permissions, some of which have conditions.
 
Additional terms --- terms that supplement those of the GPL --- may come to be
 
placed on, or removed from, GPL-covered code in certain common ways.
 
Copyleft licensing theorists have generally called
 
 those added terms ``additional permissions'' if they grant
 
exceptions from the conditions of the GPL, and ``additional requirements'' if
 
they add conditions to the basic permissions of the GPL\@. The treatment of
 
additional permissions and additional requirements under GPLv3 is necessarily
 
asymmetrical, because they do not raise the same interpretive
 
issues; in particular, additional requirements, if allowed without careful
 
limitation, could transform a GPL'd program into a non-free one.
 

	
 
With these principles in the background, GPLv3~\S7  answers the following
 
questions: 
 
\begin{enumerate}
 
\item How do the presence of additional terms on all or part of a GPL'd program
 
affect users' rights?
 

	
 
\item When and how may a licensee add terms to code being
 
distributed under the GPL? 
 

	
 
\item When may a licensee remove additional terms?
 
\end{enumerate}
 

	
 
% FIXME: FSF third person, etc.
 

	
 
Additional permissions present the easier case.  We have licensed some of our
 
own software under GPLv2 with permissive exceptions that allow combination
 
with non-free code, and that allow removal of those permissions by downstream
 
recipients; similarly, LGPLv2.1 is in essence a permissive variant of GPLv2,
 
and it permits relicensing under the GPL.  We have generalized these
 
practices in section 7.  A licensee may remove any additional permission from
 
Additional permissions present the easier case.  Since the mid-1990s,
 
permissive exceptions often appeared alongside GPLv2 with permissive
 
exceptions to allow combination
 
with certain non-free code.  Typically, downstream
 
stream recipients could remove those exceptions and operate under pure GPLv2.
 
Similarly, LGPLv2.1 is in essence a permissive variant of GPLv2,
 
and it permits relicensing under the GPL\@.  
 

	
 
\sectin
 
These practices are now generalized via GPLv3~\S7.
 
A licensee may remove any additional permission from
 
a covered work, whether it was placed by the original author or by an
 
upstream distributor.  A licensee may also add any kind of additional
 
permission to any part of a work for which the licensee has, or can give,
 
appropriate copyright permission. For example, if the licensee has written
 
that part, the licensee is the copyright holder for that part and can
 
therefore give additional permissions that are applicable to it.
 
Alternatively, the part may have been written by someone else and licensed,
 
with the additional permissions, to that licensee.  Any additional
 
permissions on that part are, in turn, removable by downstream recipients.
 
As subsection 7a explains, the effect of an additional permission depends on
 
As GPLv3~\S7\P1 explains, the effect of an additional permission depends on
 
whether the permission applies to the whole work or a part.
 

	
 
% FIXME: rework this a bit
 
% FIXME-LATER: LGPLv3 will have its own section
 

	
 
We have drafted version 3 of the GNU LGPL, which we have released with Draft
 
2 of GPLv3, as a simple list of additional permissions supplementing the
 
terms of GPLv3.  Section 7 has thus provided the basis for recasting a
 
Indeed, LGPLv3 is itself simply  a list of additional permissions supplementing the
 
terms of GPLv3.  GPLv3\S7 has thus provided the basis for recasting a
 
formally complex license as an elegant set of added terms, without changing
 
any of the fundamental features of the existing LGPL.  We offer this draft of
 
LGPLv3 as as a model for developers wishing to license their works under the
 
any of the fundamental features of the existing LGPL\@.  LGPLv3 is thus  a model for developers wishing to license their works under the
 
GPL with permissive exceptions.  The removability of additional permissions
 
under section 7 does not alter any existing behavior of the LGPL; the LGPL
 
has always allowed relicensing under the ordinary GPL.
 
under GPLv3\S7 does not alter any existing behavior of the LGPL since the LGPL
 
has always allowed relicensing under the ordinary GPL\@.
 

	
 
\subsection{Additional Requirements and License Compatibility}
 

	
 
% FIXME: minor rewrites needed
 

	
 
We broadened the title of section 7 because license compatibility, as it is
 
conventionally understood, is only one of several facets of the placement of
 
additional terms on GPL'd code.  The license compatibility issue arises for
 
three reasons.  First, the GPL is a strong copyleft license, requiring
 
modified versions to be distributed under the GPL.  Second, the GPL states
 
that no further restrictions may be placed on the rights of recipients.
 
Third, all other free software licenses in common use contain certain
 
requirements, many of which are not conditions made by the GPL.  Thus, when
 
GPL'd code is modified by combination with code covered by another formal
 
license that specifies other requirements, and that modified code is then
 
distributed to others, the freedom of recipients may be burdened by
 
additional requirements in violation of the GPL.  It can be seen that
 
additional permissions in other licenses do not raise any problems of license
 
compatibility.
 

	
 
% FIXME: minor rewrites needed
 

	
 
Section 7 relaxes the prohibition on further restrictions slightly by
 
enumerating, in subsection 7b, a limited list of categories of additional
 
requirements that may be placed on code without violating GPLv3.  The list
 
includes the items that were listed in Draft 1, though rewritten for clarity.
 
It also includes a new catchall category for terms that might not obviously
 
fall within one of the other categories but which are precisely equivalent to
 
GPLv3 conditions, or which deny permission for activities clearly not
 
permitted by GPLv3.  We have carefully considered but rejected proposals to
 
expand this list further.  We have also rejected suggestions, made by some
 
discussion committee members, that the Affero clause requirement (7d in Draft
 
1 and 7b4 in Draft 2) be removed, though we have revised it in response to
 
certain comments.  We are unwavering in our view that the Affero requirement
 
is a legitimate one, and we are committed to achieving compatibility of the
 
Affero GPL with GPLv3.
 

	
 
% FIXME: minor rewrites needed
 

	
 
A GPL licensee may place an additional requirement on code for which the
 
licensee has or can give appropriate copyright permission, but only if that
 
requirement falls within the list given in subsection 7b.  Placement of any
 
other kind of additional requirement continues to be a violation of the
 
license.  Additional requirements that are in the 7b list may not be removed,
 
but if a user receives GPL'd code that purports to include an additional
 
requirement not in the 7b list, the user may remove that requirement.  Here
 
we were particularly concerned to address the problem of program authors who
 
purport to license their works in a misleading and possibly
 
self-contradictory fashion, using the GPL together with unacceptable added
 
restrictions that would make those works non-free software.
 

	
 
\section{GPLv3~\S7: Explicit Compatibility}
 

	
 

	
 
% FIXME:  probably mostly still right, needs some updates, though.
 

	
 
In GPLv3 we take a new approach to the issue of combining GPL'd code with
 
code governed by the terms of other free software licenses. Our view, though
 
it was not explicitly stated in GPLv2 itself, was that GPLv2 allowed such
 
combinations only if the non-GPL licensing terms permitted distribution under
 
the GPL and imposed no restrictions on the code that were not also imposed by
 
the GPL. In practice, we supplemented this policy with a structure of
 
exceptions for certain kinds of combinations.
 

	
 
% FIXME:  probably mostly still right, needs some updates, though.
 

	
 
Section 7 of GPLv3 implements a more explicit policy on license
 
compatibility. It formalizes the circumstances under which a licensee may
 
release a covered work that includes an added part carrying non-GPL terms. We
 
distinguish between terms that provide additional permissions, and terms that
 
place additional requirements on the code, relative to the permissions and
 
requirements established by applying the GPL to the code.
 

	
 
% FIXME:  probably mostly still right, needs some updates, though.
 

	
 
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.
 

	
 
% FIXME:  probably mostly still right, needs some updates, though.
 

	
 
In its treatment of terms that impose additional requirements, section 7
 
extends the range of licensing terms with which the GPL is compatible. An
 
added part carrying additional requirements may be combined with GPL'd code,
 
but only if those requirements belong to an set enumerated in section 7. We
 
must, of course, place some limit on the kinds of additional requirements
 
that we will accept, to ensure that enhanced license compatibility does not
 
defeat the broader freedoms advanced by the GPL. Unlike terms that grant
 
additional permissions, terms that impose additional requirements cannot be
 
removed by a downstream user of the combined GPL'd work, because no such user
 
would have the right to do so.
 

	
 
% FIXME:  probably mostly still right, needs some updates, though.
 

	
 
Under subsections 7a and 7b, the requirements may include preservation of
 
copyright notices, information about the origins of the code or alterations
 
of the code, and different warranty disclaimers. Under subsection 7c, the
 
requirements may include limitations on the use of names of contributors and
 
on the use of trademarks for publicity purposes. In general, we permit these
 
requirements in added terms because many free software licenses include them
 
and we consider them to be unobjectionable. Because we support trademark fair
 
use, the limitations on the use of trademarks may seek to enforce only what
 
is required by trademark law, and may not prohibit what would constitute fair
 
use.
 

	
 
% FIXME: 7d-f
 

	
 

	
 
% FIXME:  removing additional restrictions
 

	
 
% FIXME:  probably mostly still right, needs some updates, though.
 

	
 
Section 7 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 in the user's
 
version.
 

	
 
% FIXME: minor rewrites needed
 

	
 
Section 7 points out that GPLv3 itself makes no assertion that an additional
 
requirement is enforceable by the copyright holder.  However, section 7 makes
 
clear that enforcement of such requirements is expected to be by the
 
termination procedure given in section 8 of GPLv3.
 

	
 
% FIXME: better context, etc.
 

	
 
Some have questioned whether section 7 is needed, and some have suggested
 
that it creates complexity that did not previously exist.  We point out to
 
those readers that there is already GPLv2-licensed code that carries
 
additional terms.  One of the objectives of section 7 is to rationalize
 
existing practices of program authors and modifiers by setting clear
 
guidelines regarding the removal and addition of such terms.  With its
 
carefully limited list of allowed additional requirements, section 7
 
accomplishes additional objectives, permitting the expansion of the base of
 
code available for GPL developers, while also encouraging useful
 
experimentation with requirements we do not include in the GPL itself.
 

	
 
\section{GPLv3~\S8: A Lighter Termination}
 

	
 
% FIXME:  probably mostly still right, needs some updates, though.
 

	
 
GPLv2 provided for automatic termination of the rights of a person who
 
copied, modified, sublicensed, or distributed a work in violation of the
 
license.  Automatic termination can be too harsh for those who have committed
 
an inadvertent violation, particularly in cases involving distribution of
 
large collections of software having numerous copyright holders.  A violator
 
who resumes compliance with GPLv2 would need to obtain forgiveness from all
 
copyright holders, but even to contact them all might be impossible.
 

	
 
% FIXME: needs to be updated to describe more complex termination
 

	
 
Section 8 of GPLv3 replaces automatic termination with a non-automatic
 
termination process.  Any copyright holder for the licensed work may opt to
 
terminate the rights of a violator of the license, provided that the
 
copyright holder has first given notice of the violation within 60 days of
 
its most recent occurrence. A violator who has been given notice may make
 
efforts to enter into compliance and may request that the copyright holder
 
agree not exercise the right of termination; the copyright holder may choose
 
to grant or refuse this request.
 

	
 
% FIXME: needs to be updated to describe more complex termination
 

	
 
If a licensee who is in violation of GPLv3 acts to correct the violation and
 
enter into compliance, and the licensee receives no notice of the past
 
violation within 60 days, then the licensee need not worry about termination
 
of rights under the license.
 

	
 
In Draft 3 the termination provision of section 8 has been revised to
 
indicate that, if a licensee violates the GPL, a contributor may terminate
 
any patent licenses that it granted under the first paragraph of section 11
 
to that licensee, in addition to any copyright permissions the contributor
 
granted to the licensee.  Therefore, a contributor may terminate the patent
 
licenses it granted to a downstream licensee who brings patent infringement
 
litigation in violation of section 10.
 

	
 
We have made two substantive changes to section 8.  First, we have clarified
 
that patent rights granted under the GPL are among the rights that a
 
copyright holder may terminate under section 8.  Therefore, a contributor who
 
grants a patent license under the first paragraph of section 11 may terminate
 
that patent license, just as that contributor may terminate copyright rights,
 
to a downstream recipient who has violated the license.  We think that this
 
is a reasonable result, and was already implicit in the wording of the
 
termination provision in our earlier drafts.  Moreover, this clarification
 
should encourage patent holders to make contributions to GPL-covered
 
programs.
 

	
 
Second, we have modified the termination procedure by providing a limited
 
opportunity to cure license violations, an improvement that was requested by
 
many different members of our community.  If a licensee has committed a
 
first-time violation of the GPL with respect to a given copyright holder, but
 
the licensee cures the violation within 30 days following receipt of notice
 
of the violation, then any of the licensee's GPL rights that have been
 
terminated by the copyright holder are ``automatically reinstated.''  The
 
addition of the cure opportunity achieves a better balance than our earlier
 
section 8 drafts between facilitating enforcement of the license and
 
protecting inadvertent violators against unfair results.
 

	
 
We have restructured the form of section 8 by replacing non-automatic
 
termination with automatic termination coupled with opportunities for
 
provisional and permanent reinstatement of rights.  The revised wording does
 
not alter the underlying policy or details of procedure established in the
 
previous drafts, including the 60-day period of repose and 30-day cure
 
opportunity for first-time violators.  The restoration of automatic
 
termination was motivated in part to facilitate enforcement in European
 
countries.  We also believe the revised wording will be easier to understand
 
and apply in all jurisdictions.
 

	
 
\section{GPLv3~\S9: Acceptance}
 

	
 
% FIXME: needs some work here
 

	
 
Section 9 means what it says: mere receipt or execution of code neither
 
requires nor signifies contractual acceptance under the GPL.  Speaking more
 
broadly, we have intentionally structured our license as a unilateral grant
 
of copyright permissions, the basic operation of which exists outside of any
 
law of contract.  Whether and when a contractual relationship is formed
 
between licensor and licensee under local law do not necessarily matter to
 
the working of the license.
 

	
 
\section{GPLv3~\S10: Explicit Downstream License}
 

	
 
% FIXME: These don't belong here, but it's closer to where it ought to be now.
 

	
 
It is important to note that section 11, paragraph 3 refers to a work that is
 
conveyed, and section 10, paragraph 2 refers to a kind of automatic
 
counterpart to conveying achieved as the result of a transaction. 
 

	
 
% FIXME: needs filled out and more here.
 

	
 
Draft1 removed the words ``at no charge'' from what is now subsection 5b, the
 
core copyleft provision, for reasons related to our current changes to the
 
second paragraph of section 4: it had contributed to a misconception that the
 
GPL did not permit charging for distribution of copies.  The purpose of the
 
``at no charge'' wording was to prevent attempts to collect royalties from
 
third parties.  The removal of these words created the danger that the
 
imposition of licensing fees would no longer be seen as a license
 
violation.
 

	
 
We therefore have added a new explicit prohibition on imposition of licensing
 
fees or royalties in section 10.  This section is an appropriate place for
 
such a clause, since it is a specific consequence of the general requirement
 
that no further restrictions be imposed on downstream recipients of
 
GPL-covered code.
 

	
 
Careful readers of the GPL have suggested that its explicit prohibition
 
against imposition of further restrictions\footnote{GPLv2, section 6; Draft
 
  3, section 10, third paragraph.} has, or ought to have, implications for
 
those who assert patents against other licensees.  Draft 2 took some steps to
 
clarify this point in a manner not specific to patents, by describing the
 
imposition of ``a license fee, royalty, or other charge'' for exercising GPL
 
rights as one example of an impermissible further restriction.  In Draft 3 we
 
have clarified further that the requirement of non-imposition of further
 
restrictions has specific consequences for litigation accusing GPL-covered
 
programs of infringement.  Section 10 now states that ``you may not initiate
 
litigation (including a cross-claim or counterclaim in a lawsuit) alleging
 
that any patent claim is infringed by making, using, selling, offering for
 
sale, or importing the Program (or the contribution of any contributor).''
 
That is to say, a patent holder's licensed permissions to use a work under
 
GPLv3 may be terminated under section 8 if the patent holder files a lawsuit
 
alleging that use of the work, or of any upstream GPLv3-licensed work on
 
which the work is based, infringes a patent.
 

	
 
\section{GPLv3~\S11: Explicit Patent Licensing}
 
\label{GPLv3s11}
 

	
 
The patent licensing practices that section 7 of GPLv2 (corresponding to
 
section 12 of GPLv3) was designed to prevent are one of several ways in which
 
software patents threaten to make free programs non-free and to prevent users
 
from exercising their rights under the GPL. GPLv3 takes a more comprehensive
 
approach to combatting the danger of patents.
 

	
 
Software patenting is a harmful and unjust policy, and should be abolished;
 
recent experience makes this all the more evident. Since many countries grant
 
patents that can apply to and prohibit software packages, in various guises
 
and to varying degrees, we seek to protect the users of GPL-covered programs
 
from those patents, while at the same time making it feasible for patent
 
holders to contribute to and distribute GPL-covered programs as long as they
 
do not attack the users of those programs.
 

	
 
It is generally understood that GPLv2 implies some limits on a licensee's
 
power to assert patent claims against the use of GPL-covered works.
 

	
 
Therefore, we have designed GPLv3 to reduce the patent risks that distort and
 
threaten the activities of users who make, run, modify and share free
 
software.  At the same time, we have given due consideration to practical
 
goals such as certainty and administrability for patent holders that
 
participate in distribution and development of GPL-covered software.  Our
 
policy requires each such patent holder to provide appropriate levels of
 
patent assurance to users, according to the nature of the patent holder's
 
relationship to the program.
 

	
 
Draft 3 features several significant changes concerning patents.  We have
 
made improvements to earlier wording, clarified when patent assertion becomes
 
a prohibited restriction on GPL rights, and replaced a distribution-triggered
 
non-assertion covenant with a contribution-based patent license grant. We
 
have also added provisions to block collusion by patent holders with software
 
distributors that would extend patent licenses in a discriminatory way.
 

	
 

	
 
Draft 3 introduces the terms ``contributor'' and ``contribution,'' which are
 
used in the third paragraph of section 10 and the first paragraph of section
 
11, discussed successively in the following two subsections.  Section 0
 
defines a contributor as ``a party who licenses under this License a work on
 
which the Program is based.'' That work is the ``contribution'' of that
 
contributor.  In other words, each received GPLv3-covered work is associated
 
with one or more contributors, making up the finite set of upstream GPLv3
 
licensors for that work. Viewed from the perspective of a recipient of the
 
Program, contributors include all the copyright holders for the Program,
 
other than copyright holders of material originally licensed under non-GPL
 
terms and later incorporated into a GPL-covered work.  The contributors are
 
therefore the initial GPLv3 licensors of the Program and all subsequent
 
upstream licensors who convey, under the terms of section 5, modified works
 
on which the Program is based.
 

	
 
For a contributor whose contribution is a modified work conveyed under
 
section 5, the contribution is ``the entire work, as a whole'' which the
 
contributor is required to license under GPLv3.  The contribution therefore
 
includes not just the material added or altered by the contributor, but also
 
the pre-existing material the contributor copied from the upstream version
 
and retained in the modified version. Our usage of ``contributor'' and
 
``contribution'' should not be confused with the various other ways in which
 
those terms are used in certain other free software licenses.\footnote{Cf.,
 
  e.g., Apache License, version 2.0, section 1; Eclipse Public License,
 
  version 1.0, section 1; Mozilla Public License, version 1.1, section 1.1.}
 

	
 
The term ``patent license,'' as used in the third through fifth
 
paragraphs of section 11, is not meant to be confined to agreements
 
formally identified or classified as patent licenses.  The new second
 
paragraph of section 11 makes this clear by defining ``patent license,''
 
for purposes of the subsequent three paragraphs, as ``a patent license,
 
a covenant not to bring suit for patent infringement, or any other
 
express agreement or commitment, however denominated, not to enforce a
 
patent.''  The definition does not include patent licenses that arise by
 
implication or operation of law, because the third through fifth
 
paragraphs of section 11 are specifically concerned with explicit
 
promises that purport to be legally enforceable.
 

	
 
Our previous drafts featured a patent license grant triggered by all
 
acts of distribution of GPLv3-covered works.\footnote{In Draft 2 we
 
rewrote the patent license as a covenant not to assert patent claims. We
 
explain why we reverted to the form of a patent license grant in \S\
 
\ref{cov}.} Many patent-holding companies objected to this policy. They
 
have made two objections: (1) the far-reaching impact of the patent
 
license grant on the patent holder is disproportionate to the act of
 
merely distributing code without modification or transformation, and (2)
 
it is unreasonable to expect an owner of vast patent assets to exercise
 
requisite diligence in reviewing all the GPL-covered software that it
 
provides to others.  Some expressed particular concern about the
 
consequences of ``inadvertent'' distribution.
 

	
 
The argument that the impact of the patent license grant would be
 
``disproportionate,'' that is to say unfair, is not valid. Since
 
software patents are weapons that no one should have, and using them for
 
aggression against free software developers is an egregious act,
 
preventing that act cannot be unfair. 
 

	
 
However, the second argument seems valid in a practical sense.  A
 
typical GNU/Linux distribution includes thousands of programs. It would
 
be quite difficult for a redistributor with a large patent portfolio to
 
review all those programs against that portfolio every time it receives
 
and passes on a new version of the distribution. Moreover, this question
 
raises a strategic issue. If the GPLv3 patent license requirements
 
convince patent-holding companies to remain outside the distribution
 
path of all GPL-covered software, then these requirements, no matter how
 
strong, will cover few patents. 
 

	
 
We concluded it would be more effective to make a partial concession
 
which would lead these companies to feel secure in doing the
 
distribution themselves, so that the conditions of section 10 would
 
apply to assertion of their patents.  We therefore made the stricter
 
section 11 patent license apply only to those distributors that have
 
modified the program.  The other changes we have made in sections 10 and
 
11 provide strengthened defenses against patent assertion and compensate
 
partly for this concession. 
 

	
 
Therefore, in Draft 3, the first paragraph of section 11 states that a
 
contributor's patent license covers all the essential patent claims
 
implemented by the whole program as that contributor distributes it.
 
Contributors of modified works grant a patent license to claims that
 
read on ``the entire work, as a whole.'' This is the work that the
 
copyleft clause in section 5 requires the contributor to license under
 
GPLv3; it includes the material the contributor has copied from the
 
upstream version that the contributor has modified.  The first paragraph
 
of section 11 does not apply to those that redistribute the program
 
without change.\footnote{An implied patent license from the distributor,
0 comments (0 inline, 0 general)