@@ -3068,98 +3068,97 @@ 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 with permissive
exceptions to allow combination
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 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