@@ -2171,49 +2171,65 @@ use alongside GPLv2. However, given GPLv2's widespread popularity and
existing longevity by the time GPLv3 was published, it is not surprising that
some licensors have continued to prefer GPLv2-only or GPLv2-or-later as their
preferred license. GPLv3 has gained major adoption by many projects, old and
new, but many projects have not upgraded due to (in some cases) mere laziness
and (in other cases) policy preference for some of GPLv2's terms.
Given this ``two GPLs'' world is the one we all live in, it makes sense to
consider GPLv3 in terms of how it differs from GPLv2. Also, most of the best
GPL experts in the world must deal regularly with both licenses, and
admittedly have decades of experience of GPLv2 while the most experience with
GPLv3 that's possible is by default less than a decade.
These two factors usually cause even new students of GPL to start with GPLv2
and move on to GPLv3, and this tutorial follows that pattern.
Overall, the changes made in GPLv3 admittedly \textit{increased} the
complexity of the license. The FSF stated at the start of the GPLv3 process
that they would have liked to oblige those who have asked for a simpler and
shorter GPL\@. Ultimately, the FSF gave priority to making GPLv3 do the job
that needs to be done to build a better copyleft. Obsession for concision
should never trump software freedom.
\section{GPLv3~\S0: Giving In On ``Defined Terms''}
% FIXME: intro defined terms
One of lawyers' most common complaints about GPLv2 is that defined terms in
the document appear throughout. Most licenses define terms up-front.
However, GPL was always designed both as a document that should be easily
understood both by lawyers and by software developers: it is a document
designed to give freedom to software developers and users, and therefore it
should be comprehensible to that constituency.
Interestingly enough, one coauthor of this tutorial who is both a lawyer and
a developer pointed out that in law school, she understood defined terms more
quickly than other law students precisely because of her programming
background. For developers, having \verb0#define0 (in the C programming
language) or other types of constants and/or macros that automatically expand
in the place where they are used is second nature. As such, adding a defined
terms section was not terribly problematic for developers, and thus GPLv3
adds one. Most of these defined terms are somewhat straightforward and bring
forward better worded definitions from GPLv2. Herein, this tutorial
discusses a few of the new ones.
% FIXME: rewrite to FOUR new terms
Section 0 includes definitions of two new terms: ``covered work'' and
``propagate.'' The use of the term ``covered work'' enables some of the
wording in the revised GPL to be simpler and clearer.
% FIXME: rewrite propagate
The term ``propagate'' serves two purposes. First, ``propagate'' provides
a simple and convenient means for distinguishing between the kinds of
uses of a work that the GPL imposes conditions on and the kinds of
uses that the GPL does not (for the most part) impose conditions
on.
Second, ``propagate'' furthers our goal of making the license as
global as possible in its wording and effect. When a work is licensed
under the GPL, the copyright law of some particular country will
govern certain legal issues arising under the license. A term like
``distribute,'' or its equivalent in languages other than English, is
used in several national copyright statutes. The scope of
``distribution'' in the copyright context can differ from country to
country. We do not wish to force on the GPL the specific meaning of
``distribution'' that exists under United States copyright law or any