General public license
General Public License (GPL)
What Is the General Public License (GPL)?
The General Public License (GPL) is one of the most widely known copyleft open-source licenses. Created by the Free Software Foundation, its purpose is to ensure that software, and any derivative works based on it, remain free and open for everyone to use, modify, and redistribute. The GPL is often summarized as:
“You may use this software freely – but if you distribute modified versions, you must also share your source code under the same GPL license.” This “share-alike” condition is what makes the GPL different from permissive licenses like MIT or Apache.
How the GPL Works (Key Principles)
The GPL is built around four freedoms:
- Freedom to run the software for any purpose
- Freedom to study and modify the source code
- Freedom to redistribute copies
- Freedom to distribute modified versions, as long as they remain licensed under GPL
Its main enforcement point is distribution:
| Action | GPL Requirement |
|---|---|
| Use privately | No obligation |
| Modify privately | No obligation |
| Distribute original code | Must retain GPL license |
| Distribute modified code | Must share source under GPL |
So, obligations are triggered when software is distributed, not simply used internally.
Versions of the General Public License (GPL)
There are several versions:
- GPLv2 — widely used in long-standing open-source projects
- GPLv3 — adds modern protections such as patent clauses and anti-tivoization rules
- AGPL — extends sharing obligations to SaaS and hosted software
Each version strengthens user freedoms and clarifies compliance rules.
Why Organizations Care About the GPL
Using GPL-licensed software has business and legal implications:
- Strong alignment with open-source values
- Encouragement of community contribution
- Mandatory sharing of derivative works
- Possible need to disclose proprietary code when combining GPL components
Because of these obligations, legal review is common before embedding GPL software into commercial products.
GPL vs Permissive Licenses
| GPL (Copyleft) | MIT/Apache (Permissive) |
|---|---|
| Requires sharing derivatives | Few restrictions |
| Preserves open-source continuity | Encourages commercial use |
| Philosophy-driven | Flexibility-driven |
Both license families have valid use cases, they simply reflect different priorities.
Final Thought
The General Public License (GPL) is more than a legal instrument, it is a philosophy focused on preserving software freedom across generations.
Frequently asked questions
Does GPL require me to publish my code publicly?
Only if you distribute software that includes GPL-licensed components.
Can GPL software be used commercially?
Yes, but redistribution obligations still apply.
What is the difference between GPL and AGPL?
AGPL extends obligations to cloud-hosted and SaaS software.
Is GPL legally enforceable?
Yes, courts worldwide have upheld GPL terms.
Can GPL code be mixed with proprietary code?
Sometimes, but legal advice is strongly recommended.
Why do developers choose the GPL?
To ensure software remains free for future users.