diff --git a/Case-Study-Ethics/new-case-study-ethics.tex b/Case-Study-Ethics/new-case-study-ethics.tex new file mode 100644 index 0000000000000000000000000000000000000000..9392866b271d777d56bcc075135e273f0d39ea3a --- /dev/null +++ b/Case-Study-Ethics/new-case-study-ethics.tex @@ -0,0 +1,1977 @@ +% Tutorial Text for the Detailed Study and Analysis of GPL and LGPL course +% +% Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +% Verbatim copying and distribution of this entire document is permitted in +% any medium, provided this notice is preserved. + +\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} + +Verbatim copying and distribution of this entire document is permitted in +any medium, provided this notice is preserved. +} + +\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