diff --git a/gpl-lgpl.tex b/gpl-lgpl.tex index f476a20340547951fffbc3b5fa08cdefd4e7cc19..c59638a2e9602d73363a5a6b6b77005f0c7173e1 100644 --- a/gpl-lgpl.tex +++ b/gpl-lgpl.tex @@ -134,11 +134,13 @@ learned the following: \begin{itemize} - \item The freedom-defending purpose of each term of the GNU GPL + \item The freedom-defending purpose of each term of the GNU GPLv2 and GPLv3 - \item The redistribution options under the GPL + \item The differences between GPLv2 and GPLv3. - \item The obligations when modifying GPL'd software + \item The redistribution options under the GPLv2 and GPLv3. + + \item The obligations when modifying GPLv2'd or GPLv3'd software \item How to build a plan for proper and successful compliance with the GPL @@ -148,7 +150,8 @@ learned the following: \item How existing GPL'd software can be used in existing enterprises - \item The basics of the LGPL and how it differs from the GPL + \item The basics of the Lesser GPLv2.1 and Lesser GPLv3, and how they + differs from the GPLv2 and GPLv3, respectively. \item How best to understand the complexities regarding derivative works of software @@ -182,9 +185,10 @@ world of Free Software. The GPL was not created from a void, rather, it was created to embody and defend a set of principles that were set forth at the founding of the GNU project and the Free Software Foundation (FSF)---the organization that upholds, defends and promotes the philosophy -of software freedom. A prerequisite for understanding the GPL and its +of software freedom. A prerequisite for understanding both of the popular +versions of GPL (GPLv2 and GPLv3) and their terms and conditions is a basic understanding of the principles behind it. -The GPL is unlike almost all other software licenses in that it is +The GPL family of licenses are unlike almost all other software licenses in that it is designed to defend and uphold these principles. \section{The Free Software Definition} @@ -379,8 +383,8 @@ law.\footnote{This statement is a bit of an oversimplification. Patents software, governs copying, modifying, and redistributing that software.\footnote{Copyright law in general also governs ``public performance'' of copyrighted works. There is no generally agreed - definition for public performance of software and version 2 of the GPL - does not govern public performance.} By law, the copyright holder (a.k.a. + definition for public performance of software and both GPLv2 and GPLv3 + do not govern public performance.} By law, the copyright holder (a.k.a. the author) of the work controls how others may copy, modify and/or distribute the work. For proprietary software, these controls are used to prohibit these activities. In addition, proprietary software distributors @@ -665,19 +669,19 @@ economy. \section{Complexities of Two Simultaneously Popular Copylefts} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Running Software and Verbatim Copying} +\chapter{GPLv2: Running Software and Verbatim Copying} \label{run-and-verbatim} This chapter begins the deep discussion of the details of the terms of -GPL\@. In this chapter, we consider the first two sections: GPL \S\S +GPLv2\@. In this chapter, we consider the first two sections: GPLv2 \S\S 0--2. These are the straightforward sections of the GPL that define the simplest rights that the user receives. -\section{GPL \S 0: Freedom to Run} +\section{GPLv2 \S 0: Freedom to Run} \label{GPLs0} -\S 0, the opening section of GPL, sets forth that the work is governed by +\S 0, the opening section of GPLv2, sets forth that the work is governed by copyright law. It specifically points out that it is the ``copyright holder'' who decides if a work is licensed under its terms and explains how the copyright holder might indicate this fact. @@ -689,11 +693,11 @@ Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. \end{quote} In essence, the license governs \emph{only} those activities, and all other -activities are unrestricted, provided that no other agreements trump GPL +activities are unrestricted, provided that no other agreements trump GPLv2 (which they cannot; see Sections~\ref{GPLs6} and~\ref{GPLs7}). This is very important, because the Free Software community heavily supports users' rights to ``fair use'' and ``unregulated use'' of copyrighted -material. GPL asserts through this clause that it supports users' rights +material. GPLv2 asserts through this clause that it supports users' rights to fair and unregulated uses. Fair use of copyrighted material is an established legal doctrine that @@ -712,8 +716,8 @@ how to be a better programmer. \medskip -Thus, the GPL protects users fair and unregulated use rights precisely by -not attempting to cover them. Furthermore, the GPL ensures the freedom +Thus, the GPLv2 protects users fair and unregulated use rights precisely by +not attempting to cover them. Furthermore, the GPLv2 ensures the freedom to run specifically by stating the following: \begin{quote} ''The act of running the Program is not restricted.'' @@ -740,10 +744,10 @@ software work under copyright law. However, no copyright license --- not even the GNU GPL --- can be blamed for this. Legislators and court opinions must give us guidance to decide the border cases. -\section{GPL \S 1: Verbatim Copying} +\section{GPLv2 \S 1: Verbatim Copying} \label{GPLs1} -GPL \S 1 covers the matter of redistributing the source code of a program +GPLv2 \S 1 covers the matter of redistributing the source code of a program exactly as it was received. This section is quite straightforward. However, there are a few details worth noting here. @@ -788,7 +792,7 @@ on making a profit from Free Software redistribution.) We digress for this chapter from our discussion of GPL's exact text to consider the matter of derivative works --- a concept that we must -understand fully before considering \S\S 2--3 of GPL\@. GPL, and Free +understand fully before considering \S\S 2--3 of GPLv2\@. GPL, and Free Software licensing in general, relies critically on the concept of ``derivative work'' since software that is ``independent,'' (i.e., not ``derivative'') of Free Software need not abide by the terms of the @@ -1116,9 +1120,9 @@ adopts norms avoiding such risk. In this chapter, we discuss the two core sections that define the rights and obligations for those who modify, improve, and/or redistribute GPL'd software. These sections, \S\S 2--3, define the central core rights and -requirements of GPL\@. +requirements of GPLv2\@. -\section{GPL \S 2: Share and Share Alike} +\section{GPLv2 \S 2: Share and Share Alike} For many, this is where the ``magic'' happens that defends software freedom along the distribution chain. \S 2 is the only place in the GPL @@ -1318,7 +1322,7 @@ distribution is the redistribution of derivative works of the software's source code. \S 3 addresses the matter of creation and distribution of binary versions. -Under \S 3, binary versions may be created and distributed under the +Under GPLv2\S 3, binary versions may be created and distributed under the terms of \S\S 1--2, so all the material previously discussed applies here. However, \S 3 must go a bit further. Access to the software's source code is an incontestable prerequisite for the exercise of the @@ -1350,7 +1354,7 @@ exercise her freedoms to modify and redistribute changes. Without the complete source, it would not be possible to make changes that were actually directly derived from the version received. -Furthermore, \S 3 is defending against a tactic that has in fact been +Furthermore, GPLv2\S 3 is defending against a tactic that has in fact been seen in FSF's GPL enforcement. Under GPL, if you pay a high price for a copy of GPL'd binaries (which comes with corresponding source, of course), you have the freedom to redistribute that work at any fee you @@ -1446,7 +1450,7 @@ those who receive the software from her can exercise their freedoms under GPL --- including the freedom to modify, rebuild, and redistribute the source code. -\S 3(c) is created to save her some trouble, because by itself \S 3(b) +GPLv2\S 3(c) is created to save her some trouble, because by itself \S 3(b) would unfairly favor large companies. \S 3(b) allows the separation of the binary software from the key tool that people can use to exercise their freedom. The GPL permits this separation because it is @@ -1460,7 +1464,7 @@ distribute binary software commercially. Without \S 3(c), that benefit would be at the detriment of the companies' customers; the burden of source code provision would be unfairly shifted to the companies' customers. A customer, who had received binaries with a \S 3(b)-compliant -offer, would be required under GPL (sans \S 3(c)) to acquire the source, +offer, would be required under GPLv2 (sans \S 3(c)) to acquire the source, merely to give a copy of the software to a friend who needed it. \S 3(c) reshifts this burden to entity who benefits from \S 3(b). @@ -1483,9 +1487,9 @@ only rarely a better option than complying via \S 3(a). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{The Implied Patent Grant in GPL} -We digress again briefly from our section-by-section consideration of GPL +We digress again briefly from our section-by-section consideration of GPLv2 to consider the interaction between the terms of GPL and patent law. The -GPL, despite being silent with respect to patents, actually confers on its +GPLv2, despite being silent with respect to patents, actually confers on its licensees more rights to a licensor's patents than those licenses that purport to address the issue. This is the case because patent law, under the doctrine of implied license, gives to each distributee of a patented @@ -1512,24 +1516,24 @@ restrictions placed on the licensee, but those differences are not likely to prevent the application of the implied license doctrine to Free Software, because software licensed under the GPL grants the licensee the right to make, use, and sell the software, each of which are exclusive -rights of a patent holder. Therefore, although the GPL does not expressly +rights of a patent holder. Therefore, although the GPLv2 does not expressly grant the licensee the right to do those things under any patents the licensor may have that cover the software or its reasonably contemplated -uses, by licensing the software under the GPL, the distributor impliedly -licenses those patents to the GPL licensee with respect to the GPL -licensed software. +uses, by licensing the software under the GPLv2, the distributor impliedly +licenses those patents to the GPLv2 licensee with respect to the GPLv2'd +software. -An interesting issue regarding this implied patent license of GPL'd +An interesting issue regarding this implied patent license of GPLv2'd software is what would be considered ``uses of the [software] to which the parties might reasonably contemplate the product will be put.'' A -clever advocate may argue that the implied license granted by GPL is +clever advocate may argue that the implied license granted by GPLv2 is larger in scope than the express license in other Free Software licenses with express patent grants, in that, the patent license clause of many of those licenses are specifically limited to the patent claims covered by the code as licensed by the patentee. -To the contrary, GPL's implied patent license grants the GPL licensee a -patent license to do much more than just that because the GPL licensee, +To the contrary, GPLv2's implied patent license grants the GPLv2 licensee a +patent license to do much more than just that because the GPLv2 licensee, under the doctrine of implied patent license, is free to practice any patent claims held by the licensor that cover ``reasonably contemplated uses'' of the GPL'd code, which may very well include creation and @@ -1546,11 +1550,11 @@ patented article, not just the direct recipient from the distributor. This theory comports well with the idea of Free Software, whereby software is distributed amongst many entities within the community for the purpose of constant evolution and improvement. In this way, the law of implied -patent license used by the GPL ensures that the community mutually +patent license used by the GPLv2 ensures that the community mutually benefits from the licensing of patents to any single community member. -Note that simply because GPL'd software has an implied patent license does -not mean that any patents held by a distributor of GPL'd code become +Note that simply because GPLv2'd software has an implied patent license does +not mean that any patents held by a distributor of GPLv2'd code become worthless. To the contrary, the patents are still valid and enforceable against either: @@ -1558,10 +1562,10 @@ against either: \renewcommand{\theenumi}{\alph{enumi}} \renewcommand{\labelenumi}{\textup{(\theenumi)}} -\item any software other than that licensed under the GPL by the patent +\item any software other than that licensed under the GPLv2 by the patent holder, and -\item any party that does not comply with the GPL +\item any party that does not comply with the GPLv2 with respect to the licensed software. \end{enumerate} @@ -1569,32 +1573,32 @@ with respect to the licensed software. \newcommand{\compA}{$\mathcal{A}$} For example, if Company \compA{} has a patent on advanced Web browsing, but -also licenses a Web browsing software program under the GPL, then it +also licenses a Web browsing software program under the GPLv2, then it cannot assert the patent against any party that takes a license to its -program under the GPL. However, if a party uses that program without -complying with the GPL, then Company \compA{} can assert, not just copyright -infringement claims against the non-GPL-compliant party, but also +program under the GPLv2. However, if a party uses that program without +complying with the GPLv2, then Company \compA{} can assert, not just copyright +infringement claims against the non-GPLv2-compliant party, but also infringement of the patent, because the implied patent license only -extends to use of the software in accordance with the GPL. Further, if +extends to use of the software in accordance with the GPLv2. Further, if Company \compB{} distributes a competitive advanced Web browsing program, Company \compA{} is free to assert its patent against any user or distributor of that product. It is irrelevant whether Company \compB's -program is distributed under the GPL, as Company \compB{} can not grant +program is distributed under the GPLv2, as Company \compB{} can not grant implied licenses to Company \compA's patent. This result also reassures companies that they need not fear losing their -proprietary value in patents to competitors through the GPL implied patent -license, as only those competitors who adopt and comply with the GPL's +proprietary value in patents to competitors through the GPLv2 implied patent +license, as only those competitors who adopt and comply with the GPLv2's terms can benefit from the implied patent license. To continue the example above, Company \compB{} does not receive a free ride on Company \compA's patent, as Company \compB{} has not licensed-in and then -redistributed Company A's advanced Web browser under the GPL. If Company +redistributed Company A's advanced Web browser under the GPLv2. If Company \compB{} does do that, however, Company \compA{} still has not lost competitive advantage against Company \compB{}, as Company \compB{} must then, when it re-distributes Company \compA's program, grant an implied license to any of its patents that cover the program. Further, if Company \compB{} relicenses an improved version of Company A's program, it must do so under -the GPL, meaning that any patents it holds that cover the improved version +the GPLv2, meaning that any patents it holds that cover the improved version are impliedly licensed to any licensee. As such, the only way Company \compB{} can benefit from Company \compA's implied patent license, is if it, itself, distributes Company \compA's software program and grants an @@ -1604,8 +1608,8 @@ implied patent license to any of its patents that cover that program. \chapter{Defending Freedom on Many Fronts} Chapters~\ref{run-and-verbatim} and ~\ref{source-and-binary} presented the -core freedom-defending provisions of GPL\@, which are in \S\S 0--3. \S\S -4--7 of the GPL are designed to ensure that \S\S 0--3 are not infringed, +core freedom-defending provisions of GPLv2\@, which are in \S\S 0--3. \S\S +4--7 of the GPLv2 are designed to ensure that \S\S 0--3 are not infringed, are enforceable, are kept to the confines of copyright law, and are not trumped by other copyright agreements or components of other entirely separate legal systems. In short, while \S\S 0--3 are the parts of the @@ -1613,10 +1617,10 @@ license that defend the freedoms of users and programmers, \S\S 4--7 are the parts of the license that keep the playing field clear so that \S\S 0--3 can do their jobs. -\section{GPL \S 4: Termination on Violation} +\section{GPLv2 \S 4: Termination on Violation} \label{GPLs4} -\S 4 is GPL's termination clause. Upon first examination, it seems +\S 4 is GPLv2's termination clause. Upon first examination, it seems strange that a license with the goal of defending users' and programmers' freedoms for perpetuity in an irrevocable way would have such a clause. However, upon further examination, the difference between irrevocability @@ -1631,8 +1635,8 @@ license is granted as long as the copyright remains in effect.\footnote{In nearly perpetual, even though the Constitution forbids perpetual copyright.} The copyright holder has the right to relicense the same work under different licenses (see Section~\ref{Proprietary Relicensing} -of this tutorial), or to stop distributing the GPL'd version (assuming \S -3(b) was never used), but she may not revoke the rights under GPL +of this tutorial), or to stop distributing the GPLv2'd version (assuming \S +3(b) was never used), but she may not revoke the rights under GPLv2 already granted. In fact, when an entity looses their right to copy, modify and distribute @@ -1648,7 +1652,7 @@ those other types (e.g., redistributing binary-only in violation of \S 3), then all rights under the license --- even those otherwise permitted for those who have not violated --- terminate automatically. -\S 4 gives GPL teeth. If licensees fail to adhere to the license, then +\S 4 gives GPLv2 teeth. If licensees fail to adhere to the license, then they are stuck. They must completely cease and desist from all copying, modification and distribution of that GPL'd software. @@ -1671,11 +1675,11 @@ license separately for a fee. While this practice is not one that FSF would ever consider undertaking or even endorsing, it is a legal way for copyright holders to proceed. -\section{GPL \S 5: Acceptance, Copyright Style} +\section{GPLv2 \S 5: Acceptance, Copyright Style} \label{GPLs5} \S 5 brings us to perhaps the most fundamental misconception and common -confusion about GPL\@. Because of the prevalence of proprietary software, +confusion about GPLv2\@. Because of the prevalence of proprietary software, most users, programmers, and lawyers alike tend to be more familiar with EULAs. EULAs are believed by their authors to be contracts, requiring formal agreement between the licensee and the software distributor to be @@ -1705,11 +1709,13 @@ terms begin to bind you to fair and equitable sharing of the software. In other words, the GPL only kicks in when it needs to for the sake of freedom. -\section{GPL \S 6: GPL, My One and Only} +\section{Using GPL Both as a Contract and Copyright License} + +\section{GPLv2 \S 6: GPL, My One and Only} \label{GPLs6} A point that was glossed over in Section~\ref{GPLs4}'s discussion of \S 4 -was the irrevocable nature of the GPL\@. The GPL is indeed irrevocable, +was the irrevocable nature of the GPL\@. The GPLv2 is indeed irrevocable, and it is made so formally by \S 6. The first sentence in \S 6 ensures that as software propagates down the @@ -1717,13 +1723,13 @@ distribution chain, that each licensor can pass along the license to each new licensee. Under \S 6, the act of distributing automatically grants a license from the original licensor to the next recipient. This creates a chain of grants that ensure that everyone in the distribution has rights -under the GPL\@. In a mathematical sense, this bounds the bottom --- +under the GPLv2\@. In a mathematical sense, this bounds the bottom --- making sure that future licensees get no fewer rights than the licensee before. The second sentence of \S 6 does the opposite; it bounds from the top. It prohibits any licensor along the distribution chain from placing additional restrictions on the user. In other words, no additional -requirements may trump the rights and freedoms given by GPL\@. +requirements may trump the rights and freedoms given by GPLv2\@. The final sentence of \S 6 makes it abundantly clear that no individual entity in the distribution chain is responsible for the compliance of any @@ -1735,7 +1741,7 @@ In short, \S 6 says that your license for the software is your one and only copyright license allowing you to copy, modify and distribute the software. -\section{GPL \S 7: ``Give Software Liberty or Give It Death!''} +\section{GPLv2 \S 7: ``Give Software Liberty or Give It Death!''} \label{GPLs7} In essence, \S 7 is a verbosely worded way of saying for non-copyright @@ -1757,13 +1763,13 @@ Thus, \S 7 rarely gives software death by stopping its distribution. Instead, it is inspiring patent holders to share their patents in the same freedom-defending way that they share their copyrighted works. -\section{GPL \S 8: Excluding Unfreedonia} +\section{GPLv2 \S 8: Excluding Problematic Jurisdictions} \label{GPLs8} \S 8 is rarely used by copyright holders. Its intention is that if a particular country, say Unfreedonia, grants particular patents or allows copyrighted interfaces (no country to our knowledge even permits those -yet), that the GPL'd software can continue in free and unabated +yet), that the GPLv2'd software can continue in free and unabated distribution in the countries where such controls do not exist. It is a partial ``out'' from \S 7. Without \S 8, if a copyright holder @@ -1778,11 +1784,11 @@ free without otherwise negating parts of the license. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Odds, Ends, and Absolutely No Warranty} -\S 0--7 constitute the freedom-defending terms of the GPL. The remainder -of the GPL handles administrivia and issues concerning warranties and +\S 0--7 constitute the freedom-defending terms of the GPLv2. The remainder +of the GPLv2 handles administrivia and issues concerning warranties and liability. -\section{GPL \S 9: FSF as Stewards of GPL} +\section{GPLv2 \S 9: FSF as Stewards of GPL} \label{GPLs9} FSF reserves the exclusive right to publish future versions of the GPL\@; @@ -1798,7 +1804,7 @@ long and engaging comment period. The goal of GPL is to defend freedom, and a gigantic community depends on that freedom now. FSF hopes to take all stakeholders' opinions under advisement. -\section{GPL \S 10: Relicensing Permitted} +\section{GPLv2 \S 10: Relicensing Permitted} \label{GPLs10} \S 10 reminds the licensee of what is already implied by the nature of @@ -1806,7 +1812,7 @@ copyright law. Namely, the copyright holder of a particular software program has the prerogative to grant alternative agreements under separate copyright licenses. -\section{GPL \S 11: No Warranty} +\section{GPLv2 \S 11: No Warranty} \label{GPLs11} All warranty disclaimer language tends to be shouted in all capital @@ -1827,7 +1833,7 @@ permissibility of certain warranty disclaimers. Finally, one important point to remember when reading \S 11 is that \S 1 permits the sale of warranty as an additional service, which \S 11 affirms. -\section{GPL, \S 12: Limitation of Liability} +\section{GPLv2 \S 12: Limitation of Liability} \label{GPLs12} There are many types of warranties, and in some jurisdictions some of them