This page is maintained by the Free Software Foundation's Licensing and Compliance Lab. You can support our efforts by making a donation to the FSF. Have a question not answered here? Check out some of our other licensing resources or contact the Compliance Lab at licensing@fsf.org .

Introduction

We classify a license according to certain key criteria:

We try to list the most commonly encountered free software license on this page, but cannot list them all; we'll try our best to answer questions about free software licenses whether or not they are listed here. The licenses are more or less in alphabetical order within each section.

If you believe you have found a violation of one of our licenses, please refer to our license violation page.

If you've started a new project and you're not sure what license to use, “How to choose a license for your own work” details our recommendations in an easy-to-follow guide.

If you have questions about free software licenses, you can email us at <licensing@fsf.org>. Because our resources are limited, we do not answer questions that are meant to assist proprietary software development or distribution, and you'll likely get an answer faster if you ask a specific question that isn't already covered here or in our FAQ. We welcome knowledgeable volunteers who want to help answer licensing questions.

If you are contemplating writing a new license, please also contact us at <licensing@fsf.org>. The proliferation of different free software licenses is a significant problem in the free software community today, both for users and developers. We will do our best to help you find an existing free software license that meets your needs.

If you are wondering what license a particular software package is using, please visit the Free Software Directory, which catalogs thousands of free software packages and their licensing information.

Software Licenses

The following licenses qualify as free software licenses, and are compatible with the GNU GPL.

This is the latest version of the GNU GPL: a free software license, and a copyleft license. We recommend it for most software packages. Please note that GPLv3 is not compatible with GPLv2 by itself. However, most software released under GPLv2 allows you to use the terms of later versions of the GPL as well. When this is the case, you can use the code under GPLv3 to make the desired combination. To learn more about compatibility between GNU licenses, please see our FAQ.

This is the previous version of the GNU GPL: a free software license, and a copyleft license. We recommend the latest version for most software. Please note that GPLv2 is, by itself, not compatible with GPLv3. However, most software released under GPLv2 allows you to use the terms of later versions of the GPL as well. When this is the case, you can use the code under GPLv3 to make the desired combination. To learn more about compatibility between GNU licenses, please see our FAQ.

This is the latest version of the LGPL: a free software license, but not a strong copyleft license, because it permits linking with nonfree modules. It is compatible with GPLv3. We recommend it for special circumstances only. Please note that LGPLv3 is not compatible with GPLv2 by itself. However, most software released under GPLv2 allows you to use the terms of later versions of the GPL as well. When this is the case, you can use the code under GPLv3 to make the desired combination. To learn more about compatibility between GNU licenses, please see our FAQ.

This is the previous version of the LGPL: a free software license, but not a strong copyleft license, because it permits linking with nonfree modules. It is compatible with GPLv2 and GPLv3. We generally recommend the latest version of the LGPL, for special circumstances only. To learn more about how LGPLv2.1 is compatible with other GNU licenses, please see our FAQ.

This is a free software, copyleft license. Its terms effectively consist of the terms of GPLv3, with an additional paragraph in section 13 to allow users who interact with the licensed software over a network to receive the source for that program. We recommend that developers consider using the GNU AGPL for any software which will commonly be run over a network. Please note that the GNU AGPL is not compatible with GPLv2. It is also technically not compatible with GPLv3 in a strict sense: you cannot take code released under the GNU AGPL and convey or modify it however you like under the terms of GPLv3, or vice versa. However, you are allowed to combine separate modules or source files released under both of those licenses in a single project, which will provide many programmers with all the permission they need to make the programs they want. See section 13 of both licenses for details.

This is a lax, permissive free software license, compatible with the GNU GPL, which we recommend GNU packages use for README and other small supporting files. All developers can feel free to use it in similar situations. Older versions of this license did not have the second sentence with the express warranty disclaimer. This same analysis applies to both versions.

This is a free software license, compatible with version 3 of the GNU GPL. Please note that this license is not compatible with GPL version 2, because it has some requirements that are not in that GPL version. These include certain patent termination and indemnification provisions. The patent termination provision is a good thing, which is why we recommend the Apache 2.0 license for substantial programs over other lax permissive licenses.

This license is a free software license, compatible with the GPL thanks to the relicensing option in section 4(c)(ii).

This license is a free software license, compatible with the GPL. It is the minimal set of changes needed to correct the vagueness of the Artistic License 1.0.

This is a free software license, compatible with the GNU GPL.

This is a lax, permissive non-copyleft free software license, compatible with the GNU GPL.

This is the original BSD license, modified by removal of the advertising clause. It is a lax, permissive non-copyleft free software license, compatible with the GNU GPL. This license is sometimes referred to as the 3-clause BSD license. The modified BSD license is not bad, as lax permissive licenses go, though the Apache 2.0 license is preferable. However, it is risky to recommend use of “the BSD license”, even for special cases such as small programs, because confusion could easily occur and lead to use of the flawed original BSD license. To avoid this risk, you can suggest the X11 license instead. The X11 license and the modified BSD license are more or less equivalent. However, the Apache 2.0 license is better for substantial programs, since it prevents patent treachery.

The CeCILL is a free software license, explicitly compatible with the GNU GPL. The text of the CeCILL uses a couple of biased terms that ought to be avoided: “intellectual property” and “protection”; this decision was unfortunate, because reading the license tends to spread the presuppositions of those terms. However, this does not cause any particular problem for the programs released under the CeCILL. Section 9.4 of the CeCILL commits the program's developers to certain forms of cooperation with the users, if someone attacks the program with a patent. You might look at that as a problem for the developer; however, if you are sure you would want to cooperate with the users in those ways anyway, then it isn't a problem for you.

This is a free software license, compatible with both GPLv2 and GPLv3. It is based on the modified BSD license, and adds a term expressly stating it does not grant you any patent licenses. Because of this, we encourage you to be careful about using software under this license; you should first consider whether the licensor might want to sue you for patent infringement. If the developer is refusing users patent licenses to set up a trap for you, it would be wise to avoid the program.

This is a lax, permissive non-copyleft free software license, compatible with the GNU GPL. It is nearly identical to the FreeBSD (also called “2-clause BSD”) license.

The eCos license version 2.0 is a GPL-compatible free software license. It consists of the GPL, plus an exception allowing linking to software not under the GPL. This license has the same disadvantages as the LGPL.

This is a free software license, and it is compatible with GPLv3. It is based on the Apache License 2.0; the scope of the patent license has changed so that when an organization's employee works on a project, the organization does not have to license all of its patents to recipients. This patent license and the indemnification clause in section 9 make this license incompatible with GPLv2.

This is a free software license, compatible with the GNU GPL. Previous releases of the Eiffel license are not compatible with the GPL.

This is a lax, permissive non-copyleft free software license, compatible with the GNU GPL.

This is a lax, permissive non-copyleft free software license, compatible with the GNU GPL. Some people call this license “the MIT License,” but that term is misleading, since MIT has used many licenses for software. It is also ambiguous, since the same people also call the X11 license “the MIT License,” failing to distinguish them. We recommend not using the term “MIT License.” For substantial programs it is better to use the Apache 2.0 license since it blocks patent treachery.

This is the original BSD license with the advertising clause and another clause removed. (It is also sometimes called the “2-clause BSD license”.) It is a lax, permissive non-copyleft free software license, compatible with the GNU GPL. Our comments about the Modified BSD license apply to this license too.

This is a free software license, and compatible with GPLv3. It has some attribution requirements which make it incompatible with GPLv2.

This is a lax, permissive, and weak free software license that is compatible with the GPL. It is similar to the license of Python 1.6a2 and earlier versions.

This is a free software license and is GPL compatible.

This is a free software license, and GPL-compatible. The author has explained to us that the GPL's options for providing source all mean the source has been "made available publicly" in their words.

This is a free software license, and compatible with the GNU GPL. The authors have assured us that developers who document changes as required by the GPL will also comply with the similar requirement in this license.

An “informal license” means a statement such as “do whatever you like with this” or “you can redistribute this code and change it.” In the United States, these licenses are supposed to be interpreted based on what the author seems to intend. So they probably mean what they appear to mean. That would make them non-copyleft free software licenses and compatible with the GNU GPL. However, an unlucky choice of wording could give it a different meaning. However, many other countries have a more rigid approach to copyright licenses. There is no telling what courts in those countries might decide an informal statement means. Courts might even decide that it is not a license at all. If you want your code to be free, don't invite gratuitous trouble for your users. Please choose and apply an established free software license. We offer recommendations that we suggest you follow.

This is a free software license, compatible with the GNU GPL.

This license is sometimes also known as the OpenBSD License. It is a free software license, and compatible with the GNU GPL. This license had an unfortunate wording choice: it provided recipients with “Permission to use, copy, modify, and distribute this software…” This was the same language from the license of Pine that the University of Washington later claimed prohibited people from distributing modified versions of the software. ISC has told us they do not share the University of Washington's interpretation, and we have every reason to believe them. ISC also updated the license to read “Permission to use, copy, modify, and/or distribute this software…” While the inclusion of “and/or” doesn't completely solve the issue, there's no reason to avoid software released under this license. However, to help make sure this language cannot cause any trouble in the future, we encourage developers to choose a different license for their own works. The FreeBSD License is similarly permissive and brief. However, if you want a lax, weak license, we recommend using the Apache 2.0 license.

This is a free software license. Section 3.3 provides indirect compatibility between this license and the GNU GPL version 2.0, the GNU LGPL version 2.1, the GNU AGPL version 3, and all later versions of those licenses. When you receive work under MPL 2.0, you may make a “Larger Work” that combines that work with work under those GNU licenses. When you do, section 3.3 gives you permission to distribute the MPL-covered work under the terms of the same GNU licenses, with one condition: you must make sure that the files that were originally under the MPL are still available under the MPL's terms as well. In other words, when you make a combination this way, the files that were originally under the MPL will be dual licensed under the MPL and the GNU license(s). The end result is that the Larger Work, as a whole, will be covered under the GNU license(s). People who receive that combination from you will have the option to use any files that were originally covered by the MPL under that license's terms, or distribute the Larger Work in whole or in part under the GNU licenses' terms with no further restrictions. It's important to understand that the condition to distribute files under the MPL's terms only applies to the party that first creates and distributes the Larger Work. If it applied to their recipients as well, it would be a further restriction and incompatible with the GPL and AGPL. That said, when you make contributions to an existing project, we usually recommend that you keep your changes under the same license, even when you're not required to do so. If you receive a work under a GNU license where some files are also under the MPL, you should only remove the MPL from those files when there's a strong reason to justify it. Check the license notices on the MPL-covered software before you make a Larger Work this way. Parties who release original work under MPL 2.0 may choose to opt out of this compatibility by including a sentence in the license notices that says that the work is “Incompatible With Secondary Licenses.” Any software that includes this notice is not compatible with the GPL or AGPL. Software under previous versions of the MPL can be upgraded to version 2.0, but any software that isn't already available under one of the listed GNU licenses must be marked as Incompatible With Secondary Licenses. This means that software that's only available under previous versions of the MPL is still incompatible with the GPL and AGPL.

This license is based on the terms of the Expat and modified BSD licenses. It is a lax, permissive non-copyleft free software license, compatible with the GNU GPL.

License of Netscape JavaScript #NetscapeJavaScript)

This is the disjunction of the Netscape Public License and the GNU GPL. Because of that, it is a free software license, compatible with the GNU GPL, but not a strong copyleft.

This is a permissive non-copyleft free software license that is compatible with the GNU GPL.

This license is the disjunction of the Artistic License 1.0 and the GNU GPL—in other words, you can choose either of those two licenses. It qualifies as a free software license, but it may not be a real copyleft. It is compatible with the GNU GPL because the GNU GPL is one of the alternatives. We recommend you use this license for any Perl 4 or Perl 5 package you write, to promote coherence and uniformity in Perl programming. Outside of Perl, we urge you not to use this license; it is better to use just the GNU GPL.

Being in the public domain is not a license; rather, it means the material is not copyrighted and no license is needed. Practically speaking, though, if a work is in the public domain, it might as well have an all-permissive non-copyleft free software license. Public domain material is compatible with the GNU GPL. If you want to release your work to the public domain, we encourage you to use formal tools to do so. We ask people who make small contributions to GNU to sign a disclaimer form; that's one solution. If you're working on a project that doesn't have formal contribution policies like that, CC0 is a good tool that anyone can use. It formally dedicates your work to the public domain, and provides a fallback license for cases where that is not legally possible.

This is a free software license and is compatible with the GNU GPL. Please note, however, that intermediate versions of Python (1.6b1, through 2.0 and 2.1) are under a different license (see below).

This is a free software license and is compatible with the GNU GPL. Please note, however, that newer versions of Python are under other licenses (see above and below).

This is a free software license, compatible with the GPL via an explicit dual-licensing clause.

The SGI Free Software License B version 2.0 is a free software license. It is essentially identical to the X11 License, with an optional alternative way of providing license notices. Previous versions of the SGI Free Software License B were not free software licenses, despite their name. However, they all included clauses that allow you to upgrade to new versions of the license, if you choose to do so. As a result, if a piece of software was released under any version of the SGI Free License B, you can use it under the terms of this free version.

This is a lax, permissive non-copyleft free software license, compatible with the GNU GPL.

This is a license that Unicode, Inc. has applied to the Unicode Character Database—various data files that developers can use to help implement the Unicode standard in their own programs. It is a lax permissive license, compatible with all versions of the GPL. If you want to use files covered by this License Agreement in your own software, that shouldn't be any problem, but we recommend that you also include a full copy of its text. Some of the files contain alternative license terms which are nonfree, or no licensing information at all, so including a copy of the License Agreement will help avoid confusion when others want to distribute your software. Of course, you'll also need to follow the conditions in this License Agreement for distributing the files, but those are very straightforward. Please take care to ensure that the files you are using are covered by this License Agreement. Other files published by Unicode, Inc. are covered by the Unicode Terms of Use, a different, nonfree license that appears on the same page but covers different files. A short explanation at the top of this License Agreement details which files it covers. Please do not use this License Agreement for your own software. If you want to use a lax permissive license for your project, please use the Expat license for a small program and the Apache 2.0 license for a substantial program. These are far more common, and widely recognized in the free software community.

This is a lax, permissive non-copyleft free software license, compatible with the GNU GPL. The license does provide the ability to license patents along with the software work, however, we still recommend the Apache 2.0 license for avoiding patent treachery when choosing to put your work under a lax license.

The Unlicense is a public domain dedication. A work released under the Unlicense is dedicated to the public domain to the fullest extent permitted by law, and also comes with an additional lax license that helps cover any cases where the dedication is inadequate. Both public domain works and the lax license provided by the Unlicense are compatible with the GNU GPL. If you want to release your work to the public domain, we recommend you use CC0. CC0 also provides a public domain dedication with a fallback license, and is more thorough and mature than the Unlicense.

This is a free software license, partially copyleft but not really. It is compatible with the GPL, by an explicit conversion clause.

This is a free software license and is GPL compatible.

Google's WebM implementation is covered by the Modified BSD License. Google also provides a separate patent license (confusingly called an “Additional IP Rights Grant”) for patents that Google owns or controls that are necessarily infringed by their implementation of WebM. GPL-covered software can be distributed in compliance with this license's terms: it allows distributors to exercise all of the rights granted by the GPL, while fulfilling all its conditions. Thus, all of WebM's license is free and GPL-compatible.

This is a lax permissive non-copyleft free software license, compatible with the GNU GPL. We do not recommend this license. If you want a lax permissive license for a small program, we recommend the X11 license. A larger program usually ought to be copyleft; but if you are set on using a lax permissive license for one, we recommend the Apache 2.0 license since it protects users from patent treachery.

The WxWidgets license is a GPL-compatible free software license. It consists of the GNU Lesser GPL 2.0 or any later version, plus an additional permission allowing binary distributions that use the library to be licensed under terms of the distributor's choice (including proprietary). It is a weak copyleft, even weaker than the LGPL, so we recommend it only in special circumstances.

WxWindows Library License #Wxwind)

An older name for the WxWidgets Library license.

This is a lax permissive non-copyleft free software license, compatible with the GNU GPL. Older versions of XFree86 used the same license, and some of the current variants of XFree86 also do. Later versions of XFree86 are distributed under the XFree86 1.1 license. Some people call this license “the MIT License,” but that term is misleading, since MIT has used many licenses for software. It is also ambiguous, since the same people also call the Expat license “the MIT License,” failing to distinguish them. We recommend not using the term “MIT License.” This is a fine license for a small program. A larger program usually ought to be copyleft; but if you are set on a lax permissive license for one, we recommend the Apache 2.0 license since it protects users from patent treachery.

This is a lax, permissive non-copyleft free software license, compatible with version 3 of the GPL. Please note that this license is incompatible with version 2 of the GPL, because of its requirements that apply to all documentation in the distribution that contain acknowledgements. There are currently several variants of XFree86, and only some of them use this license. Some continue to use the X11 license.

This is a free software license, and compatible with the GPL.