@@ -2515,56 +2515,56 @@ paragraph of section 1 is expansive, it is not sufficient to protect users'
freedoms in many circumstances. For example, a GPL'd program, or a modified
version of such a program, might need to be signed with a key or authorized
with a code in order for it to run on a particular machine and function
properly. Similarly, a program that produces digitally-restricted files might
require a decryption code in order to read the output.
The third paragraph of section 1 addresses this problem by making clear that
Complete Corresponding Source Code includes any such encryption,
authorization, and decryption codes. By requiring the inclusion of this
information whenever the GPL requires distribution of Complete Corresponding
Source Code, we thwart efforts to obstruct the goals of the GPL, and we
ensure that users will remain in control over their own machines. We
recognize an exception where use of the program normally implies that the
user already has the codes. For example, in secure systems a computer owner
might possess any keys needed to run a program, while the distributor of the
program might not have the keys.
% FIXME: installation information
%FIXME: publicly documented format
\section{Understanding License Compatibility}
\label{license-compatibility}
% FIXME: reword intro to license compatibility
Another challenge facing the free software community is 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: 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.
\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.
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.