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:
commit
3ed7c26e43
3 changed files with 518 additions and 105 deletions
|
@ -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.
|
||||
|
||||
|
|
197
gpl-lgpl.tex
197
gpl-lgpl.tex
|
@ -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
|
||||
|
||||
|
|
418
presentations/1hr-GPL/1hr-GPL.markdown
Normal file
418
presentations/1hr-GPL/1hr-GPL.markdown
Normal 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 & stewards of the GPL.
|
||||
+ Holder of copyrights on many key GNU programs …
|
||||
+ … 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 & 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 & 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 & 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 … original works 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.
|
||||
|
||||
<p align=right>
|
||||
— <a href="http://www.law.cornell.edu/uscode/text/17/102">17 USC §102</a>
|
||||
</p>
|
||||
</span>
|
||||
|
||||
# Conditional Permissions
|
||||
|
||||
+ A copyleft license grants copyright permissions, conditionally.
|
||||
|
||||
+ Think of the phrase: “provided that”
|
||||
|
||||
+ “provided that”: 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 “no&;rdquo;
|
||||
|
||||
+ rather than: “yes, but only as long as you …”
|
||||
|
||||
# The Technical Gap
|
||||
|
||||
+ Understanding GPL well requires a some software expertise & 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 & 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 …
|
||||
+ in interest of the experts in the audience …
|
||||
+ let's dig into a few specific sections.
|
||||
|
||||
+ GPL ♥ 17 USC§106(2) & 17 USC§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 “preparation of derivative works”
|
||||
+ Distribution of the work.
|
||||
+ Note the combination of these.
|
||||
|
||||
+ Again, see 17 USC§106
|
||||
|
||||
+ N.B.: “derivative works” 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 § 2(a-b)
|
||||
|
||||
<span class="fitonslide">
|
||||
<p>[GPLv2§]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§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§2¶ ante-penultimate & 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 §0 ¶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 § 3(a-b)
|
||||
|
||||
<span class="fitonslide">
|
||||
<p>
|
||||
<p>[GPLv2§]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 § 6(a-b)
|
||||
|
||||
<span class="fitonslide">
|
||||
<p>
|
||||
[GPLv3 § ] 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 § 1 ¶ 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 …
|
||||
+ … 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.
|
Loading…
Reference in a new issue