diff --git a/Case-Study-Ethics/case-study-ethics.pdf b/Case-Study-Ethics/case-study-ethics.pdf deleted file mode 100644 index d7e07f8..0000000 Binary files a/Case-Study-Ethics/case-study-ethics.pdf and /dev/null differ diff --git a/Case-Study-Ethics/case-study-ethics.tex b/Case-Study-Ethics/case-study-ethics.tex deleted file mode 100644 index bb9b63f..0000000 --- a/Case-Study-Ethics/case-study-ethics.tex +++ /dev/null @@ -1,900 +0,0 @@ -% case-study-ethics.tex -*- LaTeX -*- - -% Tutorial Text for GPL Compliance Case Studies -% and Legal Ethics in Free Software Licensing -% -% Copyright (C) 2004 Free Software Foundation, Inc. - - -% License: CC-By-SA-4.0 - -% The copyright holders hereby grant the freedom to copy, modify, convey, -% Adapt, and/or redistribute this work under the terms of the Creative -% Commons Attribution Share Alike 4.0 International License. - -% This text is distributed in the hope that it will be useful, but -% WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -% You should have received a copy of the license with this document in -% a file called 'CC-By-SA-4.0.txt'. If not, please visit -% https://creativecommons.org/licenses/by-sa/4.0/legalcode to receive -% the license text. - -\documentclass[12pt]{report} -% FILTER_PS: \input{generate-ps-file} -% FILTER_PDF: \input{generate-pdf-file} -% FILTER_HTML: \input{generate-html-file} -\input{one-inch-margins} - -%\setlength\parskip{0.7em} -%\setlength\parindent{0pt} - -\newcommand{\defn}[1]{\emph{#1}} - -%\pagestyle{empty} - -\begin{document} - -\begin{titlepage} - - -\begin{center} - -\vspace{.5in} - -{\Large {\sc GPL Compliance Case Studies} \\ - -\vspace{.7in} - -Sponsored by the Free Software Foundation \\ - - -\vspace{.3in} - -Columbia Law School, New York, NY, USA \\ -\vspace{.1in} -Wednesday 21 January 2004 -} - -\vspace{.7in} - -{\large -Bradley M. Kuhn - -Executive Director - -Free Software Foundation -} - -\vspace{.3in} - - -{\large -Daniel Ravicher - -Senior Counsel - -Free Software Foundation -} - -\end{center} - -\vfill - -{\parindent 0in -Copyright \copyright{} 2004 \hspace{.2in} Free Software Foundation, Inc. - -\vspace{.3in} - -The copyright holders hereby grant the freedom to copy, modify, convey, -Adapt, and/or redistribute this work under the terms of the Creative Commons -Attribution Share Alike 4.0 International License. A copy of that license is -available at \verb=https://creativecommons.org/licenses/by-sa/4.0/legalcode=. -} - -\end{titlepage} - -\pagestyle{plain} -\pagenumbering{roman} - -\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 -properly followed, and how diplomatic negotiation between the violator and -the copyright holder can yield positive results for both parties. - -Attendees should have successfully completely the course, a ``Detailed -Study and Analysis of GPL and LGPL'', as the material from that course -forms the building blocks for this material. - -The course is of most interest to lawyers who have clients or employers -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 - -\pagebreak - -\pagenumbering{arabic} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Overview of FSF's GPL Compliance Lab} - -The GPL is a Free Software license with legal teeth. Unlike licenses like -the X11-style or various BSD licenses, GPL (and by extension, the LGPL) is -designed to defend as well as grant freedom. We saw in the last course -that GPL uses copyright law as a mechanism to grant all the key freedoms -essential in Free Software, but also to ensure that those freedoms -propagate throughout the distribution chain of the software. - -\section{Termination Begins Enforcement} - -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 ensure that the -license of the software is always GPL for everyone, and that no other -legal agreements or licenses trump GPL. It is \S 4, however, that ensures -that the GPL can be enforced. - -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 -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 -in the permissions that otherwise granted by GPL\@. Effectively, their -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 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 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 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 -is benefiting from Free Software, and we understand that sometimes they -have become confused about the rules of the road. Rather than merely -giving us a post mortem to perform on a past mistake, an ongoing violation -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. -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 -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 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 would use in examining the -software. - -By rough estimation, about 95\% of violations at this stage can be -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 strings tpb | grep Copyright} -\end{quotation} -In other words, it is usually more than trivial to confirm that GPL'd -software is included. - -Once we have confirmed that a violation has indeed occurred, we must then -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 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 -primarily in this course is FSF's first-hand experience enforcing its own -copyrights and GPL\@. - -\section{First Contact} - -The Free Software community is built on a structure of voluntary -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 -community of software sharing, so we want to open our hand in friendship -to them. - -Therefore, once we have confirmed a violation, our first assumption is -that the violation is an oversight or otherwise a mistake due to confusion -about the terms of the license. We reach out to the violator and ask them -to work with us in a collaborative way to bring the product into -compliance. We have received the gamut of possible reactions to such -requests, and in this course, we examine four specific examples of such -compliance work. - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\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 -electronic devices. - -\section{Facts} - -One of Davrik's key products is a Software Development Kit (``SDK'') -designed to assist developers building software for a specific class of -consumer electronics devices. - -FSF received a report that the SDK may be based on the GNU Compiler -Collection (which is an FSF-copyrighted collection of tools for software -development in C, C++ and other popular languages). FSF investigated the -claim, but was unable to confirm the violation. The violation reporter -was unresponsive to follow-up requests for more information. - -Since FSF was unable to confirm the violation, we did not pursue it any -further. Bogus reports do happen, and we do not want to burden companies -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 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 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 -to request that source (if \S 3(b) was exercised). The violators -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 -reaudited the source and discovered that FSF's analysis was correct and -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 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 -the available on its website and via a customer newsletter. - -Davrik did have some concerns regarding patents. They wished to include a -statement with the software release that made sure they were not granting -any patent permission other than what was absolutely required by GPL\@. -They understood that their patent assertions could not trump any rights -granted by GPL\@. The following language was negotiated to be included -with the release: - -\begin{quotation} -Subject to the qualifications stated below, Davrik, on behalf of itself -and its Subsidiaries, agrees not to assert the Claims against you for your -making, use, offer for sale, sale, or importation of the Davrik's GNU -Utilities or derivative works of the Davrik's GNU Utilities -("Derivatives"), but only to the extent that any such Derivatives are -licensed by you under the terms of the GNU General Public License. The -Claims are the claims of patents that Davrik or its Subsidiaries have -standing to enforce that are directly infringed by the making, use, or -sale of an Davrik Distributed GNU Utilities in the form it was distributed -by Davrik and that do not include any limitation that reads on hardware; -the Claims do not include any additional patent claims held by Davrik that -cover any modifications of, derivative works based on or combinations with -the Davrik's GNU Utilities, even if such a claim is disclosed in the same -patent as a Claim. Subsidiaries are entities that are wholly owned by -Davrik. - -This statement does not negate, limit or restrict any rights you already -have under the GNU General Public License, Version 2. -\end{quotation} - -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 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 -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. - -\section{Lessons} - -This case introduces a number of concepts regarding GPL enforcement. - -\begin{enumerate} - -\item {\bf Enforcement should not begin until the evidence is confirmed.} - Most companies who distribute GPL'd software do so in compliance, and at - times, violation reports are mistaken. Even with extensive efforts in - 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 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 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 - allow a thriving software sharing community to benefit and improve the - work. FSF are not the experts on how a compiler for consumer electronic - devices should work. We therefore inform the community who originally - brought the violation to our attention and ask them to assist in - evaluation and confirmation of the product's compliance. Of course, FSF - coordinates and oversees the process, but we do not want compliance for - compliance's sake; rather, we wish to foster a cooperating community of - development around the Free Software in question, and encourage the - once-violator to begin participating in that community. - -\item {\bf Informing the harmed community is part of compliance.} FSF asks - 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 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 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 - we do not object to general language that explicitly narrows the patent - grant to only those patents that were, in fact, exercised by the GPL'd - software as released by the company. - -\end{enumerate} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\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 -product is almost 100\% Free Software, mostly licensed under GPL and -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 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. -This allowed FSF engineers to directly download and confirm the violation -quickly. It was discovered that there were two primary problems with the -online distribution: - -\begin{itemize} - -\item No source code nor offer for source code was provided for a number - of components for the distributed GNU/Linux system; only binaries were - available. - -\item An End User License Agreement (``EULA'') was included that - contradicted the permissions granted by GPL\@. -\end{itemize} - -FSF contacted Bracken and gave them the details of the violation. Bracken -immediately ceased distribution of the product temporarily, and set forth -a plan to bring themselves back into compliance. This plan included the -following steps: - -\begin{itemize} - -\item Bracken attorneys would rewrite the EULA to comply with GPL, and - would vet the new EULA through FSF before use. - -\item Bracken engineers would provide source side-by-side with the - binaries for the GNU/Linux distribution on the site (and on CD's, if - ever they distributed that way). - -\item Bracken attorneys would run an internal seminar for its engineers - 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 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: - -\begin{quotation} -Many of the Software Programs included in Bracken Software are distributed -under the terms of agreements with Third Parties (``Third Party -Agreements'') which may expand or limit the Licensee's rights to use -certain Software Programs as set forth in [this EULA]. Certain Software -Programs may be licensed (or sublicensed) to Licensee under the GNU -General Public License and other similar license agreements listed in part -in this section which, among other rights, permit the Licensee to copy, -modify and redistribute certain Software Programs, or portions thereof, -and have access to the source code of certain Software Programs, or -portions thereof. In addition, certain Software Programs, or portions -thereof, may be licensed (or sublicensed) to Licensee under terms stricter -than those set forth in [this EULA]. The Licensee must review the -electronic documentation that accompanies certain Software Programs, or -portions thereof, for the applicable Third Party Agreements. To the -extent any Third Party Agreements require that Bracken provide rights to -use, copy or modify a Software Program that are broader than the rights -granted to the Licensee in [this EULA], then such rights shall take -precedence over the rights and restrictions granted in this Agreement -solely for such Software Programs. -\end{quotation} - -FSF restored Bracken's distribution rights shortly after the work was -completed as described. - -\section{Lessons Learned} - -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. - -\begin{enumerate} - -\item {\bf Companies that understand Free Software culture better have an - easier time with compliance.} Bracken's products were designed and - 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. 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 - minor software bugs.} Even the most functional system or structure has - 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. 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 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. - Even the most diligent attorneys forget or simply do not know that a - product contains software licensed under GPL and other Free Software - 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 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 - educated about GPL compliance.} As we saw in the Davrik case, FSF asks - that a formal ``GPL Compliance Officer'' be appointed inside a - previously violating organization to shepherd the organization to a - cooperative approach with regard to GPL compliance. However, when FSF - sees that an organization already has such an approach, there is no - need to request that such an officer be appointed. - -\end{enumerate} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Vigorien: Security, Export Controls, and GPL Compliance} - -This case study introduces how concerns of ``security through obscurity'' -and regulatory problems can impact GPL compliance matters. - -\section{The Facts} - -Vigorien distributes a backup solution product that allows system -administrators to create encrypted backups of file-systems on Unix-like -computers. The product is based on GNU tar, a backup utility that -replaces the standard Unix utility, ``tar'', but has additional features. - -Vigorien's backup solution added cryptographic features to GNU tar, and -included a suite of utilities and graphical user interfaces surrounding -GNU tar to make backups convenient. - -FSF discovered the violation from a user report, and determined that the -cryptographic features were the only part of the product that constituted -a derivative work of GNU tar; the extraneous utilities merely made -``shell'' calls out to GNU tar. FSF requested that Vigorien come into -compliance with GPL by releasing the source of GNU tar, with the -cryptographic modifications, to its customers. - -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 -where no such restrictions occurred, but Vigorien argued that the problem -was insoluble because they operated primarily in the USA\@. - -The deadlock on the second issue was resolved when those cryptographic -export restrictions were lifted shortly thereafter, and FSF again raised -the matter with Vigorien. At that point, they dropped the first claim and -agreed to release the remaining source module to their customers. They -did so, and the violation was resolved. - - -\section{Lessons Learned} - -\begin{enumerate} - -\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 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 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.} - The argument that ``this is security software, so it cannot be released - in source form'' is not a valid defense for explaining why the terms of - the GPL are ignored. If companies do not want to release source code - for some reason, then they should not base the work on GPL'd software. - No external argument for non-compliance can hold weight if the work as - whole is indeed a derivative work of a GPL'd program. - - The ``security concerns'' argument is often floated as a reason to keep - software proprietary, but the computer security community has on - numerous occasions confirmed that such arguments are entirely specious. - Security experts have found --- since the beginnings of the field of - cryptography in the ancient word --- that sharing results about systems - and having such systems withstand peer review and scrutiny builds the - most secure systems. While full disclosure may help some who wish to - compromise security, it helps those who want to fix problems even more - by identifying them early. - -\item {\bf External regulatory problems can be difficult to resolve.} - 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} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Haxil, Polgara, and Thesulac: Mergers, Upstream Providers and Radio Devices} - -This case study considers an ongoing (at the time of writing) violation -that has occurred. By the end of the investigation period, three -companies were involved and many complex issues arose. - -\section{The Facts} - -Haxil produced a consumer electronics device which included a mini -GNU/Linux distribution to control the device. The device was of interest -to many technically minded consumers, who purchased the device and very -quickly discovered that Free Software was included without source. -Mailing lists throughout the Free Software community erupted with -complaints about the problem, and FSF quickly investigated. - -FSF confirmed that FSF-copyrighted GPL'd software was included. In -addition, the whole distribution included GPL'd works from hundreds of -individual copyright holders, many of whom were, at this point, up in -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; 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 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 -to pursue the enforcement effort on their behalf. FSF communicated -directly with Polgara's representatives to begin working through the -issues on behalf of FSF itself and the Free Software community at large. - -Polgara pointed out that the software distribution they used was mostly -contributed by an upstream provider, Thesulac, and Haxil's changes to that -code base were minimal. Polgara negotiated with Thesulac to obtain the -source, although the issue was moving very slowly in the channels between -Polgara and Thesulac. - -FSF encouraged a round-table meeting so that high bandwidth communication -could occur between FSF, Polgara and Thesulac. Polgara and Thesulac -agreed, and that discussion began. Thesulac provided nearly complete -sources to Polgara, and Polgara made a full software release on their -website. At the time of writing, that software still has some build -problems (similar those that occurred with Davrik, as described in -Section~\ref{davrik-build-problems}). FSF continues to negotiate with -Polgara and Thesulac to resolve these problems, which have a clear path to -solution and are expected to resolve. - -Similar to the Vigorien case, Thesulac has regulatory concerns. In this -case, it is not export controls --- an issue that has since been resolved ---- but radio spectrum regulation. Since this consumer electronic device -contains a software-programmable radio transmitter, regulations in (at -least) the USA and Japan prohibit release of those portions of the code -that operate the device. Since this is a low-level programming issue, the -changes to operate the device are a derivative work of the kernel named -Linux. This situation remains unresolved at the time of writing, although -FSF continues to negotiation with Thesulac and the Linux community -regarding the problem. - -\section{Lessons Learned} - -\begin{enumerate} - -\item {\bf Community outrage, while justified, can often make negotiation - 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. - - This case was so public in the Free Software community that both Haxil's - and Polgara's representatives were nearly shell-shocked by the time FSF - began negotiations. There was much work required to diffuse the - situation. We empathize with our community and their outrage about GPL - violations, but we also want to follow a path that leads expediently - to compliance. In our experience, public outcry works best as a last - resort, not the first. - -\item {\bf For software companies, GPL compliance belongs on a corporate - acquisition checklist. } Polgara was truly amazed that Haxil had used - GPL'd software in a major new product line but never informed Polgara - 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, - 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 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 - distribute a ``good practices for GPL compliance'' document with their - product. Polgara added various software components to Thesulac's - 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 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 - the cup. - -\item {\bf FSF enforcement often avoids redundant enforcement cases from - many parties.} Most Free Software systems have hundreds of copyright - holders. Some have thousands. FSF is in a unique position as one of - the largest single copyright holders on GPL'd software and as a - respected umpire in the community neutrally enforcing the rules of the - GPL road. FSF works hard in the community to convince copyright - holders that consolidating GPL claims through FSF is better for them, - and more likely to yield positive compliance results. - - A few copyright holders engage in the ``proprietary relicensing'' - business, so they use GPL enforcement as a sales channel for that - business. FSF, as a community-oriented not-for-profit organization, - seeks only to preserve the freedom of Free Software in its enforcement - efforts. As it turns out, most of the community of copyright holders - of Free Software want the same thing. Share and share alike is a - 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} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Good Practices for Compliance} - -Generally, from the experience of GPL enforcement, we glean the following -general practices that can help in GPL compliance for organizations that -distribute products based on GPL'd software: - -\begin{enumerate} - -\item Talk to your software engineers and ask them where they got the - components they use in the products they build. Find out if GPL'd - components are present. - -\item Teach your engineering staff to pay attention to license documents. - Give them easy-to-follow policies to get approval for using a Free - Software component. - -\item Build a ``Free Software Licensing'' committee that handles requests - and questions about GPL and other Free Software licenses. - -\item Add ``What parts of your products are under GPL or other Free - Software licenses?'' to your checklist of questions to ask when you - consider mergers, acquisitions, or joint ventures. - -\item Encourage your engineers to participate collaboratively with GPL'd - software development. The more knowledge about the Free Software world - your organization has, the better equipped it is to deal with this - rapidly changing field. - -\item When someone points out a potential GPL violation in one of your - products, do not assume the product line is doomed. GPL is not a virus; - merely having GPL'd code in one part of a product does not necessarily - mean that every related product must also be GPL'd. And, even if some - software needs to be released that was not before, the product will - surely still survive. In FSF's enforcement efforts, we have not yet - seen a product line die because source was released to customers in - compliance with GPL. - -\end{enumerate} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\end{document} - -% 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 Davrik Davrik's Darvik -% LocalWords: Darvik's Slashdot sublicensed Vigorien Vigorien's Haxil Polgara -% LocalWords: Thesulac Polgara's Haxil's Thesulac's SDK CD's diff --git a/Case-Study-Ethics/new-case-study-ethics.pdf b/Case-Study-Ethics/new-case-study-ethics.pdf deleted file mode 100644 index 5c16319..0000000 Binary files a/Case-Study-Ethics/new-case-study-ethics.pdf and /dev/null differ diff --git a/Case-Study-Ethics/new-case-study-ethics.tex b/Case-Study-Ethics/new-case-study-ethics.tex deleted file mode 100644 index 12fe319..0000000 --- a/Case-Study-Ethics/new-case-study-ethics.tex +++ /dev/null @@ -1,1991 +0,0 @@ -% Tutorial Text for the Detailed Study and Analysis of GPL and LGPL course -% -% Copyright (C) 2003, 2004 Free Software Foundation, Inc. - -% License: CC-By-SA-4.0 - -% The copyright holders hereby grant the freedom to copy, modify, convey, -% Adapt, and/or redistribute this work under the terms of the Creative -% Commons Attribution Share Alike 4.0 International License. - -% This text is distributed in the hope that it will be useful, but -% WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -% You should have received a copy of the license with this document in -% a file called 'CC-By-SA-4.0.txt'. If not, please visit -% https://creativecommons.org/licenses/by-sa/4.0/legalcode to receive -% the license text. - -\documentclass[11pt]{book} -% FILTER_PS: \input{generate-ps-file} -% FILTER_PDF: \input{generate-pdf-file} -% FILTER_HTML: \input{generate-html-file} -% NOT FOUND \input{one-inch-margins} -\usepackage{enumerate} -\usepackage[dvips]{graphicx} -%\setlength\parskip{0.7em} -%\setlength\parindent{0pt} - -\newcommand{\defn}[1]{\emph{#1}} - -%\pagestyle{empty} - -\begin{document} - -\frontmatter - -\begin{titlepage} - -\begin{center} - -%\vspace{.5in} -\vfill - -\includegraphics{fsf-logo.eps} - -\vfill - -{\Large -{\sc GPL Compliance Case Studies} \\ - -\vfill - -%\vspace{.7in} - -% \vspace{.3in} - -Stanford University, Stanford, CA, USA \\ -\vspace{.1in} -Wednesday, 25 August 2004 -} - -% \vspace{.7in} -\vfill - -{\large -Bradley M. Kuhn - -Executive Director - -Free Software Foundation -} - -\vspace{.3in} - - -{\large -Daniel Ravicher - -Senior Counsel - -Free Software Foundation - -President and Executive Director - -Public Patent Foundation - -} - -\end{center} - -\vfill - -{\parindent 0in -Copyright \copyright{} 2003, 2004 \hspace{.2in} Free Software Foundation, Inc. - -\vspace{.3in} - -The copyright holders hereby grant the freedom to copy, modify, convey, -Adapt, and/or redistribute this work under the terms of the Creative Commons -Attribution Share Alike 4.0 International License. A copy of that license is -available at \verb=https://creativecommons.org/licenses/by-sa/4.0/legalcode=. -} - -\end{titlepage} - -\pagestyle{plain} - -\pagenumbering{roman} - -\chapter*{GPL Compliance Case Studies} - -\textit{Stanford University, Stanford, CA 25 August 2004} - -\begin{tabular}[t]{ll} -09:00 - 09:25 & Registration / Check-in / Continental Breakfast\\ -&\\ -09:25 - 09:30 & Welcome\\ -&\\ -09:30 - 09:45 & Overview of FSF's GPL Compliance Lab\\ -&\textit{Bradley M. Kuhn}\\ -&\\ -09:45 - 10:40 & GPL Violation Case Study A\\ -&\textit{Bradley M. Kuhn}\\ -&\\ -10:40 - 11:00 & GPL Violation Case Study B\\ -&\textit{Bradley M. Kuhn}\\ -&\\ -11:00 - 11:10 & Q \& A\\ -&\\ -11:10 - 11:20 & Break\\ -&\\ -11:20 - 11:50 & GPL Violation Case Study C\\ -&\textit{Bradley M. Kuhn}\\ -&\\ -11:50 - 12:10 & GPL Violation Case Study D\\ -&\textit{Bradley M. Kuhn}\\ -&\\ -12:10 - 12:20 & Good Practices for GPL Compliance\\ -&\textit{Bradley M. Kuhn}\\ -&\\ -\end{tabular} - -\begin{tabular}[t]{ll} -12:20 - 12:30 & Q \& A\\ -&\\ -12:30 - 14:00 & Lunch and Lecture ``GPL 3: Prospects and Process''\\ -& \textit{Prof. Eben Moglen}\\ -&\\ - -14:00 - 15:40 & Ethical Considerations and Legal Practices\\ -&\textit{Daniel Ravicher}\\ -&\\ -15:40 - 15:50 & Q \& A\\ -&\\ -15:50 - 16:00 & Break\\ -&\\ -16:00 - 17:30 & Current Issues in Free Software\\ -& \textit{Prof. Eben Moglen}\\ -&\\ -17:30 - 18:00 & Q \& A\\ -\end{tabular} - -\pagebreak - -% ===================================================================== -% START OF SECOND DAY SEMINAR SECTION -% ===================================================================== - -\chapter*{Preface} - -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 properly followed, and how diplomatic negotiation between -the violator and the copyright holder can yield positive results for -both parties. - -Attendees should have successfully completely the course, a ``Detailed -Study and Analysis of the GPL and LGPL,'' as the material from that -course forms the building blocks for this material. - -This course is of most interest to lawyers who have clients or -employers 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. Please be aware that during the actual GPL course, class -discussion supplements this printed curriculum. Simply reading it is -not equivalent to attending the course. - -\tableofcontents - -\mainmatter - -\pagenumbering{arabic} - -\chapter{Overview of FSF's GPL Compliance Lab} - -The GPL is a Free Software license with legal teeth. Unlike licenses like -the X11-style or various BSD licenses, GPL (and by extension, the LGPL) is -designed to defend as well as grant freedom. We saw in the last course -that GPL uses copyright law as a mechanism to grant all the key freedoms -essential in Free Software, but also to ensure that those freedoms -propagate throughout the distribution chain of the software. - -\section{Termination Begins Enforcement} - -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 ensure that the -license of the software is always GPL for everyone, and that no other -legal agreements or licenses trump GPL. It is \S 4, however, that ensures -that the GPL can be enforced. - -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 -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 in the permissions that are otherwise granted by GPL\@. -Effectively, their rights revert to the copyright defaults --- -no permission is granted to copy, modify, nor redistribute the work. -Meanwhile, \S 5 points out that if the violator has no rights under -GPL, they are prohibited by copyright law from engaging in the -activities of copying, modifying and distributing. They have lost -these rights because they have violated the GPL, and no other license -gives them permission to engage in these activities governed by copyright law. - -\section{Ongoing Violations} - -In conjunction with \S 4's termination of violators' rights, there is -one 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 of a -GPL'd program, either making modifications or not, and then begun -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 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, they -never do), we simply forward along a FAQ entry that best explains how user -groups can most easily comply with GPL, and send them on their 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 where the company continually offers 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 -is benefiting from Free Software, and we understand that sometimes they -become confused about the rules of the road. Rather than merely -giving us a post mortem to perform on a past mistake, an ongoing violation -gives us an active opportunity to educate a new contributor to the GPL'd -commons about proper procedures to contribute to the community. - -Our central goal is not, in fact, to merely clear up a particular violation. -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 -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 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 -Web site, 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 would use in examining the -software. - -By rough estimation, about 95\% of violations at this stage can be -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 strings tpb | grep Copyright} -\end{quotation} -In other words, it is usually more than trivial to confirm that GPL'd -software is included. - -Once we have confirmed that a violation has indeed occurred, we must then -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 --- lie 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 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 -primarily in this course is FSF's first-hand experience enforcing its own -copyrights and GPL\@. - -\section{First Contact} - -The Free Software community is built on a structure of voluntary -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 -community of software sharing, so we want to open our hand in friendship. - -Therefore, once we have confirmed a violation, our first assumption is -that the violation is an oversight or otherwise a mistake due to confusion -about the terms of the license. We reach out to the violator and ask them -to work with us in a collaborative way to bring the product into -compliance. We have received the gamut of possible reactions to such -requests, and in this course, we examine four specific examples of such -compliance work. - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\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, makers -of consumer electronic devices. - -\section{Facts} - -One of Davrik's key products is a Software Development Kit (``SDK'') -designed to assist developers building software for a specific class of -consumer electronics devices. - -FSF received a report that the SDK may be based on the GNU Compiler -Collection (which is an FSF-copyrighted collection of tools for software -development in C, C++ and other popular languages). FSF investigated the -claim, but was unable to confirm the violation. The violation reporter -was unresponsive to follow-up requests for more information. - -Since FSF was unable to confirm the violation, we did not pursue it any -further. Bogus reports do happen, and we do not want to burden companies -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 reporters, both of whom had used the SDK -professionally 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 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 -to request that source (if \S 3(b) was exercised). The violators -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 reaudited the source to discover that FSF's -analysis was correct. Davrik 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 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 -the availablity on its Web site and via a customer newsletter. - -Davrik did have some concerns regarding patents. They wished to include a -statement with the software release that made sure they were not granting -any patent permission other than what was absolutely required by GPL\@. -They understood that their patent assertions could not trump any rights -granted by GPL\@. The following language was negotiated into the release: - -\begin{quotation} -Subject to the qualifications stated below, Davrik, on behalf of itself -and its Subsidiaries, agrees not to assert the Claims against you for your -making, use, offer for sale, sale, or importation of the Davrik's GNU -Utilities or derivative works of the Davrik's GNU Utilities -(``Derivatives''), but only to the extent that any such Derivatives are -licensed by you under the terms of the GNU General Public License. The -Claims are the claims of patents that Davrik or its Subsidiaries have -standing to enforce that are directly infringed by the making, use, or -sale of an Davrik Distributed GNU Utilities in the form it was distributed -by Davrik and that do not include any limitation that reads on hardware; -the Claims do not include any additional patent claims held by Davrik that -cover any modifications of, derivative works based on or combinations with -the Davrik's GNU Utilities, even if such a claim is disclosed in the same -patent as a Claim. Subsidiaries are entities that are wholly owned by -Davrik. - -This statement does not negate, limit or restrict any rights you already -have under the GNU General Public License version 2. -\end{quotation} - -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 Davrik -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 to take -responsibility 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 with Darvik's Compliance Officer. - -\section{Lessons} - -This case introduces a number of concepts regarding GPL enforcement. - -\begin{enumerate} - -\item {\bf Enforcement should not begin until the evidence is confirmed.} - Most companies who distribute GPL'd software do so in compliance, and at - times, violation reports are mistaken. Even with extensive efforts in - 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 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 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 - allow a thriving software sharing community to benefit and improve the - work. FSF is not the expert on how a compiler for consumer electronic - devices should work. We therefore inform the community who originally - brought the violation to our attention and ask them to assist in - evaluation and confirmation of the product's compliance. Of course, FSF - coordinates and oversees the process, but we do not want compliance for - compliance's sake; rather, we wish to foster a cooperating community of - development around the Free Software in question, and encourage the - once-violator to begin participating in that community. - -\item {\bf Informing the harmed community is part of compliance.} FSF asks - violators to make some attempt --- such as via newsletters and the - company's Web site --- 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 she has these rights\/}. If a - product was received out of compliance by a customer, she may never - actually discover that she has 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 the Davrik case was drafting language - that simultaneously protected 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 of 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 - we do not object to general language that explicitly narrows the patent - grant to only those patents that were, in fact, exercised by the GPL'd - software as released by the company. - -\end{enumerate} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\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 its 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 used for a -single purpose, such as an Internet-browsing-only device. The product -is almost 100\% Free Software, mostly licensed under GPL and related -Free Software licenses. - -FSF found out about this violation through a report first posted on a - Slashdot\footnote{Slashdot is a popular news and discussion site for - technical readers.} comment, and then it was brought to our attention again - by another Free Software copyright holder who had discovered the - same violation. - -Bracken's GNU/Linux product is delivered directly from their Web site. -This allowed FSF engineers to directly download and confirm the -violation quickly. Two primary problems were discovered with the -online distribution: - -\begin{itemize} - -\item No source code nor offer for source code was provided for a number - of components for the distributed GNU/Linux system; only binaries were - available - -\item An End User License Agreement (``EULA'') was included that - contradicted the permissions granted by GPL\@ - -\end{itemize} - -FSF contacted Bracken and gave them the details of the violation. Bracken -immediately ceased distribution of the product temporarily and set forth -a plan to bring themselves back into compliance. This plan included the -following steps: - -\begin{itemize} - -\item Bracken attorneys would rewrite the EULA to comply with GPL and - would vet the new EULA through FSF before use - -\item Bracken engineers would provide source side-by-side with the - binaries for the GNU/Linux distribution on the site (and on CD's, if - ever they distributed that way) - -\item Bracken attorneys would run an internal seminar for its engineers - 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 case was completed in about a month. FSF approved the new EULA -text. The key portion in the EULA relating to GPL read as follows: - -\begin{quotation} -Many of the Software Programs included in Bracken Software are distributed -under the terms of agreements with Third Parties (``Third Party -Agreements'') which may expand or limit the Licensee's rights to use -certain Software Programs as set forth in [this EULA]. Certain Software -Programs may be licensed (or sublicensed) to Licensee under the GNU -General Public License and other similar license agreements listed in part -in this section which, among other rights, permit the Licensee to copy, -modify and redistribute certain Software Programs, or portions thereof, -and have access to the source code of certain Software Programs, or -portions thereof. In addition, certain Software Programs, or portions -thereof, may be licensed (or sublicensed) to Licensee under terms stricter -than those set forth in [this EULA]. The Licensee must review the -electronic documentation that accompanies certain Software Programs, or -portions thereof, for the applicable Third Party Agreements. To the -extent any Third Party Agreements require that Bracken provide rights to -use, copy or modify a Software Program that are broader than the rights -granted to the Licensee in [this EULA], then such rights shall take -precedence over the rights and restrictions granted in this Agreement -solely for such Software Programs. -\end{quotation} - -FSF restored Bracken's distribution rights shortly after the work was -completed as described. - -\section{Lessons Learned} - -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. - -\begin{enumerate} - -\item {\bf Companies that understand Free Software culture better have an - easier time with compliance.} Bracken's products were designed and - 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. 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 minor software bugs.} Even the most functional system or - structure has 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. However, resolution is - reached quickly when the company --- and in particular, the lawyers, - managers, and engineers working on the Free Software product lines - --- have adapted to Free Software culture that the lower-level - engineer already understood - -\item {\bf Legally, distribution must stop when a violation is - 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. From start to finish, it took less - than a 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. Even the most diligent attorneys forget or simply do not - know that a product contains software licensed under GPL and other - Free Software 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 rights and - permissions already granted by GPL\@. The EULA must clearly state - that if there is a conflict between it and GPL, with regard to GPL'd - code, the GPL is the overriding license. - -\item {\bf Compliance Officers are rarely necessary when companies are - educated about GPL compliance.} As we saw in the Davrik case, FSF asks - that a formal ``GPL Compliance Officer'' be appointed inside a - previously violating organization to shepherd the organization to a - cooperative approach to GPL compliance. However, when FSF - sees that an organization already has such an approach, there is no - need to request that such an officer be appointed. - -\end{enumerate} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Vigorien: Security, Export Controls, and GPL Compliance} - -This case study introduces how concerns of ``security through obscurity'' -and regulatory problems can impact GPL compliance matters. - -\section{The Facts} - -Vigorien distributes a back-up solution product that allows system -administrators to create encrypted backups of file-systems on -Unix-like computers. The product is based on GNU tar, a backup utility -that replaces the standard Unix utility simply called tar, but has -additional features. - -Vigorien's backup solution added cryptographic features to GNU tar, and -included a suite of utilities and graphical user interfaces surrounding -GNU tar to make backups convenient. - -FSF discovered the violation from a user report, and determined that the -cryptographic features were the only part of the product that constituted -a derivative work of GNU tar; the extraneous utilities merely made -shell calls out to GNU tar. FSF requested that Vigorien come into -compliance with GPL by releasing the source of GNU tar, with the -cryptographic modifications, to its customers. - -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 -where no such restrictions occurred, but Vigorien argued that the problem -was insoluble because they operated primarily in the USA\@. - -The deadlock on the second issue was resolved when those cryptographic -export restrictions were lifted shortly thereafter, and FSF again raised -the matter with Vigorien. At that point, they dropped the first claim and -agreed to release the remaining source module to their customers. They -did so, and the violation was resolved. - - -\section{Lessons Learned} - -\begin{enumerate} - -\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 requires. FSF offers the option to - simply remove the GPL'd portions from the product and continue along - without them. 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 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.} - The argument that ``this is security software, so it cannot be released - in source form'' is not a valid defense for explaining why the terms of - the GPL are ignored. If companies do not want to release source code - for some reason, then they should not base the work on GPL'd software. - No external argument for noncompliance can hold weight if the work as - whole is indeed a derivative work of a GPL'd program. - - The ``security concerns'' argument is often floated as a reason to keep - software proprietary, but the computer security community has on - numerous occasions confirmed that such arguments are entirely specious. - Security experts have found --- since the beginnings of the field of - cryptography in the ancient world --- that sharing results about systems - and having such systems withstand peer review and scrutiny builds the - most secure systems. While full disclosure may help some who wish to - compromise security, it helps those who want to fix problems even more - by identifying them early. - -\item {\bf External regulatory problems can be difficult to resolve.} - 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} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Haxil, Polgara, and Thesulac: Mergers, Upstream Providers and Radio Devices} - -This case study considers an ongoing (at the time of writing) violation -that has occurred. By the end of the investigation period, three -companies were involved and many complex issues arose. - -\section{The Facts} - -Haxil produced a consumer electronics device which included a mini -GNU/Linux distribution to control the device. The device was of interest -to many technically-minded consumers, who purchased the device and very -quickly discovered that Free Software was included without source. -Mailing lists throughout the Free Software community erupted with -complaints about the problem, and FSF quickly investigated. - -FSF confirmed that FSF-copyrighted GPL'd software was included. In -addition, the whole distribution included GPL'd works from hundreds of -individual copyright holders, many of whom were, at this point, up in -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; this fact had not been part of the disclosures made during -acquisition. FSF contacted Haxil, Polgara, and the product managers -who had transitioned into the ``Haxil division'' of the newly-merged -Polgara company. Polgara's General Counsel's office worked with FSF on -the matter. - -FSF formed a coalition with the other primary copyright holders -to pursue the enforcement effort on their behalf. FSF communicated -directly with Polgara's representatives to begin working through the -issues on behalf of itself and the Free Software community at large. - -Polgara pointed out that the software distribution they used was mostly -contributed by an upstream provider, Thesulac, and Haxil's changes to that -code base were minimal. Polgara negotiated with Thesulac to obtain the -source, although the issue moved very slowly in the channels between -Polgara and Thesulac. - -FSF encouraged a round-table meeting so that high bandwidth communication -could occur between FSF, Polgara and Thesulac. Polgara and Thesulac -agreed, and that discussion began. Thesulac provided nearly complete -sources to Polgara, and Polgara made a full software release on their -Web site. At the time of writing, that software still has some build -problems (similar to those that occurred with Davrik, as described in -Section~\ref{davrik-build-problems}). FSF continues to negotiate with -Polgara and Thesulac to resolve these problems, which have a clear path to -a solution and are expected to resolve. - -Similar to the Vigorien case, Thesulac has regulatory concerns. In this -case, it is not export controls --- an issue that has since been resolved ---- but radio spectrum regulation. Since this consumer electronic device -contains a software-programmable radio transmitter, regulations in (at -least) the USA and Japan prohibit release of those portions of the code -that operate the device. Since this is a low-level programming issue, the -changes to operate the device are a derivative work of the kernel named -Linux. This situation remains unresolved at the time of writing, although -FSF continues to negotiation with Thesulac and the Linux community -regarding the problem. - -\section{Lessons Learned} - -\begin{enumerate} - -\item {\bf Community outrage, while justified, can often make negotiation - 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 want to - come into compliance with GPL and to work hard staying in compliance. - - This case was so public in the Free Software community that both Haxil's - and Polgara's representatives were nearly shell-shocked by the time FSF - began negotiations. There was much work required to diffuse the - situation. We empathize with our community and their outrage about GPL - violations, but we also want to follow a path that leads expediently - to compliance. In our experience, public outcry works best as a last - resort, not the first. - -\item {\bf For software companies, GPL compliance belongs on a corporate - acquisition checklist. } Polgara was truly amazed that Haxil had used - GPL'd software in a major new product line but never informed Polgara - 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, - 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 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 - distribute a ``good practices for GPL compliance'' document with their - product. Polgara added various software components to Thesulac's - product, and it is conceivable that such additions can introduce - compliance. In FSF's opinion, Thesulac is in no way legally responsible - for such a violation introduced by their customer, but it behooves them - 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 - the cup. - -\item {\bf FSF enforcement often avoids redundant enforcement cases from - many parties.} Most Free Software systems have hundreds of copyright - holders. Some have thousands. FSF is in a unique position as one of - the largest single copyright holders on GPL'd software and as a - respected umpire in the community, neutrally enforcing the rules of the - GPL road. FSF works hard in the community to convince copyright - holders that consolidating GPL claims through FSF is better for them, - and more likely to yield positive compliance results. - - A few copyright holders engage in the ``proprietary relicensing'' - business, so they use GPL enforcement as a sales channel for that - business. FSF, as a community-oriented, not-for-profit organization, - seeks only to preserve the freedom of Free Software in its enforcement - efforts. As it turns out, most of the community of copyright holders - of Free Software want the same thing. Share and share alike is a - 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} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Good Practices for Compliance} - -Generally, from the experience of GPL enforcement, we glean the following -general practices that can help in GPL compliance for organizations that -distribute products based on GPL'd software: - -\begin{itemize} - -\item Talk to your software engineers and ask them where they got the - components they use in the products they build. Find out if GPL'd - components are present. - -\item Teach your engineering staff to pay attention to license documents. - Give them easy-to-follow policies to get approval for using a Free - Software component. - -\item Build a ``Free Software Licensing'' committee that handles requests - and questions about GPL and other Free Software licenses. - -\item Add ``What parts of your products are under GPL or other Free - Software licenses?'' to your checklist of questions to ask when you - consider mergers, acquisitions, or joint ventures. - -\item Encourage your engineers to participate collaboratively with GPL'd - software development. The more knowledge about the Free Software world - your organization has, the better equipped it is to deal with this - rapidly changing field. - -\item When someone points out a potential GPL violation in one of your - products, do not assume the product line is doomed. GPL is not a virus; - merely having GPL'd code in one part of a product does not necessarily - mean that every related product must also be GPL'd. And, even if some - software needs to be released that was not before, the product will - surely survive. In FSF's enforcement efforts, we have not yet - seen a product line die because source was released to customers in - compliance with GPL. - -\end{itemize} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\backmatter - -\appendix - -\chapter{The GNU General Public License} - -\begin{center} -{\parindent 0in - -Version 2, June 1991 - -Copyright \copyright\ 1989, 1991 Free Software Foundation, Inc. - -\bigskip - -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - -\bigskip - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. -} -\end{center} - -\begin{center} -{\bf\large Preamble} -\end{center} - - -The licenses for most software are designed to take away your freedom -to share and change it. By contrast, the GNU General Public License is -intended to guarantee your freedom to share and change Free -Software---to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - -When we speak of Free Software, we are referring to freedom, not price. -Our General Public Licenses are designed to make sure that you have the -freedom to distribute copies of Free Software (and charge for this service -if you wish), that you receive source code or can get it if you want it, -that you can change the software or use pieces of it in new Free programs; -and that you know you can do these things. - -To protect your rights, we need to make restrictions that forbid anyone to -deny you these rights or to ask you to surrender the rights. These -restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis or -for a fee, you must give the recipients all the rights that you have. You -must make sure that they, too, receive or can get the source code. And -you must show them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and (2) -offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - -Also, for each author's protection and ours, we want to make certain that -everyone understands that there is no warranty for this Free Software. If -the software is modified by someone else and passed on, we want its -recipients to know that what they have is not the original, so that any -problems introduced by others will not reflect on the original authors' -reputations. - -Finally, any Free program is threatened constantly by software patents. -We wish to avoid the danger that redistributors of a Free program will -individually obtain patent licenses, in effect making the program -proprietary. To prevent this, we have made it clear that any patent must -be licensed for everyone's free use or not licensed at all. - -The precise terms and conditions for copying, distribution and -modification follow. - -\begin{center} -{\Large \sc Terms and Conditions For Copying, Distribution and - Modification} -\end{center} - - -\begin{enumerate} - -\addtocounter{enumi}{-1} -\item - -This License applies to any program or other work which contains a notice -placed by the copyright holder saying it may be distributed under the -terms of this General Public License. The ``Program,'' below, refers to -any such program or work, and a ``work based on the Program'' means either -the Program or any derivative work under copyright law: that is to say, a -work containing the Program or a portion of it, either verbatim or with -modifications and/or translated into another language. (Hereinafter, -translation is included without limitation in the term ``modification.'') -Each licensee is addressed as ``you.'' - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - -\item You may copy and distribute verbatim copies of the Program's source - code as you receive it, in any medium, provided that you conspicuously - and appropriately publish on each copy an appropriate copyright notice - and disclaimer of warranty; keep intact all the notices that refer to - this License and to the absence of any warranty; and give any other - recipients of the Program a copy of this License along with the Program. - -You may charge a fee for the physical act of transferring a copy, and you -may at your option offer warranty protection in exchange for a fee. - -\item - -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: - -\begin{enumerate} - -\item - -You must cause the modified files to carry prominent notices stating that -you changed the files and the date of any change. - -\item - -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. - -\item -If the modified program normally reads commands interactively -when run, you must cause it, when started running for such -interactive use in the most ordinary way, to print or display an -announcement including an appropriate copyright notice and a -notice that there is no warranty (or else, saying that you provide -a warranty) and that users may redistribute the program under -these conditions, and telling the user how to view a copy of this -License. (Exception: if the Program itself is interactive but -does not normally print such an announcement, your work based on -the Program is not required to print an announcement.) - -\end{enumerate} - - -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. - -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. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - -\item -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: - -\begin{enumerate} - -\item - -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, - -\item - -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; or, - -\item - -Accompany it with the information you received as to the offer -to distribute corresponding source code. (This alternative is -allowed only for noncommercial distribution and only if you -received the program in object code or executable form with such -an offer, in accord with Subsection b above.) - -\end{enumerate} - - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - -\item -You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - -\item -You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - -\item -Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - -\item -If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the Free Software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - -\item -If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - -\item -The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and ``any -later version,'' you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - -\item -If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our Free Software and -of promoting the sharing and reuse of software generally. - -\begin{center} -{\Large\sc -No Warranty -} -\end{center} - -\item -{\sc Because the program is licensed free of charge, there is no warranty -for the program, to the extent permitted by applicable law. Except when -otherwise stated in writing the copyright holders and/or other parties -provide the program ``as is'' without warranty of any kind, either expressed -or implied, including, but not limited to, the implied warranties of -merchantability and fitness for a particular purpose. The entire risk as -to the quality and performance of the program is with you. Should the -program prove defective, you assume the cost of all necessary servicing, -repair or correction.} - -\item -{\sc In no event unless required by applicable law or agreed to in writing -will any copyright holder, or any other party who may modify and/or -redistribute the program as permitted above, be liable to you for damages, -including any general, special, incidental or consequential damages arising -out of the use or inability to use the program (including but not limited -to loss of data or data being rendered inaccurate or losses sustained by -you or third parties or a failure of the program to operate with any other -programs), even if such holder or other party has been advised of the -possibility of such damages.} - -\end{enumerate} - - -\begin{center} -{\Large\sc End of Terms and Conditions} -\end{center} -\vfill - -\pagebreak[4] - -\section*{Appendix: How to Apply These Terms to Your New Programs} - -If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -Free Software which everyone can redistribute and change under these -terms. - - To do so, attach the following notices to the program. It is safest to - attach them to the start of each source file to most effectively convey - the exclusion of warranty; and each file should have at least the - ``copyright'' line and a pointer to where the full notice is found. - -\begin{quote} -one line to give the program's name and a brief idea of what it does. \\ -Copyright (C) yyyy name of author \\ - -This program is Free Software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -\end{quote} - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - -\begin{quote} -Gnomovision version 69, Copyright (C) yyyy name of author \\ -Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. \\ -This is Free Software, and you are welcome to redistribute it -under certain conditions; type `show c' for details. -\end{quote} - - -The hypothetical commands {\tt show w} and {\tt show c} should show the -appropriate parts of the General Public License. Of course, the commands -you use may be called something other than {\tt show w} and {\tt show c}; -they could even be mouse-clicks or menu items---whatever suits your -program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a ``copyright disclaimer'' for the program, if -necessary. Here is a sample; alter the names: - -\begin{quote} -Yoyodyne, Inc., hereby disclaims all copyright interest in the program \\ -`Gnomovision' (which makes passes at compilers) written by James Hacker. \\ - -signature of Ty Coon, 1 April 1989 \\ -Ty Coon, President of Vice -\end{quote} - - -This General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications -with the library. If this is what you want to do, use the GNU Library -General Public License instead of this License. - - -\chapter{The GNU Lesser General Public License} - -\begin{center} -{\parindent 0in - -Version 2.1, February 1999 - -Copyright \copyright\ 1991, 1999 Free Software Foundation, Inc. - -\bigskip - -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - -\bigskip - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. - -\bigskip - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License version 2, hence - the version number 2.1.] -} - -\end{center} - -\begin{center} -{\bf\large Preamble} -\end{center} - -The licenses for most software are designed to take away your freedom to -share and change it. By contrast, the GNU General Public Licenses are -intended to guarantee your freedom to share and change Free Software---to -make sure the software is free for all its users. - -This license, the Lesser General Public License, applies to some specially -designated software packages---typically libraries---of the Free Software -Foundation and other authors who decide to use it. You can use it too, -but we suggest you first think carefully about whether this license or the -ordinary General Public License is the better strategy to use in any -particular case, based on the explanations below. - -When we speak of Free Software, we are referring to freedom of use, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of Free Software (and charge for -this service if you wish); that you receive source code or can get it if -you want it; that you can change the software and use pieces of it in new -Free programs; and that you are informed that you can do these things. - -To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for you -if you distribute copies of the library or if you modify it. - -For example, if you distribute copies of the library, whether gratis or -for a fee, you must give the recipients all the rights that we gave you. -You must make sure that they, too, receive or can get the source code. If -you link other code with the library, you must provide complete object -files to the recipients, so that they can relink them with the library -after making changes to the library and recompiling it. And you must show -them these terms so they know their rights. - -We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - -To protect each distributor, we want to make it very clear that there is -no warranty for the Free library. Also, if the library is modified by -someone else and passed on, the recipients should know that what they have -is not the original version, so that the original author's reputation will -not be affected by problems that might be introduced by others. - -Finally, software patents pose a constant threat to the existence of any -Free program. We wish to make sure that a company cannot effectively -restrict the users of a Free program by obtaining a restrictive license -from a patent holder. Therefore, we insist that any patent license -obtained for a version of the library must be consistent with the full -freedom of use specified in this license. - -Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License. This license, the GNU Lesser General Public -License, applies to certain designated libraries, and is quite different -from the ordinary General Public License. We use this license for certain -libraries in order to permit linking those libraries into non-Free -programs. - -When a program is linked with a library, whether statically or using a -shared library, the combination of the two is legally speaking a combined -work, a derivative of the original library. The ordinary General Public -License therefore permits such linking only if the entire combination fits -its criteria of freedom. The Lesser General Public License permits more -lax criteria for linking other code with the library. - -We call this license the ``Lesser'' General Public License because it does -Less to protect the user's freedom than the ordinary General Public -License. It also provides other Free Software developers Less of an -advantage over competing non-Free programs. These disadvantages are the -reason we use the ordinary General Public License for many libraries. -However, the Lesser license provides advantages in certain special -circumstances. - -For example, on rare occasions, there may be a special need to encourage -the widest possible use of a certain library, so that it becomes a -de-facto standard. To achieve this, non-Free programs must be allowed to -use the library. A more frequent case is that a Free library does the -same job as widely used non-Free libraries. In this case, there is little -to gain by limiting the Free library to Free Software only, so we use the -Lesser General Public License. - -In other cases, permission to use a particular library in non-Free -programs enables a greater number of people to use a large body of Free -software. For example, permission to use the GNU C Library in non-Free -programs enables many more people to use the whole GNU operating system, -as well as its variant, the GNU/Linux operating system. - -Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is linked -with the library has the freedom and the wherewithal to run that program -using a modified version of the library. - -The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -``work based on the library'' and a ``work that uses the library.'' The -former contains code derived from the library, whereas the latter must be -combined with the library in order to run. - -\begin{center} -{\Large \sc GNU Lesser General Public License} \\ -{\Large \sc Terms and Conditions For Copying, Distribution and - Modification} -\end{center} - -\begin{enumerate} - -\addtocounter{enumi}{-1} - -\item - -This License Agreement applies to any software library or other program -which contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Lesser General -Public License (also called ``this License''). Each licensee is addressed -as ``you.'' - -A ``library'' means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs (which -use some of those functions and data) to form executables. - -The ``library,'' below, refers to any such software library or work which -has been distributed under these terms. A ``work based on the library'' -means either the library or any derivative work under copyright law: that -is to say, a work containing the library or a portion of it, either -verbatim or with modifications and/or translated straightforwardly into -another language. (Hereinafter, translation is included without -limitation in the term ``modification.'') - -``Source code'' for a work means the preferred form of the work for making -modifications to it. For a library, complete source code means all the -source code for all modules it contains, plus any associated interface -definition files, plus the scripts used to control compilation and -installation of the library. - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of running a -program using the library is not restricted, and output from such a -program is covered only if its contents constitute a work based on the -library (independent of the use of the library in a tool for writing it). -Whether that is true depends on what the library does and what the program -that uses the library does. - -\item - -You may copy and distribute verbatim copies of the library's complete -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the notices -that refer to this License and to the absence of any warranty; and -distribute a copy of this License along with the library. - -You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - -\item - -You may modify your copy or copies of the library or any portion of it, -thus forming a work based on the library, and copy and distribute such -modifications or work under the terms of Section 1 above, provided that -you also meet all of these conditions: - -\begin{enumerate} - - \item - - The modified work must itself be a software library. - - \item - - You must cause the files modified to carry prominent notices stating - that you changed the files and the date of any change. - - \item - - You must cause the whole of the work to be licensed at no charge to - all third parties under the terms of this License. - - \item - If a facility in the modified library refers to a function or a table - of data to be supplied by an application program that uses the - facility, other than as an argument passed when the facility is - invoked, then you must make a good faith effort to ensure that, in the - event an application does not supply such function or table, the - facility still operates, and performs whatever part of its purpose - remains meaningful. - -(For example, a function in a library to compute square roots has a -purpose that is entirely well-defined independent of the application. -Therefore, Subsection 2d requires that any application-supplied function -or table used by this function must be optional: if the application does -not supply it, the square root function must still compute square roots.) -\end{enumerate} - -These requirements apply to the modified work as a whole. If identifiable -sections of that work are not derived from the library, 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 library, 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. - -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 library. - -In addition, mere aggregation of another work not based on the library -with the library (or with a work based on the library) on a volume of a -storage or distribution medium does not bring the other work under the -scope of this License. - -\item - -You may opt to apply the terms of the ordinary GNU General Public License -instead of this License to a given copy of the library. To do this, you -must alter all the notices that refer to this License, so that they refer -to the ordinary GNU General Public License version 2, instead of to this -License. (If a newer version than version 2 of the ordinary GNU General -Public License has appeared, then you can specify that version instead if -you wish.) Do not make any other change in these notices. - -Once this change is made in a given copy, it is irreversible for that -copy, so the ordinary GNU General Public License applies to all subsequent -copies and derivative works made from that copy. - -This option is useful when you wish to copy part of the code of the -library into a program that is not a library. - -\item - -You may copy and distribute the library (or a portion or derivative of it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you 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. - -If distribution of object code is made by offering access to copy from a -designated place, then offering equivalent access to copy the source code -from the same place satisfies the requirement to distribute the source -code, even though third parties are not compelled to copy the source along -with the object code. - -\item - -A program that contains no derivative of any portion of the library, but -is designed to work with the library by being compiled or linked with it, -is called a ``work that uses the library.'' Such a work, in isolation, is -not a derivative work of the library, and therefore falls outside the -scope of this License. - -However, linking a ``work that uses the library'' with the library creates -an executable that is a derivative of the library (because it contains -portions of the library), rather than a ``work that uses the library.'' -The executable is therefore covered by this License. Section 6 states -terms for distribution of such executables. - -When a ``work that uses the library'' uses material from a header file -that is part of the library, the object code for the work may be a -derivative work of the library even though the source code is not. -Whether this is true is especially significant if the work can be linked -without the library, or if the work is itself a library. The threshold -for this to be true is not precisely defined by law. - -If such an object file uses only numerical parameters, data structure -layouts and accessors, and small macros and small inline functions (ten -lines or less in length), then the use of the object file is unrestricted, -regardless of whether it is legally a derivative work. (Executables -containing this object code plus portions of the library will still fall -under Section 6.) - -Otherwise, if the work is a derivative of the library, you may distribute -the object code for the work under the terms of Section 6. Any -executables containing that work also fall under Section 6, whether or not -they are linked directly with the library itself. - -\item - -As an exception to the Sections above, you may also combine or link a -``work that uses the library'' with the library to produce a work -containing portions of the library, and distribute that work under terms -of your choice, provided that the terms permit modification of the work -for the customer's own use and reverse engineering for debugging such -modifications. - -You must give prominent notice with each copy of the work that the library -is used in it and that the library and its use are covered by this -License. You must supply a copy of this License. If the work during -execution displays copyright notices, you must include the copyright -notice for the library among them, as well as a reference directing the -user to the copy of this License. Also, you must do one of these things: - -\begin{enumerate} - - \item - - Accompany the work with the complete corresponding machine-readable - source code for the library including whatever changes were used in - the work (which must be distributed under Sections 1 and 2 above); - and, if the work is an executable linked with the library, with the - complete machine-readable ``work that uses the library,'' as object - code and/or source code, so that the user can modify the library and - then relink to produce a modified executable containing the modified - library. (It is understood that the user who changes the contents of - definitions files in the library will not necessarily be able to - recompile the application to use the modified definitions.) - - \item - - Use a suitable shared library mechanism for linking with the library. - A suitable mechanism is one that (1) uses at run time a copy of the - library already present on the user's computer system, rather than - copying library functions into the executable, and (2) will operate - properly with a modified version of the library, if the user installs - one, as long as the modified version is interface-compatible with the - version that the work was made with. - - \item - - Accompany the work with a written offer, valid for at least three - years, to give the same user the materials specified in Subsection 6a, - above, for a charge no more than the cost of performing this - distribution. - - \item - - If distribution of the work is made by offering access to copy from a - designated place, offer equivalent access to copy the above specified - materials from the same place. - - \item - - Verify that the user has already received a copy of these materials or - that you have already sent this user a copy. -\end{enumerate} - -For an executable, the required form of the ``work that uses the library'' -must include any data and utility programs needed for reproducing the -executable from it. However, as a special exception, the materials to be -distributed need not include anything that is normally distributed (in -either source or binary form) with the major components (compiler, kernel, -and so on) of the operating system on which the executable runs, unless -that component itself accompanies the executable. - -It may happen that this requirement contradicts the license restrictions -of other proprietary libraries that do not normally accompany the -operating system. Such a contradiction means you cannot use both them and -the library together in an executable that you distribute. - -\item - -You may place library facilities that are a work based on the library -side-by-side in a single library together with other library facilities -not covered by this License, and distribute such a combined library, -provided that the separate distribution of the work based on the library -and of the other library facilities is otherwise permitted, and provided -that you do these two things: - -\begin{enumerate} - - \item - - Accompany the combined library with a copy of the same work based on - the library, uncombined with any other library facilities. This must - be distributed under the terms of the Sections above. - - \item - - Give prominent notice with the combined library of the fact that part - of it is a work based on the library, and explaining where to find - the accompanying uncombined form of the same work. -\end{enumerate} - -\item - - You may not copy, modify, sublicense, link with, or distribute the - library except as expressly provided under this License. Any attempt - otherwise to copy, modify, sublicense, link with, or distribute the - library is void, and will automatically terminate your rights under this - License. However, parties who have received copies, or rights, from you - under this License will not have their licenses terminated so long as - such parties remain in full compliance. - -\item - - You are not required to accept this License, since you have not signed - it. However, nothing else grants you permission to modify or distribute - the library or its derivative works. These actions are prohibited by - law if you do not accept this License. Therefore, by modifying or - distributing the library (or any work based on the library), you - indicate your acceptance of this License to do so, and all its terms and - conditions for copying, distributing or modifying the library or works - based on it. - -\item - - Each time you redistribute the library (or any work based on the - library), the recipient automatically receives a license from the - original licensor to copy, distribute, link with or modify the library - subject to these terms and conditions. You may not impose any further - restrictions on the recipients' exercise of the rights granted herein. - You are not responsible for enforcing compliance by third parties with - this License. - -\item - - If, as a consequence of a court judgment or allegation of patent - infringement or for any other reason (not limited to patent issues), - conditions are imposed on you (whether by court order, agreement or - otherwise) that contradict the conditions of this License, they do not - excuse you from the conditions of this License. If you cannot - distribute so as to satisfy simultaneously your obligations under this - License and any other pertinent obligations, then as a consequence you - may not distribute the library at all. For example, if a patent license - would not permit royalty-free redistribution of the library by all those - who receive copies directly or indirectly through you, then the only way - you could satisfy both it and this License would be to refrain entirely - from distribution of the library. - - If any portion of this section is held invalid or unenforceable under - any particular circumstance, the balance of the section is intended to - apply, and the section as a whole is intended to apply in other - circumstances. - - It is not the purpose of this section to induce you to infringe any - patents or other property right claims or to contest validity of any - such claims; this section has the sole purpose of protecting the - integrity of the Free Software distribution system which is implemented - by public license practices. Many people have made generous - contributions to the wide range of software distributed through that - system in reliance on consistent application of that system; it is up to - the author/donor to decide if he or she is willing to distribute - software through any other system and a licensee cannot impose that - choice. - - This section is intended to make thoroughly clear what is believed to be - a consequence of the rest of this License. - -% \pagebreak[4] - - -\item - - If the distribution and/or use of the library is restricted in certain - countries either by patents or by copyrighted interfaces, the original - copyright holder who places the library under this License may add an - explicit geographical distribution limitation excluding those countries, - so that distribution is permitted only in or among countries not thus - excluded. In such case, this License incorporates the limitation as if - written in the body of this License. - -\item - - The Free Software Foundation may publish revised and/or new versions of - the Lesser General Public License from time to time. Such new versions - will be similar in spirit to the present version, but may differ in - detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the library - specifies a version number of this License which applies to it and ``any - later version,'' you have the option of following the terms and - conditions either of that version or of any later version published by - the Free Software Foundation. If the library does not specify a license - version number, you may choose any version ever published by the Free - Software Foundation. - - -\item - - - If you wish to incorporate parts of the library into other Free programs - whose distribution conditions are incompatible with these, write to the - author to ask for permission. For software which is copyrighted by the - Free Software Foundation, write to the Free Software Foundation; we - sometimes make exceptions for this. Our decision will be guided by the - two goals of preserving the Free status of all derivatives of our Free - software and of promoting the sharing and reuse of software generally. - - -\begin{center} -{\Large\sc -No Warranty -} -\end{center} - -\item - -{\sc Because the library is licensed free of charge, there is no -warranty for the library, to the extent permitted by applicable law. -Except when otherwise stated in writing the copyright holders and/or -other parties provide the library ``as is'' without warranty of any -kind, either expressed or implied, including, but not limited to, the -implied warranties of merchantability and fitness for a particular -purpose. The entire risk as to the quality and performance of the -library is with you. should the library prove defective, you assume -the cost of all necessary servicing, repair or correction.} - -% \pagebreak[4] - -\item - -{\sc In no event unless required by applicable law or agreed to in writing - will any copyright holder, or any other party who may modify and/or - redistribute the library as permitted above, be liable to you for - damages, including any general, special, incidental or consequential - damages arising out of the use or inability to use the library - (including but not limited to loss of data or data being rendered - inaccurate or losses sustained by you or third parties or a failure of - the library to operate with any other software), even if such holder or - other party has been advised of the possibility of such damages.} - -\end{enumerate} - -\begin{center} -{\Large\sc End of Terms and Conditions} -\end{center} -\vfill - -\pagebreak[4] - -\section*{How to Apply These Terms to Your New Libraries} - -If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it Free Software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of -the ordinary General Public License). - -To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -``copyright'' line and a pointer to where the full notice is found. - -\begin{quote} -one line to give the library's name and a brief idea of what it does. \\ -Copyright (C) year name of author \\ - -This library is Free Software; you can redistribute it and/or modify it -under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2.1 of the License, or (at -your option) any later version. - -This library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with this library; if not, write to the Free Software Foundation, -Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -\end{quote} - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a ``copyright disclaimer'' for the library, if -necessary. Here is a sample; alter the names: - -\begin{quote} -Yoyodyne, Inc., hereby disclaims all copyright interest in the program \\ -`Gnomovision' (which makes passes at compilers) written by James Hacker. \\ - -signature of Ty Coon, 1 April 1990 \\ -Ty Coon, President of Vice -\end{quote} - -That's all there is to it! - -\end{document} - -% 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 DVD -% LocalWords: unprotectable protectable Unfreedonia chipset CodeSourcery Iqtel -% LocalWords: impermissibly Bateman faire minimis Borland uncopyrightable Mgmt -% LocalWords: franca downloadable Davrik Davrik's Darvik -% LocalWords: Slashdot sublicensed Vigorien Vigorien's Haxil Polgara -% LocalWords: Thesulac Polgara's Haxil's Thesulac's SDK CD's