diff --git a/gpl-lgpl.tex b/gpl-lgpl.tex index df9614e..0e480b7 100644 --- a/gpl-lgpl.tex +++ b/gpl-lgpl.tex @@ -324,8 +324,8 @@ law.\footnote{This statement is admittedly an oversimplification. Patents and restrictions make software proprietary.} Copyright law, with respect to software, typically governs copying, modifying, and redistributing that software (For details of this in the USA, see -\href{http://www.copyright.gov/title17/92chap1.html#106}{\S 106} and -\href{http://www.copyright.gov/title17/92chap1.html#117}{\S 117} of +\href{http://www.copyright.gov/title17/92chap1.html#106}{\S~106} and +\href{http://www.copyright.gov/title17/92chap1.html#117}{\S~117} of \href{http://www.law.cornell.edu/uscode/text/17}{Title 17} of the \textit{United States Code}).\footnote{Copyright law in general also governs ``public performance'' of copyrighted works. There is no generally agreed @@ -344,7 +344,7 @@ federal legislation. Software, since it is ``an 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'' (as stated in -\href{http://www.law.cornell.edu/uscode/text/17/102}{17 USC \S 102}), is thus +\href{http://www.law.cornell.edu/uscode/text/17/102}{17 USC \S~102}), is thus covered by the statues, and is copyrighted by default. However, software, in its natural state without copyright, is Free @@ -406,7 +406,7 @@ the passage of time. The best example of software known to be in the public domain is software that is published exclusively produced by the USA government. Under -\href{http://www.law.cornell.edu/uscode/text/17/105}{17 USC 101 \S 105}, all +\href{http://www.law.cornell.edu/uscode/text/17/105}{17 USC 101 \S~105}, all works published by the USA Government are not copyrightable. \subsection{Why Copyright Free Software?} @@ -813,18 +813,18 @@ worth noting below the three key changes that GPLv2 brought: \begin{itemize} \item Software patents and their danger are explicitly mentioned, inspiring - (in part) the addition of GPLv2\S\S5--7. (These sections are discussed in + (in part) the addition of GPLv2~\S\S5--7. (These sections are discussed in detail in \S~\ref{GPLv2s5}, \S~\ref{GPLv2s6} and \S~\ref{GPLv2s7} of this tutorial.) -\item GPLv2\S2's copyleft terms are expanded to more explicitly discuss the - issue of combined works. (GPLv2\S2 is discussed in detail in +\item GPLv2~\S2's copyleft terms are expanded to more explicitly discuss the + issue of combined works. (GPLv2~\S2 is discussed in detail in \S~\ref{GPLv2s2} in this tutorial). -\item GPLv2\S3 includes more detailed requirements, including the phrase +\item GPLv2~\S3 includes more detailed requirements, including the phrase ``the scripts used to control compilation and installation of the executable'', which is a central component of current GPLv2 enforcement - . (GPLv2\S3 is discussed in detail in + . (GPLv2~\S3 is discussed in detail in \S~\ref{GPLv2s3} in this tutorial). \end{itemize} @@ -968,15 +968,15 @@ 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{GPLv2 \S 0: Freedom to Run} +\section{GPLv2~\S0: Freedom to Run} \label{GPLv2s0} -\S 0, the opening section of GPLv2, sets forth that the copyright law governs +GPLv2~\S0, the opening section of GPLv2, sets forth that the copyright law governs the work. It specifically points out that it is the ``copyright holder'' who decides if a work is licensed under its terms and explains how the copyright holder might indicate this fact. -A bit more subtly, \S 0 makes an inference that copyright law is the only +A bit more subtly, GPLv2~\S0 makes an inference that copyright law is the only system that can restrict the software. Specifically, it states: \begin{quote} Activities other than copying, distribution and modification are not @@ -1015,11 +1015,11 @@ to run specifically by stating the following: \begin{quote} ''The act of running the Program is not restricted.'' \end{quote} -Thus, users are explicitly given the freedom to run by \S 0. +Thus, users are explicitly given the freedom to run by GPLv2~\S0. \medskip -The bulk of \S 0 not yet discussed gives definitions for other terms used +The bulk of GPLv2~\S0 not yet discussed gives definitions for other terms used throughout. The only one worth discussing in detail is ``work based on the Program''. The reason this definition is particularly interesting is not for the definition itself, which is rather straightforward, but @@ -1037,22 +1037,22 @@ 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{GPLv2 \S 1: Verbatim Copying} +\section{GPLv2~\S1: Verbatim Copying} \label{GPLv2s1} -GPLv2 \S 1 covers the matter of redistributing the source code of a program +GPLv2~\S1 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. -The phrase ``in any medium'' is important. This, for example, gives the +The phrase ``in any medium'' is important. This, for example, gives the freedom to publish a book that is the printed copy of the program's source -code. It also allows for changes in the medium of distribution. Some +code. It also allows for changes in the medium of distribution. Some vendors may ship Free Software on a CD, but others may place it right on -the hard drive of a pre-installed computer. Any such redistribution media +the hard drive of a pre-installed computer. Any such redistribution media is allowed. Preservation of copyright notice and license notifications are mentioned -specifically in \S 1. These are in some ways the most important part of +specifically in GPLv2~\S1. These are in some ways the most important part of the redistribution, which is why they are mentioned by name. The GPL always strives to make it abundantly clear to anyone who receives the software what its license is. The goal is to make sure users know their @@ -1071,8 +1071,8 @@ GPL requires redistributors to keep the disclaimer very visible. (See Sections~\ref{GPLv2s11} and~\ref{GPLv2s12} of this tutorial for more on GPL's warranty disclaimers.) -Note finally that \S 1 begins to set forth the important defense of -commercial freedom. \S 1 clearly states that in the case of verbatim +Note finally that GPLv2~\S1 begins to set forth the important defense of +commercial freedom. GPLv2~\S1 clearly states that in the case of verbatim copies, one may make money. Redistributors are fully permitted to charge for the redistribution of copies of Free Software. In addition, they may provide the warranty protection that the GPL disclaims as an additional @@ -1085,13 +1085,13 @@ 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 GPLv2\@. GPL, and Free +understand fully before considering GPLv2~\S\S2--3\@. 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 -applicable Free Software license. As much is required by \S 106 of the -Copyright Act, 17 U.S.C. \S 106 (2002), and admitted by Free Software -licenses, such as the GPL, which (as we have seen) states in \S 0 that ``a +applicable Free Software license. As much is required by \S~106 of the +Copyright Act, 17 U.S.C. \S~106 (2002), and admitted by Free Software +licenses, such as the GPL, which (as we have seen) states in GPLv2~\S0 that ``a `work based on the Program' means either the Program or any derivative work under copyright law.'' It is being a derivative work of Free Software that triggers the necessity to comply with the terms of the Free Software @@ -1144,7 +1144,7 @@ whole, represent an original work of authorship, is a ``derivative work.'' These are the only provisions in the Copyright Act relevant to the determination of what constitutes a derivative work of a computer program. Another provision of the Copyright Act that is also relevant to -the definition of derivative work is \S 102(b), which reads as follows: +the definition of derivative work is \S~102(b), which reads as follows: \begin{quotation} In no case does copyright protection for an original work of authorship @@ -1232,7 +1232,7 @@ determining which elements of a program are unprotectable, courts employ a myriad of rules and procedures to sift from a program all the portions that are not eligible for copyright protection. -First, as set forth in \S 102(b) of the Copyright Act, any and all ideas +First, as set forth in \S~102(b) of the Copyright Act, any and all ideas embodied in the program are to be denied copyright protection. However, implementing this rule is not as easy as it first appears. The courts readily recognize the intrinsic difficulty in distinguishing between ideas @@ -1338,7 +1338,7 @@ identical in order to be held a derivative work of an original, while The First Circuit expressly rejected the AFC test and, instead, takes a much narrower view of the meaning of derivative work for software. The -First Circuit holds that ``method of operation,'' as used in \S 102(b) of +First Circuit holds that ``method of operation,'' as used in \S~102(b) of the Copyright Act, refers to the means by which users operate computers. Lotus Development Corp. v. Borland Int’l., Inc., 49 F.3d 807 (1st Cir. 1995). More specifically, the court held that a menu command @@ -1349,7 +1349,7 @@ controlled. As a result, under the First Circuit’s test, literal copying of a menu command hierarchy, or any other ``method of operation,'' cannot form the basis for a determination that one work is a derivative of another. It is also reasonable to expect that the First Circuit will read -the unprotectable elements set forth in \S 102(b) broadly, and, as such, +the unprotectable elements set forth in \S~102(b) broadly, and, as such, promulgate a definition of derivative work that is much narrower than that which exists under the AFC test. @@ -1412,50 +1412,50 @@ 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 +software. These sections, GPLv2~\S\S2--3, define the central core rights and requirements of GPLv2\@. -\section{GPLv2 \S 2: Share and Share Alike} +\section{GPLv2~\S2: 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 +freedom along the distribution chain. GPLv2~\S2 is the only place in the GPL that governs the modification controls of copyright law. If someone -modifies a GPL'd program, she is bound in the making those changes by \S -2. The goal here is to ensure that the body of GPL'd software, as it +modifies a GPL'd program, she is bound in the making those changes by +GPLv2~\S2. The goal here is to ensure that the body of GPL'd software, as it continues and develops, remains Free as in freedom. -To achieve that goal, \S 2 first sets forth that the rights of +To achieve that goal, GPLv2~\S2 first sets forth that the rights of redistribution of modified versions are the same as those for verbatim -copying, as presented in \S 1. Therefore, the details of charging, -keeping copyright notices intact, and other \S 1 provisions are in tact +copying, as presented in GPLv2~\S1. Therefore, the details of charging, +keeping copyright notices intact, and other GPLv2~\S1 provisions are in tact here as well. However, there are three additional requirements. -The first (\S 2(a)) requires that modified files carry ``prominent +The first (GPLv2~\S2(a)) requires that modified files carry ``prominent notices'' explaining what changes were made and the date of such changes. The goal here is not to put forward some specific way of marking changes nor controlling the process of how changes get made. -Primarily, \S 2(a) seeks to ensure that those receiving modified +Primarily, GPLv2~\S2(a) seeks to ensure that those receiving modified versions know the history of changes to the software. For some users, it is important to know that they are using the standard version of program, because while there are many advantages to using a fork, there are a few disadvantages. Users should be informed about the historical context of the software version they use, so that they can -make proper support choices. Finally, \S 2(a) serves an academic +make proper support choices. Finally, GPLv2~\S2(a) serves an academic purpose --- ensuring that future developers can use a diachronic approach to understand the software. \medskip -The second requirement (\S 2(b)) contains the four short lines that embody +The second requirement (GPLv2~\S2(b)) contains the four short lines that embody the legal details of ``share and share alike.'' These 46 words are -considered by some to be the most worthy of careful scrutiny because \S -2(b) can be a source of great confusion when not properly understood. +considered by some to be the most worthy of careful scrutiny because GPLv2~\S2(b) +can be a source of great confusion when not properly understood. -In considering \S 2(b), first note the qualifier: it only applies to +In considering GPLv2~\S2(b), first note the qualifier: it only applies to derivative works that ``you distribute or publish.'' Despite years of education efforts by FSF on this matter, many still believe that modifiers of GPL'd software are required by the license to publish or otherwise -share their changes. On the contrary, \S 2(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, personal, unshared changes to software for personal use only should be protected and defended.\footnote{FSF does maintain that there is an {\bf @@ -1464,19 +1464,19 @@ protected and defended.\footnote{FSF does maintain that there is an {\bf is a clear distinction between what one {\bf ought} to do and what one {\bf must} do.} -Next, we again encounter the same matter that appears in \S 0, in the +Next, we again encounter the same matter that appears in GPLv2~\S0, in the following text: \begin{quote} ``...that in whole or part contains or is derived from the Program or any part thereof.'' \end{quote} Again, the GPL relies here on what the copyright law says is a derivative work. If, under copyright law, the modified version ``contains or is -derived from'' the GPL'd software, then the requirements of \S 2(b) +derived from'' the GPL'd software, then the requirements of GPLv2~\S2(b) apply. The GPL invokes its control as a copyright license over the modification of the work in combination with its control over distribution of the work. -The final clause of \S 2(b) describes what the licensee must do if she is +The final clause of GPLv2~\S2(b) describes what the licensee must do if she is distributing or publishing a work that is deemed a derivative work under copyright law --- namely, the following: \begin{quote} @@ -1487,7 +1487,7 @@ That is probably the most tightly-packed phrase in all of the GPL\@. Consider each subpart carefully. The work ``as a whole'' is what is to be licensed. This is an important -point that \S 2 spends an entire paragraph explaining; thus this phrase is +point that GPLv2~\S2 spends an entire paragraph explaining; thus this phrase is worthy of a lengthy discussion here. As a programmer modifies a software program, she generates new copyrighted material --- fixing expressions of ideas into the tangible medium of electronic file storage. That @@ -1512,7 +1512,7 @@ that is the combination of the two (called \gplusi{}). The copyright of this combined work, \gplusi{}, is held by the original copyright holder of each of the two works. -In this case, \S 2 lays out the terms by which \gplusi{} may be +In this case, GPLv2~\S2 lays out the terms by which \gplusi{} may be distributed and copied. By default, under copyright law, the copyright holder of \worki{} would not have been permitted to distribute \gplusi{}; copyright law forbids it without the expressed permission of the copyright @@ -1528,11 +1528,11 @@ say that this restriction is any way unreasonable is simply ludicrous. \medskip -The next phrase of note in \S 2(b) is ``licensed...at no charge.'' +The next phrase of note in GPLv2~\S2(b) is ``licensed...at no charge.'' This is a source of great confusion to many. Not a month goes by that FSF does not receive an email that claims to point out ``a -contradiction in GPL'' because \S 2 says that redistributors cannot -charge for modified versions of GPL'd software, but \S 1 says that +contradiction in GPL'' because GPLv2~\S2 says that redistributors cannot +charge for modified versions of GPL'd software, but GPLv2~\S1 says that they can. The ``at no charge'' does not prohibit redistributors from charging when performing the acts governed by copyright law,\footnote{Recall that you could by default charge for any acts not @@ -1544,27 +1544,27 @@ performing the modifications on contract or the act of transferring the copy to the customer, but they may not charge a separate licensing fee for the software. -\S 2(b) further states that the software must ``be licensed...to all +GPLv2~\S2(b) further states that the software must ``be licensed...to all third parties.'' This too has led to some confusions, and feeds the misconception mentioned earlier --- that all modified versions must made available to the public at large. However, the text here does not say that. Instead, it says that the licensing under terms of the GPL must extend to anyone who might, through the distribution chain, receive a copy of the software. Distribution to all third parties is not mandated here, -but \S 2(b) does require redistributors to license the derivative works in +but GPLv2~\S2(b) does require redistributors to license the derivative works in a way that extends to all third parties who may ultimately receive a copy of the software. -In summary, \S 2(b) says what terms under which the third parties must +In summary, GPLv2\ 2(b) says what terms under which the third parties must receive this no-charge license. Namely, they receive it ``under the terms of this License,'' the GPL. When an entity \emph{chooses} to redistribute a derivative work of GPL'd software, the license of that whole derivative -work must be GPL and only GPL\@. In this manner, \S 2(b) dovetails nicely -with \S 6 (as discussed in Section~\ref{GPLv2s6} of this tutorial). +work must be GPL and only GPL\@. In this manner, GPLv2~\S2(b) dovetails nicely +with GPLv2~\S6 (as discussed in Section~\ref{GPLv2s6} of this tutorial). \medskip -The final paragraph of \S 2 is worth special mention. It is possible and +The final paragraph of GPLv2~\S2 is worth special mention. It is possible and quite common to aggregate various software programs together on one distribution medium. Computer manufacturers do this when they ship a pre-installed hard drive, and GNU/Linux distribution vendors do this to @@ -1580,7 +1580,7 @@ software alongside proprietary software or other unrelated Free Software, as long as the terms of GPL are adhered to for those packages that are truly GPL'd. -\section{GPLv2 \S 3: Producing Binaries} +\section{GPLv2~\S3: Producing Binaries} \label{GPL-Section-3} % FIXME: need name of a novelist who writes very obscurely and obliquely. @@ -1612,33 +1612,33 @@ generation of binaries. Furthermore, notwithstanding the relative popularity of source-based GNU/Linux distributions like Gentoo, users find it extremely convenient to receive distribution of binary software. Such distribution is the redistribution of derivative works of the software's -source code. \S 3 addresses the matter of creation and distribution of +source code. GPLv2~\S3 addresses the matter of creation and distribution of binary versions. -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 +Under GPLv2~\S3, binary versions may be created and distributed under the +terms of GPLv2~\S1--2, so all the material previously discussed applies +here. However, GPLv2~\S3 must go a bit further. Access to the software's source code is an incontestable prerequisite for the exercise of the fundamental freedoms to modify and improve the software. Making even the most trivial changes to a software program at the binary level is -effectively impossible. \S 3 must ensure that the binaries are never +effectively impossible. GPLv2~\S3 must ensure that the binaries are never distributed without the source code, so that these freedoms are passed through the distribution chain. -\S 3 permits distribution of binaries, and then offers three options for +GPLv2~\S3 permits distribution of binaries, and then offers three options for distribution of source code along with binaries. The most common and the -least complicated is the option given under \S 3(a). +least complicated is the option given under GPLv2~\S3(a). -\S 3(a) offers the option to directly accompany the source code alongside +GPLv2~\S3(a) offers the option to directly accompany the source code alongside the distribution of the binaries. This is by far the most convenient option for most distributors, because it means that the source-code provision obligations are fully completed at the time of binary distribution (more on that later). -Under \S 3(a), the source code provided must be the ``corresponding source +Under GPLv2~\S3(a), the source code provided must be the ``corresponding source code.'' Here ``corresponding'' primarily means that the source code provided must be that code used to produce the binaries being distributed. -That source code must also be ``complete.'' A later paragraph of \S 3 +That source code must also be ``complete.'' A later paragraph of GPLv2~\S3 explains in detail what is meant by ``complete.'' In essence, it is all the material that a programmer of average skill would need to actually use the source code to produce the binaries she has received. Complete source @@ -1647,7 +1647,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, GPLv2\S 3 is defending against a tactic that has in fact been +Furthermore, GPLv2~\S3 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 @@ -1656,7 +1656,7 @@ cozenage whereby they produce very specialized binaries (perhaps for an obscure architecture). They then give source code that does correspond, but withhold the ``incantations'' and build plans they used to make that source compile into the specialized binaries. -Therefore, \S 3 requires that the source code include ``meta-material'' like +Therefore, GPLv2~\S3 requires that the source code include ``meta-material'' like scripts, interface definitions, and other material that is used to ``control compilation and installation'' of the binaries. In this manner, those further down the distribution chain are assured that @@ -1671,7 +1671,7 @@ binaries on the machine itself might not be an option. While it is recommended that this be the default way that people comply with GPL, the GPL does provide options when such distribution is infeasible. -\S 3, 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 phrase covers a broad spectrum. At best, FSF can viably release a new GPL every ten years or so. Thus, phrases like this must be adaptive to @@ -1695,25 +1695,25 @@ providing source on the Internet --- while it is a kind, friendly and useful thing to do --- is not usually sufficient. Note, however, a major exception to this rule, given by the last paragraph -of \S 3. \emph{If} distribution of the binary files is made only on the +of GPLv2~\S3. \emph{If} distribution of the binary files is made only on the Internet (i.e., ``from a designated place''), \emph{then} simply providing the source code right alongside the binaries in the same place is -sufficient to comply with \S 3. +sufficient to comply with GPLv2~\S3. \medskip -As is shown above, Under \S 3(a), embedded manufacturers can put the +As is shown above, Under GPLv2~\S3(a), embedded manufacturers can put the binaries on the device and ship the source code along on a CD\@. However, sometimes this turns out to be too costly. Including a CD with every device could prove too costly, and may practically (although not legally) prohibit using GPL'd software. For this situation and others like it, \S 3(b) is available. -\S 3(b) allows a distributor of binaries to instead provide a written +GPLv2~\S3(b) allows a distributor of binaries to instead provide a written offer for source code alongside those binaries. This is useful in two specific ways. First, it may turn out that most users do not request the source, and thus the cost of producing the CDs is saved --- a financial -and environmental windfall. In addition, along with a \S 3(b) compliant +and environmental windfall. In addition, along with a GPLv2~\S3(b) compliant offer for source, a binary distributor might choose to \emph{also} give a URL for source code. Many who would otherwise need a CD with source might turn out to have those coveted high bandwidth connections, and are able to @@ -1721,10 +1721,10 @@ download the source instead --- again yielding environmental and financial windfalls. However, note that regardless of how many users prefer to get the -source online, \S 3(b) does place lasting long-term obligations on the +source online, GPLv2~\S3(b) does place lasting long-term obligations on the binary distributor. The binary distributor must be prepared to honor that offer for source for three years and ship it out (just as they -would have had to do under \S 3(a)) at a moment's notice when they +would have had to do under GPLv2~\S3(a)) at a moment's notice when they receive such a request. There is real organizational cost here: support engineers must be trained how to route source requests, and source CD images for every release version for the last three years @@ -1735,7 +1735,7 @@ for ``any third party.'' That phrase is another place where some get confused --- thinking again that full public distribution of source is required. The offer for source must be valid for ``any third party'' because of the freedoms of -redistribution granted by \S\S 1--2. A company may ship a binary image +redistribution granted by GPLv2~\S\S1--2. A company may ship a binary image and an offer for source to only one customer. However, under GPL, that customer has the right to redistribute that software to the world if she likes. When she does, that customer has an obligation to make sure that @@ -1743,8 +1743,8 @@ those who receive the software from her can exercise their freedoms under GPL --- including the freedom to modify, rebuild, and redistribute the source code. -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 +GPLv2~\S3(c) is created to save her some trouble, because by itself GPLv2~\S3(b) +would unfairly favor large companies. GPLv2~\S3(b) allows the separation of the binary software from the key tool that people can use to exercise their freedom. The GPL permits this separation because it is good for redistributors, and those users who turn out not to need the @@ -1752,30 +1752,30 @@ source. However, to ensure equal rights for all software users, anyone along the distribution chain must have the right to get the source and exercise those freedoms that require it. -Meanwhile, \S 3(b)'s compromise primarily benefits companies who -distribute binary software commercially. Without \S 3(c), that benefit +Meanwhile, GPLv2~\S3(b)'s compromise primarily benefits companies who +distribute binary software commercially. Without GPLv2~\S3(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 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). +customers. A customer, who had received binaries with a GPLv2~\S3(b)-compliant +offer, would be required under GPLv2 (sans GPLv2~\S3(c)) to acquire the source, +merely to give a copy of the software to a friend who needed it. GPLv2~\S3(c) +reshifts this burden to entity who benefits from GPLv2~\S3(b). -\S 3(c) allows those who undertake \emph{noncommercial} distribution to -simply pass along a \S 3(b)-compliant source code offer. The customer who +GPLv2~\S3(c) allows those who undertake \emph{noncommercial} distribution to +simply pass along a GPLv2~\S3(b)-compliant source code offer. The customer who wishes to give a copy to her friend can now do so without provisioning the source, as long as she gives that offer to her friend. By contrast, if she wanted to go into business for herself selling CDs of that software, -she would have to acquire the source and either comply via \S 3(a), or -write her own \S 3(b)-compliant source offer. +she would have to acquire the source and either comply via GPLv2~\S3(a), or +write her own GPLv2~\S3(b)-compliant source offer. -This process is precisely the reason why a \S 3(b) source offer must be +This process is precisely the reason why a GPLv2~\S3(b) source offer must be valid for all third parties. At the time the offer is made, there is no way of knowing who might end up noncommercially receiving a copy of the -software. Companies who choose to comply via \S 3(b) must thus be +software. Companies who choose to comply via GPLv2~\S3(b) must thus be prepared to honor all incoming source code requests. For this and the -many other additional necessary complications under \S\S 3(b--c), it is -only rarely a better option than complying via \S 3(a). +many other additional necessary complications under GPLv2~\S\S3(b--c), it is +only rarely a better option than complying via GPLv2~\S3(a). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{GPL's Implied Patent Grant} @@ -1902,19 +1902,19 @@ 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 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, +core freedom-defending provisions of GPLv2\@, which are in GPLv2~\S\S0--3. \S\S +4--7 of the GPLv2 are designed to ensure that GPLv2~\S\S0--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 -license that defend the freedoms of users and programmers, \S\S 4--7 are +separate legal systems. In short, while GPLv2~\S\S0--3 are the parts of the +license that defend the freedoms of users and programmers, GPLv2~\S\S4--7 are the parts of the license that keep the playing field clear so that \S\S 0--3 can do their jobs. -\section{GPLv2 \S 4: Termination on Violation} +\section{GPLv2~\S4: Termination on Violation} \label{GPLv2s4} -\S 4 is GPLv2's termination clause. Upon first examination, it seems +GPLv2~\S4 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 @@ -1935,18 +1935,18 @@ already granted. In fact, when an entity looses their right to copy, modify and distribute GPL'd software, it is because of their \emph{own actions}, not that of -the copyright holder. The copyright holder does not decided when \S 4 +the copyright holder. The copyright holder does not decided when GPLv2~\S4 termination occurs (if ever), the actions of the licensee does. Under copyright law, the GPL has granted various rights and freedoms to the licensee to perform specific types of copying, modification, and redistribution. By default, all other types of copying, modification, and -redistribution are prohibited. \S 4 says that if you undertake any of -those other types (e.g., redistributing binary-only in violation of \S 3), +redistribution are prohibited. GPLv2~\S4 says that if you undertake any of +those other types (e.g., redistributing binary-only in violation of GPLv2~\S3), then all rights under the license --- even those otherwise permitted for those who have not violated --- terminate automatically. -\S 4 gives GPLv2 teeth. If licensees fail to adhere to the license, then +GPLv2~\S4 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. @@ -1969,10 +1969,10 @@ 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{GPLv2 \S 5: Acceptance, Copyright Style} +\section{GPLv2~\S5: Acceptance, Copyright Style} \label{GPLv2s5} -\S 5 brings us to perhaps the most fundamental misconception and common +GPLv2~\S5 brings us to perhaps the most fundamental misconception and common 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 @@ -1993,7 +1993,7 @@ you would have otherwise been prohibited without your license under GPL\@. This is a certainly subtle point, and requires a mindset quite different from the contractual approach taken by EULA authors. -An interesting side benefit to \S 5 is that the bulk of users of Free +An interesting side benefit to GPLv2~\S5 is that the bulk of users of Free Software are not required to accept the license. Undertaking fair and unregulated use of the work, for example, does not bind you to the GPL, since you are not engaging in activity that is otherwise controlled by @@ -2005,41 +2005,41 @@ freedom. \section{Using GPL Both as a Contract and Copyright License} -\section{GPLv2 \S 6: GPL, My One and Only} +\section{GPLv2~\S6: GPL, My One and Only} \label{GPLv2s6} -A point that was glossed over in Section~\ref{GPLv2s4}'s discussion of \S 4 +A point that was glossed over in Section~\ref{GPLv2s4}'s discussion of GPLv2~\S4 was the irrevocable nature of the GPL\@. The GPLv2 is indeed irrevocable, -and it is made so formally by \S 6. +and it is made so formally by GPLv2~\S6. -The first sentence in \S 6 ensures that as software propagates down the +The first sentence in GPLv2~\S6 ensures that as software propagates down the distribution chain, that each licensor can pass along the license to each -new licensee. Under \S 6, the act of distributing automatically grants a +new licensee. Under GPLv2~\S6, 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 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 +The second sentence of GPLv2~\S6 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 GPLv2\@. -The final sentence of \S 6 makes it abundantly clear that no individual +The final sentence of GPLv2~\S6 makes it abundantly clear that no individual entity in the distribution chain is responsible for the compliance of any other. This is particularly important for noncommercial users who have -passed along a source offer under \S 3(c), as they cannot be assured that -the issuer of the offer will honor their \S 3 obligations. +passed along a source offer under GPLv2~\S3(c), as they cannot be assured that +the issuer of the offer will honor their GPLv2~\S3 obligations. -In short, \S 6 says that your license for the software is your one and +In short, GPLv2~\S6 says that your license for the software is your one and only copyright license allowing you to copy, modify and distribute the software. -\section{GPLv2 \S 7: ``Give Software Liberty or Give It Death!''} +\section{GPLv2~\S7: ``Give Software Liberty or Give It Death!''} \label{GPLv2s7} -In essence, \S 7 is a verbosely worded way of saying for non-copyright -systems what \S 6 says for copyright. If there exists any reason that a +In essence, GPLv2~\S7 is a verbosely worded way of saying for non-copyright +systems what GPLv2~\S6 says for copyright. If there exists any reason that a distributor knows of that would prohibit later licensees from exercising their full rights under GPL, then distribution is prohibited. @@ -2053,40 +2053,40 @@ patents, or grant a royalty-free, irrevocable, non-exclusive license to those patents. Many companies, including IBM, the largest patent holder in the world, have chosen the latter. -Thus, \S 7 rarely gives software death by stopping its distribution. +Thus, GPLv2~\S7 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{GPLv2 \S 8: Excluding Problematic Jurisdictions} +\section{GPLv2~\S8: Excluding Problematic Jurisdictions} \label{GPLv2s8} -\S 8 is rarely used by copyright holders. Its intention is that if a +GPLv2~\S8 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 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 +It is a partial ``out'' from GPLv2~\S7. Without GPLv2~\S8, if a copyright holder knew of a patent in a particular country licensed in a GPL-incompatible way, then she could not distribute under GPL, because the work could legitimately end up in the hands of citizens of Unfreedonia. It is an inevitable but sad reality that some countries are freer than -others. \S 8 exists to permit distribution in those countries that are +others. GPLv2~\S8 exists to permit distribution in those countries that are 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 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 liability. -\section{GPLv2 \S 9: FSF as Stewards of GPL} +\section{GPLv2~\S9: FSF as Stewards of GPL} \label{GPLv2s9} FSF reserves the exclusive right to publish future versions of the GPL\@; -\S 9 expresses this. While the stewardship of the copyrights on the body +GPLv2~\S9 expresses this. While the stewardship of the copyrights on the body of GPL'd software around the world is shared among thousands of individuals and organizations, the license itself needs a single steward. Forking of the code is often regrettable but basically innocuous. Forking @@ -2098,15 +2098,15 @@ 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{GPLv2 \S 10: Relicensing Permitted} +\section{GPLv2~\S10: Relicensing Permitted} \label{GPLv2s10} -\S 10 reminds the licensee of what is already implied by the nature of +GPLv2~\S10 reminds the licensee of what is already implied by the nature of copyright law. Namely, the copyright holder of a particular software program has the prerogative to grant alternative agreements under separate copyright licenses. -\section{GPLv2 \S 11: No Warranty} +\section{GPLv2~\S11: No Warranty} \label{GPLv2s11} All warranty disclaimer language tends to be shouted in all capital @@ -2117,32 +2117,32 @@ started placing it in bold or capitalizing the entire text. It now seems to be voodoo tradition of warranty disclaimer writing. Some have argued the GPL is unenforceable in some jurisdictions because -its disclaimer of warranties is impermissibly broad. However, \S 11 +its disclaimer of warranties is impermissibly broad. However, GPLv2~\S11 contains a jurisdictional savings provision, which states that it is to be interpreted only as broadly as allowed by applicable law. Such a provision ensures that both it, and the entire GPL, is enforceable in any jurisdiction, regardless of any particular law regarding the 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. +Finally, one important point to remember when reading GPLv2~\S11 is that GPLv2~\S1 +permits the sale of warranty as an additional service, which GPLv2~\S11 affirms. -\section{GPLv2 \S 12: Limitation of Liability} +\section{GPLv2~\S12: Limitation of Liability} \label{GPLv2s12} There are many types of warranties, and in some jurisdictions some of them cannot be disclaimed. Therefore, usually agreements will have both a -warranty disclaimer and a limitation of liability, as we have in \S 12. \S +warranty disclaimer and a limitation of liability, as we have in GPLv2~\S12. \S 11 thus gets rid of all implied warranties that can legally be -disavowed. \S 12, in turn, limits the liability of the actor for any +disavowed. GPLv2~\S12, in turn, limits the liability of the actor for any warranties that cannot legally be disclaimed in a particular jurisdiction. Again, some have argued the GPL is unenforceable in some jurisdictions because its limitation of liability is impermissibly broad. However, \S -12, just like its sister, \S 11, contains a jurisdictional savings +12, just like its sister, GPLv2~\S11, contains a jurisdictional savings provision, which states that it is to be interpreted only as broadly as allowed by applicable law. As stated above, such a provision ensures that -both \S 12, and the entire GPL, is enforceable in any jurisdiction, +both GPLv2~\S12, and the entire GPL, is enforceable in any jurisdiction, regardless of any particular law regarding the permissibility of limiting liability. @@ -2154,40 +2154,40 @@ So end the terms and conditions of the GNU General Public License. \section{Understanding GPLv3 As An Upgraded GPLv2} -\section{GPLv3 \S 0: Giving In On ``Defined Terms''} +\section{GPLv3~\S0: Giving In On ``Defined Terms''} -\section{GPLv3 \S 1: Understanding CCS} +\section{GPLv3~\S1: Understanding CCS} -\section{GPLv3 \S 2: Basic Permissions} +\section{GPLv3~\S2: Basic Permissions} -\section{GPLv3 \S 3: What Hath DMCA Wrought} +\section{GPLv3~\S3: What Hath DMCA Wrought} \label{GPLv3s3} -\section{GPLv3 \S 4: Verbatim Copying} +\section{GPLv3~\S4: Verbatim Copying} -\section{GPLv3 \S 5: Modified Source} +\section{GPLv3~\S5: Modified Source} -\section{GPLv3 \S 6: Non-Source and Corresponding Source} +\section{GPLv3~\S6: Non-Source and Corresponding Source} \section{Understanding License Compatibility} \label{license-compatibility} -\section{GPLv3 \S 7: Explicit Compatibility} +\section{GPLv3~\S7: Explicit Compatibility} -\section{GPLv3 \S 8: A Lighter Termination} +\section{GPLv3~\S8: A Lighter Termination} -\section{GPLv3 \S 9: Acceptance} +\section{GPLv3~\S9: Acceptance} -\section{GPLv3 \S 10: Explicit Downstream License} +\section{GPLv3~\S10: Explicit Downstream License} -\section{GPLv3 \S 11: Explicit Patent Licensing} +\section{GPLv3~\S11: Explicit Patent Licensing} \label{GPLv3s11} -\section{GPLv3 \S 12: Familiar as GPLv2 \S 7} +\section{GPLv3~\S12: Familiar as GPLv2 \S 7} -\section{GPLv3 \S 13: The Great Affero Compromise} +\section{GPLv3~\S13: The Great Affero Compromise} -\section{GPLv3 \S 14: So, When's GPLv4?} +\section{GPLv3~\S14: So, When's GPLv4?} \label{GPlv2s14} -\section{GPLv3 \S 15--17: Warranty Disclaimers and Liability Limitation} +\section{GPLv3~\S15--17: Warranty Disclaimers and Liability Limitation} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -2293,40 +2293,40 @@ discussion of the LGPL, we will first eliminate the sections that are identical, or that have the minor modification changing the word ``Program'' to ``Library.'' -First, \S 1 of LGPL, the rules for verbatim copying of source, are -equivalent to those in GPL's \S 1. +First, LGPLv2.1~\S1, the rules for verbatim copying of source, are +equivalent to those in GPLv2~\S1. -Second, \S 8 of LGPL is equivalent \S 4 of GPL\@. In both licenses, this +Second, LGPLv2.1~\S8 is equivalent GPLv2~\S4\@. In both licenses, this section handles termination in precisely the same manner. -\S 9 in LGPL is equivalent to \S 5 in GPL\@. Both sections assert that +LGPLv2.1~\S9 is equivalent to GPLv2~\S5\@. Both sections assert that the license is a copyright license, and handle the acceptance of those copyright terms. -LGPL's \S 10 is equivalent to GPL's \S 6. They both protect the +LGPLv2.1~\S10 is equivalent to GPLv2~\S6. They both protect the distribution system of Free Software under these licenses, to ensure that up, down, and throughout the distribution chain, each recipient of the software receives identical rights under the license and no other restrictions are imposed. -LGPL's \S 11 is GPL's \S 7. As discussed, it is used to ensure that +LGPLv2.1~\S11 is GPLv2~\S7. As discussed, it is used to ensure that other claims and legal realities, such as patent licenses and court judgments, do not trump the rights and permissions granted by these licenses, and requires that distribution be halted if such a trump is known to exist. -LGPL's \S 12 adds the same features as GPL's \S 8. These sections are +LGPLv2.1~\S12 adds the same features as GPLv2~\S8. These sections are used to allow original copyright holders to forbid distribution in countries with draconian laws that would otherwise contradict these licenses. -LGPL's \S 13 sets up FSF as the steward of the LGPL, just as GPL's \S 9 -does for GPL. Meanwhile, LGPL's \S 14 reminds licensees that copyright -holders can grant exceptions to the terms of LGPL, just as GPL's \S 10 +LGPLv2.1~\S13 sets up FSF as the steward of the LGPL, just as GPLv2~\S9 +does for GPL. Meanwhile, LGPLv2.1~\S14 reminds licensees that copyright +holders can grant exceptions to the terms of LGPL, just as GPLv2~\S10 reminds licensees of the same thing. Finally, the assertions of no warranty and limitations of liability are -identical; thus LGPL's \S 15 and \S 16 are the same as GPL's \S 11 and \S +identical; thus LGPLv2.1~\S15 and LGPLv2.1~\S16 are the same as GPLv2~\S11 and \S 12. As we see, the entire latter half of the license is identical. @@ -2397,16 +2397,16 @@ others, LGPL distinguishes between two classes of derivative works: ``works based on the library,'' and ``works that use the library.'' The distinction is drawn on the bright line of binary (or runtime) derivative works and source code derivatives. We will first consider the definition -of a ``work that uses the library,'' which is set forth in LGPL \S 5. +of a ``work that uses the library,'' which is set forth in LGPLv2.1~\S5. -We noted in our discussion of GPL \S 3 (discussed in +We noted in our discussion of GPLv2~\S3 (discussed in Section~\ref{GPL-Section-3} of this document) that binary programs when compiled and linked with GPL'd software are derivative works of that GPL'd software. This includes both linking that happens at compile-time (when the binary is created) or at runtime (when the binary -- including library and main program both -- is loaded into memory by the user). In GPL, -binary derivative works are controlled by the terms of the license (in GPL -\S 3), and distributors of such binary derivatives must release full +binary derivative works are controlled by the terms of the license (in GPLv2~\S3), +and distributors of such binary derivatives must release full corresponding source\@. In the case of LGPL, these are precisely the types of derivative works @@ -2438,26 +2438,26 @@ the library,'' works as follows: \end{itemize} -We will talk about the specific restrictions LGPL places on ``works +We will talk about the specific restrictions LGPLv2.1 places on ``works that use the library'' in detail in Section~\ref{lgpl-section-6}. For -now, focus on the logic related to how the LGPL places requirements on +now, focus on the logic related to how the LGPLv2.1 places requirements on the license of \lplusi{}. Note, first of all, the similarity between this explanation and that in Section~\ref{separate-and-independent}, which discussed the combination of otherwise separate and independent -works with GPL'd code. Effectively, what LGPL does is say that when a +works with GPL'd code. Effectively, what LGPLv2.1 does is say that when a new work is otherwise separate and independent, but has interface calls out to an LGPL'd library, then it is considered a ``work that uses the library.'' -In addition, the only reason that LGPL has any control over the licensing +In addition, the only reason that LGPLv2.1 has any control over the licensing of a ``work that uses the library'' is for the same reason that GPL has some say over separate and independent works. Namely, such controls exist because the {\em binary combination\/} (\lplusi{}) that must be created to make the separate work (\worki{}) at all useful is a derivative work of -the LGPL'd software (\workl{}). +the LGPLv2.1'd software (\workl{}). Thus, a two-question test that will help indicate if a particular work is -a ``work that uses the library'' under LGPL is as follows: +a ``work that uses the library'' under LGPLv2.1 is as follows: \begin{enumerate} @@ -2511,7 +2511,7 @@ have a ``work based on the library.'' If the answer is ``no'' to the first but ``yes'' to the second, you are in a gray area between ``work based on the library'' and a ``work that uses the library.'' -In our years of work with the LGPL, however, we have never seen a work +In our years of work with the LGPLv2.1, however, we have never seen a work of software that was not clearly one or the other; the line is quite bright. At times, though, we have seen cases where a derivative work appeared in some ways to be a work that used the library and in other @@ -2521,7 +2521,7 @@ what we actually had were three distinct components: the original LGPL'd work, a specific set of works that used that library, and a specific set of works that were based on the library. Once such distinctions are established, the licensing for each component can be -considered independently and the LGPL applied to each work as +considered independently and the LGPLv2.1 applied to each work as prescribed. @@ -2529,10 +2529,10 @@ prescribed. In our discussion of the definition of ``works that use the library,'' we left out a few more complex details that relate to lower-level programming -details. The fourth paragraph of LGPL's \S 5 covers these complexities, +details. The fourth paragraph of LGPLv2.1~\S5 covers these complexities, and it has been a source of great confusion. Part of the confusion comes because a deep understanding of how compiler programs work is nearly -mandatory to grasp the subtle nature of what \S 5, \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 the license only so that when such a border case is hit, the implications of using LGPL continue in the expected way. @@ -2562,7 +2562,7 @@ linking of the executable occurred. However, when the compiler does this efficiency optimization, at the intermediate object code step, a derivative work is created. -LGPL's \S 5, \P 4 is designed to handle this specific case. The intent of +LGPLv2.1~\S5\P4 is designed to handle this specific case. The intent of the license is clearly that simply compiling software to ``make use'' of the library does not in itself cause the compiled work to be a ``work based on the library.'' However, since the compiler copies verbatim, @@ -2570,7 +2570,7 @@ copyrighted portions of the library into the object code for the otherwise separate and independent work, it would actually cause that object file to be a ``work based on the library.'' It is not FSF's intent that a mere compilation idiosyncrasy would change the requirements on the users of the -LGPL'd software. This paragraph removes that restriction, allowing the +LGPLv2.1'd software. This paragraph removes that restriction, allowing the implications of the license to be the same regardless of the specific mechanisms the compiler uses underneath to create the ``work that uses the library.'' @@ -2581,30 +2581,30 @@ idiosyncrasy, because that particular vendor wanted to ship object code this edge condition. The intent of clarifying this edge condition is primarily to quell the worries of software engineers who understand the level of verbatim code copying that a compiler often does, and to help -them understand that the full implications of LGPL are the same regardless +them understand that the full implications of LGPLv2.1 are the same regardless of the details of the compilation progress. -\section{LGPLv2 \S 6 \& LGPLv3 \S 5: Combining the Works} +\section{LGPLv2.1~\S6 \& LGPLv2.1~\S5: Combining the Works} \label{lgpl-section-6} Now that we have established a good working definition of works that ``use'' and works that ``are based on'' the library, we will consider the rules for distributing these two different works. The rules for distributing ``works that use the library'' are covered in -\S 6 of LGPL\@. \S 6 is much like GPL's \S 3, as it requires the release +LGPLv2.1~\S6\@. LGPLv2.1~\S6 is much like GPLv2~\S3, as it requires the release of source when a binary version of the LGPL'd software is released. Of course, it only requires that source code for the library itself be made available. The work that ``uses'' the library need not be provided in -source form. However, there are also conditions in LGPL \S 6 to make sure +source form. However, there are also conditions in LGPLv2.1~\S6 to make sure that a user who wishes to modify or update the library can do so. -LGPL \S 6 lists five choices with regard to supplying library source +LGPLv2.1~\S6 lists five choices with regard to supplying library source and granting the freedom to modify that library source to users. We will first consider the option given by \S 6(b), which describes the -most common way currently used for LGPL compliance on a ``work that +most common way currently used for LGPLv2.1 compliance on a ``work that uses the library.'' -\S 6(b) allows the distributor of a ``work that uses the library'' to +LGPLv2.1~\S6(b) allows the distributor of a ``work that uses the library'' to simply use a dynamically linked, shared library mechanism to link with the library. This is by far the easiest and most straightforward option for distribution. In this case, the executable of the work that uses the @@ -2614,11 +2614,11 @@ the shared version of the library already resident on the user's computer. If such a mechanism is used, it must allow the user to upgrade and replace the library with interface-compatible versions and still be able to use the ``work that uses the library.'' However, all modern shared -library mechanisms function as such, and thus \S 6(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 -based on the library'' ship copies of the library itself. +2based on the library'' ship copies of the library itself. -\S 6(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 included, in the typical GPL fashion, but it also has a requirement beyond that. The user must be able to exercise her freedom to modify the library @@ -2628,17 +2628,17 @@ mechanism, the user must have available the object code for the ``work based on the library,'' so that the user can relink the application and build a new binary. -The remaining options in \S 6 are very similar to the other choices -provided by GPL \S 3. There are some additional options, but time does +The remaining options in LGPLv2.1~\S6 are very similar to the other choices +provided by GPLv2~\S3. There are some additional options, but time does not permit us in this course to go into those additional options. In -almost all cases of distribution under LGPL, either \S 6(a) or \S 6(b) are +almost all cases of distribution under LGPL, either LGPLv2.1~\S6(a) or LGPLv2.1~\S6(b) are exercised. \section{Distribution of the Combined Works} Essentially, ``works based on the library'' must be distributed under the -same conditions as works under full GPL\@. In fact, we note that LGPL's -\S 2 is nearly identical in its terms and requirements to GPL's \S 2. +same conditions as works under full GPL\@. In fact, we note that +LGPLv2.1~\S2 is nearly identical in its terms and requirements to GPLv2~\S2. There are again subtle differences and additions, which time does not permit us to cover in this course. @@ -2649,22 +2649,22 @@ conditions: \begin{itemize} -\item Allowing a licensing ``upgrade'' from LGPL to GPL\@ (in LGPL \S 3) +\item Allowing a licensing ``upgrade'' from LGPL to GPL\@ (in LGPLv2.1~\S3) -\item Binary distribution of the library only, covered in LGPL \S 4, - which is effectively equivalent to LGPL \S 3 +\item Binary distribution of the library only, covered in LGPLv2.1~\S4, + which is effectively equivalent to LGPLv2.1~\S3 \item Creating aggregates of libraries that are not derivative works of - each other, and distributing them as a unit (in LGPL \S 7) + each other, and distributing them as a unit (in LGPLv2.1~\S7) \end{itemize} Due to time constraints, we cannot cover these additional terms in detail, -but they are mostly straightforward. The key to understanding LGPL is +but they are mostly straightforward. The key to understanding LGPLv2.1 is understanding the difference between a ``work based on the library'' and a ``work that uses the library.'' Once that distinction is clear, the -remainder of LGPL is close enough to GPL that the concepts discussed in +remainder of LGPLv2.1 is close enough to GPL that the concepts discussed in our more extensive GPL unit can be directly applied. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -2685,7 +2685,7 @@ Software in general requires substantially fewer agreements and less license compliance activity than any known proprietary software. Even if a company engages heavily in copying the software throughout the -enterprise, such copying is not only permitted by \S\S 1 and 3, but it is +enterprise, such copying is not only permitted by GPLv2~\S\S1 and 3, but it is encouraged! If the company simply deploys unmodified (or even modified) Free Software throughout the organization for its employees to use, the obligations under the license are very minimal. Using Free Software has a