AGPL Human Interpretation

809ded44cbb203ca788630613c78d424.jpeg

ab1d8ad78ae59b1676a13ccac601cfe3.png

65d408d5ee41c7a830dec627e4e46b27.png

AGPL is widely used, especially today when cloud native is popular.

Many people don’t know much about AGPL. This article uses human language to translate and interpret it.

First, you need to understand that there is only one difference in the text between AGPL and GPL (Article 13).

Secondly, the GPL and AGPL mentioned in this article both refer to the V3 version, that is, GPLv3 and AGPLv3.

Finally, if you don’t understand GPL at all, you probably won’t be able to read this article. If necessary, you can check the GPL.

BTW: I have written a human version of GPLv3 before: Human Interpretation of GPLv3 .

4e51b3a76da2e29d4eab00cbd30e23d5.png

There are three main differences:

1. AGPL In the preface, it is introduced why AGPL is needed.

2. The main text of AGPL explains that source code must be provided when the program is used as a network service; AGPL programs can be combined with GPL programs, but they do not infringe each other.

3. In the appendix, AGPL emphasizes the method of providing source code.

The full name of AGPLv3 is GNU Affero General Public License v3.0, released on: 19 November 2007. For the full text, see:

https://www.gnu.org/licenses/agpl-3.0.html

The full name of GPLv3 is GNU General Public License v3.0, released on: 29 June 2007, the full text can be found at: https://www.gnu.org/licenses/gpl-3.0.html

405b81b11ba9c6db1bd19727f76bf5d5.png

In the preamble, the AGPL emphasizes the following paragraphs (which are not included in the GPL).

The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software.

Human translation:

The AGPL is a free, copyleft license that can be used for software and other types of works, especially designed to safeguard community cooperation on web server software.

Interpretation of human language:

In application scenarios such as network services, we should also give full play to the source code feedback performance of open source, so we specially designed AGPL. (The GPL cannot solve this problem)

A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public.

Human translation:

Defending the freedom of all users also has the benefit of allowing other developers to adopt improvements made to one version of a program if word spreads. The resulting collaboration is exciting and inspiring for free software developers. However, for software running on a network server, this effect may not be possible. The GPL allows you to modify a program and run it on a server for public access without making the source code public.

Interpretation of human language:

We didn't expect that the program could be used like this (act as a service, not released), and the source code could be used publicly without feedback. Now we have to specifically solve this problem.

The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version.

Human translation:

AGPL is specially designed to solve this problem. If the network service uses modified program source code, the network service operator must provide the user with the modified program source code. In other words, running the modified version publicly on a publicly accessible server requires making the modified source code available to the public.

Interpretation of human language:

Our purpose in designing AGPL is that even as a network service, you have to contribute your source code, yes, mainly the part you modified, because there may be some improvements in it that will benefit others and make users more free.

An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license.

Human translation:

The Affero company had earlier released a license, called the Affero GPL, with the aim of achieving similar goals. This license is another license, not a version of the Affero GPL; however, Affero Company has released a new version of the Affero GPL, which allows sublicensing under this license (that is, when redistributing the program, you can use the AGPL).

Interpretation of human language:

The AGPL was inspired by the previous Affero GPL, and the two licenses are not the same thing.

508db19eb6f022213437b1757a34bcb9.png

In the entire text, only Article 13 is different. (Except for differences in license names throughout the text)

Article 13 of AGPL:

13.Remote Network Interaction; Use with the GNU General Public License.

Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.

Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License.

Human translation:

AGPL Article 13: For remote network interaction; and for combination of GPL works.

Regardless of the other terms of this license, if you modify this program (note that this program is released using AGPL) and allow users to access the program through a computer network, then you must allow users to easily download the source code of the program, and Be free. This source code should include the source code of a GPLv3-protected work (if you use a GPLv3-protected work), as described in the following paragraph.

Notwithstanding the other terms of this License, you may link or combine this work with a work protected by GPLv3 to produce a combined work, and you may distribute it. This License is effective for that part of the work (and its derivatives) that is GPLv3. That part of the work (and its derivatives) is still protected by GPLv3.

Interpretation of human language:

This article says two things:

The first thing to say is that if AGPL's works interact with users through network services, the source code must be provided.

The second thing is that AGPL works can be linked or combined with GPLv3 works, but each license still protects their own works, and no one infects anyone else. When interacting with users as a network service, the source code of both parts is To give. This approach is still intended to avoid affecting each other as much as possible, lest AGPL annex the GPL (in fact, it is to prevent the AGPL part from infecting the GPL part). Therefore, even if some modifications are made to the GPL part for combination, it belongs to the GPL, not the AGPL.

559ba609fbae83c57a6e9d2643e433a2.png

NOTE: The following is Section 13 of the GPL:

13.Use with the GNU Affero General Public License.

Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.

Human translation:

GPL  Article 13, when used together with AGPL.

Regardless of other terms, you may link or combine this work (a GPL-protected work) with an AGPL-protected work to form a combined work, and distribute it. The terms of this License will continue to apply to this work (and its derivative works), but the special requirements in AGPL Section 13 regarding use as a network service will apply to the combined work (that is, the source code of the combined work must be made public ).

Interpretation of human language:

In fact, when writing GPLv3 (released in June 2007), Stallman was also writing AGPLv3 (released in November 2007). This article is to echo Article 13 of AGPL. It basically talks about the same thing. There is no conflict or contradiction.

ae56c4fcaeebfb5d47ed1540e1e286ac.png

In the appendix "How to apply the above terms to your new program", AGPL adds this sentence:

If your software can interact with users remotely through a computer network, you should also make sure that it provides a way for users to get its source. For example, if your program is a web application, its interface could display a Source link that leads users to an archive of the code. There are many ways you could offer source, and different solutions will be better for different programs; see section 13 for the specific requirements.

Human translation:

If your software interacts with users remotely over a computer network, you should make sure to provide a way for users to obtain the source code. For example, if the program is a web application, there should be a "source code" link on the interface for users to download. Of course, there are many ways to provide source code, and different programs will have different appropriate methods. See Article 13 for specific requirements.

Interpretation of human language:


In short, provide source code generously, don't be secretive or hide it.

b8cb74351822f9605d0f2a8d652adae9.png

Now you know, AGPL just adds a special requirement to GPL. If you understand GPL, AGPL is not difficult at all.

Author丨Wei Jianfan

Editor丨Deng Ziyi

Related Reading | Related Reading

[In-depth discussion of artificial intelligence] Introduction to the online seminar series

Behind the scenes of COSCon: KCC@Shanghai 12.2 event summary

Introduction to Kaiyuan Society

Kaiyuanshe (English name: "KAIYUANSHE") was founded in 2014. It is an  open source community composed of individual volunteers who volunteer to contribute to the open source cause and based on the principles of "contribution, consensus, and co-governance". Kaiyuan Society has always maintained the concept of "vendor neutrality, public welfare, and non-profit", with the vision of "based on China, contributing to the world, and promoting open source as a way of life in the new era", and with "open source governance, international integration, community development, and project incubation" Our mission is to create a healthy and sustainable open source ecosystem.

Kaiyuan Society actively cooperates closely with communities, universities, enterprises and government-related units that support open source. It is also the first member of OSI, a global open source protocol certification organization, in China.

Since 2016, it has held the China Open Source Annual Conference (COSCon) continuously, continuously released the "China Open Source Annual Report", and jointly launched the "China Open Source Pioneer List", "China Open Source Code Power List", etc., which has had a wide impact at home and abroad. force.

0fb248ad1d0e14bab208af7830c21b3d.gif

Guess you like

Origin blog.csdn.net/kaiyuanshe/article/details/135164177