[译]为什么(要使用)GNU Affero GPL?

#为什么(要使用)GNU Affero GPL?

作者信息:Copyright © 2010, 2013, 2014, 2015 Free Software Foundation, Inc. This page is licensed under a Creative Commons Attribution-NoDerivs 3.0 United States License.

翻译者:IFRFSX. [email protected],“(* )”内的文字是添加的补充注释。

翻译文本的许可证:CC BY 4.0

GNU Affero 通用公共许可证是由普通的GNU 公共许可证的修改版。它有一个额外要求:如果您在服务器上运行一个(* 由GNU AGPL许可的)修改版的软件,并且让其他用户与这个软件与它(* 这个程序)通信,那么这个服务器也必须允许他们下载(* 这个)正在运行的修改版本相对应的源代码。

The GNU Affero General Public License is a modified version of the ordinary GNU GPL version 3. It has one added requirement: if you run a modified program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the modified version running there.

GNU Affero GPL 的用途是防止影响(* 那些)在服务器上经常使用的自由程序的开发人员的问题。

假设您在普通的GNU GPL下开发和发布程序,如果开发人员 D 修改了程序并且发布了它,GPL要求他在GPL下发布他的版本。因此,如果您获得了他的修改版本,(* 那么)您可以自由地将他的部分或全部更改合并到您自己的版本中。

The purpose of the GNU Affero GPL is to prevent a problem that affects developers of free programs that are often used on servers.

Suppose you develop and release a free program under the ordinary GNU GPL. If developer D modifies the program and releases it, the GPL requires him to distribute his version under the GPL too. Thus, if you get a copy of his version, you are free to incorporate some or all of his changes into your own version.

但是假如这个程序在服务器上很有用,当 D 修改程序时,他很有可能会在自己的服务器上运行它,而不会发布副本。然后,您将永远得不到他的版本的源代码副本,您可能不喜欢那样的结果。 使用 GNU Affero 通用公共许可证 就避免了这种结果。如果D在每个人都可以使用的服务器上运行他的版本,那么您也可以也可以使用它。假如他遵守许可证要求,让服务器的用户下载他的版本的源代码,那么您也可以这样做,然后您可以将他的修改合并到您的版本中。(如果他没有遵守,您的律师就会投诉他。)

But suppose the program is mainly useful on servers. When D modifies the program, he might very likely run it on his own server and never release copies. Then you would never get a copy of the source code of his version, so you would never have the chance to include his changes in your version. You may not like that outcome.

Using the GNU Affero GPL avoids that outcome. If D runs his version on a server that everyone can use, you too can use it. Assuming he has followed the license requirement to let the server's users download the source code of his version, you can do so, and then you can incorporate his changes into your version. (If he hasn't followed it, you have your lawyer complain to him.)

普通的GNU 通用公共许可证 第3版 和GNU Affero GPL(* 第三版)[^1] 都有(* 一段)文本允许您在一个程序中将这两个许可证下的模块链接在一起。

GNU Affero GPL并没有解决“服务作为软件替代品(SaaSS)”的问题。

SaaSS的意思是,用户使用其他人的web服务器来完成他们自己的计算。这要求他们将数据发送到服务器,服务器为他们进行计算,并将结果发送回给他们。SaaSS是一种不公正的现象,因为用户无法控制其计算过程。

如果这个服务器上的某个程序是在 GNU Affero GPL 下发布的,那么服务器就需要为用户提供相应的源代码。这很好,但是拥有这个源代码并不会让用户控制服务器上的计算。它也不会告诉用户,有什么其它以别的方式检查或更改用户数据的软件可能也运行在同一服务器。

我们没有看到任何合理的方法来解决关于特定程序的许可证条件下的SaaSS问题。甚至写一个区分 使用SaaSS 和 不使用SaaSS 的法律条件也是一种挑战,我们也不会看到程序许可证会对能解决 SaaSS 固有问题的 SaaSS 案例作任何要求。因此,我们对SaaSS问题的解决方案很简单:拒绝使用SaaSS服务。

如果一个程序是专门针对SaaSS的,你不应该写它。但是许多程序对于各种各样的服务是有用的,包括 SaaSS 的和非 SaaSS 的。编写和发行这些程序是很有用的,这样人们就可以用它们建立非saass服务,并且可以在AGPL下发行它们。

Both the ordinary GNU GPL, version 3, and the GNU Affero GPL have text allowing you to link together modules under these two licenses in one program.

The GNU Affero GPL does not address the problem of Service as a Software Substitute (SaaSS).

SaaSS means that users use someone else's web server to do their own computing. This requires them to send their data to the server, which does their computing for them and sends the results back to them. SaaSS is an injustice because the users cannot control their computing when it's done that way.

If some program on this server is released under the GNU Affero GPL, the server is required to offer the users the corresponding source of that program. That is good, but having this source code does not give them control over the computing done on that server. It also does not tell them what other software may be running on that server, examining or changing their data in other ways.

We don't see any sensible way to address the SaaSS problem with license conditions on particular programs. Even to write a legal condition to distinguish between SaaSS use and non-SaaSS use would be a challenge, and if we had that, we don't see anything that the program's license might require in the SaaSS case that would correct the inherent wrong of SaaSS. Thus, our solution to the problem of SaaSS is simple: refuse to use services that are SaaSS.

If a program is meant specifically and only for SaaSS, you shouldn't write it. But many programs are useful for a variety of kinds of services, including some that are SaaSS and some that are not. It's useful to write and release these programs so people can set up non-SaaSS services with them, and good to release them under the AGPL.

####注释

[^1]:根据GNU官方的说明,Affero 通用公共许可证第 1 版不是一个 GNU 许可证,但它设计的目标与 GNU AGPL 类似。

猜你喜欢

转载自my.oschina.net/u/3312265/blog/1860340
GPL