Merge branch 'cle-edits', which brings in Donald's copy-edit changes.
There were minor conflicts in gpl-lgpl.tex.
This commit is contained in:
		
						commit
						3ed7c26e43
					
				
					 3 changed files with 518 additions and 105 deletions
				
			
		|  | @ -807,7 +807,7 @@ once you open the channels of communication in a friendly way. | |||
| 
 | ||||
| \section{Termination} | ||||
| 
 | ||||
| Many redistributors overlook GPL's termination provision (GPLv2~\S~4 and | ||||
| Many redistributors overlook the GPL's termination provision (GPLv2~\S~4 and | ||||
| GPLv3~\S~8).  Under v2, violators forfeit their rights to redistribute and | ||||
| modify the GPL'd software until those rights are explicitly reinstated by | ||||
| the copyright holder.  In contrast, v3 allows violators to rapidly resolve | ||||
|  | @ -880,12 +880,12 @@ copyright holders often require. | |||
|   often want a company to demonstrate compliance for all GPL'd software in | ||||
|   a distribution, not just their own.  A copyright holder may refuse to | ||||
|   reinstate your right to distribute one program unless and until you | ||||
|   comply with the licenses of all Open Source and Free Software in your distribution. | ||||
|   comply with the licenses of all Free Software in your distribution. | ||||
|   | ||||
| \item {\bf Notification to past recipients}.  Users to whom you previously | ||||
|   distributed non-compliant software should receive a communication | ||||
|   (email, letter, bill insert, etc.) indicating the violation, describing | ||||
|   their rights under GPL, and informing them how to obtain a gratis source | ||||
|   their rights under the GPL, and informing them how to obtain a gratis source | ||||
|   distribution.  If a customer list does not exist (such as in reseller | ||||
|   situations), an alternative form of notice may be required (such as a | ||||
|   magazine advertisement). | ||||
|  | @ -893,7 +893,7 @@ copyright holders often require. | |||
| \item {\bf Appointment of a GPL Compliance Officer.}  The software freedom community | ||||
|   values personal accountability when things go wrong.  Copyright holders | ||||
|   often require that you name someone within the violating company | ||||
|   officially responsible for Open Source and Free Software license compliance, and that this | ||||
|   officially responsible for Free Software license compliance, and that this | ||||
|   individual serve as the key public contact for the community when | ||||
|   compliance concerns arise. | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										197
									
								
								gpl-lgpl.tex
									
										
									
									
									
								
							
							
						
						
									
										197
									
								
								gpl-lgpl.tex
									
										
									
									
									
								
							|  | @ -76,7 +76,7 @@ the GPL (and GPL'd software) successfully both as a community-building | |||
| software into a new Free Software business and in existing, successful | ||||
| enterprises. | ||||
| 
 | ||||
| To successfully benefit of from this part of the tutorial, readers should | ||||
| To successfully benefit from this part of the tutorial, readers should | ||||
| have a general familiarity with software development processes.  A basic | ||||
| understanding of how copyright law applies to software is also helpful.  The | ||||
| tutorial is of most interest to lawyers, software developers and managers who | ||||
|  | @ -330,7 +330,7 @@ to serve that sub-community. | |||
| 
 | ||||
| The previous section set forth key freedoms and rights that are referred to | ||||
| as ``software freedom''.  This section discusses the licensing mechanisms | ||||
| used to enable software freedom.  These licensing mechanism were ultimately | ||||
| used to enable software freedom.  These licensing mechanisms were ultimately | ||||
| created as a community-oriented ``answer'' to the existing proprietary | ||||
| software licensing mechanisms.  Thus, first, consider carefully why | ||||
| proprietary software exists in the first place. | ||||
|  | @ -361,7 +361,7 @@ software secret. | |||
| 
 | ||||
| Copyright is not a natural state, it is a legal construction. In the USA, the | ||||
| Constitution permits, but does not require, the creation of copyright law as | ||||
| federal legislation.  Software, since it is ``an original works of authorship | ||||
| federal legislation.  Software, since it is an ``original work of authorship | ||||
| fixed in any tangible medium of expression ...  from which they can be | ||||
| perceived, reproduced, or otherwise communicated, either directly or with the | ||||
| aid of a machine or device'' (as stated in | ||||
|  | @ -394,7 +394,7 @@ automatically by the author when she fixes the software in a tangible | |||
| medium.  In the software world, this usually means typing the source code | ||||
| of the software into a file. | ||||
| 
 | ||||
| Imagine if authors could truly disclaim those default control of copyright | ||||
| Imagine if authors could truly disclaim those default controls of copyright | ||||
| law.  If so, the software is in the public domain --- no longer covered by | ||||
| copyright.  Since copyright law is the construction allowing for most | ||||
| restrictions on software (i.e., prohibition of copying, modification, and | ||||
|  | @ -544,7 +544,7 @@ Generally speaking, copyright law operates similarly enough in countries that | |||
| have signed the Berne Convention on Copyright, and software freedom licenses | ||||
| have generally taken advantage of this international standardization of | ||||
| copyright law.  However, copyright law does differ from country to country, | ||||
| and commonly, software freedom licenses like GPL must be considered under the | ||||
| and commonly, software freedom licenses like the GPL must be considered under the | ||||
| copyright law in the jurisdiction where any licensing dispute occurs. | ||||
| 
 | ||||
| Those who are most familiar with the USA's system of copyright often are | ||||
|  | @ -565,7 +565,7 @@ introduced the idea of \textit{copyleft}: a licensing mechanism to use | |||
| copyright to not only grant software freedom to users, but also to uphold | ||||
| those rights against those who might seek to curtail them. | ||||
| 
 | ||||
| Copyleft, as defined in \S~\ref{copyleft-definition}, is a general term this | ||||
| Copyleft, as defined in \S~\ref{copyleft-definition}, is a general term for this | ||||
| mechanism.  The remainder of this text will discuss details of various | ||||
| real-world implementations of copyleft -- most notably, the GPL\@. | ||||
| 
 | ||||
|  | @ -574,7 +574,7 @@ able to do in software development communities.  After that brief discussion | |||
| in this section, deeper discussion of how GPL accomplishes this in practice | ||||
| follows in the next chapter. | ||||
| 
 | ||||
| Simply put, though, the GPL ultimately creates an community of equality for | ||||
| Simply put, though, the GPL ultimately creates a community of equality for | ||||
| both business and noncommercial users. | ||||
| 
 | ||||
| \subsection{The Noncommercial Community} | ||||
|  | @ -593,7 +593,7 @@ commons.  Users can trust the developers, because they know that if the | |||
| developers fail to address their needs or abandon the project, the GPL | ||||
| ensures that someone else has the right to pick up development. | ||||
| Developers know that the users cannot redistribute their software without | ||||
| passing along the rights granted by GPL, so they are assured that every | ||||
| passing along the rights granted by the GPL, so they are assured that every | ||||
| one of their users is treated equally. | ||||
| 
 | ||||
| Because of the symmetry and fairness inherent in GPL'd distribution, | ||||
|  | @ -627,7 +627,7 @@ that because of the nature of the GPL that improvements that were | |||
| distributed in the commercial environment could easily be folded back into | ||||
| the standard version.  Companies are not permitted to proprietarize | ||||
| Samba, so the noncommercial users, and even other commercial users are | ||||
| safe in the knowledge that the software freedom ensured by GPL will remain | ||||
| safe in the knowledge that the software freedom ensured by the GPL will remain | ||||
| protected. | ||||
| 
 | ||||
| Commercial developers also work in concert with noncommercial | ||||
|  | @ -903,7 +903,7 @@ GPLv3 and its terms are discussed in detail in Chapter\~ref{GPLv3}. | |||
| 
 | ||||
| \section{The Innovation of Optional ``Or Any Later'' Version} | ||||
| 
 | ||||
| An interesting fact of all GPL licenses is that the are ultimate multiple | ||||
| An interesting fact of all GPL licenses is that there are ultimately multiple | ||||
| choices for use of the license.  The FSF is the primary steward of GPL (as | ||||
| discussed later in \S~\ref{GPLv2s9} and \S~\ref{GPLv3s14}).  However, those | ||||
| who wish to license works under GPL are not required to automatically accept | ||||
|  | @ -917,11 +917,11 @@ Each licensor may chose three different methods of licensing, as follows: | |||
|   indicated in shorthand by saying the license is ``GPLv$X$-only''), or | ||||
| 
 | ||||
| \item name no version of the GPL, thus they allow their downstream recipients | ||||
|   to select any version of the GPL they chose (usually indicated in shorthand | ||||
|   to select any version of the GPL they choose (usually indicated in shorthand | ||||
|   by saying the license is simply ``GPL''), or | ||||
| 
 | ||||
| \item name a specific version of GPL and give downstream recipients the | ||||
|   option to chose that version ``or any later version as published by the | ||||
|   option to choose that version ``or any later version as published by the | ||||
|   FSF'' (usually indicated by saying the license is | ||||
|   ``GPLv$X$-or-later'')\footnote{The shorthand of ``GPL$X+$'' is also popular | ||||
|     for this situation.  The authors of this tutorial prefer ``-or-later'' | ||||
|  | @ -952,7 +952,7 @@ to use any version of those licenses to automatically accept and relicense | |||
| their copyrighted works under new versions.  Of course ,Creative Commons, the | ||||
| Eclipse Foundation, and the Mozilla Foundation (like the FSF) have generally | ||||
| served as excellent stewards of their licenses.  Copyright holders using | ||||
| those licenses seems to find it acceptable that to fully delegate all future | ||||
| those licenses seems to find it acceptable to fully delegate all future | ||||
| licensing decisions for their copyrights to these organizations without a | ||||
| second thought. | ||||
| 
 | ||||
|  | @ -979,14 +979,12 @@ increase adoption by for-profit companies --- GPLv2 remains a widely used and | |||
| extremely popular license.  The GPLv2 is, no doubt, a good and useful | ||||
| license. | ||||
| 
 | ||||
| However, unlike GPLv1, which (as pointed out in \S~\ref{GPLv1}), which is | ||||
| completely out of use by the mid-1990s.  However, unlike GPLv1 before it, | ||||
| GPLv2 remains a integral part of the copyleft licensing infrastructure for | ||||
| some time to come.  As such, those who seek to have expertise in current | ||||
| However, unlike GPLv1 before it, | ||||
| GPLv2 remains an integral part of the copyleft licensing infrastructure.  As such, those who seek to have expertise in current | ||||
| topics of copyleft licensing need to study both the GPLv2 and GPLv3 family of | ||||
| licenses. | ||||
| 
 | ||||
| Furthermore, GPLv3 can is more easily understood by first studying GPLv2. | ||||
| Furthermore, GPLv3 is more easily understood by first studying GPLv2. | ||||
| This is not only because of their chronological order, but also because much | ||||
| of the discussion material available for GPLv3 tends to talk about GPLv3 in | ||||
| contrast to GPLv2.  As such, a strong understanding of GPLv2 helps in | ||||
|  | @ -1006,7 +1004,7 @@ simplest rights that the user receives. | |||
| \section{GPLv2~\S0: Freedom to Run} | ||||
| \label{GPLv2s0} | ||||
| 
 | ||||
| GPLv2~\S0, the opening section of GPLv2, sets forth that the copyright law governs | ||||
| GPLv2~\S0, the opening section of GPLv2, sets forth that copyright law governs | ||||
| the work.  It specifically points out that it is the ``copyright | ||||
| holder'' who decides if a work is licensed under its terms and explains | ||||
| how the copyright holder might indicate this fact. | ||||
|  | @ -1027,11 +1025,11 @@ to fair and unregulated uses. | |||
| 
 | ||||
| Fair use (called ``fair dealing'' in some jurisdictions) of copyrighted | ||||
| material is an established legal doctrine that permits certain activities | ||||
| regardless of whether copyright law would other restrict those activities. | ||||
| regardless of whether copyright law would otherwise restrict those activities. | ||||
| Discussion of the various types of fair use activity are beyond the scope of | ||||
| this tutorial.  However, one important example of fair use is the right to | ||||
| quote portions of the text in larger work so as to criticize or suggest | ||||
| changes.  This fair use rights is commonly used on mailing lists when | ||||
| quote portions of the text in a larger work so as to criticize or suggest | ||||
| changes.  This fair use right is commonly used on mailing lists when | ||||
| discussing potential improvements or changes to Free Software. | ||||
| 
 | ||||
| Fair use is a doctrine established by the courts or by statute.  By | ||||
|  | @ -1040,7 +1038,7 @@ nor determined by a court to be covered, but are common and enjoyed by | |||
| many users.  An example of unregulated use is reading a printout of the | ||||
| program's source code like an instruction book for the purpose of learning | ||||
| how to be a better programmer.  The right to read something that you have | ||||
| access is and should remain unregulated and unrestricted. | ||||
| access to is and should remain unregulated and unrestricted. | ||||
| 
 | ||||
| \medskip | ||||
| 
 | ||||
|  | @ -1101,14 +1099,14 @@ Also mentioned by name is the warranty disclaimer. Most people today do | |||
| not believe that software comes with any warranty.  Notwithstanding the | ||||
| \href{http://mlis.state.md.us/2000rs/billfile/hb0019.htm}{Maryland's} and \href{http://leg1.state.va.us/cgi-bin/legp504.exe?001+ful+SB372ER}{Virginia's} UCITA bills, there are few or no implied warranties with software. | ||||
| However, just to be on the safe side, GPL clearly disclaims them, and the | ||||
| GPL requires re distributors to keep the disclaimer very visible. (See | ||||
| GPL requires re-distributors to keep the disclaimer very visible. (See | ||||
| Sections~\ref{GPLv2s11} and~\ref{GPLv2s12} of this tutorial for more on GPL's | ||||
| warranty disclaimers.) | ||||
| 
 | ||||
| Note finally that GPLv2~\S1 creates groundwork for the important defense of | ||||
| commercial freedom.  GPLv2~\S1 clearly states that in the case of verbatim | ||||
| copies, one may make money.  Re distributors are fully permitted to charge | ||||
| for the redistribution of copies of Free Software. In addition, they may | ||||
| copies, one may make money.  Re-distributors are fully permitted to charge | ||||
| for the re-distribution of copies of Free Software. In addition, they may | ||||
| provide the warranty protection that the GPL disclaims as an additional | ||||
| service for a fee. (See Section~\ref{Business Models} for more discussion | ||||
| on making a profit from Free Software redistribution.) | ||||
|  | @ -1120,7 +1118,7 @@ on making a profit from Free Software redistribution.) | |||
| 
 | ||||
| We digress for this chapter from our discussion of GPL's exact text to | ||||
| consider the matter of derivative works --- a concept that we must | ||||
| understand fully before considering GPLv2~\S\S2--3\@. GPL, and Free | ||||
| understand fully before considering GPLv2~\S\S2--3\@. The GPL, and Free | ||||
| Software licensing in general, relies critically on the concept of | ||||
| ``derivative work'' since software that is ``independent,'' (i.e., not | ||||
| ``derivative'') of Free Software need not abide by the terms of the | ||||
|  | @ -1321,7 +1319,7 @@ originality to merit copyright protection. | |||
| Portions of the source or object code of a computer program are rarely | ||||
| filtered out as unprotectable elements. However, some distinct parts of | ||||
| source and object code have been found unprotectable. For example, | ||||
| constant s, the invariable integers comprising part of formulas used to | ||||
| constants, the invariable integers comprising part of formulas used to | ||||
| perform calculations in a program, are unprotectable. Further, although | ||||
| common errors found in two programs can provide strong evidence of | ||||
| copying, they are not afforded any copyright protection over and above the | ||||
|  | @ -1414,7 +1412,7 @@ program, Oscar. About 30\% of Oscar was literally the same code as | |||
| that in Adapter. After the suit began, the defendant rewrote those | ||||
| portions of Oscar that contained Adapter code in order to produce a new | ||||
| version of Oscar that was functionally competitive with Adapter, without | ||||
| have any literal copies of its code. Feeling slighted still, the | ||||
| having any literal copies of its code. Feeling slighted still, the | ||||
| plaintiff alleged that even the second version of Oscar, despite having no | ||||
| literally copied code, also infringed its copyrights. In addressing that | ||||
| question, the Second Circuit promulgated the AFC test. | ||||
|  | @ -1503,11 +1501,11 @@ can be a source of great confusion when not properly understood. | |||
| In considering GPLv2~\S2(b), first note the qualifier: it \textit{only} applies to | ||||
| derivative works that ``you distribute or publish''.  Despite years of | ||||
| education efforts on this matter, many still believe that modifiers | ||||
| of GPL'd software \textit{must} to publish or otherwise | ||||
| of GPL'd software \textit{must} publish or otherwise | ||||
| share their changes.  On the contrary, GPLv2~\S2(b) {\bf does not apply if} the | ||||
| changes are never distributed.  Indeed, the freedom to make private, | ||||
| personal, unshared changes to software for personal use only should be | ||||
| protected and defended.\footnote{Most Free Software enthusiasts believe there is an {\bf | ||||
| protected and defended.\footnote{Most Free Software enthusiasts believe there is a {\bf | ||||
|     moral} obligation to redistribute changes that are generally useful, | ||||
|   and they often encourage companies and individuals to do so.  However, there | ||||
|   is a clear distinction between what one {\bf ought} to do and what one | ||||
|  | @ -1569,20 +1567,20 @@ holder of \workg{}. (Imagine, for a moment, if \workg{} were a proprietary | |||
| product --- would its copyright holders  give you permission to create and distribute | ||||
| \gplusi{} without paying them a hefty sum?)  The license of \workg{}, the | ||||
| GPL, states the  options for the copyright holder of \worki{} | ||||
| who may want to create and distribute \gplusi{}.  GPL's pre-granted | ||||
| who may want to create and distribute \gplusi{}. The  GPL's pre-granted | ||||
| permission to create and distribute derivative works, provided the terms | ||||
| of GPL are upheld, goes far above and beyond the permissions that one | ||||
| of the GPL are upheld, goes far above and beyond the permissions that one | ||||
| would get with a typical work not covered by a copyleft license.  (Thus, to | ||||
| say that this restriction is any way unreasonable is simply ludicrous.) | ||||
| say that this condition is any way unreasonable is simply ludicrous.) | ||||
| 
 | ||||
| \medskip | ||||
| 
 | ||||
| \label{GPLv2s2-at-no-charge} | ||||
| The next phrase of note in GPLv2~\S2(b) is ``licensed \ldots at no charge.'' | ||||
| This phrase  confuses many.  The sloppy reader points out this as ``a | ||||
| contradiction in GPL'' because (in their confused view) that clause of GPLv2~\S2 says that redistributors cannot | ||||
| contradiction in GPL'' because (in their confused view) that clause of GPLv2~\S2 says that re-distributors cannot | ||||
| charge for modified versions of GPL'd software, but GPLv2~\S1 says that | ||||
| they can.  Avoid this confusion: the ``at no charge'' \textbf{does not} prohibit redistributors from | ||||
| they can.  Avoid this confusion: the ``at no charge'' \textbf{does not} prohibit re-distributors from | ||||
| charging when performing the acts governed by copyright | ||||
| law,\footnote{Recall that you could by default charge for any acts not | ||||
| governed by copyright law, because the license controls are confined | ||||
|  | @ -1600,7 +1598,7 @@ available to the public at large.  However, the text here does not say | |||
| that.  Instead, it says that the licensing under terms of the GPL must | ||||
| extend to anyone who might, through the distribution chain, receive a copy | ||||
| of the software.  Distribution to all third parties is not mandated here, | ||||
| but GPLv2~\S2(b) does require redistributors to license the derivative works in | ||||
| but GPLv2~\S2(b) does require re-distributors to license the derivative works in | ||||
| a way that extends to all third parties who may ultimately receive a | ||||
| copy of the software. | ||||
| 
 | ||||
|  | @ -1623,7 +1621,7 @@ programs under any license.  Despite what you hear from its critics, the | |||
| GPL is nothing like a virus, not only because the GPL is good for you and | ||||
| a virus is bad for you, but also because simple contact with a GPL'd | ||||
| code-base does not impact the license of other programs.  A programmer must | ||||
| expended actual effort  to cause a work to fall under the terms | ||||
| expend actual effort  to cause a work to fall under the terms | ||||
| of the GPL.  Redistributors are always welcome to simply ship GPL'd | ||||
| software alongside proprietary software or other unrelated Free Software, | ||||
| as long as the terms of GPL are adhered to for those packages that are | ||||
|  | @ -1635,7 +1633,7 @@ truly GPL'd. | |||
| Software is a strange beast when compared to other copyrightable works. | ||||
| It is currently impossible to make a film or a book that can be truly | ||||
| obscured.  Ultimately, the full text of a novel, even one written by | ||||
| William Faulkner, must presented to the reader as words in some | ||||
| William Faulkner, must be presented to the reader as words in some | ||||
| human-readable language so that they can enjoy the work.  A film, even one | ||||
| directed by David Lynch, must be perceptible by human eyes and ears to | ||||
| have any value. | ||||
|  | @ -1725,10 +1723,10 @@ GPL does provide options when such distribution is unfeasible. | |||
| GPLv2~\S3, therefore, allows source code to be provided on any physical | ||||
| ``medium customarily used for software interchange.''  By design, this | ||||
| phrase covers a broad spectrum --- the phrase seeks to pre-adapt to | ||||
| changes in  technology.  When GPLv22 was first published in June | ||||
| changes in  technology.  When GPLv2 was first published in June | ||||
| 1991, distribution on magnetic tape was still common, and CD was | ||||
| relatively new.  By 2002, CD is the default.  By 2007, DVD's were the | ||||
| default.  Now, it's common to give software on USB drives and SD card.  This | ||||
| relatively new.  By 2002, CD was the default.  By 2007, DVD's were the | ||||
| default.  Now, it's common to give software on USB drives and SD cards.  This | ||||
| language in the license must adapt with changing technology. | ||||
| 
 | ||||
| Meanwhile, the binding created by the word ``customarily'' is key.  Many | ||||
|  | @ -1795,7 +1793,7 @@ GPLv2~\S3(c) is created to save her some trouble, because by itself GPLv2~\S3(b) | |||
| would unfairly favor large companies.  GPLv2~\S3(b) allows the | ||||
| separation of the binary software from the key tool that people can use | ||||
| to exercise their freedom. The GPL permits this separation because it is | ||||
| good for redistributors, and those users who turn out not to need the | ||||
| good for re-distributors, and those users who turn out not to need the | ||||
| source.  However, to ensure equal rights for all software users, anyone | ||||
| along the distribution chain must have the right to get the source and | ||||
| exercise those freedoms that require it. | ||||
|  | @ -1914,7 +1912,7 @@ with respect to the licensed software. | |||
| \newcommand{\compA}{$\mathcal{A}$} | ||||
| 
 | ||||
| For example, if Company \compA{} has a patent on advanced Web browsing, but | ||||
| also licenses a Web browsing software program under the GPLv2, then it | ||||
| also licenses a Web browsing program under the GPLv2, then it | ||||
| cannot assert the patent against any party based on that party's use of  | ||||
| Company \compA{}'s GPL'ed Web browsing software program, or on that party's | ||||
| creation and use of derivative works of that GPL'ed program.  However, if a | ||||
|  | @ -1984,7 +1982,7 @@ but they may not revoke the rights under GPLv2 already granted. | |||
| 
 | ||||
| In fact, when an entity looses their right to copy, modify and distribute | ||||
| GPL'd software, it is because of their \emph{own actions}, not that of the | ||||
| copyright holder.  The copyright holder does not decided when GPLv2~\S4 | ||||
| copyright holder.  The copyright holder does not decide when GPLv2~\S4 | ||||
| termination occurs (if ever); rather, the actions of the licensee determine | ||||
| that. | ||||
| 
 | ||||
|  | @ -2045,8 +2043,8 @@ freedom. | |||
| 
 | ||||
| While GPL is by default a copyright license, it is certainly still possible | ||||
| to consider GPL as a contract as well.  For example, some distributors chose | ||||
| to ``wrap'' their software in an acceptance ceremony to GPL, and nothing in | ||||
| GPL prohibits that use.  Furthermore, the ruling in \textit{Jacobsen | ||||
| to ``wrap'' their software in an acceptance ceremony to the GPL, and nothing in | ||||
| the GPL prohibits that use.  Furthermore, the ruling in \textit{Jacobsen | ||||
|   v. Katzer, 535 F.3d 1373, 1380 (Fed.Cir.2008)} indicates that \textbf{both} | ||||
| copyright and contractual remedies may be sought by a copyright holder | ||||
| seeking to enforce a license designed to uphold software freedom. | ||||
|  | @ -2133,7 +2131,7 @@ GPLv2~\S8 was not included at all in GPLv3. | |||
| \chapter{Odds, Ends, and Absolutely No Warranty} | ||||
| 
 | ||||
| GPLv2~\S\S0--7 constitute the freedom-defending terms of the GPLv2.  The remainder | ||||
| of the GPLv2 handles administrivia and issues concerning warranties and | ||||
| of the GPLv2 handles administrive and issues concerning warranties and | ||||
| liability. | ||||
| 
 | ||||
| \section{GPLv2~\S9: FSF as Stewards of GPL} | ||||
|  | @ -2234,7 +2232,7 @@ This chapter seeks to explain GPLv3 to newcomers, who perhaps are familiar | |||
| with GPLv2 and who did not participate in the GPLv3 process. | ||||
| 
 | ||||
| Those who wish to drink from the firehose and take a diachronic approach to | ||||
| GPLv3 study by reading the step-by-step public drafting process GPLv3 (which | ||||
| GPLv3 study by reading the step-by-step public drafting process of the GPLv3 (which | ||||
| occurred from Monday 16 January 2006 through Monday 19 November 2007) should | ||||
| visit \url{http://gplv3.fsf.org/}. | ||||
| 
 | ||||
|  | @ -2252,7 +2250,7 @@ for some of GPLv2's terms and/or policy opposition to GPLv3's terms. | |||
| Given this ``two GPLs world'' is reality, it makes sense to consider GPLv3 in | ||||
| terms of how it differs from GPLv2.  Also, most of the best GPL experts in | ||||
| the world must deal regularly with both licenses, and admittedly have decades | ||||
| of experience of GPLv2 while the most experience with GPLv3 that's possible | ||||
| of experience with GPLv2 while the most experience with GPLv3 that's possible | ||||
| is by default less than a decade.  These two factors usually cause even new | ||||
| students of GPL to start with GPLv2 and move on to GPLv3, and this tutorial | ||||
| follows that pattern. | ||||
|  | @ -2281,7 +2279,7 @@ internationalization. | |||
| 
 | ||||
| One of lawyers' most common complaints about GPLv2 is that defined terms in | ||||
| the document appear throughout.  Most licenses define terms up-front. | ||||
| However, GPL was always designed both as a document that should be easily | ||||
| However, the GPL was always designed both as a document that should be easily | ||||
| understood both by lawyers and by software developers: it is a document | ||||
| designed to give freedom to software developers and users, and therefore it | ||||
| should be comprehensible to that constituency. | ||||
|  | @ -2307,7 +2305,7 @@ GPLv2 included a defined term, ``work based on the Program'', but also used | |||
| the term ``modify'' and ``based on'' throughout the license.  GPLv2's ``work | ||||
| based on the Program'' definition made use of a legal term of art, | ||||
| ``derivative work'', which is peculiar to USA copyright law.  However, | ||||
| ironically, the most criticism of USA-specific legal terminology in GPLv2's | ||||
| ironically, most criticism of USA-specific legal terminology in GPLv2's | ||||
| ``work based on the Program'' definition historically came not primarily from | ||||
| readers outside the USA, but from those within it\footnote{The FSF noted in | ||||
|   that it did not generally agree with these views, and expressed puzzlement | ||||
|  | @ -2382,7 +2380,7 @@ but it also makes clear that, under the copyright laws of a given country, | |||
| Thus, propagation is defined by behavior, and not by categories drawn from | ||||
| some particular national copyright statute.  This helps not only with | ||||
| internationalization, but also factually-based terminology aids in | ||||
| developers' and users' understanding of GPL\@. | ||||
| developers' and users' understanding of the GPL\@. | ||||
| 
 | ||||
| \subsection{Convey} | ||||
| 
 | ||||
|  | @ -2457,9 +2455,9 @@ are those that the work is ``specifically'' designed to require, which | |||
| clarifies that they do not include libraries invoked by the work that can be | ||||
| readily substituted by other existing implementations.  While copyleft | ||||
| advocates never doubted this was required under GPLv2's definition of CCS, | ||||
| making it abundantly clear with an extra example. | ||||
| GPLv3 makes it abundantly clear with an extra example. | ||||
| 
 | ||||
| GPL, as always, seeks to ensure users are truly in a position to install and | ||||
| The GPL, as always, seeks to ensure users are truly in a position to install and | ||||
| run their modified versions of the program; the CCS definition is designed to | ||||
| be expansive to ensure this software freedom.  However, although the | ||||
| definition of CCS is expansive, it is not sufficient to protect users' | ||||
|  | @ -2494,14 +2492,13 @@ The previous section skipped over one part of the CCS definition, the | |||
| so-called system library exception.  The ``System Libraries'' definition (and | ||||
| the ``Standard Interface'' and ``Major Component'' definitions, which it | ||||
| includes) are designed as part | ||||
| 
 | ||||
| to permit certain distribution arrangements that are considered reasonable by | ||||
| copyleft advocates.  The system library exception is designed to allow | ||||
| copylefted software to link with these libraries when such linking would hurt | ||||
| software freedom more than it would hurt proprietary software. | ||||
| 
 | ||||
| The system library exception has two parts.  Part (a) rewords the GPLv2 | ||||
| exception for clarity replaces GPLv2's words ``unless that component itself | ||||
| exception for clarity replacing GPLv2's words ``unless that component itself | ||||
| accompanies the executable'' with ``which is not part of the Major | ||||
| Component''.  The goal here is to not require disclosure of source code of | ||||
| certain libraries, such as necessary Microsoft Windows DLLs (which aren't | ||||
|  | @ -2576,7 +2573,7 @@ on the users' behalf (just as the users' employees would have to act). | |||
| The strict conditions in this ``contractors provision'' are needed so that it | ||||
| cannot be twisted to fit other activities, such as making a program available | ||||
| to downstream users or customers.  By making the limits on this provision | ||||
| very narrow, GPLv3 ensures that, in all other cases, contractors gets the | ||||
| very narrow, GPLv3 ensures that, in all other cases, contractor gets the | ||||
| full freedoms of the GPL that they deserve. | ||||
| 
 | ||||
| The FSF was specifically asked to add this ``contractors provisions'' by | ||||
|  | @ -2671,7 +2668,7 @@ relate sections\footnote{These sections of the USC are often referred to as | |||
| from circumventing technological measures that implement DRM\@.  Since this | ||||
| is part of copyright law and the GPL is primarily a copyright license, and | ||||
| since what the DMCA calls ``circumvention'' is simply ``modifying the | ||||
| software'' under the GPL, GPLv3 must disclaim such anti-circumvention | ||||
| software'' under the GPL, GPLv3 must disclaim that such anti-circumvention | ||||
| provisions are not applicable to the GPLv3'd software.  GPLv3\S3 shields | ||||
| users from being subjected to liability under anti-circumvention law for | ||||
| exercising their rights under the GPL, so far as the GPL can do so. | ||||
|  | @ -2805,7 +2802,7 @@ in \S~\ref{GPLv2s3} of this tutorial), the distribution of object code may | |||
| either be accompanied by the machine-readable source code, or it may be | ||||
| accompanied by a valid written offer to provide the machine-readable source | ||||
| code.  However, unlike in GPLv2, that offer cannot be exercised by any third | ||||
| party; rather, only those ``who possesses the object code'' it can exercised | ||||
| party; rather, only those ``who possesses the object code'' can exercise | ||||
| the offer.  (Note that this is a substantial narrowing of requirements of | ||||
| offer fulfillment, and is a wonderful counterexample to dispute claims that | ||||
| the GPLv3 has more requirements than GPLv2.) | ||||
|  | @ -2950,7 +2947,7 @@ GPLv3 drafting process.  However, companies and governments that use | |||
| specialized or enterprise-level computer facilities reported that they | ||||
| actually \textit{want} their systems not to be under their own control. | ||||
| Rather than agreeing to this as a concession, or bowing to pressure, they ask | ||||
| for this as a \textit{preference}.  It is not clear that GPL should interfere | ||||
| for this as a \textit{preference}.  It is not clear that the GPL should interfere | ||||
| here, since the main problem lies elsewhere. | ||||
| 
 | ||||
| While imposing technical barriers to modification is wrong regardless of | ||||
|  | @ -3116,8 +3113,7 @@ distributed under the GPL? | |||
| \end{enumerate} | ||||
| 
 | ||||
| Additional permissions present the easier case.  Since the mid-1990s, | ||||
| permissive exceptions often appeared alongside GPLv2 with permissive | ||||
| exceptions to allow combination | ||||
| permissive exceptions often appeared alongside GPLv2 to allow combination | ||||
| with certain non-free code.  Typically, downstream | ||||
| stream recipients could remove those exceptions and operate under pure GPLv2. | ||||
| Similarly, LGPLv2.1 is in essence a permissive variant of GPLv2, | ||||
|  | @ -3199,7 +3195,7 @@ In its treatment of terms that impose additional requirements, GPLv3\S7 | |||
| extends the range of licensing terms with which the GPL is compatible.  An | ||||
| added part carrying additional requirements may be combined with GPL'd code, | ||||
| but only if those requirements belong to an set enumerated in GPLv3\S7. There | ||||
| are, of course,  limits on the acceptable additional requirements, which to | ||||
| are, of course,  limits on the acceptable additional requirements, which  | ||||
| ensures that enhanced license compatibility does not | ||||
| defeat the broader software-freedom-defending terms of the GPL\@. Unlike terms that grant | ||||
| additional permissions, terms that impose additional requirements cannot be | ||||
|  | @ -3247,7 +3243,7 @@ large collections of software having numerous copyright holders.  A violator | |||
| who resumes compliance with GPLv2 technically needs to obtain forgiveness | ||||
| from all copyright holders, and even contacting them all might be impossible. | ||||
| 
 | ||||
| GPLv3~\S8 replaces now grants opportunities for provisional and permanent | ||||
| GPLv3~\S8 now grants opportunities for provisional and permanent | ||||
| reinstatement of rights. The termination procedure provides a limited | ||||
| opportunity to cure license violations.  If a licensee has committed a | ||||
| first-time violation of the GPL with respect to a given copyright holder, but | ||||
|  | @ -3262,12 +3258,11 @@ copyright permissions the contributor granted to the licensee. | |||
| 
 | ||||
| % FIXME-LATER: write more here, perhaps linking up to enforcement | ||||
| 
 | ||||
| 
 | ||||
| \section{GPLv3~\S9: Acceptance} | ||||
| 
 | ||||
| GPLv3~\S9 means what it says: mere receipt or execution of code neither | ||||
| requires nor signifies contractual acceptance under the GPL.  Speaking more | ||||
| broadly, GPLv3 is intentionally structured our license as a unilateral grant | ||||
| broadly, GPLv3 is intentionally structured as a unilateral grant | ||||
| of copyright permissions, the basic operation of which exists outside of any | ||||
| law of contract.  Whether and when a contractual relationship is formed | ||||
| between licensor and licensee under local law do not necessarily matter to | ||||
|  | @ -3369,7 +3364,7 @@ preventing that act cannot be unfair). | |||
| 
 | ||||
| However, the second argument seems valid in a practical sense.  A | ||||
| typical GNU/Linux distribution includes thousands of programs.  It would | ||||
| be quite difficult for a redistributor with a large patent portfolio to | ||||
| be quite difficult for a re-distributor with a large patent portfolio to | ||||
| review all those programs against that portfolio every time it receives | ||||
| and passes on a new version of the distribution.  Moreover, this question | ||||
| raises a strategic issue. If the GPLv3 patent license requirements | ||||
|  | @ -3461,7 +3456,7 @@ patent claims. | |||
| \subsection{Conveyors' Patent Licensing} | ||||
| 
 | ||||
| The remaining patent licensing in GPLv3 deals with patent licenses that are | ||||
| granted by conveyance.  The licensing is not as complete or far reaching at | ||||
| granted by conveyance.  The licensing is not as complete or far reaching as | ||||
| the contributor patent licenses discussed in the preceding section. | ||||
| 
 | ||||
| The term ``patent license,'' as used in GPLv3~\S11\P4--6, is not meant to be | ||||
|  | @ -3498,11 +3493,11 @@ CCS to be publicly available.  (In such a case, if the distributor is also a | |||
| contributor, it will already have granted a patent sublicense anyway, and so | ||||
| it need not do anything further to comply with the third paragraph.) | ||||
| 
 | ||||
| Admittedly, public disclosure of CCS is not necessarily required in by other | ||||
| Admittedly, public disclosure of CCS is not necessarily required by other | ||||
| sections of the GPL, and the FSF in drafting GPLv3 did not necessarily wish | ||||
| to impose a general requirement to make source code available to all, which | ||||
| has never been a GPL condition.  However, many vendors who produce products | ||||
| that include copylefted software, and who most likely to be affected by the | ||||
| that include copylefted software, and who are most likely to be affected by the | ||||
| downstream shielding provision, lobbied for the addition of the source code | ||||
| availability option, so it remains. | ||||
| 
 | ||||
|  | @ -3741,8 +3736,8 @@ Terms to Your New Programs'' to just the bare essentials. | |||
| 
 | ||||
| As we have seen in our consideration of the GPL, its text is specifically | ||||
| designed to cover all possible derivative works under copyright law. Our | ||||
| goal in designing GPL was to make sure that any derivative work of GPL'd | ||||
| software was itself released under GPL when distributed. Reaching as far | ||||
| goal in designing the GPL was to make sure that any derivative work of GPL'd | ||||
| software was itself released under the GPL when distributed. Reaching as far | ||||
| as copyright law will allow is the most direct way to reach that goal. | ||||
| 
 | ||||
| However, while the strategic goal is to bring as much Free Software | ||||
|  | @ -3777,11 +3772,11 @@ libraries on a Free Software operating system (which in fact happens today | |||
| on modern GNU/Linux systems, which all use the GNU C Library). | ||||
| 
 | ||||
| Unlike existing GNU application software, however, the licensing | ||||
| implications of releasing the GNU C Library (``glibc'') under GPL were | ||||
| somewhat different. Applications released under GPL would never | ||||
| implications of releasing the GNU C Library (``glibc'') under the GPL were | ||||
| somewhat different. Applications released under the GPL would never | ||||
| themselves become part of proprietary software. However, if glibc were | ||||
| released under GPL, it would require that any application distributed for | ||||
| the GNU/Linux platform be released under GPL\@. | ||||
| released under the GPL, it would require that any application distributed for | ||||
| the GNU/Linux platform be released under the GPL\@. | ||||
| 
 | ||||
| Since all applications on a Unix-like system depend on the C library, it | ||||
| means that they must link with that library to function on the system. In | ||||
|  | @ -3803,7 +3798,7 @@ to anyone who wished to write proprietary software for GNU/Linux systems. | |||
| The de-facto standard for the C library on GNU/Linux would likely be not | ||||
| glibc, but the most popular proprietary one. | ||||
| 
 | ||||
| Meanwhile, the actual goal of releasing glibc under GPL --- to ensure no | ||||
| Meanwhile, the actual goal of releasing glibc under the GPL --- to ensure no | ||||
| proprietary applications on GNU/Linux --- would be unattainable in this | ||||
| scenario. Furthermore, users of those proprietary applications would also | ||||
| be users of a proprietary C library, not the Free glibc. | ||||
|  | @ -3811,7 +3806,7 @@ be users of a proprietary C library, not the Free glibc. | |||
| The Lesser GPL was initially conceived to handle this scenario. It was | ||||
| clear that the existence of proprietary applications for GNU/Linux was | ||||
| inevitable. Since there were so many C libraries already in existence, a | ||||
| new one under GPL would not stop that tide. However, if the new C library | ||||
| new one under the GPL would not stop that tide. However, if the new C library | ||||
| were released under a license that permitted proprietary applications | ||||
| to link with it, but made sure that the library itself remained Free, | ||||
| an ancillary goal could be met. Users of proprietary applications, while | ||||
|  | @ -3866,7 +3861,7 @@ used to allow original copyright holders to forbid distribution in | |||
| countries with draconian laws that would otherwise contradict these | ||||
| licenses. | ||||
| 
 | ||||
| LGPLv2.1~\S13 sets up FSF as the steward of the LGPL, just as GPLv2~\S9 | ||||
| LGPLv2.1~\S13 sets up the FSF as the steward of the LGPL, just as GPLv2~\S9 | ||||
| does for GPL. Meanwhile, LGPLv2.1~\S14 reminds licensees that copyright | ||||
| holders can grant exceptions to the terms of LGPL, just as GPLv2~\S10 | ||||
| reminds licensees of the same thing. | ||||
|  | @ -3882,7 +3877,7 @@ same legal mechanisms and are enforced precisely the same way. | |||
| 
 | ||||
| We strike a difference only in the early portions of the license. | ||||
| Namely, in the LGPL we go into deeper detail of granting various permissions to | ||||
| create derivative works, so the redistributors can make | ||||
| create derivative works, so the re-distributors can make | ||||
| some proprietary derivatives. Since we simply do not allow the | ||||
| license to stretch as far as copyright law does regarding what | ||||
| derivative works must be relicensed under the same terms, we must go | ||||
|  | @ -3893,14 +3888,14 @@ those who modify or redistribute the software. | |||
| 
 | ||||
| \section{Additions to the Preamble} | ||||
| 
 | ||||
| Most of LGPL's Preamble is identical, but the last seven paragraphs | ||||
| Most of the LGPL's Preamble is identical, but the last seven paragraphs | ||||
| introduce the concepts and reasoning behind creation of the license, | ||||
| presenting a more generalized and briefer version of the story with which | ||||
| we began our consideration of LGPL\@. | ||||
| we began our consideration of the LGPL\@. | ||||
| 
 | ||||
| In short, FSF designed LGPL for those edge cases where the freedom of the | ||||
| In short, FSF designed the LGPL for those edge cases where the freedom of the | ||||
| public can better be served by a more lax licensing system. FSF doesn't | ||||
| encourage use of LGPL automatically for any software that happens to be a | ||||
| encourage use of the LGPL automatically for any software that happens to be a | ||||
| library; rather, FSF suggests that it only be used in specific cases, such | ||||
| as the following: | ||||
| 
 | ||||
|  | @ -3919,8 +3914,8 @@ as the following: | |||
| 
 | ||||
| \end{itemize} | ||||
| 
 | ||||
| LGPL's preamble sets forth the limits to which the license seeks to go in | ||||
| chasing these goals. LGPL is designed to ensure that users who happen to | ||||
| The LGPL's preamble sets forth the limits to which the license seeks to go in | ||||
| chasing these goals. The LGPL is designed to ensure that users who happen to | ||||
| acquire software linked with such libraries have full freedoms with | ||||
| respect to that library. They should have the ability to upgrade to a newer | ||||
| or modified Free version or to make their own modifications, even if they | ||||
|  | @ -3928,18 +3923,18 @@ cannot modify the primary software program that links to that library. | |||
| 
 | ||||
| Finally, the preamble introduces two terms used throughout the license to | ||||
| clarify between the different types of derivative works: ``works that use | ||||
| the library,'' and ``works based on the library.''  Unlike GPL, LGPL must | ||||
| the library,'' and ``works based on the library.''  Unlike the GPL, the LGPL must | ||||
| draw some lines regarding derivative works. We do this here in this | ||||
| license because we specifically seek to liberalize the rights afforded to | ||||
| those who make derivative works. In GPL, we reach as far as copyright law | ||||
| allows. In LGPL, we want to draw a line that allows some derivative works | ||||
| those who make derivative works. In the GPL, we reach as far as copyright law | ||||
| allows. In the LGPL, we want to draw a line that allows some derivative works | ||||
| copyright law would otherwise prohibit if the copyright holder exercised | ||||
| his full permitted controls over the work. | ||||
| 
 | ||||
| \section{An Application: A Work that Uses the Library} | ||||
| 
 | ||||
| In the effort to allow certain proprietary derivative works and prohibit | ||||
| others, LGPL distinguishes between two classes of derivative works: | ||||
| others, the LGPL distinguishes between two classes of derivative works: | ||||
| ``works based on the library,'' and ``works that use the library.''  The | ||||
| distinction is drawn on the bright line of binary (or runtime) derivative | ||||
| works and source code derivatives. We will first consider the definition | ||||
|  | @ -3980,7 +3975,7 @@ the library,'' works as follows: | |||
| 
 | ||||
| \item Since \lplusi{} is a derivative work of both \worki{} and \workl{}, | ||||
|   the license of \workl{} (the LGPL) can put restrictions on the license | ||||
|   of \lplusi{}. In fact, this is what LGPL does. | ||||
|   of \lplusi{}. In fact, this is what the LGPL does. | ||||
| 
 | ||||
| \end{itemize} | ||||
| 
 | ||||
|  | @ -4031,7 +4026,7 @@ In short, a ``work based on the library'' could be defined as any | |||
| derivative work of LGPL'd software that cannot otherwise fit the | ||||
| definition of a ``work that uses the library.''  A ``work based on the | ||||
| library'' extends the full width and depth of copyright derivative works, | ||||
| in the same sense that GPL does. | ||||
| in the same sense that the GPL does. | ||||
| 
 | ||||
| Most typically, one creates a ``work based on the library'' by directly | ||||
| modifying the source of the library. Such a work could also be created by | ||||
|  | @ -4081,7 +4076,7 @@ because a deep understanding of how compiler programs work is nearly | |||
| mandatory to grasp the subtle nature of what LGPLv2.1~\S5, \P 4 seeks to | ||||
| cover. It helps some to note that this is a border case that we cover in | ||||
| the license only so that when such a border case is hit, the implications | ||||
| of using LGPL continue in the expected way. | ||||
| of using the LGPL continue in the expected way. | ||||
| 
 | ||||
| To understand this subtle point, we must recall the way that a compiler | ||||
| operates. The compiler first generates object code, which are the binary | ||||
|  | @ -4161,8 +4156,8 @@ If such a mechanism is used, it must allow the user to upgrade and | |||
| replace the library with interface-compatible versions and still be able | ||||
| to use the ``work that uses the library.''  However, all modern shared | ||||
| library mechanisms function as such, and thus LGPLv2.1~\S6(b) is the simplest | ||||
| option, since it does not even require that the distributor of the ``work | ||||
| 2based on the library'' ship copies of the library itself. | ||||
| option, since it does not even require that the distributor of the ``work  | ||||
| based on the library'' ship copies of the library itself. | ||||
| 
 | ||||
| LGPLv2.1~\S6(a) is the option to use when, for some reason, a shared library | ||||
| mechanism cannot be used. It requires that the source for the library be | ||||
|  | @ -4190,12 +4185,12 @@ permit us to cover in this course. | |||
| 
 | ||||
| \section{And the Rest} | ||||
| 
 | ||||
| The remaining variations between LGPL and GPL cover the following | ||||
| The remaining variations between the LGPL and the GPL cover the following | ||||
| conditions: | ||||
| 
 | ||||
| \begin{itemize} | ||||
| 
 | ||||
| \item Allowing a licensing ``upgrade'' from LGPL to GPL\@ (in LGPLv2.1~\S3) | ||||
| \item Allowing a licensing ``upgrade'' from the LGPL to the GPL\@ (in LGPLv2.1~\S3) | ||||
| 
 | ||||
| \item Binary distribution of the library only, covered in LGPLv2.1~\S4, | ||||
|   which is effectively equivalent to LGPLv2.1~\S3 | ||||
|  | @ -4226,7 +4221,7 @@ As discussed in Sections~\ref{GPLv2s0} and~\ref{GPLv2s5} of this tutorial, | |||
| the GPL only governs the activities of copying, modifying and | ||||
| distributing software programs that are not governed by the license. | ||||
| Thus, in FSF's view, simply installing the software on a machine and | ||||
| using it is not controlled or limited in any way by GPL\@. Using Free | ||||
| using it is not controlled or limited in any way by the GPL\@. Using Free | ||||
| Software in general requires substantially fewer agreements and less | ||||
| license compliance activity than any known proprietary software. | ||||
| 
 | ||||
|  | @ -4276,7 +4271,7 @@ embedded targets. Eventually, Cygnus was so successful that | |||
| it was purchased by Red Hat where it remains a profitable division. | ||||
| 
 | ||||
| However, there are very small companies that compete in | ||||
| this space. Because the code-base is protect by GPL, it creates and | ||||
| this space. Because the code-base is protect by the GPL, it creates and | ||||
| demands industry trust. Companies can cooperate on the software and | ||||
| improve it for everyone. Meanwhile, companies who rely on GCC for their | ||||
| work are happy to pay for improvements, and for ports to new target | ||||
|  | @ -4331,7 +4326,7 @@ making a profit. | |||
| 
 | ||||
| Note that FSF does provide services to assist companies who need | ||||
| assistance in complying with the GPL. You can contact FSF's GPL | ||||
| Compliance Labs at $<$compliance@fsf.org$>$. | ||||
| Compliance Labs at $<$licensing@fsf.org$>$. | ||||
| 
 | ||||
| %FIXME-LATER: should have \tutorialpart | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										418
									
								
								presentations/1hr-GPL/1hr-GPL.markdown
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										418
									
								
								presentations/1hr-GPL/1hr-GPL.markdown
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,418 @@ | |||
| % Brief Introduction to the GNU General Public License | ||||
| % Bradley M. Kuhn | ||||
| % Monday 24 March 2014 | ||||
| 
 | ||||
| 
 | ||||
| # Audience Polls | ||||
| 
 | ||||
| + My goal here is to move faster or slower based on audience knowledge. | ||||
| 
 | ||||
| + There are folks in this audience who have worked with this stuff for years, | ||||
|   and those who are completely new. | ||||
| 
 | ||||
| + We want these presentations to be valuable to all of you. | ||||
| 
 | ||||
| + Please, don't be embarrassed: | ||||
|      + Ever GPL expert in the world, including me, started as a student who | ||||
|        knew none of this. | ||||
| 
 | ||||
| # IANAL | ||||
| 
 | ||||
| <cite>IANAL</cite> | ||||
| 
 | ||||
| # My Affiliations | ||||
| 
 | ||||
| + Formerly had John's job, Executive Director of FSF, years ago. | ||||
| 
 | ||||
| + Currently: on Board of Directors of FSF. | ||||
| 
 | ||||
| + President of Software Freedom Conservancy. | ||||
| 
 | ||||
| # How These Orgs Relate to GPL? | ||||
| 
 | ||||
| + FSF | ||||
|     + Invented copyleft. | ||||
|     + Authors & stewards of the GPL. | ||||
|     + Holder of copyrights on many key GNU programs … | ||||
|     + … and therefore enforcers of those copyrights. | ||||
| 
 | ||||
| + Software Freedom Conservancy | ||||
|     + Adviser on legal issues of copyright, etc. to Free Software projects. | ||||
|     + Holder of some copyrights on its member projects. | ||||
|     + Enforcer of GPL on behalf of many copyright holders in: | ||||
|     + BusyBox, Samba, Mercurial, and the kernel named Linux. | ||||
| 
 | ||||
| # How this Hour Will Go? | ||||
| 
 | ||||
| + Materials presented will mix the simple & complex. | ||||
| 
 | ||||
| + We cannot possibly cover the entire GPL in one hour. | ||||
| 
 | ||||
| + Discuss: motivations, origins, then a few of GPL's sections. | ||||
| 
 | ||||
| + I understand the mix of backgrounds in the audience. | ||||
| 
 | ||||
| # A Restaurant's Lawyer? | ||||
| 
 | ||||
| + Considering why you want to learn this. | ||||
| 
 | ||||
| + What if your client was a restaurant? | ||||
| 
 | ||||
| + What would you want to need to know? | ||||
| 
 | ||||
| # Restaurant Lawyer: What'd You Study? | ||||
| 
 | ||||
| + If you were a restaurant's lawyer: | ||||
| 
 | ||||
| + Probably three areas of law you'd focus on: | ||||
|      + building codes. | ||||
|      + health and safety regulations. | ||||
|      + tax regulations. | ||||
| 
 | ||||
| + Who would want to hear from? | ||||
| 
 | ||||
| # Restaurant Lawyer: What'd You Study? | ||||
| 
 | ||||
| + Figure out the motivations behind the building code: | ||||
|       + What parts are arcane and less important to inspectors? | ||||
|       + How do inspections work? | ||||
|       + What are the penalties? | ||||
| 
 | ||||
| + Figure out the same for health & safety: | ||||
|       + Who inspects, and when? | ||||
|       + What's the health code say, and what checklist do inspectors use? | ||||
| 
 | ||||
| + Likely Questions: | ||||
|       + Who's in charge of all this? | ||||
|       + What's purpose and intent of these regulations? | ||||
|       + Can I meet the inspectors? | ||||
|        | ||||
| # Why Listen To Us? | ||||
| 
 | ||||
| + FSF: Understanding the purpose and intent of the GPL. | ||||
|      | ||||
| + Conservancy & FSF: | ||||
|     + both enforce the GPL. | ||||
|     + if your client violates, you will hear from one of us. | ||||
| 
 | ||||
| + Such access to drafters, interpreters, enforcers is highly unique. | ||||
| 
 | ||||
| + Someday, we may (or already have) sit across the table from you. | ||||
| 
 | ||||
| + Our transparency does make your job easier.  | ||||
| 
 | ||||
| # The Mindset of GPL | ||||
| 
 | ||||
| + GPL protects software freedom. | ||||
| 
 | ||||
| + Ultimate goal: make sure every user has the four freedoms. | ||||
|      + Freedom to run the software. | ||||
|      + Freedom to study and modify the software. | ||||
|      + Freedom to share the software. | ||||
|      + Freedom to distribute modified versions. | ||||
| 
 | ||||
| + Every clause in GPL was designed to uphold one of these freedoms. | ||||
|      + Or, it's a compromise of drafting in adoption vs. freedom debate. | ||||
| 
 | ||||
| # Using Copyright | ||||
| 
 | ||||
| + GPL is primarily a copyright license. | ||||
|       + Software is copyrighted. | ||||
|       + License grants key freedoms. | ||||
|       + Requirement prohibit activities that take away freedoms. | ||||
| 
 | ||||
| + General concept: copyleft. | ||||
| 
 | ||||
| + Specific implementation: GPL. | ||||
| 
 | ||||
| <hr/> | ||||
| 
 | ||||
| <span class="fitonslide"> | ||||
| 
 | ||||
| > Copyright protection subsists … original works of authorship fixed in any tangible medium of expression …  from which they can be perceived, reproduced, or otherwise communicated, either directly or with the aid of a machine or device. | ||||
| 
 | ||||
| <p align=right> | ||||
|  — <a href="http://www.law.cornell.edu/uscode/text/17/102">17 USC §102</a> | ||||
| </p> | ||||
| </span> | ||||
| 
 | ||||
| # Conditional Permissions | ||||
| 
 | ||||
| + A copyleft license grants copyright permissions, conditionally. | ||||
| 
 | ||||
| + Think of the phrase: “provided that” | ||||
| 
 | ||||
| + “provided that”: appears (in some form) only | ||||
| 
 | ||||
| + 4 times in GPLv2 | ||||
| 
 | ||||
| + 9 times in GPLv3. | ||||
| 
 | ||||
| # Compare To Proprietary Licenses | ||||
| 
 | ||||
| + Yes, the GPL has its requirements. | ||||
| 
 | ||||
| + But *none* of these activities are ever permitted under proprietary | ||||
|   licenses. | ||||
| 
 | ||||
| + If you don't like what the GPL requires you to do, then just tell your | ||||
|   client to use the proprietary software instead. | ||||
| 
 | ||||
| + That way, they know the answer to every question is “no&;rdquo; | ||||
| 
 | ||||
| + rather than: “yes, but only as long as you …” | ||||
| 
 | ||||
| # The Technical Gap | ||||
| 
 | ||||
| + Understanding GPL well requires a some software expertise & legal | ||||
|   expertise. | ||||
| 
 | ||||
| + You don't have to be a professional on either side to grok it. | ||||
|      + but you're best off if you're a professional in one & an amateur | ||||
|        in the other.  | ||||
| 
 | ||||
| + Most important technical concepts you need: | ||||
|      + source code, binaries, methods of distribution. | ||||
| 
 | ||||
| # Considering Sections of the GPL | ||||
| 
 | ||||
| + With the remaining time … | ||||
|      + in interest of the experts in the audience … | ||||
|      + let's dig into a few specific sections. | ||||
| 
 | ||||
| + GPL ♥ 17 USC§106(2) & 17 USC§106(3) | ||||
| 
 | ||||
| + Modification and distribution. | ||||
| 
 | ||||
| # Why Permission to Modify? | ||||
| 
 | ||||
| + Your new copyrights are your copyrights: | ||||
|      + you are affixing it in a tangible medium. | ||||
| 
 | ||||
| + Exclusive right of copyright holders: | ||||
|      + Control on “preparation of derivative works” | ||||
|      + Distribution of the work. | ||||
|      + Note the combination of these. | ||||
|       | ||||
| + Again, see 17 USC§106 | ||||
| 
 | ||||
| + N.B.: “derivative works” is USA-centric, modify is more international) | ||||
| 
 | ||||
| # Modification As a Center Provision | ||||
| 
 | ||||
| + GPL's primary copyright hook is copyright controls on the right to modify. | ||||
| 
 | ||||
| + GPL's central tenant: | ||||
| 
 | ||||
| + You can make a modified version of various types privately as much as you'd like. | ||||
| 
 | ||||
| + When you distribute that modified version, you have requirements to meet. | ||||
| 
 | ||||
| + Technological considerations dictate necessity of more complex rules for | ||||
| certain types of modifications. | ||||
| 
 | ||||
| # GPLv2 § 2(a-b) | ||||
| 
 | ||||
| <span class="fitonslide"> | ||||
| <p>[GPLv2§]2. You may modify your copy or copies of the Program or any | ||||
| portion of it, thus forming a work based on the Program, and copy and | ||||
| distribute such modifications or work under the terms of Section 1 above, | ||||
| provided that you also meet all of these conditions: | ||||
| <br/> | ||||
| <br/> | ||||
| a) You must cause the modified files to carry prominent notices stating | ||||
| that you changed the files and the date of any change. | ||||
| <br/> | ||||
| <br/> | ||||
| b) You must cause any work that you distribute or publish, that in | ||||
| whole or in part contains or is derived from the Program or any | ||||
| part thereof, to be licensed as a whole at no charge to all third | ||||
| parties under the terms of this License. | ||||
| </p> | ||||
| </span> | ||||
| 
 | ||||
| # GPLv3§5(a-c) | ||||
| 
 | ||||
| <span class="fitonslide"> | ||||
| <p> | ||||
| You may convey a work based on the Program, or the modifications to | ||||
| produce it from the Program, in the form of source code under the | ||||
| terms of section 4, provided that you also meet all of these conditions: | ||||
| <br/> | ||||
| <br/> | ||||
| a) The work must carry prominent notices stating that you modified it, and | ||||
| giving a relevant date. | ||||
| <br/> | ||||
| <br/> | ||||
| b) The work must carry prominent notices stating that it is released under | ||||
| this License and any conditions added under section 7.  This requirement | ||||
| modifies the requirement in section 4 to "keep intact all notices". | ||||
| <br/> | ||||
| <br/> | ||||
| c) You must license the entire work, as a whole, under this License to anyone | ||||
| who comes into possession of a copy.  This License will therefore apply, | ||||
| along with any applicable section 7 additional terms, to the whole of the | ||||
| work, and all its parts, regardless of how they are packaged.  This License | ||||
| gives no permission to license the work in any other way, but it does not | ||||
| invalidate such permission if you have separately received it. | ||||
| </p> | ||||
| </span> | ||||
| 
 | ||||
| # GPLv2§2¶ ante-penultimate & penultimate | ||||
| 
 | ||||
| <span class="fitonslide"> | ||||
| <p> | ||||
| These requirements apply to the modified work as a whole.  If | ||||
| identifiable sections of that work are not derived from the Program, | ||||
| and can be reasonably considered independent and separate works in | ||||
| themselves, then this License, and its terms, do not apply to those | ||||
| sections when you distribute them as separate works.  But when you | ||||
| distribute the same sections as part of a whole which is a work based | ||||
| on the Program, the distribution of the whole must be on the terms of | ||||
| this License, whose permissions for other licensees extend to the | ||||
| entire whole, and thus to each and every part regardless of who wrote it. | ||||
| <br/> | ||||
| <br/> | ||||
| Thus, it is not the intent of this section to claim rights or contest | ||||
| your rights to work written entirely by you; rather, the intent is to | ||||
| exercise the right to control the distribution of derivative or | ||||
| collective works based on the Program. | ||||
| </p> | ||||
| 
 | ||||
| </span> | ||||
| 
 | ||||
| # GPLv3 §0 ¶1-5 | ||||
| <span class="fitonslide"> | ||||
| <p> | ||||
|   "Copyright" also means copyright-like laws that apply to other kinds of | ||||
| works, such as semiconductor masks. | ||||
| <br/> | ||||
| <br/> | ||||
|   "The Program" refers to any copyrightable work licensed under this | ||||
| License.  Each licensee is addressed as "you".  "Licensees" and | ||||
| "recipients" may be individuals or organizations. | ||||
| <br/> | ||||
| <br/> | ||||
| To "modify" a work means to copy from or adapt all or part of the work | ||||
| in a fashion requiring copyright permission, other than the making of an | ||||
| exact copy.  The resulting work is called a "modified version" of the | ||||
| earlier work or a work "based on" the earlier work. | ||||
| <br/> | ||||
| <br/> | ||||
|   A "covered work" means either the unmodified Program or a work based | ||||
| on the Program. | ||||
| </p> | ||||
| 
 | ||||
| # Binaries (i.e., Object Code) are Modifications | ||||
| 
 | ||||
| + Software that the computer understands is different than software humans | ||||
|   read. | ||||
| 
 | ||||
| + There is often a process required to modify (and/or translate) the software | ||||
|   from human-readable | ||||
|       + This process can be done ahead of time. | ||||
| 
 | ||||
| + Separation of source and binary was the first way proprietary software | ||||
|   companies discovered to subjugate users. | ||||
|       + GPL uses the fact that binaries are modifications (which are often | ||||
|         distribution) to prevent that subjugation. | ||||
| 
 | ||||
| # GPLv2 § 3(a-b) | ||||
| 
 | ||||
| <span class="fitonslide"> | ||||
| <p> | ||||
| <p>[GPLv2§]3. You may copy and distribute the Program (or a work based on it, | ||||
| under Section 2) in object code or executable form under the terms of | ||||
| Sections 1 and 2 above provided that you also do one of the following: | ||||
| <br/> | ||||
| <br/> | ||||
| a) Accompany it with the complete corresponding machine-readable | ||||
| source code, which must be distributed under the terms of Sections | ||||
| 1 and 2 above on a medium customarily used for software interchange; or, | ||||
| <br/> | ||||
| <br/> | ||||
| b) Accompany it with a written offer, valid for at least three | ||||
| years, to give any third party, for a charge no more than your | ||||
| cost of physically performing source distribution, a complete | ||||
| machine-readable copy of the corresponding source code, to be | ||||
| distributed under the terms of Sections 1 and 2 above on a medium | ||||
| customarily used for software interchange; | ||||
| </p> | ||||
| </span> | ||||
| 
 | ||||
| # GPLv3 § 6(a-b) | ||||
| 
 | ||||
| <span class="fitonslide"> | ||||
| <p> | ||||
| [GPLv3 § ] 6. Conveying Non-Source Forms. | ||||
| <br/> | ||||
| <br/> | ||||
| You may convey a covered work in object code form under the terms | ||||
| of sections 4 and 5, provided that you also convey the | ||||
| machine-readable Corresponding Source under the terms of this License, | ||||
| in one of these ways: | ||||
| <br/> | ||||
| <br/> | ||||
| a) Convey the object code in, or embodied in, a physical product | ||||
| (including a physical distribution medium), accompanied by the | ||||
| Corresponding Source fixed on a durable physical medium | ||||
| customarily used for software interchange. | ||||
| <br/> | ||||
| <br/> | ||||
| b) Convey the object code in, or embodied in, a physical product | ||||
| (including a physical distribution medium), accompanied by a | ||||
| written offer, valid for at least three years and valid for as | ||||
| long as you offer spare parts or customer support for that product | ||||
| model, to give anyone who possesses the object code either (1) a | ||||
| copy of the Corresponding Source for all the software in the | ||||
| product that is covered by this License, on a durable physical | ||||
| medium customarily used for software interchange, for a price no | ||||
| more than your reasonable cost of physically performing this | ||||
| conveying of source, or (2) access to copy the | ||||
| Corresponding Source from a network server at no charge. | ||||
| </p> | ||||
| </span> | ||||
| 
 | ||||
| # GPLv3 § 1 ¶ 1, 4-6 | ||||
| 
 | ||||
| <span class="fitonslide"> | ||||
| <p> | ||||
| The "source code" for a work means the preferred form of the work | ||||
| for making modifications to it.  "Object code" means any non-source | ||||
| form of a work. | ||||
| <br/> | ||||
| <br/> | ||||
| The "Corresponding Source" for a work in object code form means all the | ||||
| source code needed to generate, install, and (for an executable work) run the | ||||
| object code and to modify the work, including scripts to control those | ||||
| activities.  However, it does not include the work's System Libraries, or | ||||
| general-purpose tools or generally available free programs which are used | ||||
| unmodified in performing those activities but which are not part of the work. | ||||
| For example, Corresponding Source includes interface definition files | ||||
| associated with source files for the work, and the source code for shared | ||||
| libraries and dynamically linked subprograms that the work is specifically | ||||
| designed to require, such as by intimate data communication or control flow | ||||
| between those subprograms and other parts of the work. | ||||
| <br/> | ||||
| <br/> | ||||
| The Corresponding Source need not include anything that users | ||||
| can regenerate automatically from other parts of the Corresponding | ||||
| Source. | ||||
| <br/> | ||||
| <br/> | ||||
| The Corresponding Source for a work in source code form is that | ||||
| same work. | ||||
| </p> | ||||
| </span> | ||||
| 
 | ||||
| 
 | ||||
| # The GPL is a Complex Topic | ||||
| 
 | ||||
| + An in-depth seminar on GPL's provisions is a one-day course … | ||||
|      + … but the written materials discuss every section in depth. | ||||
| 
 | ||||
| + Keep in mind: every requirement has a carefully considered purpose to | ||||
|   uphold freedom of users. | ||||
| 
 | ||||
| + Software freedom licenses have a moral perspective. | ||||
|       + This is probably the most difficult thing for lawyers to understand. | ||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Bradley M. Kuhn
						Bradley M. Kuhn