*** empty log message ***
This commit is contained in:
		
							parent
							
								
									72f969b8a2
								
							
						
					
					
						commit
						c19b9d2557
					
				
					 3 changed files with 293 additions and 250 deletions
				
			
		|  | @ -41,7 +41,7 @@ Sponsored by the Free Software Foundation \\ | |||
| 
 | ||||
| Columbia Law School, New York, NY, USA \\ | ||||
| \vspace{.1in} | ||||
| Wednesday 21 January 2003  | ||||
| Wednesday 21 January 2004 | ||||
| } | ||||
| 
 | ||||
| \vspace{.7in} | ||||
|  | @ -85,7 +85,6 @@ any medium, provided this notice is preserved. | |||
| 
 | ||||
| \begin{abstract} | ||||
| 
 | ||||
| 
 | ||||
| This one-day course presents the details of five different GPL compliance | ||||
| cases handled by FSF's GPL Compliance Laboratory.  Each case offers unique | ||||
| insights into problems that can arise when the terms of GPL are not | ||||
|  | @ -101,6 +100,15 @@ that deal with Free Software on a regular basis.  However, technical | |||
| managers and executives whose businesses use or distribute Free Software | ||||
| will also find the course very helpful. | ||||
| 
 | ||||
| \bigskip | ||||
| 
 | ||||
| These course materials are merely a summary of the highlights of the | ||||
| course presented.  Readers of this material should assume that they have | ||||
| missed the bulk of the material, as the detailed discussion of these case | ||||
| studies is the most illuminating part about them.  Merely reading this | ||||
| material is akin to matriculating into a college course and read only the | ||||
| textbook instead of going to class. | ||||
| 
 | ||||
| \end{abstract} | ||||
| 
 | ||||
| \tableofcontents | ||||
|  | @ -124,58 +132,61 @@ propagate throughout the distribution chain of the software. | |||
| As we have learned, the assurance that Free Software under GPL remains | ||||
| Free Software is accomplished through various terms of GPL: \S 3 ensures | ||||
| that binaries are always accompanied with source; \S 2 ensures that the | ||||
| sources are adequate, complete and usable; \S 6 and \S 7 ensures that the | ||||
| sources are adequate, complete and usable; \S 6 and \S 7 ensure that the | ||||
| license of the software is always GPL for everyone, and that no other | ||||
| legal agreements or licenses trump GPL; \S 4 ensures that the GPL can be | ||||
| enforced. | ||||
| legal agreements or licenses trump GPL.  It is \S 4, however, that ensures | ||||
| that the GPL can be enforced. | ||||
| 
 | ||||
| In fact, \S 4 is where we begin our discussion of GPL enforcement.  This | ||||
| Thus, \S 4 is where we begin our discussion of GPL enforcement.  This | ||||
| clause is where the legal teeth of the license are rooted.  As a copyright | ||||
| license, GPL governs only the activities governed by copyright law --- | ||||
| copying, modifying and redistributing computer software.  Unlike most | ||||
| copyright licenses, GPL gives wide grants of permission for engaging with | ||||
| these activities.  Such permissions continue and all parties may exercise | ||||
| until such time as one party violates the terms of GPL\@.  At the moment | ||||
| of such a violation --- the engaging of copying, modifying or | ||||
| redistributing in ways not permitted by GPL --- \S 4 is invoked. | ||||
| them until such time as one party violates the terms of GPL\@.  At the | ||||
| moment of such a violation (i.e., the engaging of copying, modifying or | ||||
| redistributing in ways not permitted by GPL) \S 4 is invoked.  While other | ||||
| parties may continue to operate under GPL, the violating party loses their | ||||
| rights. | ||||
| 
 | ||||
| Specifically, \S 4 terminates the violators rights to continue engaging | ||||
| Specifically, \S 4 terminates the violators' rights to continue engaging | ||||
| in the permissions that otherwise granted by GPL\@.  Effectively, their | ||||
| permission go back to the copyright defaults --- no permission to copy, | ||||
| modify, or redistribute the work.  Meanwhile, \S 5 points out that if | ||||
| if the violator has no rights under GPL --- as they will not once they | ||||
| have violated it --- then they otherwise have no right and are prohibited | ||||
| by copyright law from engaging in the activities of copying, modifying | ||||
| and distributing. | ||||
| permissions go back to the copyright defaults --- no permission is granted | ||||
| to copy, modify, nor redistribute the work.  Meanwhile, \S 5 points out | ||||
| that if if the violator has no rights under GPL --- as they will not once | ||||
| they have violated it --- then they otherwise have no rights and are | ||||
| prohibited by copyright law from engaging in the activities of copying, | ||||
| modifying and distributing. | ||||
| 
 | ||||
| \section{Ongoing Violations} | ||||
| 
 | ||||
| In conjunction with \S 4's termination of violators' rights, there is one | ||||
| final industry fact is added to the mix: rarely, does on engage in a | ||||
| single, solitary act of copying, distributing or modifying software. | ||||
| Almost always, a violator will have legitimately acquired a copy a GPL'd | ||||
| program --- either made modifications or not --- and then begun a ongoing | ||||
| activity of distributing that work.  For example, the violator may have | ||||
| put the software in boxes and sold them at stores.  Or perhaps the | ||||
| software was put up for download on the Internet.  Regardless of the | ||||
| delivery mechanism, violators almost always are engaged in {\em ongoing\/} | ||||
| final industry fact added to the mix: rarely, does one engage in a single, | ||||
| solitary act of copying, distributing or modifying software.  Almost | ||||
| always, a violator will have legitimately acquired a copy a GPL'd program, | ||||
| either making modifications or not, and then began a ongoing activity of | ||||
| distributing that work.  For example, the violator may have put the | ||||
| software in boxes and sold them at stores.  Or perhaps the software was | ||||
| put up for download on the Internet.  Regardless of the delivery | ||||
| mechanism, violators almost always are engaged in {\em ongoing\/} | ||||
| violation of GPL\@. | ||||
| 
 | ||||
| In fact, when we discover a GPL violation that occurred only once --- for | ||||
| example, a user group who distributed copies of a GNU/Linux system without | ||||
| source at a meeting once --- we rarely pursue it with a high degree of | ||||
| diligence.  In our minds, that is an educational problem, and unless the | ||||
| user group becomes a repeat offender (as it turns out, the never do) we | ||||
| simply send an FAQ entry that best explains how user groups can most | ||||
| easily comply with GPL, and send them on there merry way. | ||||
| source at one meeting --- we rarely pursue it with a high degree of | ||||
| tenacity.  In our minds, such a violation is an educational problem, and | ||||
| unless the user group becomes a repeat offender (as it turns out, the | ||||
| never do) we simply forward along an FAQ entry that best explains how user | ||||
| groups can most easily comply with GPL, and send them on there merry way. | ||||
| 
 | ||||
| It is only the cases of {\em ongoing\/} GPL violation that warrant our | ||||
| active attention.  We vehemently pursue those cases where dozens, hundreds | ||||
| or thousands of customers are receiving software that is out of | ||||
| compliance, and the company continually puts for sale (or distributes | ||||
| gratis as a demo) software distributions that include GPL'd components out | ||||
| of compliance.  Our goal is to maximize the impact of enforcement and | ||||
| educate industries who are making a mistake on a large scale. | ||||
| compliance, and where the company continually puts for sale (or | ||||
| distributes gratis as a demo) software distributions that include GPL'd | ||||
| components out of compliance.  Our goal is to maximize the impact of | ||||
| enforcement and educate industries who are making such a mistake on a | ||||
| large scale. | ||||
| 
 | ||||
| In addition, such ongoing violation shows that a particular company is | ||||
| committed to a GPL'd product line.  We are thrilled to learn that someone | ||||
|  | @ -186,40 +197,41 @@ gives us an active opportunity to educate a new contributor the GPL'd | |||
| commons about proper procedures to contribute to the community. | ||||
| 
 | ||||
| Our central goal is not, in fact, to merely clear up particular violation. | ||||
| Over time, we hope that our compliance lab will be out of business.  We | ||||
| seek to educate the businesses that engage in commerce related to GPL'd | ||||
| software to obey the rules of the road and allow them to operate freely | ||||
| under them.  Just as a traffic officer would not revel in reminding people | ||||
| which side of the road to drive in, so we do not revel in violations.  By | ||||
| contrast, we revel in the successes of educating an ongoing violator about | ||||
| GPL so that GPL compliance becomes a second-nature matter, and they join | ||||
| the GPL ecosystem as contributors. | ||||
| In fact, over time, we hope that our compliance lab will be out of | ||||
| business.  We seek to educate the businesses that engage in commerce | ||||
| related to GPL'd software to obey the rules of the road and allow them to | ||||
| operate freely under them.  Just as a traffic officer would not revel in | ||||
| reminding people which side of the road to drive on, so we do not revel in | ||||
| violations.  By contrast, we revel in the successes of educating an | ||||
| ongoing violator about GPL so that GPL compliance becomes a second-nature | ||||
| matter, allowing that company to join the GPL ecosystem as a contributor. | ||||
| 
 | ||||
| \section{How are Violations Discovered?} | ||||
| 
 | ||||
| Our enforcement of GPL is not a fund-raising effort; in fact, FSF's GPL | ||||
| compliance lab runs at a loss (in other words, it is subsided by our | ||||
| Compliance Lab runs at a loss (in other words, it is subsided by our | ||||
| donors).  Our violation reports come from volunteers, who have encountered | ||||
| in their business or personal life, a device or software product that | ||||
| appears to contain GPL'd software; these reports are usually sent via | ||||
| email to $<$license-violation@fsf.org$>$. | ||||
| appears to contain GPL'd software.  These reports are almost always sent | ||||
| via email to $<$license-violation@fsf.org$>$. | ||||
| 
 | ||||
| Our first order of business, upon receiving such a report, is to seek | ||||
| independent confirmation.  When possible, we get a copy of the software | ||||
| product.  For example, if it is an offering that is downloadable from a | ||||
| website, we download it and investigate ourselves.  When it is not | ||||
| possible for us to actually get a copy of the software, we ask the | ||||
| reporter to go through the same process we use in examining the software. | ||||
| reporter to go through the same process we would use in examining the | ||||
| software. | ||||
| 
 | ||||
| By rough estimation, about 95\% of violations at this stage can be | ||||
| confirmed by simple commands.  Since almost all violators have merely made | ||||
| an error, and have no nefarious intentions, they have made no attempt to | ||||
| remove our copyright notices from the software.  Given the third-party | ||||
| binary, {\tt tpb}, usually, a simple command (on a GNU/Linux system) such | ||||
| as the following will find an Free Software copyright notice and GPL | ||||
| reference: | ||||
| confirmed by simple commands.  Almost all violators have merely made an | ||||
| error and have no nefarious intentions.  They have made no attempt to | ||||
| remove our copyright notices from the software.  Thus, given the | ||||
| third-party binary, {\tt tpb}, usually, a simple command (on a GNU/Linux | ||||
| system) such as the following will find a Free Software copyright notice | ||||
| and GPL reference: | ||||
| \begin{quotation} | ||||
| {\tt string tpb | grep Copyright} | ||||
| {\tt strings tpb | grep Copyright} | ||||
| \end{quotation} | ||||
| In other words, it is usually more than trivial to confirm that GPL'd | ||||
| software is included. | ||||
|  | @ -229,17 +241,17 @@ determine whose copyright has been violated.  Contrary to popular belief, | |||
| FSF does not have the power to enforce GPL in all cases.  Since GPL | ||||
| operates under copyright law, the powers of enforcement --- to seek | ||||
| redress once \S 4 has been invoked --- lies with the copyright holder of | ||||
| the software.  FSF is one of the largest copyright holders in the world | ||||
| of GPL'd software, but we are by no means the only one.  Thus, we | ||||
| sometimes discover that while GPL'd code is present in the software, | ||||
| there is no software copyrighted by FSF. | ||||
| the software.  FSF is one of the largest copyright holders in the world of | ||||
| GPL'd software, but we are by no means the only one.  Thus, we sometimes | ||||
| discover that while GPL'd code is present in the software, there is no | ||||
| software copyrighted by FSF present. | ||||
| 
 | ||||
| In cases where FSF does not hold copyright interest in the software, but | ||||
| we have confirmed a violation, we contact the copyright holders of the | ||||
| software, and encourage them to enforce GPL\@.  We offer our good offices | ||||
| to help negotiate compliance on their behalf, and many times we help as a | ||||
| third party to settle such GPL violations.  However, what we will | ||||
| describe in this course is FSF's first-hand experience enforcing its own | ||||
| third party to settle such GPL violations.  However, what we will describe | ||||
| primarily in this course is FSF's first-hand experience enforcing its own | ||||
| copyrights and GPL\@. | ||||
| 
 | ||||
| \section{First Contact} | ||||
|  | @ -249,7 +261,7 @@ cooperation and mutual help.  Our community has learned that cooperation | |||
| works best when you assume the best of others, and only change policy, | ||||
| procedures and attitudes when some specific event or occurrence indicates | ||||
| that a change is necessary.  We treat the process of GPL enforcement in | ||||
| the same way; our goal is to encourage violators to join the cooperative | ||||
| the same way.  Our goal is to encourage violators to join the cooperative | ||||
| community of software sharing, so we want to open our hand in friendship | ||||
| to them. | ||||
| 
 | ||||
|  | @ -263,7 +275,7 @@ compliance work. | |||
| 
 | ||||
| 
 | ||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||
| \chapter{Case Study: Davrik's Modified GCC} | ||||
| \chapter{Davrik: Modified GCC SDK} | ||||
| 
 | ||||
| In our first case study, we will consider Davrik, a company that produces | ||||
| software and hardware toolkits to assist OEM vendors who products consumer | ||||
|  | @ -287,13 +299,13 @@ with specious GPL violation complaints.  FSF shelved the matter until | |||
| more evidence was discovered. | ||||
| 
 | ||||
| FSF was later able to confirm the violation when two additional reports | ||||
| surfaced from other violation reports, both of whom had used the product | ||||
| surfaced from other violation reporters, both of whom had used the SDK | ||||
| professional and noticed clear similarities to FSF's GNU GCC\@.  FSF's | ||||
| Compliance Engineer asked the reporters to run standard tests to confirm | ||||
| the violation, and it was confirmed that the product was indeed a | ||||
| derivative work of GCC, ported to Windows and with a number of features | ||||
| added, including support for a specific consumer device chipset and | ||||
| additional features to aid in the linking process (``LP'') for the | ||||
| the violation, and it was confirmed that Davrik's SDK was indeed a | ||||
| derivative work of GCC\@.  Davrik had ported to Windows and added a number | ||||
| of features, including support for a specific consumer device chipset and | ||||
| additional features to aid in the linking process (``LP'') for those | ||||
| specific devices.  FSF explained the rights that the GPL afforded these | ||||
| customers and pointed out, for example, that Davrik only needed to provide | ||||
| source to those in possession of the binaries, and that the users may need | ||||
|  | @ -303,18 +315,18 @@ confirmed that such requests were not answered. | |||
| FSF brought the matter to the attention of Davrik, who immediately | ||||
| escalated the matter to their attorneys.  After a long negotiation, Davrik | ||||
| acknowledged that their SDK was indeed a derivative work of GCC\@.  Davrik | ||||
| released most of the source, but some disagreement occurred over whether LP | ||||
| was a derivate work of GCC\@.  After repeated FSF inquiries, Davrik | ||||
| released most of the source, but some disagreement occurred over whether | ||||
| LP was a derivate work of GCC\@.  After repeated FSF inquiries, Davrik | ||||
| reaudited the source and discovered that FSF's analysis was correct and | ||||
| determined that LP include a number of source files copied from the GCC | ||||
| determined that LP included a number of source files copied from the GCC | ||||
| code-base. | ||||
| 
 | ||||
| \label{davrik-build-problems} | ||||
| Once the full software release was made available, FSF asked the | ||||
| violation reporters if it addressed the problem.  Reports came back that | ||||
| in fact the source did not properly build.  FSF asked Davrik to provide | ||||
| better build instructions with the software, and such build instructions | ||||
| were incorporated into the next software release. | ||||
| Once the full software release was made available, FSF asked the violation | ||||
| reporters if it addressed the problem.  Reports came back that the source | ||||
| did not properly build.  FSF asked Davrik to provide better build | ||||
| instructions with the software, and such build instructions were | ||||
| incorporated into the next software release. | ||||
| 
 | ||||
| At FSF's request as well, Davrik informed customers who had previously | ||||
| purchased the product that the source was now available, by announcing | ||||
|  | @ -350,11 +362,11 @@ have under the GNU General Public License, Version 2. | |||
| 
 | ||||
| This quelled Davrik's concerns about other patent licensing they sought to | ||||
| do outside of the GPL'd software, and satisfied FSF's concerns that they | ||||
| give no permissions to exercise teachings of patents that were not already | ||||
| give proper permissions to exercise teachings of patents that were | ||||
| exercised in their GPL'd software release. | ||||
| 
 | ||||
| Finally, a GPL Compliance Officer inside Davrik was appointed who is | ||||
| responsible for all matters of GPL Compliance inside the company.  Darvik | ||||
| responsible for all matters of GPL compliance inside the company.  Darvik | ||||
| is responsible for informing FSF if the position is given to someone else | ||||
| inside the company, and making sure that FSF has direct contact | ||||
| information with Darvik's Compliance Officer. | ||||
|  | @ -371,22 +383,23 @@ This case introduces a number of concepts regarding GPL enforcement. | |||
|   GPL education, many users do not fully understand their rights and the | ||||
|   obligations that companies have.  By working through the investigation | ||||
|   with reporters, the violation can be properly confirmed, and {\bf the | ||||
|     user of the software can be educated about what to expect as a user}. | ||||
|   When users and customers of GPL'd products know their rights, what to | ||||
|   expect, and how to properly exercise their rights (particularly under \S | ||||
|   3(b)), it reduces the chances for user frustration and inappropriate | ||||
|   community outcry about an alleged GPL violation. | ||||
|     user of the software can be educated about what to expect with GPL'd | ||||
|     software}.  When users and customers of GPL'd products know their | ||||
|   rights, what to expect, and how to properly exercise their rights | ||||
|   (particularly under \S 3(b)), it reduces the chances for user | ||||
|   frustration and inappropriate community outcry about an alleged GPL | ||||
|   violation. | ||||
| 
 | ||||
| \item {\bf GPL compliance requires friendly negotiation and | ||||
|   cooperation.}  Often, attorneys and managers are legitimately surprised | ||||
|   to find out GPL'd software is included in their company's products. | ||||
|   Engineers sometimes include GPL'd software without understanding the | ||||
|   requirements.  This does not excuse companies from their obligations | ||||
|   under the license, but it does mean that care and patience are | ||||
|   essential for reaching GPL compliance.  We want companies to understand | ||||
|   that participating and benefiting from a collaborative Free Software | ||||
|   community is not a burden, so we strive to make the process of coming | ||||
|   into compliance when a problem occurs as smooth as possible. | ||||
| \item {\bf GPL compliance requires friendly negotiation and cooperation.} | ||||
|   Often, attorneys and managers are legitimately surprised to find out | ||||
|   GPL'd software is included in their company's products.  Engineers | ||||
|   sometimes include GPL'd software without understanding the requirements. | ||||
|   This does not excuse companies from their obligations under the license, | ||||
|   but it does mean that care and patience are essential for reaching GPL | ||||
|   compliance.  We want companies to understand that participating and | ||||
|   benefiting from a collaborative Free Software community is not a burden, | ||||
|   so we strive to make the process of coming into compliance as smooth as | ||||
|   possible. | ||||
| 
 | ||||
| \item {\bf Confirming compliance is a community effort.}  The whole point | ||||
|   of making sure that software distributors respect the terms of GPL is to | ||||
|  | @ -404,21 +417,21 @@ This case introduces a number of concepts regarding GPL enforcement. | |||
|   violators to make some attempt --- such as via newsletters and the | ||||
|   company's website --- to inform those who already have the products as | ||||
|   to their rights under GPL\@.  One of the key thrusts of GPL's \S 1 and | ||||
|   \S 3 is to {\em make sure the user knows he has these rights\/}.  If a | ||||
|   product was received out of compliance by a customer, they may never | ||||
|   actually discover that they had such rights.  Informing them, in a way | ||||
|   that is not burdensome but has a high probability of successfully | ||||
|   \S 3 is to {\em make sure the user knows she has these rights\/}.  If a | ||||
|   product was received out of compliance by a customer, she may never | ||||
|   actually discover that she had such rights.  Informing customers, in a | ||||
|   way that is not burdensome but has a high probability of successfully | ||||
|   reaching those who would seek to exercise their freedoms, is essential | ||||
|   to properly remedy the mistake. | ||||
| 
 | ||||
| \item {\bf Lines between various copyright, patent, and other legal | ||||
|   mechanisms must be precisely defined and considered.}  The most | ||||
|   difficult negotiation point of this compliance case was drafting | ||||
|   language that simultaneously protected the Davrik's patent rights | ||||
|   outside of the GPL'd source, but was consistent with the implicit patent | ||||
|   grant in GPL\@.  As we discussed in the first course in this series, | ||||
|   there is indeed an implicit patent grant with GPL, thanks to \S 6 and \S | ||||
|   7.  However, many companies become nervous and wish to make the grant | ||||
|   difficult negotiation point of the Davrik case was drafting language | ||||
|   that simultaneously protected the Davrik's patent rights outside of the | ||||
|   GPL'd source, but was consistent with the implicit patent grant in | ||||
|   GPL\@.  As we discussed in the first course in this series, there is | ||||
|   indeed an implicit patent grant with GPL, thanks to \S 6 and \S 7. | ||||
|   However, many companies become nervous and wish to make the grant | ||||
|   explicit to assure themselves that the grant is sufficiently narrow for | ||||
|   their needs.  We understand that there is no reasonable way to determine | ||||
|   what patent claims read on a company's GPL holdings and which do not, so | ||||
|  | @ -431,6 +444,11 @@ This case introduces a number of concepts regarding GPL enforcement. | |||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||
| \chapter{Bracken: a Minor Violation in a GNU/Linux Distribution} | ||||
| 
 | ||||
| In this case study, we consider a minor violation made by a company whose | ||||
| knowledge of the Free Software community and it functions is deep. | ||||
| 
 | ||||
| \section{The Facts}  | ||||
| 
 | ||||
| Bracken produces a GNU/Linux operating system product that is sold | ||||
| primarily to OEM vendors to be placed in appliance devices that are used | ||||
| for a single purpose, such as an Internet-browsing-only device.  The | ||||
|  | @ -439,8 +457,8 @@ related Free Software licenses. | |||
| 
 | ||||
| FSF found out about this violation through a report first posted in a | ||||
| comment on a Slashdot\footnote{Slashdot is a popular news and discussion | ||||
|   site for technical readers.} comment, and then later brought to our | ||||
| attention by another Free Software copyright holder who had discovered the | ||||
|   site for technical readers.} comment, and then was brought to attention | ||||
| again by another Free Software copyright holder who had discovered the | ||||
| same violation. | ||||
| 
 | ||||
| Bracken's GNU/Linux product is delivered directly from their website. | ||||
|  | @ -473,14 +491,14 @@ following steps: | |||
|   ever they distributed that way). | ||||
| 
 | ||||
| \item Bracken attorneys would run an internal seminar for its engineers | ||||
|   regarding GPL proper compliance, to help ensure that such oversights | ||||
|   regarding proper GPL compliance, to help ensure that such oversights | ||||
|   regarding source releases would not occur in the future. | ||||
| 
 | ||||
| \item Bracken would resume distribution of the product only after FSF | ||||
|   formally restored Bracken's distribution rights. | ||||
| \end{itemize} | ||||
| 
 | ||||
| This work was completed in the matter of about a month.  FSF approved the | ||||
| This case was completed in the matter of about a month.  FSF approved the | ||||
| new EULA text.  They key portion in the EULA relating to GPL read as | ||||
| follows: | ||||
| 
 | ||||
|  | @ -511,7 +529,7 @@ completed as described. | |||
| 
 | ||||
| \section{Lessons Learned} | ||||
| 
 | ||||
| This case was probably them most quickly and easily resolved of all GPL | ||||
| This case was probably the most quickly and easily resolved of all GPL | ||||
| violations in the history of FSF's Compliance Lab.  The ease with which | ||||
| the problem was resolved shows a number of cultural factors that play a | ||||
| role in GPL compliance. | ||||
|  | @ -520,13 +538,13 @@ role in GPL compliance. | |||
| 
 | ||||
| \item {\bf Companies that understand Free Software culture better have an | ||||
|   easier time with compliance.}  Bracken's products were designed and | ||||
|   build around the GNU/Linux system and Free Software components.  Their | ||||
|   built around the GNU/Linux system and Free Software components.  Their | ||||
|   engineers were deeply familiar with the Free Software ecosystem, and | ||||
|   their lawyers had seen and reviewed GPL before.  The violation was | ||||
|   completely an honest mistake, and since the culture inside the company | ||||
|   had already adapted to the cooperative style of resolution to problems | ||||
|   in the Free Software world, there was very little work for either | ||||
|   party to bring the product into compliance. | ||||
|   completely an honest mistake.  Since the culture inside the company had | ||||
|   already adapted to the cooperative style of resolution in the Free | ||||
|   Software world, there was very little work for either party to bring the | ||||
|   product into compliance. | ||||
| 
 | ||||
| \item {\bf When people in key positions understand the Free Software | ||||
|   nature of their software products, compliance concerns are as mundane as | ||||
|  | @ -534,26 +552,26 @@ role in GPL compliance. | |||
|   its problems, and successful business often depends on agile response to | ||||
|   the problems that do come up; avoiding problems altogether is a pipe | ||||
|   dream.  Minor GPL violations can and do happen even with well-informed | ||||
|   redistributors, but when the company --- and in particular, the lawyers, | ||||
|   managers, and engineers working on the Free Software product lines -- | ||||
|   have adapted to the cooperate Free Software culture, resolving such | ||||
|   problems are merely a mundane details of typical operation and resolved | ||||
|   just as easily. | ||||
|   redistributors.  However, when the company --- and in particular, the | ||||
|   lawyers, managers, and engineers working on the Free Software product | ||||
|   lines --- have adapted to the cooperative Free Software culture, | ||||
|   resolving such problems is merely a mundane detail of typical operation | ||||
|   and resolution is reached quickly. | ||||
| 
 | ||||
| \item {\bf Legally, distribution must stop when a violation is | ||||
|   identified.}  In our opinion, Bracken went above and beyond the call by | ||||
|   ceasing distribution while the violation was being resolved.  Under GPL | ||||
|   \S 4, the redistributor loses the right to distribute the software, and | ||||
|   thus they are in ongoing violation of copyright law as they distribute. | ||||
|   It is FSF's policy to temporarily allow distribution while compliance | ||||
|   negotiations are ongoing and only in the most extreme cases where the | ||||
|   other party appears to be negotiating in bad faith does FSF even | ||||
|   threaten an injunction on copyright grounds.  However, Bracken --- as a | ||||
|   good Free Software citizen --- chose to be on the safe side and do the | ||||
|   legally correct thing while the violation case was pending.  Since from | ||||
|   start to finish it took less than am month to resolve, this lapse in | ||||
|   distribute did not, to FSF's knowledge, impact their business in any | ||||
|   way. | ||||
|   identified.}  In our opinion, Bracken went above and beyond the call of | ||||
|   duty by ceasing distribution while the violation was being resolved. | ||||
|   Under GPL \S 4, the redistributor loses the right to distribute the | ||||
|   software, and thus they are in ongoing violation of copyright law if | ||||
|   they distribute before rights are restored.  It is FSF's policy to | ||||
|   temporarily allow distribution while compliance negotiations are ongoing | ||||
|   and only in the most extreme cases (where the other party appears to be | ||||
|   negotiating in bad faith) does FSF even threaten an injunction on | ||||
|   copyright grounds.  However, Bracken --- as a good Free Software citizen | ||||
|   --- chose to be on the safe side and do the legally correct thing while | ||||
|   the violation case was pending.  Since from start to finish it took less | ||||
|   than am month to resolve, this lapse in distribution did not, to FSF's | ||||
|   knowledge, impact Bracken's business in any way. | ||||
| 
 | ||||
| \item {\bf EULAs are a common area for GPL problems.}  Often, EULAs are | ||||
|   drafted from boilerplate text that a company uses for all its products. | ||||
|  | @ -562,8 +580,8 @@ role in GPL compliance. | |||
|   licenses.  Drafting a EULA that accounts for such licenses is | ||||
|   straightforward; the text quoted above works just fine.  The EULA must | ||||
|   be designed so that it does not trump and rights and permissions already | ||||
|   granted by GPL\@, and it must be certain that if there is a conflict | ||||
|   between EULA and GPL, with regard to GPL'd code, that the GPL is the | ||||
|   granted by GPL\@, and it clearly state that if there is a conflict | ||||
|   between the EULA and GPL, with regard to GPL'd code, that the GPL is the | ||||
|   overriding license. | ||||
| 
 | ||||
| \item {\bf Compliance Officers are rarely necessary when companies are | ||||
|  | @ -601,15 +619,15 @@ a derivative work of GNU tar; the extraneous utilities merely made | |||
| compliance with GPL by releasing the source of GNU tar, with the | ||||
| cryptographic modifications, to its customers. | ||||
| 
 | ||||
| Vigorien released the GNU tar sources, but kept the cryptographic library | ||||
| proprietary.  They argued that the security of their system depending on | ||||
| keeping the software proprietary and that regardless, USA export | ||||
| restrictions on cryptographic software prohibited such a release.  FSF | ||||
| disputed the claim on the first count, pointing out that Vigorien's had | ||||
| only one option if they did not want to release the source: they would | ||||
| have to remove GNU tar from the software and not distribute it further. | ||||
| Vigorien rejected this suggestion, since GNU tar was an integral part of | ||||
| the product and the security changes were useless without GNU tar. | ||||
| Vigorien released the original GNU tar sources, but kept the cryptographic | ||||
| modifications proprietary.  They argued that the security of their system | ||||
| depending on keeping the software proprietary and that regardless, USA | ||||
| export restrictions on cryptographic software prohibited such a release. | ||||
| FSF disputed the first claim, pointing out that Vigorien had only one | ||||
| option if they did not want to release the source: they would have to | ||||
| remove GNU tar from the software and not distribute it further.  Vigorien | ||||
| rejected this suggestion, since GNU tar was an integral part of the | ||||
| product and the security changes were useless without GNU tar. | ||||
| 
 | ||||
| Regarding the export control claims, FSF proposed a number of options, | ||||
| including release of the source from one of Vigorien's divisions overseas | ||||
|  | @ -629,18 +647,26 @@ did so, and the violation was resolved. | |||
| 
 | ||||
| \item {\bf Removing the GPL'd portion of the product is always an option.} | ||||
|   Many violators' first response is to simply refuse to release the source | ||||
|   code as GPL required.  FSF offers the option to simply remove the GPL'd | ||||
|   code as GPL requires.  FSF offers the option to simply remove the GPL'd | ||||
|   portions from the product and continue along without them indefinitely. | ||||
|   Every case where this has been suggested has led to the same conclusion. | ||||
|   Like Vigorien, the violator argues that the product cannot function | ||||
|   without the GPL'd components and they cannot effectively replace them. | ||||
| 
 | ||||
|   Such an outcome of course is further evidence that the combined work in | ||||
|   Such an outcome is simply further evidence that the combined work in | ||||
|   question is indeed a derivative work of the original GPL'd component. | ||||
|   If the other components cannot stand on their own and be useful without | ||||
|   the GPL'd portions, then one cannot effectively argue that the work as a | ||||
|   whole is not a derivative of the GPL'd portions. | ||||
| 
 | ||||
| \item {\bf The whole product is not always covered.}  In this case, | ||||
|   Vigorien had additional works aggregated.  The backup system was a suite | ||||
|   of utilities, some of which were GPL and some of which were not.  While | ||||
|   the cryptographic routines were tightly coupled with GNU tar and clearly | ||||
|   derivative works, the various GUI utilities were separate and | ||||
|   independent works merely aggregated with the distribution of the | ||||
|   GNU-tar-based product. | ||||
| 
 | ||||
| 
 | ||||
| \item {\bf ``Security'' concerns do not exonerate a distributor from GPL | ||||
|   obligations, and ``security through obscurity'' does not work anyway.} | ||||
|  | @ -662,11 +688,11 @@ did so, and the violation was resolved. | |||
|   by identifying them early. | ||||
| 
 | ||||
| \item {\bf External regulatory problems can be difficult to resolve.} | ||||
|   GPL, though copyright law, does not have the power to trump regulations | ||||
|   like export controls.  While Vigorien's ``security concerns'' were | ||||
|   specious, their export control concerns were not.  It is indeed a | ||||
|   difficult problem that FSF acknowledges.  We want compliance with GPL | ||||
|   and respect for users' freedoms, but we certainly do not expect | ||||
|   GPL, though grounded in copyright law, does not have the power to trump | ||||
|   regulations like export controls.  While Vigorien's ``security | ||||
|   concerns'' were specious, their export control concerns were not.  It is | ||||
|   indeed a difficult problem that FSF acknowledges.  We want compliance | ||||
|   with GPL and respect for users' freedoms, but we certainly do not expect | ||||
|   companies to commit criminal offenses for the sake of compliance.  We | ||||
|   will see more about this issue in our next case study. | ||||
| \end{enumerate} | ||||
|  | @ -676,8 +702,8 @@ did so, and the violation was resolved. | |||
| \chapter{Haxil, Polgara, and Thesulac: Mergers, Upstream Providers and Radio Devices} | ||||
| 
 | ||||
| This case study considers an ongoing (at the time of writing) violation | ||||
| that occurred.  By the end of the investigation period, three companies | ||||
| were involved and many complex issues arose. | ||||
| that has occurred.  By the end of the investigation period, three | ||||
| companies were involved and many complex issues arose. | ||||
| 
 | ||||
| \section{The Facts} | ||||
| 
 | ||||
|  | @ -695,10 +721,10 @@ arms about the violation. | |||
| 
 | ||||
| Meanwhile, Haxil was in the midst of being acquired by Polgara.  Polgara | ||||
| was as surprised as everyone else to discover the product was based on | ||||
| GPL'd software; it had not been part of the disclosures made during | ||||
| GPL'd software; this fact had not been part of the disclosures made during | ||||
| acquisition.  FSF contacted both Haxil and Polgara, and product managers | ||||
| who had transitioned into the ``Haxil division'' of newly merged Polgara | ||||
| company worked and Polgara's General Counsel's office worked with FSF on | ||||
| who had transitioned into the ``Haxil division'' of the newly-merged | ||||
| Polgara company and Polgara's General Counsel's office worked with FSF on | ||||
| the matter. | ||||
| 
 | ||||
| FSF meanwhile formed a coalition with the other primary copyright holders | ||||
|  | @ -738,8 +764,8 @@ regarding the problem. | |||
| \begin{enumerate} | ||||
| 
 | ||||
| \item {\bf Community outrage, while justified, can often make negotiation | ||||
|   more difficult.}  FSF has a strong policy to not publicized names of GPL | ||||
|   violators if they are negotiating in a friendly way and operating in | ||||
|   more difficult.}  FSF has a strong policy never to publicize names of | ||||
|   GPL violators if they are negotiating in a friendly way and operating in | ||||
|   good faith toward compliance.  Most violations are honest mistakes, and | ||||
|   FSF sees no reason to publicly admonish violators who genuinely see to | ||||
|   come into compliance with GPL and to work hard staying in compliance. | ||||
|  | @ -758,19 +784,21 @@ regarding the problem. | |||
|   during the acquisition process.  While GPL compliance is not a | ||||
|   particularly difficult matter, it is an additional obligation that comes | ||||
|   along with the product line.  When planning mergers and joint ventures, | ||||
|   include lists of GPL'd components contained in the products discussed. | ||||
|   one should include lists of GPL'd components contained in the products | ||||
|   discussed. | ||||
| 
 | ||||
| \item {\bf Compliance problems of upstream providers do not excuse a | ||||
|   violation for the downstream distributor.}  To paraphrase \S 6, upstream | ||||
|   providers are not responsible for enforcing compliance of their | ||||
|   downstream, nor are downstream distributors responsible for compliance | ||||
|   problems of upstream providers.  However, engaging in distribution of | ||||
|   GPL'd works out of compliance is still just that --- a compliance | ||||
|   problem.  When FSF carries out enforcement, we are patient and | ||||
|   sympathetic when the problem appears to be upstream.  In fact, we urge | ||||
|   the violator to point us to the upstream provider to talk to them, and | ||||
|   in this case we were happy to begin negotiations with Thesulac.  However, | ||||
|   Polgara still has an obligation to bring their product into compliance. | ||||
|   GPL'd works out of compliance is still just that: a compliance problem. | ||||
|   When FSF carries out enforcement, we are patient and sympathetic when | ||||
|   the problem appears to be upstream.  In fact, we urge the violator to | ||||
|   point us to the upstream provider so we may talk to them directly.  In | ||||
|   this case we were happy to begin negotiations with Thesulac.  However, | ||||
|   Polgara still has an obligation to bring their product into compliance, | ||||
|   regardless of Thesulac's response. | ||||
| 
 | ||||
| \item {\bf It behooves upstream providers to advise downstream | ||||
|   distributors about compliance matters.}  FSF has encouraged Thesulac to | ||||
|  | @ -779,7 +807,7 @@ regarding the problem. | |||
|   product, and it is conceivable that such additions can introduce | ||||
|   compliance.  In FSF's opinion, Thesulac is no way legally responsible | ||||
|   for such a violation introduced by their customer, but it behooves them | ||||
|   from a business standpoint to educate their customers about using the | ||||
|   from a marketing standpoint to educate their customers about using the | ||||
|   product.  We can argue whether or not it is your coffee vendor's fault | ||||
|   if you burn yourself with their product, but (likely) no one on either | ||||
|   side would dispute the prudence of placing a ``caution: hot'' label on | ||||
|  | @ -803,6 +831,7 @@ regarding the problem. | |||
|   simple rule to follow, and following that rule to FSF's satisfaction | ||||
|   usually means you are following it to the satisfaction of the entire | ||||
|   Free Software community. | ||||
| 
 | ||||
| \end{enumerate} | ||||
| 
 | ||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||
|  | @ -853,4 +882,4 @@ distribute products based on GPL'd software: | |||
| % LocalWords:  Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc | ||||
| % LocalWords:  TrollTech administrivia LGPL's MontaVista Davrik Davrik's Darvik | ||||
| % LocalWords:  Darvik's Slashdot sublicensed Vigorien Vigorien's Haxil Polgara | ||||
| % LocalWords:  Thesulac Polgara's Haxil's Thesulac's | ||||
| % LocalWords:  Thesulac Polgara's Haxil's Thesulac's SDK CD's | ||||
|  |  | |||
										
											Binary file not shown.
										
									
								
							|  | @ -41,7 +41,7 @@ Sponsored by the Free Software Foundation \\ | |||
| 
 | ||||
| Columbia Law School, New York, NY, USA \\ | ||||
| \vspace{.1in} | ||||
| Tuesday 20 January 2003  | ||||
| Tuesday 20 January 2004 | ||||
| } | ||||
| 
 | ||||
| \vspace{.7in} | ||||
|  | @ -125,6 +125,15 @@ learned the following: | |||
|         works of software. | ||||
| \end{itemize} | ||||
| 
 | ||||
| \bigskip | ||||
| 
 | ||||
| These course materials are merely a summary of the highlights of the | ||||
| course presented.  Readers of this material should assume that they have | ||||
| missed the bulk of the material, as the detailed discussion of about these | ||||
| issues is the true education about GPL and LPGL\@.  Merely reading this | ||||
| material is akin to matriculating into a college course and read only the | ||||
| textbook instead of going to class. | ||||
| 
 | ||||
| \end{abstract} | ||||
| 
 | ||||
| \tableofcontents | ||||
|  | @ -600,6 +609,8 @@ economy. | |||
| 
 | ||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||
| \chapter{Running Software And Verbatim Copying} | ||||
| \label{run-and-verbatim} | ||||
| 
 | ||||
| 
 | ||||
| This chapter begins the deep discussion of the details of the terms of | ||||
| GPL\@.  In this chapter, we consider the first two sections: GPL \S\S | ||||
|  | @ -668,7 +679,7 @@ matter is left up to copyright law, not the licenses that utilize it. | |||
| It is certainly true that copyright law as a whole does not propose clear | ||||
| and straightforward guidelines for what is and is not a derivative | ||||
| software work under copyright law.  However, no copyright license --- not | ||||
| even the GNU GPL -- can be blamed for this.  Legislators and court | ||||
| even the GNU GPL --- can be blamed for this.  Legislators and court | ||||
| opinions must give us guidance to decide the border cases. | ||||
| 
 | ||||
| \section{GPL \S 1: Verbatim Copying} | ||||
|  | @ -761,6 +772,7 @@ of a derivative work of software. However, the applicable provisions do | |||
| provide some, albeit quite cursory, guidance. Section 101 of the Copyright | ||||
| Act sets forth the following definitions: | ||||
| 
 | ||||
| \begin{quotation} | ||||
| A ``computer program'' is a set of statements or instructions to be used | ||||
| directly or indirectly in a computer in order to bring about a certain | ||||
| result. | ||||
|  | @ -772,6 +784,7 @@ reproduction, abridgment, condensation, or any other form in which a work | |||
| may be recast, transformed, or adapted. A work consisting of editorial | ||||
| revisions, annotations, elaborations, or other modifications which, as a | ||||
| whole, represent an original work of authorship, is a ``derivative work''. | ||||
| \end{quotation} | ||||
| 
 | ||||
| These are the only provisions in the Copyright Act relevant to the | ||||
| determination of what constitutes a derivative work of a computer | ||||
|  | @ -1041,6 +1054,7 @@ adopts norms avoiding such risk. | |||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||
| 
 | ||||
| \chapter{Modified Source and Binary Distribution} | ||||
| \label{source-and-binary} | ||||
| 
 | ||||
| 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 | ||||
|  | @ -1496,49 +1510,50 @@ with respect to the licensed software. | |||
| \newcommand{\compB}{$\mathcal{B}$} | ||||
| \newcommand{\compA}{$\mathcal{A}$} | ||||
| 
 | ||||
| For example, if Company \compA has a patent on advanced web browsing, but | ||||
| For example, if Company \compA{} has a patent on advanced web browsing, but | ||||
| also licenses a web browsing software program under the GPL, then it | ||||
| cannot assert the patent against any party that takes a license to its | ||||
| program under the GPL.  However, if a party uses that program without | ||||
| complying with the GPL, then Company \compA can assert, not just copyright | ||||
| complying with the GPL, then Company \compA{} can assert, not just copyright | ||||
| infringement claims against the non-GPL-compliant party, but also | ||||
| infringement of the patent, because the implied patent license only | ||||
| extends to use of the software in accordance with the GPL.  Further, if | ||||
| Company \compB distributes a competitive advanced web browsing program, | ||||
| Company \compA is free to assert its patent against any user or | ||||
| Company \compB{} distributes a competitive advanced web browsing program, | ||||
| Company \compA{} is free to assert its patent against any user or | ||||
| distributor of that product.  It is irrelevant whether Company \compB's | ||||
| program is distributed under the GPL, as Company \compB can not grant | ||||
| program is distributed under the GPL, as Company \compB{} can not grant | ||||
| implied licenses to Company \compA's patent. | ||||
| 
 | ||||
| This result also reassures companies that they need not fear loosing their | ||||
| proprietary value in patents to competitors through the GPL implied patent | ||||
| license, as only those competitors who adopt and comply with the GPL's | ||||
| terms can benefit from the implied patent license.  To continue the | ||||
| example above, Company \compB does not receive a free ride on Company | ||||
| \compA's patent, as Company \compB has not licensed-in and then | ||||
| example above, Company \compB{} does not receive a free ride on Company | ||||
| \compA's patent, as Company \compB{} has not licensed-in and then | ||||
| redistributed Company A's advanced web browser under the GPL.  If Company | ||||
| \compB does do that, however, Company \compA still has not lost | ||||
| competitive advantage against Company \compB, as Company \compB must then, | ||||
| \compB{} does do that, however, Company \compA{} still has not lost | ||||
| competitive advantage against Company \compB{}, as Company \compB{} must then, | ||||
| when it re-distributes Company \compA's program, grant an implied license | ||||
| to any of its patents that cover the program.  Further, if Company \compB | ||||
| to any of its patents that cover the program.  Further, if Company \compB{} | ||||
| relicenses an improved version of Company A's program, it must do so under | ||||
| the GPL, meaning that any patents it holds that cover the improved version | ||||
| are impliedly licensed to any licensee.  As such, the only way Company | ||||
| \compB can benefit from Company \compA's implied patent license, is if it, | ||||
| \compB{} can benefit from Company \compA's implied patent license, is if it, | ||||
| itself, distributes Company \compA's software program and grants an | ||||
| implied patent license to any of its patents that cover that program. | ||||
| 
 | ||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||
| \chapter{Defending Freedom On Many Fronts} | ||||
| 
 | ||||
| The last chapter presented the core freedom-defending provisions of GPL\@, | ||||
| which are in \S\S 0--3.  \S\S 4--7 of the GPL are designed to ensure that | ||||
| \S\S 0--3 are not infringed, 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 the parts of the license that keep the playing | ||||
| field clear so that \S\S 0--3 can do their jobs. | ||||
| Chapters~\ref{run-and-verbatim} and ~\ref{source-and-binary} presented the | ||||
| core freedom-defending provisions of GPL\@, which are in \S\S 0--3.  \S\S | ||||
| 4--7 of the GPL are designed to ensure that \S\S 0--3 are not infringed, | ||||
| 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 | ||||
| the parts of the license that keep the playing field clear so that \S\S | ||||
| 0--3 can do their jobs. | ||||
| 
 | ||||
| \section{GPL \S 4: Termination on Violation} | ||||
| \label{GPLs4} | ||||
|  | @ -1591,12 +1606,12 @@ That is FSF's steadfast position in a violation negotiation --- comply | |||
| with the license and respect freedom. | ||||
| 
 | ||||
| However, other entities who do not share the full ethos of software | ||||
| freedom as institutionalized by FSF pursue GPL violations differently.  MySQL | ||||
| AB, a company that produces the GPL'd MySQL database, upon discovering | ||||
| GPL violations typically negotiates a proprietary software 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. | ||||
| freedom as institutionalized by FSF pursue GPL violations differently. | ||||
| MySQL AB, a company that produces the GPL'd MySQL database, upon | ||||
| discovering GPL violations typically negotiates a proprietary software | ||||
| license separately for a fee.  While this practice is not one that FSF | ||||
| would ever consider undertaking or even endorsing, it is a legal way for | ||||
| copyright holders to proceed. | ||||
| 
 | ||||
| \section{GPL \S 5: Acceptance, Copyright Style} | ||||
| \label{GPLs5} | ||||
|  | @ -1788,23 +1803,23 @@ 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 into | ||||
| the world as possible, particular tactical situations of software freedom | ||||
| dictate different means.  Extending the copyleft effect as far as | ||||
| copyright law allows is not always the most prudent course to the goal. | ||||
| In particular situations, even those of us with the goal of building a | ||||
| world where all published software is Free Software realize that full | ||||
| copyleft does not best serve that goal.  The GNU Lesser General Public | ||||
| copyright law allows is not always the most prudent course in reaching the | ||||
| goal.  In particular situations, even those of us with the goal of | ||||
| building a world where all published software is Free Software realize | ||||
| that full copyleft does not best serve us.  The GNU Lesser General Public | ||||
| License (``GNU LGPL'') was designed as a solution for such situations. | ||||
| 
 | ||||
| \section{The First LGPL'd Program} | ||||
| 
 | ||||
| The first example that FSF encountered where such altered tactics were | ||||
| needed was when work began on the GNU C Library.  The GNU C Library would | ||||
| be (and today, now is) a drop-in replacement for existing C Libraries.  On | ||||
| a Unix-like operating system, C is the lingua franca and the C library is | ||||
| an essential component for all programs.  It is extremely difficult to | ||||
| become (and today, now is) a drop-in replacement for existing C Libraries. | ||||
| On a Unix-like operating system, C is the lingua franca and the C library | ||||
| is an essential component for all programs.  It is extremely difficult to | ||||
| construct a program that will run with ease on a Unix-like operating | ||||
| system without making use of services provided by the GNU C Library -- | ||||
| even if the program is written in a language other than C\@.  Effectively, | ||||
| all user application programs that run on any modern Unix-like system must | ||||
| system without making use of services provided by the C Library --- even | ||||
| if the program is written in a language other than C\@.  Effectively, all | ||||
| user application programs that run on any modern Unix-like system must | ||||
| make use of the C Library. | ||||
| 
 | ||||
| By the time work began on the GNU implementation of the C Library, there | ||||
|  | @ -1812,15 +1827,15 @@ were already many C libraries in existence from a variety of vendors. | |||
| Every proprietary Unix vendor had one, and many third parties produced | ||||
| smaller versions for special purpose use.  However, our goal was to create | ||||
| a C library that would provide equivalent functionality to these other C | ||||
| Libraries on a Free Software operating system (which in fact happens today | ||||
| in modern GNU/Linux systems, which all use the GNU C Library). | ||||
| 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 | ||||
| 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. | ||||
| the GNU/Linux platform be released under 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 | ||||
|  | @ -1837,18 +1852,18 @@ advocates, since it stops all proprietary software development on | |||
| GNU/Linux systems.  However, the outcome is a bit more subtle.  In a world | ||||
| where many C Libraries already exist, many of which could easily be ported | ||||
| to GNU/Linux, a GPL'd glibc would be unlikely to succeed.  Proprietary | ||||
| vendors would see the excellent opportunity to license their C libraries to | ||||
| anyone who wished to write proprietary software for GNU/Linux systems. | ||||
| The de-facto standard for C libraries on GNU/Linux would likely become not | ||||
| vendors would see the excellent opportunity to license their C libraries | ||||
| to anyone who wished to write proprietary software for GNU/Linux systems. | ||||
| The de-facto standard for C libraries 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 | ||||
| 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 glibc. | ||||
| be users of a proprietary C library, not the Free glibc. | ||||
| 
 | ||||
| The Lesser GPL was first conceived to handle this scenario.  It was clear | ||||
| that the existence of proprietary applications for GNU/Linux was | ||||
| 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 | ||||
| were released under a license that (a) permitted proprietary applications | ||||
|  | @ -1860,25 +1875,23 @@ the C library. | |||
| 
 | ||||
| There was no way the license of glibc could stop or even slow the creation | ||||
| of proprietary applications on GNU/Linux.  However, loosening the | ||||
| restrictions on the licensing of glibc was able to ensure that nearly all | ||||
| proprietary applications at least used a Free C library rather than a | ||||
| proprietary one.  This trade-off is central to the reasoning behind the | ||||
| LGPL\@. | ||||
| restrictions on the licensing of glibc ensured that nearly all proprietary | ||||
| applications at least used a Free C library rather than a proprietary one. | ||||
| This trade-off is central to the reasoning behind the LGPL\@. | ||||
| 
 | ||||
| Of course, many people who use the LGPL today are not thinking in these | ||||
| terms.  In fact, they are often choosing the GPL because they are looking | ||||
| for a ``compromise'' between the GPL and the X11-style liberal licensing | ||||
| that does not reserve any rights to ensure the future freedom of the | ||||
| software.  However, understanding FSF's reasoning behind the creation of | ||||
| the LGPL is helpful when studying the license. | ||||
| terms.  In fact, they are often choosing the LGPL because they are looking | ||||
| for a ``compromise'' between the GPL and the X11-style liberal licensing. | ||||
| However, understanding FSF's reasoning behind the creation of the LGPL is | ||||
| helpful when studying the license. | ||||
| 
 | ||||
| 
 | ||||
| \section{What's the Same?} | ||||
| 
 | ||||
| Much of the text of the LGPL is identical to the GPL\@.  As we begin our | ||||
| discussion of the LGPL, we will first eliminate the sections that are | ||||
| identical, or that have the minor change of changing the word ``Program'' | ||||
| to ``Library''. | ||||
| identical, or that have the minor modifications of 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. | ||||
|  | @ -2025,14 +2038,14 @@ the library'', works as follows: | |||
| \end{itemize} | ||||
| 
 | ||||
| We will talk about the specific restrictions LGPL places on ``works that | ||||
| use the library'' in detail in Section~\ref{FIXME}.  For now, focus on the | ||||
| logic related to how the LGPL 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 | ||||
| combining otherwise separate and independent works with GPL'd code. | ||||
| Effectively, what LGPL is doing is saying 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''. | ||||
| 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 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 is doing is saying 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 | ||||
| of a ``work that uses the library'' is for the same reason that GPL has | ||||
|  | @ -2122,11 +2135,10 @@ the license only so that when such a border case is hit, the implications | |||
| of using LGPL continue in the expected way. | ||||
| 
 | ||||
| To understand this subtle point, we must recall the way that a compiler | ||||
| operates, which we discussed in Section~\ref{FIXME}.  The compiler first | ||||
| generates object code, which are the binary representations of various | ||||
| programming modules.  Each of those modules is usually not useful by | ||||
| itself; it becomes useful to a user a a full program when those modules | ||||
| are {\em assembled\/} into a full binary executable. | ||||
| operates.  The compiler first generates object code, which are the binary | ||||
| representations of various programming modules.  Each of those modules is | ||||
| usually not useful by itself; it becomes useful to a user a full program | ||||
| when those modules are {\em assembled\/} into a full binary executable. | ||||
| 
 | ||||
| As we have discussed, the assembly of modules can happen at compile-time | ||||
| or at runtime.  Legally, there is no distinction between the two --- both | ||||
|  | @ -2154,7 +2166,7 @@ based on the library''.  However, since the compiler copies verbatim, | |||
| copyrighted portions of the library into the object code for the otherwise | ||||
| separate and independent work, it would actually cause that object file a | ||||
| ``work based on the library''.  It is not FSF's intent that a mere | ||||
| compilation idiosyncrasy changes the requirements on the users of the | ||||
| compilation idiosyncrasy would change the requirements on the users of the | ||||
| LGPL'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 | ||||
|  | @ -2170,7 +2182,7 @@ them understand that the full implications of LGPL are the same regardless | |||
| of the details of the compilation progress. | ||||
| 
 | ||||
| \section{LGPL \S 6: Distributing Works that Use the Library} | ||||
| 
 | ||||
| \label{lgpl-section-6} | ||||
| Now that we have a 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. | ||||
|  | @ -2184,10 +2196,10 @@ source form.  However, there are also conditions in LGPL \S 6 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 and | ||||
| the freedom to modify that library source the users.  We will first | ||||
| consider the option given by \S 6(b), which describes the most common way | ||||
| that is currently used for LGPL compliance on a ``work that uses the | ||||
| library''. | ||||
| 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 that is currently used for LGPL compliance on a ``work that | ||||
| uses the library''. | ||||
| 
 | ||||
| \S 6(b) allows the distributor of a ``work that uses the library'' to | ||||
| simply use a dynamically linked, shared library mechanism to link with the | ||||
|  | @ -2214,17 +2226,18 @@ 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 additions, and 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 exercised. | ||||
| provided by GPL \S 3.  There are some additional options, and 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 | ||||
| exercised. | ||||
| 
 | ||||
| \section{Distribution of Works Based on the Library} | ||||
| 
 | ||||
| Essential, ``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.  There | ||||
| are again subtle differences and additions, which time does not permit us | ||||
| to cover in this course. | ||||
| 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. | ||||
| There are again subtle differences and additions, which time does not | ||||
| permit us to cover in this course. | ||||
| 
 | ||||
| \section{And the Rest} | ||||
| 
 | ||||
|  | @ -3400,6 +3413,7 @@ That's all there is to it! | |||
| % LocalWords:  proprietarize redistributors sublicense yyyy Gnomovision EULAs | ||||
| % LocalWords:  Yoyodyne FrontPage improvers Berne copyrightable Stallman's GPLs | ||||
| % LocalWords:  Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc | ||||
| % LocalWords:  TrollTech administrivia LGPL's MontaVista OpenTV Mitek Arce | ||||
| % LocalWords:  unprotectable protectable Unfreedonia chipset CodeSourcery | ||||
| % LocalWords:  impermissibly | ||||
| % LocalWords:  TrollTech administrivia LGPL's MontaVista OpenTV Mitek Arce DVD | ||||
| % LocalWords:  unprotectable protectable Unfreedonia chipset CodeSourcery Iqtel | ||||
| % LocalWords:  impermissibly Bateman faire minimis Borland uncopyrightable Mgmt | ||||
| % LocalWords:  franca downloadable | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Bradley M. Kuhn
						Bradley M. Kuhn