Changeset - 484ca88b811b
[Not reviewed]
0 1 0
donaldr3 - 10 years ago 2014-03-21 22:40:50
donald@copyrighteous.office.fsf.org
remove extra words
1 file changed with 2 insertions and 2 deletions:
0 comments (0 inline, 0 general)
gpl-lgpl.tex
Show inline comments
...
 
@@ -3006,433 +3006,433 @@ 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.
 

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

	
 
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}
 

	
 
Additional permissions present the easier case.  Since the mid-1990s,
 
permissive exceptions often appeared alongside GPLv2 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\@.  
 

	
 
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 GPLv3~\S7\P1 explains, the effect of an additional permission depends on
 
whether the permission applies to the whole work or a part.
 

	
 
% FIXME-LATER: LGPLv3 will have its own section
 

	
 
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\@.  LGPLv3 is thus  a model for developers wishing to license their works under the
 
GPL with permissive exceptions.  The removability of additional permissions
 
under GPLv3\S7 does not alter any existing behavior of the LGPL since the LGPL
 
has always allowed relicensing under the ordinary GPL\@.
 

	
 
\section{GPLv3~\S7: Understanding License Compatibility}
 
\label{license-compatibility}
 

	
 
A challenge that faced the Free Software community heavily through out the
 
early 2000s was the proliferation of incompatible Free Software licenses.  Of
 
course, the GPL cannot possibly be compatible with all such licenses.
 
However, 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.
 

	
 
This 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 software freedom respecting licenses in common 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.
 

	
 
GPLv3  took a new approach to the issue of combining GPL'd code with
 
code governed by the terms of other software freedom licenses.  Traditional
 
GPLv2 license compatibility theory (which was not explicitly stated in GPLv2
 
itself, but treated as a license interpretation matter by the FSF) held 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, the FSF historically supplemented that policy with a structure of
 
exceptions for certain kinds of combinations.
 

	
 
GPLv3~\S7  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. 
 
GPLv3~\S7 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.
 

	
 
As discussed in the previous section of this tutorial, GPLv3~\S7 first and foremost explicitly allows added parts covered by terms with
 
additional permissions to be combined with GPL'd code. This codifies the
 
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.
 

	
 
In its treatment of terms that impose additional requirements, GPLv3\S7
 
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 GPLv3\S7. There
 
are, of course,  limits on the acceptable additional requirements, which to
 
are, of course,  limits on the acceptable additional requirements, which 
 
ensures that enhanced license compatibility does not
 
defeat the broader software-freedom-defending terms of 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 only in the
 
pathological case\footnote{Theoretically, a user could collect copyright
 
  assignment from all known contributors and then do this, but this would
 
  indeed be the pathological case.}  would a user have the right to do so.
 

	
 
% FIXME-LATER: It would be good to have detailed info on each of 7a-f.
 
%              Here's some commented-out text that might be useful for 7a-b
 

	
 
%% 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-LATER:  Say removing additional restrictions
 

	
 
% FIXME-LATER: This text may be useful later:
 

	
 
%% 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}
 

	
 
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 technically needs to obtain forgiveness
 
from all copyright holders, and even contacting them all might be impossible.
 

	
 
GPLv3~\S8 replaces now grants opportunities for provisional and permanent
 
GPLv3~\S8 now grants opportunities for provisional and permanent
 
reinstatement of rights. The termination procedure provides a limited
 
opportunity to cure license violations.  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''.
 

	
 

	
 
Finally, if a licensee violates the GPL, a contributor may terminate any
 
patent licenses that it granted under GPLv3~\S11, in addition to any
 
copyright permissions the contributor granted to the licensee.
 

	
 
% FIXME-LATER: write more here, perhaps linking up to enforcement
 

	
 

	
 
\section{GPLv3~\S9: Acceptance}
 

	
 
GPLv3~\S9 means what it says: mere receipt or execution of code neither
 
requires nor signifies contractual acceptance under the GPL.  Speaking more
 
broadly, GPLv3 is 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-LATER: this is a punt: need more time to write!
 

	
 
GPLv3~\S10 ensures that everyone downstream receives licenses from all
 
copyright holders.  It really is a generally straightforward section.
 

	
 
% FIXME-LATER: link up this paragraph to above sections.
 

	
 
Note, however, GPLv3 removed the words ``at no charge'' from GPLv2~\S2(b) (in
 
GPLv3,~\S5(b)) because it 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.  Therefore,
 
GPLv3~\S10 adds a new explicit prohibition on imposition of licensing fees or
 
royalties.  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.
 

	
 
% FIXME-LATER: This text needs further study before I can conclude it belongs
 
% in this tutorial:
 

	
 
%% 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}
 

	
 
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, GPLv3 seeks 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.
 
However, the patent licensing practices that GPLv2~\S7 (corresponding to
 
GPLv3~\S12) is designed to prevent is only 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 combating the danger of patents.
 

	
 
GPLv2~\S7 has seen some success in deterring conduct that would otherwise
 
result in denial of full downstream enjoyment of GPL rights, and thus it is
 
preserved in GPLv3~\S12.  Experience has shown that more is necessary,
 
however, to ensure adequate community safety where companies act in concert
 
to heighten the anticompetitive use of patents that they hold or license.
 

	
 
Therefore,  GPLv3 is designed 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, GPLv3 gives favorable consideration to practical
 
goals such as certainty and administrability for patent holders that
 
participate in distribution and development of GPL-covered software.  GPLv3's
 
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.
 

	
 
\subsection{The Contributor's Explicit Patent License}
 

	
 
Specifically, the ideal might have been for GPLv3 to feature a patent license
 
grant triggered by all acts of distribution of GPLv3-covered works.  The FSF
 
considered it during the GPLv3 drafting process, but 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 (thus
 
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. 
 

	
 
GPLv3 therefore makes a partial concession
 
which would lead these companies to feel secure in doing the
 
distribution themselves. GPLv3~\S11
 
applies 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, GPLv3~\S11 introduces the terms ``contributor'', ``contributor version'', and
 
``essential patent claims'', which are
 
used in the GPLv3~\S11\P3.   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 GPLv3~\S5, modified covered
 
works.
 
Thus, the ``contributor version'' includes the material the contributor has copied from the
 
upstream version that the contributor has modified.  GPLv3~\S11\P3
 
 does not apply to those that redistribute the program
 
without change.\footnote{An implied patent license from the distributor,
 
however, often arises.  See \S~\ref{gpl-implied-patent-grant} in this tutorial}
 
In other words, the ``contributor version'' 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.  (GPLv3's 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.}.)
 

	
 
Some details of the ``essential patent claims'' definition deserve special
 
mention.  ``Essential patent claims'', for a given party, are a subset of the
 
claims ``owned or controlled'' by the party.  They do include sublicensable
 
claims that have been licensed to the contributor by a third
 
party.\footnote{This issue is typically handled in other software freedom
 
  licenses having patent licensing provisions by use of the unhelpful term
 
  ``licensable,'' which is either left undefined or is given an ambiguous
 
  definition.}  Most commercial patent license agreements that permit
 
sublicensing do so under restrictive terms that are inconsistent with the
 
requirements of the GPL\@.  For example, some patent licenses allow the
 
patent licensee to sublicense but require collection of royalties from any
 
sublicensees.  The patent licensee could not distribute a GPL-covered program
 
and grant the recipient a patent sublicense for the program without violating
 
section 12 of GPLv3.\footnote{GPLv3 also provides an example in section 12
 
  that makes this point clear.}  In rare cases, however, a conveying party
 
can freely grant patent sublicenses to downstream recipients without
 
violating the GPL\@.
 

	
 
Additionally, ``essential patent claims'' are those patents ``that would be
 
infringed by some manner, permitted by this License, of making, using, or
 
selling the work''.  This intends to make clear that a patent claim is
 
``essential'' if some mode of usage would infringe that claim, even if there
 
are other modes of usage that would not infringe.
 

	
 
Finally, ``essential patent claims \ldots do not include
 
claims that would be infringed only as a consequence of further
 
modification of the work.''  The set of essential patent
 
claims licensed  is fixed by the
 
the particular version of the work that was contributed.  The claim set
 
cannot expand as a work is further modified downstream.  (If it could,
 
then any software patent claim would be included, since any software
 
patent claim can be infringed by some further modification of the
0 comments (0 inline, 0 general)