What Is Copyleft?

 [image of a Philosophical Gnu] [ Czech | English | French | German | Spanish | Indonesian | Japanese | Polish | Portuguese | Russian ]

Table of Contents

What Is Copyleft?

Copyleft is a general method for making a program free software and requiring all modified and extended versions of the program to be free software as well.

The simplest way to make a program free is to put it in the public domain (18k characters), uncopyrighted. This allows people to share the program and their improvements, if they are so minded. But it also allows uncooperative people to convert the program into proprietary software (18k characters). They can make changes, many or few, and distribute the result as a proprietary product. People who receive the program in that modified form do not have the freedom that the original author gave them; the middleman has stripped it away.

In the GNU project, our aim is to give all users the freedom to redistribute and change GNU software. If middlemen could strip off the freedom, we might have many users, but those users would not have freedom. So instead of putting GNU software in the public domain, we ``copyleft'' it. Copyleft says that anyone who redistributes the software, with or without changes, must pass along the freedom to further copy and change it. Copyleft guarantees that every user has freedom.

Copyleft also provides an incentive for other programmers to add to free software. Important free programs such as the GNU C++ compiler exist only because of this.

Copyleft also helps programmers who want to contribute improvements to free software get permission to do that. These programmers often work for companies or universities that would do almost anything to get more money. A programmer may want to contribute her changes to the community, but her employer may want to turn the changes into a proprietary software product.

When we explain to the employer that it is illegal to distribute the improved version except as free software, the employer usually decides to release it as free software rather than throw it away.

To copyleft a program, we first state that it is copyrighted; then we add distribution terms, which are a legal instrument that gives everyone the rights to use, modify, and redistribute the program's code or any program derived from it but only if the distribution terms are unchanged. Thus, the code and the freedoms become legally inseparable.

Proprietary software developers use copyright to take away the users' freedom; we use copyright to guarantee their freedom. That's why we reverse the name, changing ``copyright'' into ``copyleft.''

Copyleft is a general concept; there are many ways to fill in the details. In the GNU Project, the specific distribution terms that we use are contained in the GNU General Public License (available in HTML, text, and Texinfo format). The GNU General Public License is often called the GNU GPL for short. There is also a Frequently Asked Questions page about the GNU GPL. You can also read about why the FSF gets copyright assignments from contributors.

An alternate form of copyleft, the GNU Lesser General Public License (LGPL) (available in HTML, text, and Texinfo format), applies to a few (but not all) GNU libraries. This license was formerly called the Library GPL, but we changed the name, because the old name encouraged to use this license more often than it should be used. For an explanation of why this change was necessary, read the article Why you shouldn't use the Library GPL for your next library.

The GNU Library General Public License is still available in HTML and text format although it has been superseded by the Lesser GPL.

The GNU Free Documentation License (FDL) (available in HTML, text and Texinfo) is a form of copyleft intended for use on a manual, textbook or other document to assure everyone the effective freedom to copy and redistribute it, with or without modifications, either commercially or noncommercially.

The appropriate license is included in many manuals and in each GNU source code distribution.

The GNU GPL is designed so that you can easily apply it to your own program if you are the copyright holder. You don't have to modify the GNU GPL to do this, just add notices to your program which refer properly to the GNU GPL.

If you would like to copyleft your program with the GNU GPL or the GNU LGPL, please see the GPL instructions page for advice. Please note that you must use the entire text of the GPL, if you use it. It is an integral whole, and partial copies are not permitted. (Likewise for the LGPL.)

Using the same distribution terms for many different programs makes it easy to copy code between various different programs. Since they all have the same distribution terms, there is no need to think about whether the terms are compatible. The Lesser GPL includes a provision that lets you alter the distribution terms to the ordinary GPL, so that you can copy code into another program covered by the GPL.

If you would like to copyleft your manual with the GNU FDL, please see the instructions at the end (21k characters) of the FDL text, and the GFDL instructions page. As with the GNU GPL, you must use the entire license; partial copies are not permitted.

Translations of the GPL

These translations are not official. Legally speaking, the original (English) version of the GPL is what specifies the actual distribution terms for GNU programs.

The reason the FSF does not approve these translations as officially valid is that checking them would be difficult and expensive (needing the help of bilingual lawyers in other countries). Even worse, if an error did slip through, the results could be disastrous for the whole free software community. As long as the translations are unofficial, they can't do any harm, and we hope they help more people understand the GPL.

We give permission to publish translations of the GPL, GFDL, or LGPL into other languages, provided that you (1) label your translations as unofficial (see below for how to do this), to inform people that they do not count legally as substitutes for the authentic version, and (2) you agree to install changes at our request, if we learn from other friends of GNU that changes are necessary to make the translation clearer.

To label your translations as unofficial we want you to add the following text at the beginning, both in English and in the language of the translation---replacing language with the name of that language:

This is an unofficial translation of the GNU General Public License into language. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL--only the original English text of the GNU GPL does that. However, we hope that this translation will help language speakers understand the GNU GPL better.

Translations of the LGPL

These translations are not official. See translations of the GPL for why.

If you make a translation of the GNU LGPL, it should follow the guidelines for making translations of the GPL.
Please also let <[email protected]> know!

Translations of the GFDL

These translations are not official. See translations of the GPL for why.

If you make a translation of the GNU GFDL, it should follow the guidelines for making translations of the GPL.
Please also let <[email protected]> know!

Other Texts to Read

[ Czech | English | French | German | Spanish | Indonesian | Japanese | Polish | Portuguese | Russian ]

Return to GNU's home page.

FSF & GNU inquiries & questions to [email protected]. Other ways to contact the FSF.

Comments on these web pages to [email protected], send other questions to [email protected].

Copyright (C) 1996, 1997, 1998, 1999, 2001 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Updated: $Date: 2002/07/29 21:27:41 $ $Author: brett $