This section covers the most widely used open source licenses for software. Each license page explains the terms, typical use cases, and practical implications.
License Families¶
Licenses are grouped by their philosophical approach:
Permissive Licenses¶
These licenses grant maximum freedom with minimal requirements—typically just attribution.
-
Simplest and shortest. The default for JavaScript, Ruby, and general-purpose projects.
-
Includes patent grant. Standard in enterprise, Java, and Cloud Native ecosystems.
-
Academic origins. Common in BSD systems and networking projects.
Copyleft Licenses¶
These licenses require derivative works to preserve the same freedoms.
Other Licenses¶
Special cases that don't fit neatly into the above categories.
-
No restrictions. Maximum freedom, no attribution required.
-
Network copyleft. Closes the "SaaS loophole" for web services.
-
Not open source. Code is viewable but usage is restricted.
Choosing a License¶
For guidance on selecting a license for your own project, see the Choosing a License guide.
License Identifiers¶
Each license has an SPDX identifier—a short, standardized code used in package managers and license scanners:
MIT- MIT LicenseApache-2.0- Apache License 2.0GPL-3.0-only- GNU General Public License v3.0 onlyGPL-3.0-or-later- GNU General Public License v3.0 or later
Using SPDX identifiers in your projects helps automated tools understand your licensing.