Top :
Free Software Licences
Free Software Licenses
Introduction
Providing legal protection for Free Software is possible
using copyright law. It turns out that granting freedom to software users is a
bit more complex than denying them all freedom. The license under which a Free
Software program is distributed must therefore be designed with great care to
ensure that the author's wishes are respected.
In the following you will find a description of the Copyleft concept that can
be viewed as an introduction to the reasoning that someone has to make to
provide protection for Free Software. The path to actually write a license based
on this reasoning is hard and long. Copyleft is not the only way to think about
Free Software licenses. The X11 license or the Berkeley Database License were
designed using a different logic and are well fit for Free Software.
Although some individuals and companies try to undertake this enormous task,
most of them realize that using an existing Free Software license is much easier
and much safer. A list of known Free Software licenses is provided below so that you can find the one that best suits your purpose. When doing so you need to understand the benefits of each license and be careful about compatibility
issues.
Some Free Software licenses
The (compat) sign is added for each
license which is compatible with the GNU GPL license. For more information see
the section relating to license compatibility below.
- The GNU General Public
License, or GNU GPL for short.
- The GNU Lesser General
Public License, or GNU LGPL for short. (compat)
- The license of Guile. (compat)
- The license of the run-time units of the GNU Ada compiler. (compat)
- The X11 license. (compat)
- The Cryptix General
License. (compat)
- The modified BSD
license. (compat)
- The
license of ZLib. (compat)
- The license of the iMatix Standard Function Library. (compat)
- The
W3C Software Notice and License. (compat)
- The Berkeley Database
License (aka the Sleepycat
Software Product License). (compat)
- The License of Python
1.6a2 and earlier versions. (compat)
- The License of Python
2.0.1, 2.1.1, and newer versions. (compat)
- The license of Perl. (compat)
- The Clarified
Artistic License (used by NcFTP). (compat)
- The license of Netscape Javascript. (compat)
- The
Arphic Public License.
- The original BSD
license.
- The Apache License, Version
1.0.
- The Apache License, Version
1.1.
- The Zope Public License.
- The
license of
xinetd
- The
License of Python 1.6b1 and later versions, through 2.0 and 2.1.
- The
OpenLDAP License, Version 2.3.
- IBM
Public License, Version 1.0
- The Phorum License, Version
1.2
- The LaTeX Project Public License.
- The Mozilla
Public License (MPL).
- The Netizen
Open Source License (NOSL), Version 1.0.
- The Interbase Public
License, Version 1.0.
- The Sun Public License.
- The Nokia Open Source License.
- The Netscape
Public License (NPL)
- The Jabber Open Source
License, Version 1.0
- The Sun
Industry Standards Source License 1.0
- The Qt
Public License (QPL).
- The FreeType license
- The Open
Compatibility License
- The PHP License, Version
2.02.
For the impatient
If you need to take an immediate decision and can't spare time to educate yourself on the licensing subject, it is recommended to follow the advice listed below. This is overly-conservative advice that you can apply if you want to make sure that your freedom won't be jeopardized. However, it is very important to learn more about the legal protection of Free Software shortly afterwards. Reading this document and following links will introduce the concepts and enable you to make up your mind. It would be a mistake to consider this advice as a definitive way of dealing with legal issues.
- Only deal with software covered by the GNU GPL or GNU LGPL and
documentation covered by the GNU FDL
- Don't attempt to write a Free Software license
- Don't attempt to find out if a license is Free Software
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, 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. 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.
Let's say that your aim is to give all users the freedom to
redistribute and change the software you wrote. If middlemen could strip off the
freedom, you might have many users, but those users would not have freedom. So
instead of putting your software in the public domain, you can ``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 to 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 their changes to the community, but their
employer may want to turn the changes into a proprietary software product.
When it is explained 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, you first state that it is copyrighted; then you 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; you can use copyright to guarantee their freedom. That's why the name is reversed, changing ``copyright'' into ``copyleft.''
Copyleft is a general concept; there are many ways to specify the details. In the GNU Project for instance, the specific
distribution terms are contained in the GNU General Public License, the GNU
Lesser General Public License and the GNU Free Documentation License.
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.
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.
Compatibility between licenses
A common problem when mixing various
software distributed under different licenses is to make sure they are
compatible. In a non free software world this problem is not very visible since
the license does not grant you any freedom beyond the ability to run the
software on a single machine. In the Free Software world anyone can mix various
pieces of software and therefore run into a potential conflict between the
licensing terms.
A compatibility study is ongoing for the most wide spread license, the GNU
GPL. It lists licenses that are compatible
with it and the licenses that are incompatible.
Although this on-going study is a good reference, every software author has to
think about the implications of using a specific license. Choosing a license
that has compatibility problems may lead to practical troubles and prevent the
use of the software in conjunction with others.
Rationale behind the choice of a license
Choosing one license rather
than another may be a tough choice. It turns out that the GNU GPL is fit for
most software. However, it is often the case that when someone has to decide for
a license some questions arise. Will this license allow me to run a business
based on my software or will this license protect me from competitors willing to
takeover the software I wrote? Providing a general answer to this problem is
almost impossible and certainly out of the scope of this document.
The best way to find which Free Software license is fit for the software you
wrote is to talk to people. Send mail to non-profit
Free Software organizations explaining your situation, weigh their answers
and make up your mind. Always try to speak with at least one person with actual
experience, someone who had to face the same questions in the past.
Experience shows that choosing a Free Software license is only partly a
matter of evaluating advantages and drawbacks. Most of the discussions
surrounding this choice lead to a better understanding of the Free Software
movement. Once the level of understanding reaches a given level, the choice of
the license is often straight forward.
Beware of translations
All Free Software licenses are written in
English. If this is not your native language you will probably find it more
convenient to read a translation of this license. However you should realize
that even the best translations contain mistakes that change the meaning
of the license. The translation may help you understand the license when you
read it for the first time. After that you should always read and refer to the
original version.
The strongest incentive to use the translation of a license is to better
comply to national laws. This is rarely needed, unless you live in a country
that did not sign the Berne convention or made significant exceptions to it.
In some cases government agencies are forced to use licenses written in the
official language of the country. There is no easy solution to this problem at
present.
References
The philosophy
pages of the GNU project contain a vast number of introductory texts and
essays that cover both the legal and philosophical aspects of Free Software.
The Various
Licenses and Comments about Them page complements the list of licenses
presented in this page.
The translation effort of the
GPL to French.
[Authors: FSF Europe]