Learn About GPL Software Licenses and Your Rights
What GPL Licenses Are and How They Work The GNU General Public License, known as the GPL, is a legal framework that governs how software can be used, modifie...
What GPL Licenses Are and How They Work
The GNU General Public License, known as the GPL, is a legal framework that governs how software can be used, modified, and shared. Created in 1989 by Richard Stallman and the Free Software Foundation, the GPL represents one of the most influential open-source licenses in the technology world. As of 2023, estimates suggest that GPL-licensed software accounts for roughly 70% of all open-source code repositories, making it the dominant licensing model for collaborative software development.
At its core, the GPL is based on a principle called "copyleft." Unlike traditional copyright, which restricts what others can do with software, copyleft uses copyright law to ensure that software remains free. This means anyone can view the source code, modify it, and share it with others—but with important conditions attached. The GPL doesn't make software free of cost; rather, it protects the freedom to study, change, and distribute the software itself.
The GPL exists in three main versions: GPLv2 (released in 1991), GPLv3 (released in 2007), and the Affero GPL (released in 2007). GPLv2 remains the most widely used version, covering approximately 50% of GPL-licensed projects. GPLv3 introduced stronger protections against software patents and tivoization—a practice where manufacturers lock down software to prevent modifications. The Affero GPL extends requirements to software used over networks, such as cloud-based applications.
Understanding the GPL matters whether you're a developer building software, a business using open-source tools, or a user wanting to know your rights. The license creates specific obligations and protections that differ significantly from proprietary software agreements. Many popular programs operate under GPL licenses, including the Linux kernel, WordPress, GIMP, and VLC media player. These projects demonstrate how GPL licensing supports massive collaborative efforts benefiting millions of users worldwide.
Practical Takeaway: The GPL is a legal tool that protects software freedom through copyleft—allowing modifications and sharing while requiring that derived works maintain the same freedoms. Familiarizing yourself with its core principles helps you understand your rights when using or developing GPL software.
Your Rights Under the GPL
When you use GPL-licensed software, you gain four fundamental rights that form the backbone of the free software movement. These rights are explicitly stated in the GPL text and provide protections that traditional software licenses do not offer. Understanding these rights helps you know what you're legally permitted to do with software you've obtained.
The first right is the freedom to run the program for any purpose. This means you can use GPL software in your home, business, school, or organization without restriction. There are no limitations on what you use it for, how long you use it, or where you use it. If you purchase a computer with GPL software installed, you own the right to use that software indefinitely. This contrasts with many commercial software licenses that restrict use to specific contexts or require periodic licensing fees.
The second right is the freedom to study how the program works and modify it to suit your needs. This requires access to the source code—the human-readable instructions that make up the program. With source code access, you can understand exactly what the software does, check for security problems, and make changes that improve it for your situation. A developer might modify GPL software to add new features, remove functions they don't need, or fix bugs they discover. A business might customize an open-source accounting program to match their specific workflow.
The third right involves distribution freedom. You can share copies of GPL software with others, whether you're distributing the original version or your own modified version. This right has enabled the rapid spread of successful open-source projects. Linux has become ubiquitous in data centers, mobile devices, and personal computers partly because organizations can freely distribute it. You can share GPL software with friends, colleagues, or the public without needing permission from the original developer.
The fourth right is the freedom to distribute modified versions. If you improve GPL software, you can release your improvements to the public. This creates a collaborative cycle where developers build on each other's work. Many of the improvements in popular open-source projects come from users who modified the software for their own purposes and then shared those modifications with others.
Practical Takeaway: GPL software grants you four core freedoms: to run it anywhere, to study and modify its source code, to share it with others, and to distribute your improvements. These rights form the legal foundation of your ability to use and benefit from open-source software.
Your Obligations When Using GPL Software
With the four freedoms granted by the GPL come corresponding responsibilities. The license isn't a one-way benefit; it imposes specific obligations on anyone who uses, modifies, or distributes GPL-licensed software. Understanding these obligations helps you stay in compliance and respects the work of developers who created the software under GPL terms.
The primary obligation is preserving the GPL license itself. When you distribute GPL software—whether modified or unmodified—you must include a copy of the GPL license with it. This ensures that anyone receiving the software understands their rights and obligations. The obligation applies whether you're distributing the software commercially, internally within your organization, or freely to the public. Real-world example: if a technology company uses a GPL-licensed library in its products, it must provide customers with the GPL license text, typically included in legal documentation or help files.
A second critical obligation is providing source code access. If you distribute modified versions of GPL software, you must make the source code available to users. The GPL requires that source code be available in the preferred form for making modifications—essentially the same format used by the original developers. This doesn't mean you must pay to provide it; you can charge reasonable fees for distribution costs. However, you cannot restrict others' ability to obtain and use the source code. Some companies make source code available through websites, while others provide it on physical media for a small handling fee.
You must also maintain copyright notices and license information. The GPL requires that you preserve all notices indicating which portions of the software are covered by the GPL, who wrote them, and what license they're under. If you modify GPL software, you should add your own copyright notice and indicate what changes you made. This maintains transparency about the software's history and ensures proper attribution to all contributors.
Documentation of modifications is another key obligation. When you distribute modified versions of GPL software, you should document what changes you made. While the GPL doesn't specify how detailed this documentation must be, providing clear information helps users understand your modifications and respects other developers who might build on your work.
One commonly misunderstood obligation concerns derivative works. If you create software that links to, uses, or incorporates GPL-licensed code, that new software typically becomes subject to the GPL as well. This is the "copyleft" mechanism in action—it ensures that improvements to GPL software remain free. However, merely using a GPL program (running it to accomplish tasks) doesn't obligate your own software to be GPL-licensed. A company can use GPL-licensed Linux as their server operating system while keeping their applications proprietary.
Practical Takeaway: GPL compliance requires providing the license, sharing source code when you distribute modifications, maintaining copyright notices, and documenting changes. These obligations ensure that the benefits of open-source software extend to everyone who receives it.
Different GPL Versions and Their Distinctions
The GPL has evolved through multiple versions, each addressing new challenges and closing loopholes discovered through real-world use. Understanding the differences between GPL versions helps you navigate the licensing landscape and recognize how requirements may differ across projects.
GPLv2, released in 1991, established the foundational copyleft mechanism and has remained largely stable for over three decades. It includes protections against proprietary modifications and explicitly addresses distribution of compiled software. GPLv2 contains the famous "or any later version" clause, allowing developers to automatically adopt newer GPL versions when they become available. This version's stability has made it the standard choice for many long-running projects. The Linux kernel, for instance, remains under GPLv2 specifically (without the "or any later version" option), meaning modifications must comply with GPLv2 terms rather than automatically updating to GPLv3.
GPLv3, released in 2007, introduced several important updates. One major change addresses software patents. GPLv3 explicitly grants users patent rights from contributors, preventing a company from using the GPL license while still suing others over patent claims related to the software. This matters in fields like bioinformatics and certain database applications where patent issues frequently arise. GPLv3 also introduced stronger
Related Guides
More guides on the way
Browse our full collection of free guides on topics that matter.
Browse All Guides →