The use of the AGPLv3 license in software sometimes sparks a debate in the open source community or in consortia, partially fueled by a document published by Google. The document states that Google does not permit the use of code licensed under the GNU Affero General Public License (AGPL) within their organization. In this article, The Hyve aims to clarify the purpose of the GPL licenses and their different versions. The article will also present The Hyve's conclusion on the matter.
The GPL licenses are widely recognized copyleft licenses within the open-source community. Copyleft refers to a licensing principle that allows anyone to freely use, modify, and distribute a work, provided that any derived works are distributed under the same licensing terms. The most common versions are GPLv2 and GPLv3, with the latter being the successor to GPLv2. These licenses are considered strong copyleft licenses. Additionally, there is the Affero GPL (AGPL), which is an ultra-strong copyleft license due to its interpretation of "distribution." Let's discuss these licenses in detail, starting with GPLv2.
GPLv2
Under the GPLv2 license, users of GPL-licensed software have the right to copy, distribute, and modify the work. However, when distributing GPLv2-licensed software, users must share any changes they have made to the code under the same licensing conditions. This means disclosing the source code of their modifications alongside the distributed software. This nature of the GPL licenses ensures that derivative works also adhere to the license's conditions.
Distribution
It's important to note that the nature of the GPL licenses only applies when the user distributes the GPL-licensed software. The definition of "distribution" is not explicitly provided in the GPLv2 license, but it is assumed to align with the definition in US copyright law. In the US, using software as a service (SaaS) does not constitute distribution unless an actual transfer of a local copy occurs. Any act that provides a local copy to a third party is considered distribution.
Conditions for distribution under GPLv2 include displaying copyright notice and warranty disclaimer, providing a copy of the GPLv2 license to recipients, prominently indicating modifications made to the program, and licensing derivative works under the same license conditions. Users must also provide the source code of the software program to recipients and are not allowed to change the license or introduce additional terms and conditions.
Derivative Work
Determining what constitutes a derivative work is crucial when considering the implications of the GPL licenses. Unfortunately, the GPLv2 license does not explicitly define this term, relying on courts around the world to interpret it under their respective copyright laws. However, the license text mentions "derivative work" inconsistently, resulting in broader interpretations than those found in most national copyright laws.
GPLv3
Released 15 years after GPLv2, the GPLv3 license shares a similar spirit but introduces some noteworthy changes. The terms "distribution" in GPLv2 are replaced with "to propagate" and "to convey" in GPLv3. These terms are defined in the license and essentially state that propagation of the work is unrestricted until a third party gains access to it, at which point the GPLv3 conditions apply. Notably, interaction through a computer network, such as SaaS use, does not activate the GPLv3 conditions.
The term "derivative work" is no longer mentioned in GPLv3. Instead, modification is defined as copying from or adapting the work, requiring copyright permission. The resulting work is called a "modified version" or a work "based on" the earlier work. However, the GPLv3 definition does not explicitly clarify when additions must be licensed under the same GPLv3 license.
Covered work
A new term in GPLv3 is “covered work”. In the context of the GPLv3 license, a "covered work" refers to any work that is distributed or conveyed under the terms of the GPLv3. It encompasses the original work licensed under GPLv3 as well as any modifications, adaptations, or derivative works based on that original work. Essentially, any software or code that falls under the GPLv3 license, either in its original form or as modified versions, is considered a "covered work." The obligations and permissions specified in the GPLv3 apply to these covered works.
Part of an aggregate
The GPLv3 license is explicit in clause 5 about the impact of covered work as part of an aggregate on the other parts of that aggregate: A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
AGPLv3
AGPLv3: The AGPLv3 license is an ultra-strong copyleft license, essentially similar to GPLv3 but with an additional section. It requires the disclosure of source code, even when the software is distributed solely through a SaaS solution.
The Hyve’s Conclusion
In conclusion, the use of the AGPLv3 license in an open source community has been a choice for a strong copyleft license. But there is no reason to fear that using code under this license will influence the obligations with regard to, e.g. Google software. The license is clear about that: Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.