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}
|
\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
|
GPLv3~\S~8). Under v2, violators forfeit their rights to redistribute and
|
||||||
modify the GPL'd software until those rights are explicitly reinstated by
|
modify the GPL'd software until those rights are explicitly reinstated by
|
||||||
the copyright holder. In contrast, v3 allows violators to rapidly resolve
|
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
|
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
|
a distribution, not just their own. A copyright holder may refuse to
|
||||||
reinstate your right to distribute one program unless and until you
|
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
|
\item {\bf Notification to past recipients}. Users to whom you previously
|
||||||
distributed non-compliant software should receive a communication
|
distributed non-compliant software should receive a communication
|
||||||
(email, letter, bill insert, etc.) indicating the violation, describing
|
(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
|
distribution. If a customer list does not exist (such as in reseller
|
||||||
situations), an alternative form of notice may be required (such as a
|
situations), an alternative form of notice may be required (such as a
|
||||||
magazine advertisement).
|
magazine advertisement).
|
||||||
|
@ -893,7 +893,7 @@ copyright holders often require.
|
||||||
\item {\bf Appointment of a GPL Compliance Officer.} The software freedom community
|
\item {\bf Appointment of a GPL Compliance Officer.} The software freedom community
|
||||||
values personal accountability when things go wrong. Copyright holders
|
values personal accountability when things go wrong. Copyright holders
|
||||||
often require that you name someone within the violating company
|
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
|
individual serve as the key public contact for the community when
|
||||||
compliance concerns arise.
|
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
|
software into a new Free Software business and in existing, successful
|
||||||
enterprises.
|
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
|
have a general familiarity with software development processes. A basic
|
||||||
understanding of how copyright law applies to software is also helpful. The
|
understanding of how copyright law applies to software is also helpful. The
|
||||||
tutorial is of most interest to lawyers, software developers and managers who
|
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
|
The previous section set forth key freedoms and rights that are referred to
|
||||||
as ``software freedom''. This section discusses the licensing mechanisms
|
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
|
created as a community-oriented ``answer'' to the existing proprietary
|
||||||
software licensing mechanisms. Thus, first, consider carefully why
|
software licensing mechanisms. Thus, first, consider carefully why
|
||||||
proprietary software exists in the first place.
|
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
|
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
|
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
|
fixed in any tangible medium of expression ... from which they can be
|
||||||
perceived, reproduced, or otherwise communicated, either directly or with the
|
perceived, reproduced, or otherwise communicated, either directly or with the
|
||||||
aid of a machine or device'' (as stated in
|
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
|
medium. In the software world, this usually means typing the source code
|
||||||
of the software into a file.
|
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
|
law. If so, the software is in the public domain --- no longer covered by
|
||||||
copyright. Since copyright law is the construction allowing for most
|
copyright. Since copyright law is the construction allowing for most
|
||||||
restrictions on software (i.e., prohibition of copying, modification, and
|
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 signed the Berne Convention on Copyright, and software freedom licenses
|
||||||
have generally taken advantage of this international standardization of
|
have generally taken advantage of this international standardization of
|
||||||
copyright law. However, copyright law does differ from country to country,
|
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.
|
copyright law in the jurisdiction where any licensing dispute occurs.
|
||||||
|
|
||||||
Those who are most familiar with the USA's system of copyright often are
|
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
|
copyright to not only grant software freedom to users, but also to uphold
|
||||||
those rights against those who might seek to curtail them.
|
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
|
mechanism. The remainder of this text will discuss details of various
|
||||||
real-world implementations of copyleft -- most notably, the GPL\@.
|
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
|
in this section, deeper discussion of how GPL accomplishes this in practice
|
||||||
follows in the next chapter.
|
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.
|
both business and noncommercial users.
|
||||||
|
|
||||||
\subsection{The Noncommercial Community}
|
\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
|
developers fail to address their needs or abandon the project, the GPL
|
||||||
ensures that someone else has the right to pick up development.
|
ensures that someone else has the right to pick up development.
|
||||||
Developers know that the users cannot redistribute their software without
|
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.
|
one of their users is treated equally.
|
||||||
|
|
||||||
Because of the symmetry and fairness inherent in GPL'd distribution,
|
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
|
distributed in the commercial environment could easily be folded back into
|
||||||
the standard version. Companies are not permitted to proprietarize
|
the standard version. Companies are not permitted to proprietarize
|
||||||
Samba, so the noncommercial users, and even other commercial users are
|
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.
|
protected.
|
||||||
|
|
||||||
Commercial developers also work in concert with noncommercial
|
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}
|
\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
|
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
|
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
|
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
|
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
|
\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
|
by saying the license is simply ``GPL''), or
|
||||||
|
|
||||||
\item name a specific version of GPL and give downstream recipients the
|
\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
|
FSF'' (usually indicated by saying the license is
|
||||||
``GPLv$X$-or-later'')\footnote{The shorthand of ``GPL$X+$'' is also popular
|
``GPLv$X$-or-later'')\footnote{The shorthand of ``GPL$X+$'' is also popular
|
||||||
for this situation. The authors of this tutorial prefer ``-or-later''
|
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
|
their copyrighted works under new versions. Of course ,Creative Commons, the
|
||||||
Eclipse Foundation, and the Mozilla Foundation (like the FSF) have generally
|
Eclipse Foundation, and the Mozilla Foundation (like the FSF) have generally
|
||||||
served as excellent stewards of their licenses. Copyright holders using
|
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
|
licensing decisions for their copyrights to these organizations without a
|
||||||
second thought.
|
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
|
extremely popular license. The GPLv2 is, no doubt, a good and useful
|
||||||
license.
|
license.
|
||||||
|
|
||||||
However, unlike GPLv1, which (as pointed out in \S~\ref{GPLv1}), which is
|
However, unlike GPLv1 before it,
|
||||||
completely out of use by the mid-1990s. 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
|
||||||
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
|
|
||||||
topics of copyleft licensing need to study both the GPLv2 and GPLv3 family of
|
topics of copyleft licensing need to study both the GPLv2 and GPLv3 family of
|
||||||
licenses.
|
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
|
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
|
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
|
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}
|
\section{GPLv2~\S0: Freedom to Run}
|
||||||
\label{GPLv2s0}
|
\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
|
the work. It specifically points out that it is the ``copyright
|
||||||
holder'' who decides if a work is licensed under its terms and explains
|
holder'' who decides if a work is licensed under its terms and explains
|
||||||
how the copyright holder might indicate this fact.
|
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
|
Fair use (called ``fair dealing'' in some jurisdictions) of copyrighted
|
||||||
material is an established legal doctrine that permits certain activities
|
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
|
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
|
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
|
quote portions of the text in a larger work so as to criticize or suggest
|
||||||
changes. This fair use rights is commonly used on mailing lists when
|
changes. This fair use right is commonly used on mailing lists when
|
||||||
discussing potential improvements or changes to Free Software.
|
discussing potential improvements or changes to Free Software.
|
||||||
|
|
||||||
Fair use is a doctrine established by the courts or by statute. By
|
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
|
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
|
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
|
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
|
\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
|
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.
|
\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
|
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
|
Sections~\ref{GPLv2s11} and~\ref{GPLv2s12} of this tutorial for more on GPL's
|
||||||
warranty disclaimers.)
|
warranty disclaimers.)
|
||||||
|
|
||||||
Note finally that GPLv2~\S1 creates groundwork for the important defense of
|
Note finally that GPLv2~\S1 creates groundwork for the important defense of
|
||||||
commercial freedom. GPLv2~\S1 clearly states that in the case of verbatim
|
commercial freedom. GPLv2~\S1 clearly states that in the case of verbatim
|
||||||
copies, one may make money. Re distributors are fully permitted to charge
|
copies, one may make money. Re-distributors are fully permitted to charge
|
||||||
for the redistribution of copies of Free Software. In addition, they may
|
for the re-distribution of copies of Free Software. In addition, they may
|
||||||
provide the warranty protection that the GPL disclaims as an additional
|
provide the warranty protection that the GPL disclaims as an additional
|
||||||
service for a fee. (See Section~\ref{Business Models} for more discussion
|
service for a fee. (See Section~\ref{Business Models} for more discussion
|
||||||
on making a profit from Free Software redistribution.)
|
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
|
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
|
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
|
Software licensing in general, relies critically on the concept of
|
||||||
``derivative work'' since software that is ``independent,'' (i.e., not
|
``derivative work'' since software that is ``independent,'' (i.e., not
|
||||||
``derivative'') of Free Software need not abide by the terms of the
|
``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
|
Portions of the source or object code of a computer program are rarely
|
||||||
filtered out as unprotectable elements. However, some distinct parts of
|
filtered out as unprotectable elements. However, some distinct parts of
|
||||||
source and object code have been found unprotectable. For example,
|
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
|
perform calculations in a program, are unprotectable. Further, although
|
||||||
common errors found in two programs can provide strong evidence of
|
common errors found in two programs can provide strong evidence of
|
||||||
copying, they are not afforded any copyright protection over and above the
|
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
|
that in Adapter. After the suit began, the defendant rewrote those
|
||||||
portions of Oscar that contained Adapter code in order to produce a new
|
portions of Oscar that contained Adapter code in order to produce a new
|
||||||
version of Oscar that was functionally competitive with Adapter, without
|
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
|
plaintiff alleged that even the second version of Oscar, despite having no
|
||||||
literally copied code, also infringed its copyrights. In addressing that
|
literally copied code, also infringed its copyrights. In addressing that
|
||||||
question, the Second Circuit promulgated the AFC test.
|
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
|
In considering GPLv2~\S2(b), first note the qualifier: it \textit{only} applies to
|
||||||
derivative works that ``you distribute or publish''. Despite years of
|
derivative works that ``you distribute or publish''. Despite years of
|
||||||
education efforts on this matter, many still believe that modifiers
|
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
|
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,
|
changes are never distributed. Indeed, the freedom to make private,
|
||||||
personal, unshared changes to software for personal use only should be
|
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,
|
moral} obligation to redistribute changes that are generally useful,
|
||||||
and they often encourage companies and individuals to do so. However, there
|
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
|
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
|
product --- would its copyright holders give you permission to create and distribute
|
||||||
\gplusi{} without paying them a hefty sum?) The license of \workg{}, the
|
\gplusi{} without paying them a hefty sum?) The license of \workg{}, the
|
||||||
GPL, states the options for the copyright holder of \worki{}
|
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
|
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
|
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
|
\medskip
|
||||||
|
|
||||||
\label{GPLv2s2-at-no-charge}
|
\label{GPLv2s2-at-no-charge}
|
||||||
The next phrase of note in GPLv2~\S2(b) is ``licensed \ldots 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
|
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
|
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
|
charging when performing the acts governed by copyright
|
||||||
law,\footnote{Recall that you could by default charge for any acts not
|
law,\footnote{Recall that you could by default charge for any acts not
|
||||||
governed by copyright law, because the license controls are confined
|
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
|
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
|
extend to anyone who might, through the distribution chain, receive a copy
|
||||||
of the software. Distribution to all third parties is not mandated here,
|
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
|
a way that extends to all third parties who may ultimately receive a
|
||||||
copy of the software.
|
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
|
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
|
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
|
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
|
of the GPL. Redistributors are always welcome to simply ship GPL'd
|
||||||
software alongside proprietary software or other unrelated Free Software,
|
software alongside proprietary software or other unrelated Free Software,
|
||||||
as long as the terms of GPL are adhered to for those packages that are
|
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.
|
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
|
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
|
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
|
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
|
directed by David Lynch, must be perceptible by human eyes and ears to
|
||||||
have any value.
|
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
|
GPLv2~\S3, therefore, allows source code to be provided on any physical
|
||||||
``medium customarily used for software interchange.'' By design, this
|
``medium customarily used for software interchange.'' By design, this
|
||||||
phrase covers a broad spectrum --- the phrase seeks to pre-adapt to
|
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
|
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
|
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 card. This
|
default. Now, it's common to give software on USB drives and SD cards. This
|
||||||
language in the license must adapt with changing technology.
|
language in the license must adapt with changing technology.
|
||||||
|
|
||||||
Meanwhile, the binding created by the word ``customarily'' is key. Many
|
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
|
would unfairly favor large companies. GPLv2~\S3(b) allows the
|
||||||
separation of the binary software from the key tool that people can use
|
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
|
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
|
source. However, to ensure equal rights for all software users, anyone
|
||||||
along the distribution chain must have the right to get the source and
|
along the distribution chain must have the right to get the source and
|
||||||
exercise those freedoms that require it.
|
exercise those freedoms that require it.
|
||||||
|
@ -1914,7 +1912,7 @@ with respect to the licensed software.
|
||||||
\newcommand{\compA}{$\mathcal{A}$}
|
\newcommand{\compA}{$\mathcal{A}$}
|
||||||
|
|
||||||
For example, if Company \compA{} has a patent on advanced Web browsing, but
|
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
|
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
|
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
|
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
|
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
|
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
|
termination occurs (if ever); rather, the actions of the licensee determine
|
||||||
that.
|
that.
|
||||||
|
|
||||||
|
@ -2045,8 +2043,8 @@ freedom.
|
||||||
|
|
||||||
While GPL is by default a copyright license, it is certainly still possible
|
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 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
|
to ``wrap'' their software in an acceptance ceremony to the GPL, and nothing in
|
||||||
GPL prohibits that use. Furthermore, the ruling in \textit{Jacobsen
|
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}
|
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
|
copyright and contractual remedies may be sought by a copyright holder
|
||||||
seeking to enforce a license designed to uphold software freedom.
|
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}
|
\chapter{Odds, Ends, and Absolutely No Warranty}
|
||||||
|
|
||||||
GPLv2~\S\S0--7 constitute the freedom-defending terms of the GPLv2. The remainder
|
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.
|
liability.
|
||||||
|
|
||||||
\section{GPLv2~\S9: FSF as Stewards of GPL}
|
\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.
|
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
|
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
|
occurred from Monday 16 January 2006 through Monday 19 November 2007) should
|
||||||
visit \url{http://gplv3.fsf.org/}.
|
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
|
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
|
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
|
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
|
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
|
students of GPL to start with GPLv2 and move on to GPLv3, and this tutorial
|
||||||
follows that pattern.
|
follows that pattern.
|
||||||
|
@ -2281,7 +2279,7 @@ internationalization.
|
||||||
|
|
||||||
One of lawyers' most common complaints about GPLv2 is that defined terms in
|
One of lawyers' most common complaints about GPLv2 is that defined terms in
|
||||||
the document appear throughout. Most licenses define terms up-front.
|
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
|
understood both by lawyers and by software developers: it is a document
|
||||||
designed to give freedom to software developers and users, and therefore it
|
designed to give freedom to software developers and users, and therefore it
|
||||||
should be comprehensible to that constituency.
|
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
|
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,
|
based on the Program'' definition made use of a legal term of art,
|
||||||
``derivative work'', which is peculiar to USA copyright law. However,
|
``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
|
``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
|
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
|
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
|
Thus, propagation is defined by behavior, and not by categories drawn from
|
||||||
some particular national copyright statute. This helps not only with
|
some particular national copyright statute. This helps not only with
|
||||||
internationalization, but also factually-based terminology aids in
|
internationalization, but also factually-based terminology aids in
|
||||||
developers' and users' understanding of GPL\@.
|
developers' and users' understanding of the GPL\@.
|
||||||
|
|
||||||
\subsection{Convey}
|
\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
|
clarifies that they do not include libraries invoked by the work that can be
|
||||||
readily substituted by other existing implementations. While copyleft
|
readily substituted by other existing implementations. While copyleft
|
||||||
advocates never doubted this was required under GPLv2's definition of CCS,
|
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
|
run their modified versions of the program; the CCS definition is designed to
|
||||||
be expansive to ensure this software freedom. However, although the
|
be expansive to ensure this software freedom. However, although the
|
||||||
definition of CCS is expansive, it is not sufficient to protect users'
|
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
|
so-called system library exception. The ``System Libraries'' definition (and
|
||||||
the ``Standard Interface'' and ``Major Component'' definitions, which it
|
the ``Standard Interface'' and ``Major Component'' definitions, which it
|
||||||
includes) are designed as part
|
includes) are designed as part
|
||||||
|
|
||||||
to permit certain distribution arrangements that are considered reasonable by
|
to permit certain distribution arrangements that are considered reasonable by
|
||||||
copyleft advocates. The system library exception is designed to allow
|
copyleft advocates. The system library exception is designed to allow
|
||||||
copylefted software to link with these libraries when such linking would hurt
|
copylefted software to link with these libraries when such linking would hurt
|
||||||
software freedom more than it would hurt proprietary software.
|
software freedom more than it would hurt proprietary software.
|
||||||
|
|
||||||
The system library exception has two parts. Part (a) rewords the GPLv2
|
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
|
accompanies the executable'' with ``which is not part of the Major
|
||||||
Component''. The goal here is to not require disclosure of source code of
|
Component''. The goal here is to not require disclosure of source code of
|
||||||
certain libraries, such as necessary Microsoft Windows DLLs (which aren't
|
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
|
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
|
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
|
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.
|
full freedoms of the GPL that they deserve.
|
||||||
|
|
||||||
The FSF was specifically asked to add this ``contractors provisions'' by
|
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
|
from circumventing technological measures that implement DRM\@. Since this
|
||||||
is part of copyright law and the GPL is primarily a copyright license, and
|
is part of copyright law and the GPL is primarily a copyright license, and
|
||||||
since what the DMCA calls ``circumvention'' is simply ``modifying the
|
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
|
provisions are not applicable to the GPLv3'd software. GPLv3\S3 shields
|
||||||
users from being subjected to liability under anti-circumvention law for
|
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.
|
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
|
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
|
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
|
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
|
the offer. (Note that this is a substantial narrowing of requirements of
|
||||||
offer fulfillment, and is a wonderful counterexample to dispute claims that
|
offer fulfillment, and is a wonderful counterexample to dispute claims that
|
||||||
the GPLv3 has more requirements than GPLv2.)
|
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
|
specialized or enterprise-level computer facilities reported that they
|
||||||
actually \textit{want} their systems not to be under their own control.
|
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
|
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.
|
here, since the main problem lies elsewhere.
|
||||||
|
|
||||||
While imposing technical barriers to modification is wrong regardless of
|
While imposing technical barriers to modification is wrong regardless of
|
||||||
|
@ -3116,8 +3113,7 @@ distributed under the GPL?
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
Additional permissions present the easier case. Since the mid-1990s,
|
Additional permissions present the easier case. Since the mid-1990s,
|
||||||
permissive exceptions often appeared alongside GPLv2 with permissive
|
permissive exceptions often appeared alongside GPLv2 to allow combination
|
||||||
exceptions to allow combination
|
|
||||||
with certain non-free code. Typically, downstream
|
with certain non-free code. Typically, downstream
|
||||||
stream recipients could remove those exceptions and operate under pure GPLv2.
|
stream recipients could remove those exceptions and operate under pure GPLv2.
|
||||||
Similarly, LGPLv2.1 is in essence a permissive variant of 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
|
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,
|
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
|
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
|
ensures that enhanced license compatibility does not
|
||||||
defeat the broader software-freedom-defending terms of the GPL\@. Unlike terms that grant
|
defeat the broader software-freedom-defending terms of the GPL\@. Unlike terms that grant
|
||||||
additional permissions, terms that impose additional requirements cannot be
|
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
|
who resumes compliance with GPLv2 technically needs to obtain forgiveness
|
||||||
from all copyright holders, and even contacting them all might be impossible.
|
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
|
reinstatement of rights. The termination procedure provides a limited
|
||||||
opportunity to cure license violations. If a licensee has committed a
|
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
|
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
|
% FIXME-LATER: write more here, perhaps linking up to enforcement
|
||||||
|
|
||||||
|
|
||||||
\section{GPLv3~\S9: Acceptance}
|
\section{GPLv3~\S9: Acceptance}
|
||||||
|
|
||||||
GPLv3~\S9 means what it says: mere receipt or execution of code neither
|
GPLv3~\S9 means what it says: mere receipt or execution of code neither
|
||||||
requires nor signifies contractual acceptance under the GPL. Speaking more
|
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
|
of copyright permissions, the basic operation of which exists outside of any
|
||||||
law of contract. Whether and when a contractual relationship is formed
|
law of contract. Whether and when a contractual relationship is formed
|
||||||
between licensor and licensee under local law do not necessarily matter to
|
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
|
However, the second argument seems valid in a practical sense. A
|
||||||
typical GNU/Linux distribution includes thousands of programs. It would
|
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
|
review all those programs against that portfolio every time it receives
|
||||||
and passes on a new version of the distribution. Moreover, this question
|
and passes on a new version of the distribution. Moreover, this question
|
||||||
raises a strategic issue. If the GPLv3 patent license requirements
|
raises a strategic issue. If the GPLv3 patent license requirements
|
||||||
|
@ -3461,7 +3456,7 @@ patent claims.
|
||||||
\subsection{Conveyors' Patent Licensing}
|
\subsection{Conveyors' Patent Licensing}
|
||||||
|
|
||||||
The remaining patent licensing in GPLv3 deals with patent licenses that are
|
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 contributor patent licenses discussed in the preceding section.
|
||||||
|
|
||||||
The term ``patent license,'' as used in GPLv3~\S11\P4--6, is not meant to be
|
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
|
contributor, it will already have granted a patent sublicense anyway, and so
|
||||||
it need not do anything further to comply with the third paragraph.)
|
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
|
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
|
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
|
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
|
downstream shielding provision, lobbied for the addition of the source code
|
||||||
availability option, so it remains.
|
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
|
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
|
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
|
goal in designing the GPL was to make sure that any derivative work of GPL'd
|
||||||
software was itself released under GPL when distributed. Reaching as far
|
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.
|
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
|
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).
|
on modern GNU/Linux systems, which all use the GNU C Library).
|
||||||
|
|
||||||
Unlike existing GNU application software, however, the licensing
|
Unlike existing GNU application software, however, the licensing
|
||||||
implications of releasing the GNU C Library (``glibc'') under GPL were
|
implications of releasing the GNU C Library (``glibc'') under the GPL were
|
||||||
somewhat different. Applications released under GPL would never
|
somewhat different. Applications released under the GPL would never
|
||||||
themselves become part of proprietary software. However, if glibc were
|
themselves become part of proprietary software. However, if glibc were
|
||||||
released under GPL, it would require that any application distributed for
|
released under the GPL, it would require that any application distributed for
|
||||||
the GNU/Linux platform be released under GPL\@.
|
the GNU/Linux platform be released under the GPL\@.
|
||||||
|
|
||||||
Since all applications on a Unix-like system depend on the C library, it
|
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
|
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
|
The de-facto standard for the C library on GNU/Linux would likely be not
|
||||||
glibc, but the most popular proprietary one.
|
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
|
proprietary applications on GNU/Linux --- would be unattainable in this
|
||||||
scenario. Furthermore, users of those proprietary applications would also
|
scenario. Furthermore, users of those proprietary applications would also
|
||||||
be users of a proprietary C library, not the Free glibc.
|
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
|
The Lesser GPL was initially conceived to handle this scenario. It was
|
||||||
clear that the existence of proprietary applications for GNU/Linux was
|
clear that the existence of proprietary applications for GNU/Linux was
|
||||||
inevitable. Since there were so many C libraries already in existence, a
|
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
|
were released under a license that permitted proprietary applications
|
||||||
to link with it, but made sure that the library itself remained Free,
|
to link with it, but made sure that the library itself remained Free,
|
||||||
an ancillary goal could be met. Users of proprietary applications, while
|
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
|
countries with draconian laws that would otherwise contradict these
|
||||||
licenses.
|
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
|
does for GPL. Meanwhile, LGPLv2.1~\S14 reminds licensees that copyright
|
||||||
holders can grant exceptions to the terms of LGPL, just as GPLv2~\S10
|
holders can grant exceptions to the terms of LGPL, just as GPLv2~\S10
|
||||||
reminds licensees of the same thing.
|
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.
|
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
|
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
|
some proprietary derivatives. Since we simply do not allow the
|
||||||
license to stretch as far as copyright law does regarding what
|
license to stretch as far as copyright law does regarding what
|
||||||
derivative works must be relicensed under the same terms, we must go
|
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}
|
\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,
|
introduce the concepts and reasoning behind creation of the license,
|
||||||
presenting a more generalized and briefer version of the story with which
|
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
|
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
|
library; rather, FSF suggests that it only be used in specific cases, such
|
||||||
as the following:
|
as the following:
|
||||||
|
|
||||||
|
@ -3919,8 +3914,8 @@ as the following:
|
||||||
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
LGPL's preamble sets forth the limits to which the license seeks to go in
|
The 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
|
chasing these goals. The LGPL is designed to ensure that users who happen to
|
||||||
acquire software linked with such libraries have full freedoms with
|
acquire software linked with such libraries have full freedoms with
|
||||||
respect to that library. They should have the ability to upgrade to a newer
|
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
|
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
|
Finally, the preamble introduces two terms used throughout the license to
|
||||||
clarify between the different types of derivative works: ``works that use
|
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
|
draw some lines regarding derivative works. We do this here in this
|
||||||
license because we specifically seek to liberalize the rights afforded to
|
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
|
those who make derivative works. In the GPL, we reach as far as copyright law
|
||||||
allows. In LGPL, we want to draw a line that allows some derivative works
|
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
|
copyright law would otherwise prohibit if the copyright holder exercised
|
||||||
his full permitted controls over the work.
|
his full permitted controls over the work.
|
||||||
|
|
||||||
\section{An Application: A Work that Uses the Library}
|
\section{An Application: A Work that Uses the Library}
|
||||||
|
|
||||||
In the effort to allow certain proprietary derivative works and prohibit
|
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
|
``works based on the library,'' and ``works that use the library.'' The
|
||||||
distinction is drawn on the bright line of binary (or runtime) derivative
|
distinction is drawn on the bright line of binary (or runtime) derivative
|
||||||
works and source code derivatives. We will first consider the definition
|
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{},
|
\item Since \lplusi{} is a derivative work of both \worki{} and \workl{},
|
||||||
the license of \workl{} (the LGPL) can put restrictions on the license
|
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}
|
\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
|
derivative work of LGPL'd software that cannot otherwise fit the
|
||||||
definition of a ``work that uses the library.'' A ``work based on 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,
|
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
|
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
|
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
|
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
|
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
|
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
|
To understand this subtle point, we must recall the way that a compiler
|
||||||
operates. The compiler first generates object code, which are the binary
|
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
|
replace the library with interface-compatible versions and still be able
|
||||||
to use the ``work that uses the library.'' However, all modern shared
|
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
|
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
|
option, since it does not even require that the distributor of the ``work
|
||||||
2based on the library'' ship copies of the library itself.
|
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
|
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
|
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}
|
\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:
|
conditions:
|
||||||
|
|
||||||
\begin{itemize}
|
\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,
|
\item Binary distribution of the library only, covered in LGPLv2.1~\S4,
|
||||||
which is effectively equivalent to LGPLv2.1~\S3
|
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
|
the GPL only governs the activities of copying, modifying and
|
||||||
distributing software programs that are not governed by the license.
|
distributing software programs that are not governed by the license.
|
||||||
Thus, in FSF's view, simply installing the software on a machine and
|
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
|
Software in general requires substantially fewer agreements and less
|
||||||
license compliance activity than any known proprietary software.
|
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.
|
it was purchased by Red Hat where it remains a profitable division.
|
||||||
|
|
||||||
However, there are very small companies that compete in
|
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
|
demands industry trust. Companies can cooperate on the software and
|
||||||
improve it for everyone. Meanwhile, companies who rely on GCC for their
|
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
|
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
|
Note that FSF does provide services to assist companies who need
|
||||||
assistance in complying with the GPL. You can contact FSF's GPL
|
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
|
%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…
Add table
Reference in a new issue