Merge branch 'cle-edits', which brings in Donald's copy-edit changes.

There were minor conflicts in gpl-lgpl.tex.
This commit is contained in:
Bradley M. Kuhn 2014-03-24 06:56:42 -04:00
commit 3ed7c26e43
3 changed files with 518 additions and 105 deletions

View file

@ -807,7 +807,7 @@ once you open the channels of communication in a friendly way.
\section{Termination}
Many redistributors overlook GPL's termination provision (GPLv2~\S~4 and
Many redistributors overlook the GPL's termination provision (GPLv2~\S~4 and
GPLv3~\S~8). Under v2, violators forfeit their rights to redistribute and
modify the GPL'd software until those rights are explicitly reinstated by
the copyright holder. In contrast, v3 allows violators to rapidly resolve
@ -880,12 +880,12 @@ copyright holders often require.
often want a company to demonstrate compliance for all GPL'd software in
a distribution, not just their own. A copyright holder may refuse to
reinstate your right to distribute one program unless and until you
comply with the licenses of all Open Source and Free Software in your distribution.
comply with the licenses of all Free Software in your distribution.
\item {\bf Notification to past recipients}. Users to whom you previously
distributed non-compliant software should receive a communication
(email, letter, bill insert, etc.) indicating the violation, describing
their rights under GPL, and informing them how to obtain a gratis source
their rights under the GPL, and informing them how to obtain a gratis source
distribution. If a customer list does not exist (such as in reseller
situations), an alternative form of notice may be required (such as a
magazine advertisement).
@ -893,7 +893,7 @@ copyright holders often require.
\item {\bf Appointment of a GPL Compliance Officer.} The software freedom community
values personal accountability when things go wrong. Copyright holders
often require that you name someone within the violating company
officially responsible for Open Source and Free Software license compliance, and that this
officially responsible for Free Software license compliance, and that this
individual serve as the key public contact for the community when
compliance concerns arise.

View file

@ -76,7 +76,7 @@ the GPL (and GPL'd software) successfully both as a community-building
software into a new Free Software business and in existing, successful
enterprises.
To successfully benefit of from this part of the tutorial, readers should
To successfully benefit from this part of the tutorial, readers should
have a general familiarity with software development processes. A basic
understanding of how copyright law applies to software is also helpful. The
tutorial is of most interest to lawyers, software developers and managers who
@ -330,7 +330,7 @@ to serve that sub-community.
The previous section set forth key freedoms and rights that are referred to
as ``software freedom''. This section discusses the licensing mechanisms
used to enable software freedom. These licensing mechanism were ultimately
used to enable software freedom. These licensing mechanisms were ultimately
created as a community-oriented ``answer'' to the existing proprietary
software licensing mechanisms. Thus, first, consider carefully why
proprietary software exists in the first place.
@ -361,7 +361,7 @@ software secret.
Copyright is not a natural state, it is a legal construction. In the USA, the
Constitution permits, but does not require, the creation of copyright law as
federal legislation. Software, since it is ``an original works of authorship
federal legislation. Software, since it is an ``original work of authorship
fixed in any tangible medium of expression ... from which they can be
perceived, reproduced, or otherwise communicated, either directly or with the
aid of a machine or device'' (as stated in
@ -394,7 +394,7 @@ automatically by the author when she fixes the software in a tangible
medium. In the software world, this usually means typing the source code
of the software into a file.
Imagine if authors could truly disclaim those default control of copyright
Imagine if authors could truly disclaim those default controls of copyright
law. If so, the software is in the public domain --- no longer covered by
copyright. Since copyright law is the construction allowing for most
restrictions on software (i.e., prohibition of copying, modification, and
@ -544,7 +544,7 @@ Generally speaking, copyright law operates similarly enough in countries that
have signed the Berne Convention on Copyright, and software freedom licenses
have generally taken advantage of this international standardization of
copyright law. However, copyright law does differ from country to country,
and commonly, software freedom licenses like GPL must be considered under the
and commonly, software freedom licenses like the GPL must be considered under the
copyright law in the jurisdiction where any licensing dispute occurs.
Those who are most familiar with the USA's system of copyright often are
@ -565,7 +565,7 @@ introduced the idea of \textit{copyleft}: a licensing mechanism to use
copyright to not only grant software freedom to users, but also to uphold
those rights against those who might seek to curtail them.
Copyleft, as defined in \S~\ref{copyleft-definition}, is a general term this
Copyleft, as defined in \S~\ref{copyleft-definition}, is a general term for this
mechanism. The remainder of this text will discuss details of various
real-world implementations of copyleft -- most notably, the GPL\@.
@ -574,7 +574,7 @@ able to do in software development communities. After that brief discussion
in this section, deeper discussion of how GPL accomplishes this in practice
follows in the next chapter.
Simply put, though, the GPL ultimately creates an community of equality for
Simply put, though, the GPL ultimately creates a community of equality for
both business and noncommercial users.
\subsection{The Noncommercial Community}
@ -593,7 +593,7 @@ commons. Users can trust the developers, because they know that if the
developers fail to address their needs or abandon the project, the GPL
ensures that someone else has the right to pick up development.
Developers know that the users cannot redistribute their software without
passing along the rights granted by GPL, so they are assured that every
passing along the rights granted by the GPL, so they are assured that every
one of their users is treated equally.
Because of the symmetry and fairness inherent in GPL'd distribution,
@ -627,7 +627,7 @@ that because of the nature of the GPL that improvements that were
distributed in the commercial environment could easily be folded back into
the standard version. Companies are not permitted to proprietarize
Samba, so the noncommercial users, and even other commercial users are
safe in the knowledge that the software freedom ensured by GPL will remain
safe in the knowledge that the software freedom ensured by the GPL will remain
protected.
Commercial developers also work in concert with noncommercial
@ -903,7 +903,7 @@ GPLv3 and its terms are discussed in detail in Chapter\~ref{GPLv3}.
\section{The Innovation of Optional ``Or Any Later'' Version}
An interesting fact of all GPL licenses is that the are ultimate multiple
An interesting fact of all GPL licenses is that there are ultimately multiple
choices for use of the license. The FSF is the primary steward of GPL (as
discussed later in \S~\ref{GPLv2s9} and \S~\ref{GPLv3s14}). However, those
who wish to license works under GPL are not required to automatically accept
@ -917,11 +917,11 @@ Each licensor may chose three different methods of licensing, as follows:
indicated in shorthand by saying the license is ``GPLv$X$-only''), or
\item name no version of the GPL, thus they allow their downstream recipients
to select any version of the GPL they chose (usually indicated in shorthand
to select any version of the GPL they choose (usually indicated in shorthand
by saying the license is simply ``GPL''), or
\item name a specific version of GPL and give downstream recipients the
option to chose that version ``or any later version as published by the
option to choose that version ``or any later version as published by the
FSF'' (usually indicated by saying the license is
``GPLv$X$-or-later'')\footnote{The shorthand of ``GPL$X+$'' is also popular
for this situation. The authors of this tutorial prefer ``-or-later''
@ -952,7 +952,7 @@ to use any version of those licenses to automatically accept and relicense
their copyrighted works under new versions. Of course ,Creative Commons, the
Eclipse Foundation, and the Mozilla Foundation (like the FSF) have generally
served as excellent stewards of their licenses. Copyright holders using
those licenses seems to find it acceptable that to fully delegate all future
those licenses seems to find it acceptable to fully delegate all future
licensing decisions for their copyrights to these organizations without a
second thought.
@ -979,14 +979,12 @@ increase adoption by for-profit companies --- GPLv2 remains a widely used and
extremely popular license. The GPLv2 is, no doubt, a good and useful
license.
However, unlike GPLv1, which (as pointed out in \S~\ref{GPLv1}), which is
completely out of use by the mid-1990s. However, unlike GPLv1 before it,
GPLv2 remains a integral part of the copyleft licensing infrastructure for
some time to come. As such, those who seek to have expertise in current
However, unlike GPLv1 before it,
GPLv2 remains an integral part of the copyleft licensing infrastructure. As such, those who seek to have expertise in current
topics of copyleft licensing need to study both the GPLv2 and GPLv3 family of
licenses.
Furthermore, GPLv3 can is more easily understood by first studying GPLv2.
Furthermore, GPLv3 is more easily understood by first studying GPLv2.
This is not only because of their chronological order, but also because much
of the discussion material available for GPLv3 tends to talk about GPLv3 in
contrast to GPLv2. As such, a strong understanding of GPLv2 helps in
@ -1006,7 +1004,7 @@ simplest rights that the user receives.
\section{GPLv2~\S0: Freedom to Run}
\label{GPLv2s0}
GPLv2~\S0, the opening section of GPLv2, sets forth that the copyright law governs
GPLv2~\S0, the opening section of GPLv2, sets forth that copyright law governs
the work. It specifically points out that it is the ``copyright
holder'' who decides if a work is licensed under its terms and explains
how the copyright holder might indicate this fact.
@ -1027,11 +1025,11 @@ to fair and unregulated uses.
Fair use (called ``fair dealing'' in some jurisdictions) of copyrighted
material is an established legal doctrine that permits certain activities
regardless of whether copyright law would other restrict those activities.
regardless of whether copyright law would otherwise restrict those activities.
Discussion of the various types of fair use activity are beyond the scope of
this tutorial. However, one important example of fair use is the right to
quote portions of the text in larger work so as to criticize or suggest
changes. This fair use rights is commonly used on mailing lists when
quote portions of the text in a larger work so as to criticize or suggest
changes. This fair use right is commonly used on mailing lists when
discussing potential improvements or changes to Free Software.
Fair use is a doctrine established by the courts or by statute. By
@ -1040,7 +1038,7 @@ nor determined by a court to be covered, but are common and enjoyed by
many users. An example of unregulated use is reading a printout of the
program's source code like an instruction book for the purpose of learning
how to be a better programmer. The right to read something that you have
access is and should remain unregulated and unrestricted.
access to is and should remain unregulated and unrestricted.
\medskip
@ -1101,14 +1099,14 @@ Also mentioned by name is the warranty disclaimer. Most people today do
not believe that software comes with any warranty. Notwithstanding the
\href{http://mlis.state.md.us/2000rs/billfile/hb0019.htm}{Maryland's} and \href{http://leg1.state.va.us/cgi-bin/legp504.exe?001+ful+SB372ER}{Virginia's} UCITA bills, there are few or no implied warranties with software.
However, just to be on the safe side, GPL clearly disclaims them, and the
GPL requires re distributors to keep the disclaimer very visible. (See
GPL requires re-distributors to keep the disclaimer very visible. (See
Sections~\ref{GPLv2s11} and~\ref{GPLv2s12} of this tutorial for more on GPL's
warranty disclaimers.)
Note finally that GPLv2~\S1 creates groundwork for the important defense of
commercial freedom. GPLv2~\S1 clearly states that in the case of verbatim
copies, one may make money. Re distributors are fully permitted to charge
for the redistribution of copies of Free Software. In addition, they may
copies, one may make money. Re-distributors are fully permitted to charge
for the re-distribution of copies of Free Software. In addition, they may
provide the warranty protection that the GPL disclaims as an additional
service for a fee. (See Section~\ref{Business Models} for more discussion
on making a profit from Free Software redistribution.)
@ -1120,7 +1118,7 @@ on making a profit from Free Software redistribution.)
We digress for this chapter from our discussion of GPL's exact text to
consider the matter of derivative works --- a concept that we must
understand fully before considering GPLv2~\S\S2--3\@. GPL, and Free
understand fully before considering GPLv2~\S\S2--3\@. The GPL, and Free
Software licensing in general, relies critically on the concept of
``derivative work'' since software that is ``independent,'' (i.e., not
``derivative'') of Free Software need not abide by the terms of the
@ -1321,7 +1319,7 @@ originality to merit copyright protection.
Portions of the source or object code of a computer program are rarely
filtered out as unprotectable elements. However, some distinct parts of
source and object code have been found unprotectable. For example,
constant s, the invariable integers comprising part of formulas used to
constants, the invariable integers comprising part of formulas used to
perform calculations in a program, are unprotectable. Further, although
common errors found in two programs can provide strong evidence of
copying, they are not afforded any copyright protection over and above the
@ -1414,7 +1412,7 @@ program, Oscar. About 30\% of Oscar was literally the same code as
that in Adapter. After the suit began, the defendant rewrote those
portions of Oscar that contained Adapter code in order to produce a new
version of Oscar that was functionally competitive with Adapter, without
have any literal copies of its code. Feeling slighted still, the
having any literal copies of its code. Feeling slighted still, the
plaintiff alleged that even the second version of Oscar, despite having no
literally copied code, also infringed its copyrights. In addressing that
question, the Second Circuit promulgated the AFC test.
@ -1503,11 +1501,11 @@ can be a source of great confusion when not properly understood.
In considering GPLv2~\S2(b), first note the qualifier: it \textit{only} applies to
derivative works that ``you distribute or publish''. Despite years of
education efforts on this matter, many still believe that modifiers
of GPL'd software \textit{must} to publish or otherwise
of GPL'd software \textit{must} publish or otherwise
share their changes. On the contrary, GPLv2~\S2(b) {\bf does not apply if} the
changes are never distributed. Indeed, the freedom to make private,
personal, unshared changes to software for personal use only should be
protected and defended.\footnote{Most Free Software enthusiasts believe there is an {\bf
protected and defended.\footnote{Most Free Software enthusiasts believe there is a {\bf
moral} obligation to redistribute changes that are generally useful,
and they often encourage companies and individuals to do so. However, there
is a clear distinction between what one {\bf ought} to do and what one
@ -1569,20 +1567,20 @@ holder of \workg{}. (Imagine, for a moment, if \workg{} were a proprietary
product --- would its copyright holders give you permission to create and distribute
\gplusi{} without paying them a hefty sum?) The license of \workg{}, the
GPL, states the options for the copyright holder of \worki{}
who may want to create and distribute \gplusi{}. GPL's pre-granted
who may want to create and distribute \gplusi{}. The GPL's pre-granted
permission to create and distribute derivative works, provided the terms
of GPL are upheld, goes far above and beyond the permissions that one
of the GPL are upheld, goes far above and beyond the permissions that one
would get with a typical work not covered by a copyleft license. (Thus, to
say that this restriction is any way unreasonable is simply ludicrous.)
say that this condition is any way unreasonable is simply ludicrous.)
\medskip
\label{GPLv2s2-at-no-charge}
The next phrase of note in GPLv2~\S2(b) is ``licensed \ldots at no charge.''
This phrase confuses many. The sloppy reader points out this as ``a
contradiction in GPL'' because (in their confused view) that clause of GPLv2~\S2 says that redistributors cannot
contradiction in GPL'' because (in their confused view) that clause of GPLv2~\S2 says that re-distributors cannot
charge for modified versions of GPL'd software, but GPLv2~\S1 says that
they can. Avoid this confusion: the ``at no charge'' \textbf{does not} prohibit redistributors from
they can. Avoid this confusion: the ``at no charge'' \textbf{does not} prohibit re-distributors from
charging when performing the acts governed by copyright
law,\footnote{Recall that you could by default charge for any acts not
governed by copyright law, because the license controls are confined
@ -1600,7 +1598,7 @@ available to the public at large. However, the text here does not say
that. Instead, it says that the licensing under terms of the GPL must
extend to anyone who might, through the distribution chain, receive a copy
of the software. Distribution to all third parties is not mandated here,
but GPLv2~\S2(b) does require redistributors to license the derivative works in
but GPLv2~\S2(b) does require re-distributors to license the derivative works in
a way that extends to all third parties who may ultimately receive a
copy of the software.
@ -1623,7 +1621,7 @@ programs under any license. Despite what you hear from its critics, the
GPL is nothing like a virus, not only because the GPL is good for you and
a virus is bad for you, but also because simple contact with a GPL'd
code-base does not impact the license of other programs. A programmer must
expended actual effort to cause a work to fall under the terms
expend actual effort to cause a work to fall under the terms
of the GPL. Redistributors are always welcome to simply ship GPL'd
software alongside proprietary software or other unrelated Free Software,
as long as the terms of GPL are adhered to for those packages that are
@ -1635,7 +1633,7 @@ truly GPL'd.
Software is a strange beast when compared to other copyrightable works.
It is currently impossible to make a film or a book that can be truly
obscured. Ultimately, the full text of a novel, even one written by
William Faulkner, must presented to the reader as words in some
William Faulkner, must be presented to the reader as words in some
human-readable language so that they can enjoy the work. A film, even one
directed by David Lynch, must be perceptible by human eyes and ears to
have any value.
@ -1725,10 +1723,10 @@ GPL does provide options when such distribution is unfeasible.
GPLv2~\S3, therefore, allows source code to be provided on any physical
``medium customarily used for software interchange.'' By design, this
phrase covers a broad spectrum --- the phrase seeks to pre-adapt to
changes in technology. When GPLv22 was first published in June
changes in technology. When GPLv2 was first published in June
1991, distribution on magnetic tape was still common, and CD was
relatively new. By 2002, CD is the default. By 2007, DVD's were the
default. Now, it's common to give software on USB drives and SD card. This
relatively new. By 2002, CD was the default. By 2007, DVD's were the
default. Now, it's common to give software on USB drives and SD cards. This
language in the license must adapt with changing technology.
Meanwhile, the binding created by the word ``customarily'' is key. Many
@ -1795,7 +1793,7 @@ GPLv2~\S3(c) is created to save her some trouble, because by itself GPLv2~\S3(b)
would unfairly favor large companies. GPLv2~\S3(b) allows the
separation of the binary software from the key tool that people can use
to exercise their freedom. The GPL permits this separation because it is
good for redistributors, and those users who turn out not to need the
good for re-distributors, and those users who turn out not to need the
source. However, to ensure equal rights for all software users, anyone
along the distribution chain must have the right to get the source and
exercise those freedoms that require it.
@ -1914,7 +1912,7 @@ with respect to the licensed software.
\newcommand{\compA}{$\mathcal{A}$}
For example, if Company \compA{} has a patent on advanced Web browsing, but
also licenses a Web browsing software program under the GPLv2, then it
also licenses a Web browsing program under the GPLv2, then it
cannot assert the patent against any party based on that party's use of
Company \compA{}'s GPL'ed Web browsing software program, or on that party's
creation and use of derivative works of that GPL'ed program. However, if a
@ -1984,7 +1982,7 @@ but they may not revoke the rights under GPLv2 already granted.
In fact, when an entity looses their right to copy, modify and distribute
GPL'd software, it is because of their \emph{own actions}, not that of the
copyright holder. The copyright holder does not decided when GPLv2~\S4
copyright holder. The copyright holder does not decide when GPLv2~\S4
termination occurs (if ever); rather, the actions of the licensee determine
that.
@ -2045,8 +2043,8 @@ freedom.
While GPL is by default a copyright license, it is certainly still possible
to consider GPL as a contract as well. For example, some distributors chose
to ``wrap'' their software in an acceptance ceremony to GPL, and nothing in
GPL prohibits that use. Furthermore, the ruling in \textit{Jacobsen
to ``wrap'' their software in an acceptance ceremony to the GPL, and nothing in
the GPL prohibits that use. Furthermore, the ruling in \textit{Jacobsen
v. Katzer, 535 F.3d 1373, 1380 (Fed.Cir.2008)} indicates that \textbf{both}
copyright and contractual remedies may be sought by a copyright holder
seeking to enforce a license designed to uphold software freedom.
@ -2133,7 +2131,7 @@ GPLv2~\S8 was not included at all in GPLv3.
\chapter{Odds, Ends, and Absolutely No Warranty}
GPLv2~\S\S0--7 constitute the freedom-defending terms of the GPLv2. The remainder
of the GPLv2 handles administrivia and issues concerning warranties and
of the GPLv2 handles administrive and issues concerning warranties and
liability.
\section{GPLv2~\S9: FSF as Stewards of GPL}
@ -2234,7 +2232,7 @@ This chapter seeks to explain GPLv3 to newcomers, who perhaps are familiar
with GPLv2 and who did not participate in the GPLv3 process.
Those who wish to drink from the firehose and take a diachronic approach to
GPLv3 study by reading the step-by-step public drafting process GPLv3 (which
GPLv3 study by reading the step-by-step public drafting process of the GPLv3 (which
occurred from Monday 16 January 2006 through Monday 19 November 2007) should
visit \url{http://gplv3.fsf.org/}.
@ -2252,7 +2250,7 @@ for some of GPLv2's terms and/or policy opposition to GPLv3's terms.
Given this ``two GPLs world'' is reality, 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
of experience with 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.
@ -2281,7 +2279,7 @@ internationalization.
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
However, the 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.
@ -2307,7 +2305,7 @@ GPLv2 included a defined term, ``work based on the Program'', but also used
the term ``modify'' and ``based on'' throughout the license. GPLv2's ``work
based on the Program'' definition made use of a legal term of art,
``derivative work'', which is peculiar to USA copyright law. However,
ironically, the most criticism of USA-specific legal terminology in GPLv2's
ironically, most criticism of USA-specific legal terminology in GPLv2's
``work based on the Program'' definition historically came not primarily from
readers outside the USA, but from those within it\footnote{The FSF noted in
that it did not generally agree with these views, and expressed puzzlement
@ -2382,7 +2380,7 @@ but it also makes clear that, under the copyright laws of a given country,
Thus, propagation is defined by behavior, and not by categories drawn from
some particular national copyright statute. This helps not only with
internationalization, but also factually-based terminology aids in
developers' and users' understanding of GPL\@.
developers' and users' understanding of the GPL\@.
\subsection{Convey}
@ -2457,9 +2455,9 @@ are those that the work is ``specifically'' designed to require, which
clarifies that they do not include libraries invoked by the work that can be
readily substituted by other existing implementations. While copyleft
advocates never doubted this was required under GPLv2's definition of CCS,
making it abundantly clear with an extra example.
GPLv3 makes it abundantly clear with an extra example.
GPL, as always, seeks to ensure users are truly in a position to install and
The GPL, as always, seeks to ensure users are truly in a position to install and
run their modified versions of the program; the CCS definition is designed to
be expansive to ensure this software freedom. However, although the
definition of CCS is expansive, it is not sufficient to protect users'
@ -2494,14 +2492,13 @@ The previous section skipped over one part of the CCS definition, the
so-called system library exception. The ``System Libraries'' definition (and
the ``Standard Interface'' and ``Major Component'' definitions, which it
includes) are designed as part
to permit certain distribution arrangements that are considered reasonable by
copyleft advocates. The system library exception is designed to allow
copylefted software to link with these libraries when such linking would hurt
software freedom more than it would hurt proprietary software.
The system library exception has two parts. Part (a) rewords the GPLv2
exception for clarity replaces GPLv2's words ``unless that component itself
exception for clarity replacing GPLv2's words ``unless that component itself
accompanies the executable'' with ``which is not part of the Major
Component''. The goal here is to not require disclosure of source code of
certain libraries, such as necessary Microsoft Windows DLLs (which aren't
@ -2576,7 +2573,7 @@ on the users' behalf (just as the users' employees would have to act).
The strict conditions in this ``contractors provision'' are needed so that it
cannot be twisted to fit other activities, such as making a program available
to downstream users or customers. By making the limits on this provision
very narrow, GPLv3 ensures that, in all other cases, contractors gets the
very narrow, GPLv3 ensures that, in all other cases, contractor gets the
full freedoms of the GPL that they deserve.
The FSF was specifically asked to add this ``contractors provisions'' by
@ -2671,7 +2668,7 @@ relate sections\footnote{These sections of the USC are often referred to as
from circumventing technological measures that implement DRM\@. Since this
is part of copyright law and the GPL is primarily a copyright license, and
since what the DMCA calls ``circumvention'' is simply ``modifying the
software'' under the GPL, GPLv3 must disclaim such anti-circumvention
software'' under the GPL, GPLv3 must disclaim that such anti-circumvention
provisions are not applicable to the GPLv3'd software. GPLv3\S3 shields
users from being subjected to liability under anti-circumvention law for
exercising their rights under the GPL, so far as the GPL can do so.
@ -2805,7 +2802,7 @@ 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
party; rather, only those ``who possesses the object code'' can exercise
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.)
@ -2950,7 +2947,7 @@ 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 \textit{preference}. It is not clear that GPL should interfere
for this as a \textit{preference}. It is not clear that the GPL should interfere
here, since the main problem lies elsewhere.
While imposing technical barriers to modification is wrong regardless of
@ -3116,8 +3113,7 @@ distributed under the GPL?
\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,
@ -3199,7 +3195,7 @@ 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
@ -3247,7 +3243,7 @@ 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
@ -3262,12 +3258,11 @@ 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
broadly, GPLv3 is intentionally structured 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
@ -3369,7 +3364,7 @@ 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
be quite difficult for a re-distributor 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
@ -3461,7 +3456,7 @@ patent claims.
\subsection{Conveyors' Patent Licensing}
The remaining patent licensing in GPLv3 deals with patent licenses that are
granted by conveyance. The licensing is not as complete or far reaching at
granted by conveyance. The licensing is not as complete or far reaching as
the contributor patent licenses discussed in the preceding section.
The term ``patent license,'' as used in GPLv3~\S11\P4--6, is not meant to be
@ -3498,11 +3493,11 @@ CCS to be publicly available. (In such a case, if the distributor is also a
contributor, it will already have granted a patent sublicense anyway, and so
it need not do anything further to comply with the third paragraph.)
Admittedly, public disclosure of CCS is not necessarily required in by other
Admittedly, public disclosure of CCS is not necessarily required by other
sections of the GPL, and the FSF in drafting GPLv3 did not necessarily wish
to impose a general requirement to make source code available to all, which
has never been a GPL condition. However, many vendors who produce products
that include copylefted software, and who most likely to be affected by the
that include copylefted software, and who are most likely to be affected by the
downstream shielding provision, lobbied for the addition of the source code
availability option, so it remains.
@ -3741,8 +3736,8 @@ Terms to Your New Programs'' to just the bare essentials.
As we have seen in our consideration of the GPL, its text is specifically
designed to cover all possible derivative works under copyright law. Our
goal in designing GPL was to make sure that any derivative work of GPL'd
software was itself released under GPL when distributed. Reaching as far
goal in designing the GPL was to make sure that any derivative work of GPL'd
software was itself released under the GPL when distributed. Reaching as far
as copyright law will allow is the most direct way to reach that goal.
However, while the strategic goal is to bring as much Free Software
@ -3777,11 +3772,11 @@ libraries on a Free Software operating system (which in fact happens today
on modern GNU/Linux systems, which all use the GNU C Library).
Unlike existing GNU application software, however, the licensing
implications of releasing the GNU C Library (``glibc'') under GPL were
somewhat different. Applications released under GPL would never
implications of releasing the GNU C Library (``glibc'') under the GPL were
somewhat different. Applications released under the GPL would never
themselves become part of proprietary software. However, if glibc were
released under GPL, it would require that any application distributed for
the GNU/Linux platform be released under GPL\@.
released under the GPL, it would require that any application distributed for
the GNU/Linux platform be released under the GPL\@.
Since all applications on a Unix-like system depend on the C library, it
means that they must link with that library to function on the system. In
@ -3803,7 +3798,7 @@ to anyone who wished to write proprietary software for GNU/Linux systems.
The de-facto standard for the C library on GNU/Linux would likely be not
glibc, but the most popular proprietary one.
Meanwhile, the actual goal of releasing glibc under GPL --- to ensure no
Meanwhile, the actual goal of releasing glibc under the GPL --- to ensure no
proprietary applications on GNU/Linux --- would be unattainable in this
scenario. Furthermore, users of those proprietary applications would also
be users of a proprietary C library, not the Free glibc.
@ -3811,7 +3806,7 @@ be users of a proprietary C library, not the Free glibc.
The Lesser GPL was initially conceived to handle this scenario. It was
clear that the existence of proprietary applications for GNU/Linux was
inevitable. Since there were so many C libraries already in existence, a
new one under GPL would not stop that tide. However, if the new C library
new one under the GPL would not stop that tide. However, if the new C library
were released under a license that permitted proprietary applications
to link with it, but made sure that the library itself remained Free,
an ancillary goal could be met. Users of proprietary applications, while
@ -3866,7 +3861,7 @@ used to allow original copyright holders to forbid distribution in
countries with draconian laws that would otherwise contradict these
licenses.
LGPLv2.1~\S13 sets up FSF as the steward of the LGPL, just as GPLv2~\S9
LGPLv2.1~\S13 sets up the FSF as the steward of the LGPL, just as GPLv2~\S9
does for GPL. Meanwhile, LGPLv2.1~\S14 reminds licensees that copyright
holders can grant exceptions to the terms of LGPL, just as GPLv2~\S10
reminds licensees of the same thing.
@ -3882,7 +3877,7 @@ same legal mechanisms and are enforced precisely the same way.
We strike a difference only in the early portions of the license.
Namely, in the LGPL we go into deeper detail of granting various permissions to
create derivative works, so the redistributors can make
create derivative works, so the re-distributors can make
some proprietary derivatives. Since we simply do not allow the
license to stretch as far as copyright law does regarding what
derivative works must be relicensed under the same terms, we must go
@ -3893,14 +3888,14 @@ those who modify or redistribute the software.
\section{Additions to the Preamble}
Most of LGPL's Preamble is identical, but the last seven paragraphs
Most of the LGPL's Preamble is identical, but the last seven paragraphs
introduce the concepts and reasoning behind creation of the license,
presenting a more generalized and briefer version of the story with which
we began our consideration of LGPL\@.
we began our consideration of the LGPL\@.
In short, FSF designed LGPL for those edge cases where the freedom of the
In short, FSF designed the LGPL for those edge cases where the freedom of the
public can better be served by a more lax licensing system. FSF doesn't
encourage use of LGPL automatically for any software that happens to be a
encourage use of the LGPL automatically for any software that happens to be a
library; rather, FSF suggests that it only be used in specific cases, such
as the following:
@ -3919,8 +3914,8 @@ as the following:
\end{itemize}
LGPL's preamble sets forth the limits to which the license seeks to go in
chasing these goals. LGPL is designed to ensure that users who happen to
The LGPL's preamble sets forth the limits to which the license seeks to go in
chasing these goals. The LGPL is designed to ensure that users who happen to
acquire software linked with such libraries have full freedoms with
respect to that library. They should have the ability to upgrade to a newer
or modified Free version or to make their own modifications, even if they
@ -3928,18 +3923,18 @@ cannot modify the primary software program that links to that library.
Finally, the preamble introduces two terms used throughout the license to
clarify between the different types of derivative works: ``works that use
the library,'' and ``works based on the library.'' Unlike GPL, LGPL must
the library,'' and ``works based on the library.'' Unlike the GPL, the LGPL must
draw some lines regarding derivative works. We do this here in this
license because we specifically seek to liberalize the rights afforded to
those who make derivative works. In GPL, we reach as far as copyright law
allows. In LGPL, we want to draw a line that allows some derivative works
those who make derivative works. In the GPL, we reach as far as copyright law
allows. In the LGPL, we want to draw a line that allows some derivative works
copyright law would otherwise prohibit if the copyright holder exercised
his full permitted controls over the work.
\section{An Application: A Work that Uses the Library}
In the effort to allow certain proprietary derivative works and prohibit
others, LGPL distinguishes between two classes of derivative works:
others, the LGPL distinguishes between two classes of derivative works:
``works based on the library,'' and ``works that use the library.'' The
distinction is drawn on the bright line of binary (or runtime) derivative
works and source code derivatives. We will first consider the definition
@ -3980,7 +3975,7 @@ the library,'' works as follows:
\item Since \lplusi{} is a derivative work of both \worki{} and \workl{},
the license of \workl{} (the LGPL) can put restrictions on the license
of \lplusi{}. In fact, this is what LGPL does.
of \lplusi{}. In fact, this is what the LGPL does.
\end{itemize}
@ -4031,7 +4026,7 @@ In short, a ``work based on the library'' could be defined as any
derivative work of LGPL'd software that cannot otherwise fit the
definition of a ``work that uses the library.'' A ``work based on the
library'' extends the full width and depth of copyright derivative works,
in the same sense that GPL does.
in the same sense that the GPL does.
Most typically, one creates a ``work based on the library'' by directly
modifying the source of the library. Such a work could also be created by
@ -4081,7 +4076,7 @@ because a deep understanding of how compiler programs work is nearly
mandatory to grasp the subtle nature of what LGPLv2.1~\S5, \P 4 seeks to
cover. It helps some to note that this is a border case that we cover in
the license only so that when such a border case is hit, the implications
of using LGPL continue in the expected way.
of using the LGPL continue in the expected way.
To understand this subtle point, we must recall the way that a compiler
operates. The compiler first generates object code, which are the binary
@ -4161,8 +4156,8 @@ If such a mechanism is used, it must allow the user to upgrade and
replace the library with interface-compatible versions and still be able
to use the ``work that uses the library.'' However, all modern shared
library mechanisms function as such, and thus LGPLv2.1~\S6(b) is the simplest
option, since it does not even require that the distributor of the ``work
2based on the library'' ship copies of the library itself.
option, since it does not even require that the distributor of the ``work
based on the library'' ship copies of the library itself.
LGPLv2.1~\S6(a) is the option to use when, for some reason, a shared library
mechanism cannot be used. It requires that the source for the library be
@ -4190,12 +4185,12 @@ permit us to cover in this course.
\section{And the Rest}
The remaining variations between LGPL and GPL cover the following
The remaining variations between the LGPL and the GPL cover the following
conditions:
\begin{itemize}
\item Allowing a licensing ``upgrade'' from LGPL to GPL\@ (in LGPLv2.1~\S3)
\item Allowing a licensing ``upgrade'' from the LGPL to the GPL\@ (in LGPLv2.1~\S3)
\item Binary distribution of the library only, covered in LGPLv2.1~\S4,
which is effectively equivalent to LGPLv2.1~\S3
@ -4226,7 +4221,7 @@ As discussed in Sections~\ref{GPLv2s0} and~\ref{GPLv2s5} of this tutorial,
the GPL only governs the activities of copying, modifying and
distributing software programs that are not governed by the license.
Thus, in FSF's view, simply installing the software on a machine and
using it is not controlled or limited in any way by GPL\@. Using Free
using it is not controlled or limited in any way by the GPL\@. Using Free
Software in general requires substantially fewer agreements and less
license compliance activity than any known proprietary software.
@ -4276,7 +4271,7 @@ embedded targets. Eventually, Cygnus was so successful that
it was purchased by Red Hat where it remains a profitable division.
However, there are very small companies that compete in
this space. Because the code-base is protect by GPL, it creates and
this space. Because the code-base is protect by the GPL, it creates and
demands industry trust. Companies can cooperate on the software and
improve it for everyone. Meanwhile, companies who rely on GCC for their
work are happy to pay for improvements, and for ports to new target
@ -4331,7 +4326,7 @@ making a profit.
Note that FSF does provide services to assist companies who need
assistance in complying with the GPL. You can contact FSF's GPL
Compliance Labs at $<$compliance@fsf.org$>$.
Compliance Labs at $<$licensing@fsf.org$>$.
%FIXME-LATER: should have \tutorialpart

View file

@ -0,0 +1,418 @@
% Brief Introduction to the GNU General Public License
% Bradley M. Kuhn
% Monday 24 March 2014
# Audience Polls
+ My goal here is to move faster or slower based on audience knowledge.
+ There are folks in this audience who have worked with this stuff for years,
and those who are completely new.
+ We want these presentations to be valuable to all of you.
+ Please, don't be embarrassed:
+ Ever GPL expert in the world, including me, started as a student who
knew none of this.
# IANAL
<cite>IANAL</cite>
# My Affiliations
+ Formerly had John's job, Executive Director of FSF, years ago.
+ Currently: on Board of Directors of FSF.
+ President of Software Freedom Conservancy.
# How These Orgs Relate to GPL?
+ FSF
+ Invented copyleft.
+ Authors &amp; stewards of the GPL.
+ Holder of copyrights on many key GNU programs &hellip;
+ &hellip; and therefore enforcers of those copyrights.
+ Software Freedom Conservancy
+ Adviser on legal issues of copyright, etc. to Free Software projects.
+ Holder of some copyrights on its member projects.
+ Enforcer of GPL on behalf of many copyright holders in:
+ BusyBox, Samba, Mercurial, and the kernel named Linux.
# How this Hour Will Go?
+ Materials presented will mix the simple &amp; complex.
+ We cannot possibly cover the entire GPL in one hour.
+ Discuss: motivations, origins, then a few of GPL's sections.
+ I understand the mix of backgrounds in the audience.
# A Restaurant's Lawyer?
+ Considering why you want to learn this.
+ What if your client was a restaurant?
+ What would you want to need to know?
# Restaurant Lawyer: What'd You Study?
+ If you were a restaurant's lawyer:
+ Probably three areas of law you'd focus on:
+ building codes.
+ health and safety regulations.
+ tax regulations.
+ Who would want to hear from?
# Restaurant Lawyer: What'd You Study?
+ Figure out the motivations behind the building code:
+ What parts are arcane and less important to inspectors?
+ How do inspections work?
+ What are the penalties?
+ Figure out the same for health &amp; safety:
+ Who inspects, and when?
+ What's the health code say, and what checklist do inspectors use?
+ Likely Questions:
+ Who's in charge of all this?
+ What's purpose and intent of these regulations?
+ Can I meet the inspectors?
# Why Listen To Us?
+ FSF: Understanding the purpose and intent of the GPL.
+ Conservancy &amp; FSF:
+ both enforce the GPL.
+ if your client violates, you will hear from one of us.
+ Such access to drafters, interpreters, enforcers is highly unique.
+ Someday, we may (or already have) sit across the table from you.
+ Our transparency does make your job easier.
# The Mindset of GPL
+ GPL protects software freedom.
+ Ultimate goal: make sure every user has the four freedoms.
+ Freedom to run the software.
+ Freedom to study and modify the software.
+ Freedom to share the software.
+ Freedom to distribute modified versions.
+ Every clause in GPL was designed to uphold one of these freedoms.
+ Or, it's a compromise of drafting in adoption vs. freedom debate.
# Using Copyright
+ GPL is primarily a copyright license.
+ Software is copyrighted.
+ License grants key freedoms.
+ Requirement prohibit activities that take away freedoms.
+ General concept: copyleft.
+ Specific implementation: GPL.
<hr/>
<span class="fitonslide">
> Copyright protection subsists &hellip; original works of authorship fixed in any tangible medium of expression &hellip; from which they can be perceived, reproduced, or otherwise communicated, either directly or with the aid of a machine or device.
<p align=right>
&mdash; <a href="http://www.law.cornell.edu/uscode/text/17/102">17 USC &sect;102</a>
</p>
</span>
# Conditional Permissions
+ A copyleft license grants copyright permissions, conditionally.
+ Think of the phrase: &ldquo;provided that&rdquo;
+ &ldquo;provided that&rdquo;: appears (in some form) only
+ 4 times in GPLv2
+ 9 times in GPLv3.
# Compare To Proprietary Licenses
+ Yes, the GPL has its requirements.
+ But *none* of these activities are ever permitted under proprietary
licenses.
+ If you don't like what the GPL requires you to do, then just tell your
client to use the proprietary software instead.
+ That way, they know the answer to every question is &ldquo;no&;rdquo;
+ rather than: &ldquo;yes, but only as long as you &hellip;&rdquo;
# The Technical Gap
+ Understanding GPL well requires a some software expertise &amp; legal
expertise.
+ You don't have to be a professional on either side to grok it.
+ but you're best off if you're a professional in one &amp; an amateur
in the other.
+ Most important technical concepts you need:
+ source code, binaries, methods of distribution.
# Considering Sections of the GPL
+ With the remaining time &hellip;
+ in interest of the experts in the audience &hellip;
+ let's dig into a few specific sections.
+ GPL &hearts; 17 USC&sect;106(2) &amp; 17 USC&sect;106(3)
+ Modification and distribution.
# Why Permission to Modify?
+ Your new copyrights are your copyrights:
+ you are affixing it in a tangible medium.
+ Exclusive right of copyright holders:
+ Control on &ldquo;preparation of derivative works&rdquo;
+ Distribution of the work.
+ Note the combination of these.
+ Again, see 17 USC&sect;106
+ N.B.: &ldquo;derivative works&rdquo; is USA-centric, modify is more international)
# Modification As a Center Provision
+ GPL's primary copyright hook is copyright controls on the right to modify.
+ GPL's central tenant:
+ You can make a modified version of various types privately as much as you'd like.
+ When you distribute that modified version, you have requirements to meet.
+ Technological considerations dictate necessity of more complex rules for
certain types of modifications.
# GPLv2 &sect; 2(a-b)
<span class="fitonslide">
<p>[GPLv2&sect;]2. You may modify your copy or copies of the Program or any
portion of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1 above,
provided that you also meet all of these conditions:
<br/>
<br/>
a) You must cause the modified files to carry prominent notices stating
that you changed the files and the date of any change.
<br/>
<br/>
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
</p>
</span>
# GPLv3&sect;5(a-c)
<span class="fitonslide">
<p>
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
<br/>
<br/>
a) The work must carry prominent notices stating that you modified it, and
giving a relevant date.
<br/>
<br/>
b) The work must carry prominent notices stating that it is released under
this License and any conditions added under section 7. This requirement
modifies the requirement in section 4 to "keep intact all notices".
<br/>
<br/>
c) You must license the entire work, as a whole, under this License to anyone
who comes into possession of a copy. This License will therefore apply,
along with any applicable section 7 additional terms, to the whole of the
work, and all its parts, regardless of how they are packaged. This License
gives no permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
</p>
</span>
# GPLv2&sect;2&para; ante-penultimate &amp; penultimate
<span class="fitonslide">
<p>
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
<br/>
<br/>
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
</p>
</span>
# GPLv3 &sect;0 &para;1-5
<span class="fitonslide">
<p>
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
<br/>
<br/>
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
<br/>
<br/>
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
<br/>
<br/>
A "covered work" means either the unmodified Program or a work based
on the Program.
</p>
# Binaries (i.e., Object Code) are Modifications
+ Software that the computer understands is different than software humans
read.
+ There is often a process required to modify (and/or translate) the software
from human-readable
+ This process can be done ahead of time.
+ Separation of source and binary was the first way proprietary software
companies discovered to subjugate users.
+ GPL uses the fact that binaries are modifications (which are often
distribution) to prevent that subjugation.
# GPLv2 &sect; 3(a-b)
<span class="fitonslide">
<p>
<p>[GPLv2&sect;]3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
<br/>
<br/>
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
<br/>
<br/>
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange;
</p>
</span>
# GPLv3 &sect; 6(a-b)
<span class="fitonslide">
<p>
[GPLv3 &sect; ] 6. Conveying Non-Source Forms.
<br/>
<br/>
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
<br/>
<br/>
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
<br/>
<br/>
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
</p>
</span>
# GPLv3 &sect; 1 &para; 1, 4-6
<span class="fitonslide">
<p>
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
<br/>
<br/>
The "Corresponding Source" for a work in object code form means all the
source code needed to generate, install, and (for an executable work) run the
object code and to modify the work, including scripts to control those
activities. However, it does not include the work's System Libraries, or
general-purpose tools or generally available free programs which are used
unmodified in performing those activities but which are not part of the work.
For example, Corresponding Source includes interface definition files
associated with source files for the work, and the source code for shared
libraries and dynamically linked subprograms that the work is specifically
designed to require, such as by intimate data communication or control flow
between those subprograms and other parts of the work.
<br/>
<br/>
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
<br/>
<br/>
The Corresponding Source for a work in source code form is that
same work.
</p>
</span>
# The GPL is a Complex Topic
+ An in-depth seminar on GPL's provisions is a one-day course &hellip;
+ &hellip; but the written materials discuss every section in depth.
+ Keep in mind: every requirement has a carefully considered purpose to
uphold freedom of users.
+ Software freedom licenses have a moral perspective.
+ This is probably the most difficult thing for lawyers to understand.