Copyleft also helps programmers who want to contribute improvements to free software get permission to do so. 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,
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 way of using of the copyright on the program. It doesn’t mean abandoning the copyright; in fact, doing so would make copyleft impossible. The “left” in “copyleft” is not a reference to the verb “to leave”—only to the direction which is the inverse of “right.”
Copyleft is a general concept, and you can’t use a general concept directly; you can only use a specific implementation of the concept. In the GNU Project, the specific distribution terms that we use for most software are contained in the GNU General Public License. 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, at http://gnu.org/licenses/gpl-faq.html. You can also read about why the FSF gets copyright assignments from contributors, at http://gnu.org/copyleft/why-assign.html.
An alternate form of copyleft, the GNU Lesser General Public License (LGPL), applies to a few (but not all) GNU libraries. To learn more about properly using the LGPL, please read the article “Why You Shouldn’t Use the Lesser GPL for Your Next Library,” available at http://gnu.org/philosophy/why-not-lgpl.html.
The GNU Free Documentation License (FDL) 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.
All these licenses are designed so that you can easily apply them to your own works, assuming you are the copyright holder. You don’t have to modify the license to do this, just include a copy of the license in the work, and add notices in the source files that refer properly to the license.
Using the same distribution terms for many different programs makes it easy to copy code between various different programs. When they all have the same distribution terms, there is no problem. The Lesser GPL, version 2, 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. Version 3 of the Lesser GPL is built as an exception added to GPL version 3, making the compatibility automatic.
If you would like to copyleft your program with the GNU GPL or the GNU LGPL, please see the license instructions page, at http://gnu.org/copyleft/gpl-howto.html, for advice. Please note that you must use the entire text of the license you choose. Each is an integral whole, and partial copies are not permitted.
If you would like to copyleft your manual with the GNU FDL, please see the instructions at the end of the FDL text, and the GFDL instructions page, at http://gnu.org/copyleft/fdl-howto.html. Again, partial copies are not permitted.