Choosing the Right Open‑Source License: A Practical Guide
This article explains what open‑source licenses are, distinguishes permissive and copyleft types, outlines common licenses such as BSD, MIT, Apache 2, GPL, LGPL, and AGPL, and answers frequent questions about distribution, patent grants, notice requirements, and the so‑called GPL virus myth.
As a developer planning to open‑source your code, you must choose an appropriate open‑source license.
1. What Is an Open‑Source License?
An open‑source license is a legal permission that explicitly allows users to use, modify, and share software for free. Without a license, copyright law prohibits sharing, so open‑sourcing code without a license only lets others view the source without the right to use it.
2. Types of Open‑Source Licenses
Over 80 internationally recognized licenses exist. All allow free use, modification, and sharing, but each imposes its own conditions. Licenses with no conditions at all place the work in the public domain. Licenses fall into two major categories:
Permissive licenses
Copyleft licenses
3. Permissive Licenses
3.1 Characteristics
Permissive licenses impose minimal restrictions:
No usage restrictions – users can do anything with the code.
No warranty – users assume all risk.
Notice requirement – original authors must be credited.
3.2 Common Permissive Licenses
Four widely used permissive licenses:
BSD 2‑Clause – retain the original license notice when distributing.
BSD 3‑Clause – retain the license notice and prohibit using the original author’s name for promotion.
MIT – retain the original license notice; functionally similar to BSD 2‑Clause.
Apache 2 – retain the license notice, disclose any modifications, and keep the license unchanged for unmodified files.
4. Copyleft Licenses
4.1 Meaning of Copyleft
Copyleft, coined by Richard Stallman, is the opposite of copyright: it allows copying without permission but adds conditions. Unlike permissive licenses, copyleft requires that derivative works remain under the same license.
Key conditions:
If distributing binaries, source code must be provided.
Modified source must retain the original license.
No additional restrictions may be added.
4.2 Common Copyleft Licenses
Four common copyleft licenses, ordered from strongest to weakest restrictions:
Affero GPL (AGPL) – code used in SaaS must also be open‑sourced.
GPL – any project containing GPL code must be licensed under GPL.
LGPL – allows dynamic linking of LGPL libraries without requiring the whole project to be open‑sourced.
Mozilla Public License (MPL) – code in separate files can remain closed, provided MPL‑licensed files stay under MPL.
5. Frequently Asked Questions
5.1 What Does “distribution” Mean?
Distribution refers to transferring a copyrighted work from one person (or legal entity) to another. Private use within a company does not count as distribution, and SaaS is generally not considered distribution—except for AGPL‑licensed code, which requires source disclosure.
5.2 How Are Patents Handled in Open‑Source Software?
Licenses such as Apache 2 and GPL v3 explicitly grant patent rights to users. Others (BSD, MIT, GPL v2) do not mention patents but are generally interpreted as providing an implicit patent license.
5.3 What Is a Notice Requirement?
All open‑source licenses require a notice that the software contains open‑source code, typically fulfilled by including the full original license text and crediting the original authors.
5.4 Is the “GPL Virus” Real?
The GPL’s “viral” nature means that if your project incorporates GPL‑licensed code, the entire project must be released under GPL. This is intentional to prevent proprietary use of GPL code; non‑compliance can lead to legal action, but courts usually order cessation of GPL use rather than forcing the release of proprietary source.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
MaGe Linux Operations
Founded in 2009, MaGe Education is a top Chinese high‑end IT training brand. Its graduates earn 12K+ RMB salaries, and the school has trained tens of thousands of students. It offers high‑pay courses in Linux cloud operations, Python full‑stack, automation, data analysis, AI, and Go high‑concurrency architecture. Thanks to quality courses and a solid reputation, it has talent partnerships with numerous internet firms.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
