The Ultimate Guide to the Affero General Public License (AGPL)
LEGAL DISCLAIMER: This article provides general, informational content for educational purposes only. It is not a substitute for professional legal advice from a qualified attorney. Always consult with a lawyer specializing in intellectual property and software licensing for guidance on your specific situation.
What is the AGPL? A 30-Second Summary
Imagine software licenses are like deeds to a piece of land. A permissive license, like the mit_license, is like buying a plot with no rules; you can build a private mansion, a public park, whatever you want. The more common gnu_general_public_license_(gpl) is like a deed with a covenant: if you build a house on this land, you must give copies of the blueprints to anyone who asks and let them tour the house. This ensures the community benefits from your work. But what if you build that house and only let people access it through a private, remote-controlled bridge? They can use the house, but since they never technically “set foot on the land,” you argue the covenant doesn't apply. This was a loophole for web applications. The Affero General Public License (AGPL) closes this loophole. It's a “super-powered” version of the GPL. The AGPL deed says: if you build a house and let people use it—even over that remote bridge—you still have to give them the blueprints. For software, this “remote bridge” is a computer network. The AGPL ensures that if users interact with your software over a network, they have the right to get the source code.
- Key Takeaways At-a-Glance:
- Strongest Copyleft: The Affero General Public License (AGPL) is a copyleft license designed to ensure software freedom even for network-based services, making it the strongest form of “share-alike” license available. free_software_foundation.
- Network Service Trigger: The Affero General Public License (AGPL)'s unique and most critical feature is its “network interaction” clause, which triggers the source code sharing requirement if users interact with the software over a network, a common scenario for software_as_a_service_(saas) applications.
- Critical for Business: For businesses, using Affero General Public License (AGPL) code in a proprietary, user-facing service creates a significant compliance obligation to release your application's source code, requiring careful legal and technical review before integration. intellectual_property.
Part 1: The Legal Foundations of the AGPL
The Story of the AGPL: A Tale of a Closing Loophole
The story of the AGPL is a direct response to the evolution of the internet itself. It begins with the philosophy of free_software, a movement championed by Richard Stallman and the free_software_foundation_(fsf). The core legal tool of this movement was the gnu_general_public_license_(gpl), first released in 1989. The GPL's central idea is copyleft: if you use GPL-licensed code to create a new program and then distribute that program, you must also license your new program under the GPL, sharing your “derivative work.” For years, this worked well for desktop software. If you sold a program on a floppy disk, you had to include the source code. However, the dot-com boom of the late 1990s created a new way to deliver software: the Application Service Provider (ASP), the ancestor of today's software_as_a_service_(saas). Companies realized they could take powerful GPL code, modify it, and run it on their own servers to power a website. Users would interact with the software through their web browser, but the company never “distributed” the software to them. The code stayed on the company's servers. This became known as the “ASP loophole.” It allowed companies to build proprietary services on the back of free software without contributing their improvements back to the community, which went against the spirit of the GPL. In 2000, to address this, Henry Poole of Affero, Inc. worked with the FSF to create the original Affero General Public License (AGPL). The goal was simple: to extend the sharing obligations of the GPL to network services. In 2007, the FSF officially released the GNU Affero General Public License version 3 (AGPLv3), making it part of the official GNU license family and solidifying its role as the license for a networked world.
The Law on the Books: Copyright Law and Licensing
The AGPL is not a law passed by Congress. It is a license, which is a legal contract that operates under the framework of U.S. copyright_law (found in Title 17 of the U.S. Code). Here’s how they connect:
- Copyright is Automatic: When a developer writes original code, they automatically own the copyright to it. This gives them the exclusive right to reproduce, distribute, and modify that code.
- A License Grants Permission: A license is the copyright holder's way of giving others permission to use their code under certain conditions. Without a license, using someone else's code is copyright_infringement.
- The AGPL's Conditions: The affero_general_public_license_v3 grants broad permissions: you can run, study, share, and modify the software. However, it imposes a critical condition: if you modify the code and offer it as a service over a network, you must provide the “Corresponding Source” code to all users of that service.
This “share-alike” condition is the heart of the license. By choosing to use AGPL-licensed software, you are legally agreeing to abide by its terms. A violation of the license is a breach of contract and an act of copyright infringement.
A Nation of Contrasts: International Enforcement
While born in the U.S., the AGPL is designed for a global stage. Its enforceability relies on international copyright agreements, primarily the berne_convention, which ensures that creative works (including software) are protected across all signatory countries. However, the practical approach to enforcement can vary.
| Aspect | United States | European Union | China |
|---|---|---|---|
| Legal Basis | U.S. Copyright Act (Title 17). Breach of license is copyright infringement. | EU Copyright Directive & national laws. Strong recognition of “moral rights” for authors. | Chinese Copyright Law. Historically weaker enforcement, but rapidly improving, especially for commercial entities. |
| Enforcement Body | Primarily through civil lawsuits filed by the copyright holder or designated organizations (e.g., software_freedom_conservancy). | Often handled by specialized courts. Organizations like the Free Software Foundation Europe (FSFE) are active. | Lawsuits are possible, but out-of-court settlements and public pressure are more common initial steps. |
| Discovery Process | Extensive. Parties can be compelled to produce internal emails, code repositories, and developer notes. | More limited and judge-led. Focus is on the specific evidence presented rather than broad discovery. | Limited discovery. The burden of proof is heavily on the plaintiff to provide clear evidence of infringement. |
| Damages | Can include statutory damages (up to $150,000 for willful infringement) and attorney's fees. | Typically focused on actual damages (lost profits) and an injunction to force compliance. | Damages are often lower, making litigation less financially attractive. The primary goal is usually to force compliance. |
| What it Means for You | A lawsuit in the U.S. can be extremely costly and invasive. Compliance is critical. | Enforcement is robust. German courts, in particular, are known for being friendly to open-source license enforcement. | The risk is growing. A global company cannot ignore AGPL compliance in its Chinese operations. |
Part 2: Deconstructing the Core Elements
The Anatomy of the AGPLv3: Key Clauses Explained
To truly understand the AGPL, you need to understand its engine room—the specific clauses that define your rights and obligations. While the full text is complex, its power comes from a few key sections.
Clause 5: Conveying Modified Source Versions
This is the standard copyleft provision, similar to the one in the regular GPL. It states that if you take the AGPL-covered code, modify it, and then “convey” (distribute) it, your modified version must also be licensed under the AGPL. You must include clear notices stating that you changed the files and the date of the change. This ensures that the chain of freedom is never broken; improvements made by one user become available to all subsequent users. Example: You download an AGPL-licensed photo gallery script. You add a new feature that automatically tags faces. If you give or sell this improved script to a friend, you must also provide them the full source code under the AGPL.
Clause 6: Conveying Non-Source Forms
This clause deals with “object code” or “compiled code”—the version of the program that a computer runs but humans can't easily read. If you distribute the compiled version of an AGPL program, you must also provide access to the “Corresponding Source” code. The license gives you several ways to do this, such as bundling it with the compiled code or providing a written offer, valid for three years, to give the source code to anyone who asks. Example: You take that photo gallery script, compile it into a mobile app, and list it on an app store. You must either include the source code in the app download or place a clear notice in the app's “About” section with instructions on how to obtain the complete source code.
Clause 13: Remote Network Interaction
This is the revolutionary clause that defines the AGPL and sets it apart from all other licenses. It is the legal mechanism that closes the “ASP loophole.” The clause states that if you modify the program and run it on a server to let users interact with it remotely over a computer network, you must make your modified source code available to those users. The user's interaction with the program triggers the obligation. What constitutes “interaction”? This is a key legal question, but it's generally understood to mean a back-and-forth exchange of data and commands that uses the core functionality of the AGPL program. Simply visiting a static webpage served by a web server that happens to use an AGPL component in the background might not count. But using a web-based document editor, a project management tool, or a social media platform powered by modified AGPL code almost certainly does. Example: You take AGPL-licensed database software (like early versions of MongoDB). You build a custom commercial software_as_a_service_(saas) analytics platform on top of it. Your customers upload data and run queries through your web interface. Because your users are interacting with the AGPL database over a network, Clause 13 is triggered. You are now legally obligated to provide the complete source code for your *entire* analytics platform to every single user, upon request.
Clause 7: Additional Terms
This clause deals with license_compatibility. It allows for adding certain types of limited, additional non-restrictive terms. However, it explicitly states that you cannot add further restrictions that would contradict the license's core freedoms. This is important because it prevents someone from, for example, adding a clause saying “You can't use this software for commercial purposes.”
The Players on the Field: Who's Who in the AGPL Ecosystem
Unlike a simple car accident case, an AGPL issue involves a unique set of players with different motivations.
- The Licensor (Copyright Holder): The original developer or company that wrote the code and chose to release it under the AGPL. Their goal is to encourage community contribution and ensure that their work remains free and open, even when used in commercial services.
- The Licensee (The User/Developer): This is you—the developer, startup, or large corporation that wants to use the AGPL code. Your goal is to build a product or service, and you must navigate the license terms to do so legally.
- The Free Software Foundation (FSF): The author and steward of the AGPL. While they don't own the copyright to every piece of AGPL software, they are the primary authority on interpreting the license and will often provide legal and philosophical guidance.
- Open Source Compliance Organizations: Groups like the software_freedom_conservancy and the linux_foundation act as watchdogs and enforcers. They often represent developers in license violation cases, performing audits and initiating legal action to compel companies to comply with their open-source obligations. Their goal is to protect the health of the entire free software ecosystem.
Part 3: Your Practical Playbook
Step-by-Step: What to Do if You Face an AGPL Issue
Discovering that a critical component of your commercial, proprietary service is licensed under the AGPL can be a terrifying moment for a Chief Technology Officer or founder. Don't panic. Follow a methodical process.
Step 1: Immediate Triage and Scope Analysis
First, determine how the AGPL code is being used. This is not just a legal question; it's a technical one.
- Identify the Component: Which exact library or program is it?
- Check the Version: Is it AGPLv3? An earlier version?
- Analyze the Linkage: Is your code “dynamically linking” or “statically linking” to it? Are you just calling an executable over a command line? The nature of the technical connection is critical.
- Map the Interaction: Does the component power a user-facing network service? Or is it used only in an internal build process or for back-office tasks that users never interact with? If it's the latter, your risk is much lower.
Step 2: Understand Your Obligations Under Clause 13
If the component is used in a user-facing network service, you must face Clause 13 head-on.
- Define “User”: Who are the users interacting with the service? The obligation is owed to them.
- Define “Corresponding Source”: This isn't just the AGPL component itself. It's the source code for all the software required to build and run your *entire derivative work*. This is the “viral” aspect of the license. The legal interpretation of what constitutes the full derivative work is the multi-million dollar question.
Step 3: Evaluate Your Strategic Options
You have several paths forward, each with significant trade-offs.
- 1. Comply and Open Source: The most straightforward option. You embrace the AGPL and release the source code for your entire application under the AGPL. This may be a viable path for companies that sell support or services rather than software licenses.
- 2. Replace the Component: Find a replacement library with a more permissive license (like mit_license or apache_license_2.0). This can require a significant engineering effort and cost but removes the AGPL obligation entirely.
- 3. Purchase a Commercial License: Many companies that release code under the AGPL also offer a “dual-license.” You can pay them for a separate, commercial license that does not have the copyleft requirements. This is often the preferred path for businesses that want to keep their own code proprietary.
- 4. Isolate the Service: Can you re-architect your system so the AGPL component runs as a completely separate program, and your proprietary code communicates with it at arm's length (e.g., via a standard API)? This is a legally gray area and requires expert legal advice to determine if the separation is “clean” enough to avoid creating a derivative work.
Step 4: Consult with Specialized Legal Counsel
This is not optional. Do not try to interpret the AGPL on your own based on blog posts. You need an attorney who specializes in open-source software licensing. They can help you assess your specific situation, understand the legal risks, and choose the best strategic option for your business. The cost of a legal consultation is minuscule compared to the cost of a lawsuit or being forced to release your company's core intellectual_property.
Essential Paperwork: Key Compliance Documents
If you choose to comply with the AGPL, you'll need to prepare certain “paperwork” for your software distribution.
- LICENSE or COPYING file: Your source code must include a full, verbatim copy of the affero_general_public_license_v3 text.
- Copyright and License Notices: Every source file you have modified should contain a notice stating who made the modification, the date, and that the file is licensed under the AGPL. You must not remove the original author's copyright notices.
- The Written Offer for Source: If you distribute a compiled version or provide a network service, you must have a mechanism for users to get the source code. A common way is to include a statement in your application's “About” page or documentation saying: “This software is based on AGPL-licensed components. To receive a copy of the complete Corresponding Source code, please send a written request to [Your Address] or email [[email protected]].” This offer must be honored.
Part 4: Landmark Cases and Events That Shaped the Law
Pure AGPL court cases are rare because the license is so strong that most companies, when faced with a violation claim, choose to settle or comply rather than risk a court battle. However, several key events and related cases have defined its impact.
Case Study: MongoDB's Shift to SSPL
MongoDB was one of the most popular databases licensed under the AGPL. Cloud giants like Amazon Web Services (AWS) began offering a “MongoDB-as-a-service” product. They were complying with the AGPL, but MongoDB, the company, felt this was unfair. AWS was profiting from their work without contributing to the database's development. The AGPL, as written, didn't prevent this. In 2018, MongoDB switched its license from the AGPL to a new license they wrote called the server_side_public_license_(sspl). The SSPL is like the AGPL on steroids: it explicitly requires that if you offer the software as a service, you must open source *not only the application itself but all the management software, APIs, and scripts you use to run that service*.
- Impact on You: This event highlights the core business tension the AGPL was meant to solve. It shows that even the AGPL may not be “strong” enough for some business models, leading to a new wave of even more restrictive “source-available” licenses.
Case Study: Software Freedom Conservancy v. Vizio, Inc.
This 2021 lawsuit involved the regular GPL, not the AGPL, but its outcome has massive implications for all copyleft licenses. The SFC sued television manufacturer Vizio, alleging that Vizio's Smart TV firmware used GPL-licensed code without providing the source code. The key legal question was whether a consumer—a purchaser of the TV—had the right to sue for the source code, or if only the original copyright holder could.
- The Ruling: A federal court ruled that consumers, as third-party beneficiaries of the license agreement, do have standing to sue to force compliance.
- Impact on You: This dramatically increases the risk of non-compliance. It's not just the original author you have to worry about; any user of your AGPL-powered network service could potentially have the legal standing to file a lawsuit demanding your source code.
Part 5: The Future of the AGPL
Today's Battlegrounds: The Cloud Wars and License Proliferation
The central conflict surrounding the AGPL today is the “Cloud Wars.” Open-source companies (like MongoDB, Elastic, Redis) invest millions in creating powerful software. They use the AGPL hoping to build a collaborative community. Large cloud providers (like AWS, Google Cloud, Microsoft Azure) then take this open-source code and sell it as a managed service, reaping most of the profits without being major contributors to the original code. This has led to a backlash and a fracturing of the open-source landscape. We are seeing:
- The Rise of “Fauxpen” Source: Licenses like the server_side_public_license_(sspl), the Business Source License, and the Elastic License are not approved by the open_source_initiative_(osi). They include restrictions on commercial use, particularly targeting cloud providers.
- The Debate: One side argues these new licenses are necessary for the survival of commercial open-source companies. The other side argues they betray the core principles of free_software and create a confusing, incompatible mess of licenses for developers to navigate.
On the Horizon: AI, Web3, and the Next Frontier
The principles behind the AGPL are now being tested by new technologies:
- Artificial Intelligence (AI): If an AI model is trained on AGPL-licensed data, does the model itself become a “derivative work” subject to the AGPL? If you offer an AI model as a service through an API, does that trigger Clause 13, requiring you to release the model's architecture, weights, and training data? These are cutting-edge legal questions with no clear answers yet.
- Web3 and Decentralized Applications (dApps): Smart contracts and dApps often run on public blockchains. While most are open source by nature, the AGPL's concepts of “distribution” and “network interaction” could be applied in novel ways to ensure that the infrastructure of a decentralized internet remains free and open.
The AGPL was a license built for the web era. The next decade will determine if its principles can adapt to the era of AI and decentralization.
Glossary of Related Terms
- apache_license_2.0: A popular permissive open-source license that is not “copyleft.”
- copyleft: The practice of using copyright law to ensure software remains free, requiring modified versions to be shared under the same terms.
- copyright_infringement: Using, reproducing, or distributing copyrighted work without the owner's permission or a valid license.
- derivative_work: In copyright law, a new work based on one or more preexisting works.
- dual-licensing: The practice of offering software under two different licenses, typically a copyleft license (like AGPL) and a commercial license.
- free_software: Software that gives users the freedom to run, copy, distribute, study, change, and improve it.
- free_software_foundation_(fsf): A non-profit organization founded by Richard Stallman to support the free software movement.
- gnu_general_public_license_(gpl): The world's most popular copyleft license and the direct predecessor to the AGPL.
- intellectual_property: A category of property that includes intangible creations of the human intellect, like copyrights, patents, and trademarks.
- license_compatibility: The issue of whether code under one license can be legally combined with code under another license.
- mit_license: A very short and simple permissive license that allows for reuse with very few restrictions.
- open_source_initiative_(osi): An organization that acts as a steward for the Open Source Definition and approves official “open source” licenses.
- software_as_a_service_(saas): A software delivery model where software is licensed on a subscription basis and is centrally hosted.
- source_code: The human-readable set of instructions written by a programmer that is compiled to create a runnable program.
- viral_license: An informal, often pejorative term for strong copyleft licenses like the GPL and AGPL, referring to their tendency to “spread” to the larger work.