Choosing a license
Choosing a license is an important part of publishing your free software projects. There are many to choose from, and each has different trade-offs and implications for your project’s future. It can be difficult to change the license later, so you should consider it carefully at the start.
Here are a few widely used free software licenses we recommend, and why you might choose them.
Copyleft licenses are useful for ensuring that your software remains free. The use of copyleft requires anyone who makes improvements to your software to publish them under the same copyleft license, which ensures that you can incorporate their improvements back into your version. For more details, see What is copyleft?
- Ensures your software remains free
- Encourages community contributions
- Promotes free software generally
- Less attractive to businesses
- Must consider license compatibility for reuse
Recommended copyleft licenses
|License||Use it for…||Copyleft approach|
|Mozilla Public License 2.0||Libraries (allows vendoring)||File-based|
|GNU Lesser General Public License||Libraries (disallows vendoring)||Object-based|
|GNU General Public License||Executable programs||Executable-based|
|GNU Affero General Public License||Networked services||Network-based|
Permissive licenses impose relatively few obligations on the recipient of your software. These licenses permit the software to be freely re-used and integrated into any other software project, including non-free software. It can be useful for projects which target commercial use or widespread adoption.
- Permits easy re-use
- Encourages widespread adoption
- Attractive to business users
- Can be incorporated into non-free works
- Discourages community contributions
Recommended permissive licenses
We recommend the following permissive licenses:
Recommended for businesses
For businesses publishing free software, it may be desirable to use a permissive-style license which includes considerations for trademark and patent rights. For this purpose we recommend the Apache 2.0 license.
Publishers who wish to enter their software into the public domain should note that a simple public domain dedication is not sufficient for international use. We recommend the following licenses, which provide public-domain-equivalent legal rights in a manner compatible with international laws:
Licenses for other situations
We have a separate page recommending licenses for non-software assets, such as multimedia: