The GNU General Public License (GPL): How Copyleft Works
The GPL (GNU General Public License) is a copyleft software license that uses copyright law to ensure derivative works remain open source. Any software incorporating GPL-licensed code must also be released under the GPL when distributed — the 'viral' requirement. This mechanism ensures that corporate users who modify GPL software must share their changes with the community. The trigger is distribution: internal use without distribution does not require source release.
The GNU General Public License (GPL), created by Richard Stallman and the Free Software Foundation, is the most widely used copyleft software license. It uses copyright law to achieve the opposite of typical copyright restrictions: ensuring that software freedom propagates to all derivative works. ## The Viral Mechanism The GPL's core requirement: any software that incorporates or derives from GPL-licensed code must itself be distributed under the GPL, including making source code available. This creates a "viral" propagation — the license spreads to any combined work when that work is distributed. If a company takes a GPL library, modifies it, and distributes a product containing those modifications, they must release the source code of the entire combined work under the GPL. This ensures corporate users contribute changes back to the community rather than creating proprietary forks. ## The Distribution Trigger The GPL's obligations are triggered by **distribution** — providing copies to others. If you modify GPL software but only use it internally (never distributing it), you have no obligation to release source code. This is sometimes called the "SaaS loophole" — a company can run modified GPL software as a web service without distributing it, avoiding copyleft obligations. The Affero GPL (AGPL) addresses this by extending the trigger to network interaction: if users interact with AGPL software over a network, they must be offered the source code. ## GPL Versions **GPLv2** (1991): The version used by the Linux kernel. Requires source distribution for distributed binaries. **GPLv3** (2007): Added protections against patent claims (tivoization) and DRM restrictions. Not all projects upgraded — the Linux kernel remains GPLv2. ## Enforcement and Limitations GPL enforcement relies on copyright law — a copyright holder can sue for license violation. However, copyright protects specific expression, not ideas or functionality. This distinction is the basis for legal clean room reverse engineering: studying GPL code to understand its behavior, then implementing the same behavior independently without copying the expression. AI Clean Room Engineering: Automated License Stripping and the Threat to Copyleft Open Source