This is an aggregation of the the GNU General Public License and several commentaries. In the Texinfo deep representation, you may pick the commentaries you wish to format or ignore with `@ifset', and `@ifclear'. By default, all are set.
Copyright © 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
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.
Commentary by Robert J. Chassell
Please note that Chassell is not a lawyer.
The Preamble lacks direct legal force, but may influence a judge in a court. Its purpose is to explain why.
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.
Developers who claim to be authors sometimes fail to gain evidence that they, the developers, have the legal right to claim copyright. For example, an employee working for hire may not have a legal right to claim copyright on work done on his or her own time; a student may not have a legal right to claim copyright on anything he or she writes.
A developer should obtain evidence of his or her rights in writing ahead of time. Such a signed document must say that the employer or school disclaims all copyright interest in the work and that it has no other intellectual property interest.
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.
The first paragraph is the `zeroth' paragraph.
Among computer programers, zero is a number much like one or two. Computer programmers often use `zero-based counting' rather than `one-based counting', especially when the numbers serve as labels, as they do in this instance, rather than as an ordering mechanism.
People who are not lawyers are often confused by the notion of derivative work. They expect the license to define its scope, not a court. They are wrong. It is important that non-lawyers come to understand that courts define the concept of “derivative work”.
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.
Please note the limits here: the license focuses on copying, distribution, and modification.
Running the program is not restricted. Moreover, output is not covered, unless the output is a derivative work (a concept defined by courts).
Thus a restricted program may be compiled by gcc, which is a compiler licensed under the GNU GPL.
Verbatim redistribution is permitted.
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.
You do not have to give anything away gratis. If the market permits, you may make a great deal of money.
It is worth emphasizing: You may charge a fee.
In a competitive, free market, neither you nor a customer need transfer more resources than is just.
You can offer more than just the software, for example, you could offer a warranty, and charge for that, too.
Although it is listed in the verbatim redistributions section, this condition which permits you to charge a fee for the physical act of transferring a copy applies to more than just this section since other requirements are additional. Because so many people confuse free as in freedom with free as in gratis, I think this single sentence paragraph ought to be given a number of its own and the wording of the next section changed appropriately.
Thus, the distribution of modified works has more requirements than those for verbatim redistribution, which are included.
Otherwise, people may think they have the original. Of course, you are forbidden by the fraud laws from intentionally misleading people; this is to prevent unintentional confusion.
Otherwise, someone may legally take the program and make changes that no one else may use or see, including the author. This is very important. Without this clause, someone may appropriate your work in a manner that you think of as theft, even if the action is legal.
Also please note that this is not a charge for “the physical act of transferring a copy” for which you may charge a fee, as stated earlier. This clause bans charging for a license on modified works.
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.
If computer libraries are commonly separate, then they are treated separately.
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.
These remarks are intended as clarification.
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.
Consequently, you may include on the same CD or DVD various informational entities licensed in different ways.
This is the part that deals with binary distributions. Compare this to the restrictions on other binary distributions, such as those that make up the Microsoft Windows operating system.
Including sources is the easiest ...
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.
Please note the definition of “source code”. The goal is to ensure that programmers can work with minimal hassle. Even if you avoid source code, you will want others to work inexpensively so that you can benefit.
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.
Easy ... if you are distributing over the Internet.
The following is the teeth of the license. If you violate the license, then police may stop you from distributing works under the license. This could cost a business its income.
There is nothing mandatory about this license. You need not accept it. Of course, if you do not accept the license, you may not modify or distribute it or its derivative works, as these actions are prohibited by law. This license comes directly from copyright law. So if you do modify or distribute, you are saying that you have accepted the license.
This means you may not take away others' rights.
You may not go along with limitations that patent holders may impose upon you. If you find yourself limited legally, you lose, unless you can change the laws.
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.
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.
Thus, no one may ever take away the freedoms you have under this license, even if contrary licenses are written in the future.
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.
Please note, as I said earlier, that you must be able to provide evidence that you have the legal right to claim copyright.
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.
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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
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:
Gnomovision version 69, Copyright (C) 19yy 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.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `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:
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
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.
Incidentally, since the GNU GPL was composed, in order to reflect its character better, the GNU Library General Public License has been renamed the GNU Lesser General Public License.
Here is a commentary on enforcing the GNU General Public License. Eben Moglen (http://moglen.law.columbia.edu/) published this on 10 September 2001.
Eben Moglen is professor of law and legal history at Columbia University Law School. He serves without fee as General Counsel of the Free Software Foundation.
Microsoft's anti-GPL offensive this summer has sparked renewed speculation about whether the GPL is “enforceable.” This particular example of “FUD” (fear, uncertainty and doubt) is always a little amusing to me. I'm the only lawyer on earth who can say this, I suppose, but it makes me wonder what everyone's wondering about: Enforcing the GPL (http://www.gnu.org/licenses/gpl.html) is something that I do all the time.
Because free software (http://www.gnu.org/philosophy/free-sw.html) is an unorthodox concept in contemporary society, people tend to assume that such an atypical goal must be pursued using unusually ingenious, and therefore fragile, legal machinery. But the assumption is faulty. The goal of the Free Software Foundation in designing and publishing the GPL, _is_ unfortunately unusual: we're reshaping how programs are made in order to give everyone the right to understand, repair, improve, and redistribute the best-quality software on earth. This is a transformative enterprise; it shows how in the new, networked society traditional ways of doing business can be displaced by completely different models of production and distribution. But the GPL, the legal device that makes everything else possible, is a very robust machine precisely because it is made of the simplest working parts.
The essence of copyright law, like other systems of property rules, is the power to exclude. The copyright holder is legally empowered to exclude all others from copying, distributing, and making derivative works.
This right to exclude implies an equally large power to license–that is, to grant permission to do what would otherwise be forbidden. Licenses are not contracts: the work's user is obliged to remain within the bounds of the license not because she voluntarily promised, but because she doesn't have any right to act at all except as the license permits.
But most proprietary software companies want more power than copyright alone gives them. These companies say their software is “licensed” to consumers, but the license contains obligations that copyright law knows nothing about. Software you're not allowed to understand, for example, often requires you to agree not to decompile it. Copyright law doesn't prohibit decompilation, the prohibition is just a contract term you agree to as a condition of getting the software when you buy the product under shrink wrap in a store, or accept a “clickwrap license” on line. Copyright is just leverage for taking even more away from users.
The GPL, on the other hand, subtracts from copyright rather than adding to it. The license doesn't have to be complicated, because we try to control users as little as possible. Copyright grants publishers power to forbid users to exercise rights to copy, modify, and distribute that we believe all users should have; the GPL thus relaxes almost all the restrictions of the copyright system. The only thing we absolutely require is that anyone distributing GPL'd works or works made from GPL'd works distribute in turn under GPL. That condition is a very minor restriction, from the copyright point of view. Much more restrictive licenses are routinely held enforceable: every license involved in every single copyright lawsuit is more restrictive than the GPL.
Because there's nothing complex or controversial about the license's substantive provisions, I have never even seen a serious argument that the GPL exceeds a licensor's powers. But it is sometimes said that the GPL can't be enforced because users haven't “accepted” it.
This claim is based on a misunderstanding. The license does not require anyone to accept it in order to acquire, install, use, inspect, or even experimentally modify GPL'd software. All of those activities are either forbidden or controlled by proprietary software firms, so they require you to accept a license, including contractual provisions outside the reach of copyright, before you can use their works. The free software movement thinks all those activities are rights, which all users ought to have; we don't even _want_ to cover those activities by license. Almost everyone who uses GPL'd software from day to day needs no license, and accepts none. The GPL only obliges you if you distribute software made from GPL'd code, and only needs to be accepted when redistribution occurs. And because no one can ever redistribute without a license, we can safely presume that anyone redistributing GPL'd software intended to accept the GPL. After all, the GPL requires each copy of covered software to include the license text, so everyone is fully informed.
Despite the FUD, as a copyright license the GPL is absolutely solid. That's why I've been able to enforce it dozens of times over nearly ten years, without ever going to court.
Meanwhile, much murmuring has been going on in recent months to the supposed effect that the absence of judicial enforcement, in US or other courts, somehow demonstrates that there is something wrong with the GPL, that its unusual policy goal is implemented in a technically indefensible way, or that the Free Software Foundation, which authors the license, is afraid of testing it in court. Precisely the reverse is true. We do not find ourselves taking the GPL to court because no one has yet been willing to risk contesting it with us there.
So what happens when the GPL is violated? With software for which the Free Software Foundation holds the copyright (either because we wrote the programs in the first place, or because free software authors have assigned us the copyright, in order to take advantage of our expertise in protecting their software's freedom), the first step is a report (http://www.gnu.org/licenses/gpl-violation.html, usually received by email to email@example.com. We ask the reporters of violations to help us establish necessary facts, and then we conduct whatever further investigation is required.
We reach this stage dozens of times a year. A quiet initial contact is usually sufficient to resolve the problem. Parties thought they were complying with GPL, and are pleased to follow advice on the correction of an error. Sometimes, however, we believe that confidence-building measures will be required, because the scale of the violation or its persistence in time makes mere voluntary compliance insufficient. In such situations we work with organizations to establish GPL-compliance programs within their enterprises, led by senior managers who report to us, and directly to their enterprises' managing boards, regularly. In particularly complex cases, we have sometimes insisted upon measures that would make subsequent judicial enforcement simple and rapid in the event of future violation.
In approximately a decade of enforcing the GPL, I have never insisted on payment of damages to the Foundation for violation of the license, and I have rarely required public admission of wrongdoing. Our position has always been that compliance with the license, and security for future good behavior, are the most important goals. We have done everything to make it easy for violators to comply, and we have offered oblivion with respect to past faults.
In the early years of the free software movement, this was probably the only strategy available. Expensive and burdensome litigation might have destroyed the FSF, or at least prevented it from doing what we knew was necessary to make the free software movement the permanent force in reshaping the software industry that it has now become. Over time, however, we persisted in our approach to license enforcement not because we had to, but because it worked. An entire industry grew up around free software, all of whose participants understood the overwhelming importance of the GPL–no one wanted to be seen as the villain who stole free software, and no one wanted to be the customer, business partner, or even employee of such a bad actor. Faced with a choice between compliance without publicity or a campaign of bad publicity and a litigation battle they could not win, violators chose not to play it the hard way.
We have even, once or twice, faced enterprises which, under US copyright law, were engaged in deliberate, criminal copyright infringement: taking the source code of GPL'd software, recompiling it with an attempt to conceal its origin, and offering it for sale as a proprietary product. I have assisted free software developers other than the FSF to deal with such problems, which we have resolved–since the criminal infringer would not voluntarily desist and, in the cases I have in mind, legal technicalities prevented actual criminal prosecution of the violators–by talking to redistributors and potential customers. “Why would you want to pay serious money,” we have asked, “for software that infringes our license and will bog you down in complex legal problems, when you can have the real thing for free?” Customers have never failed to see the pertinence of the question. The stealing of free software is one place where, indeed, crime doesn't pay.
But perhaps we have succeeded too well. If I had used the courts to enforce the GPL years ago, Microsoft's whispering would now be falling on deaf ears. Just this month I have been working on a couple of moderately sticky situations. “Look,” I say, “at how many people all over the world are pressuring me to enforce the GPL in court, just to prove I can. I really need to make an example of someone. Would you like to volunteer?”
Someday someone will. But that someone's customers are going to go elsewhere, talented technologists who don't want their own reputations associated with such an enterprise will quit, and bad publicity will smother them. And that's all before we even walk into court. The first person who tries it will certainly wish he hadn't. Our way of doing law has been as unusual as our way of doing software, but that's just the point. Free software matters because it turns out that the different way is the right way after all.