原有的GPL协议,由于现在网络服务公司兴起(如:google)产生了一定的漏洞,比如使用GPL的自由软件,但是并不发布与网络之中,则可以自由的使 用GPL协议确不开源自己私有的解决方案。AGPL则增加了对此做法的约束。
AGPL是GPL的一个补充, 在GPL的基础上加了一些限制。
AGPL这个协议的制定是为了避免一个GPL/LGPL协议中的漏洞,称之为 Web Service Loopwhole。
这主要是由于 GPL是针对传统的软件分发模式的商业模式(以微软为代表), 如果你使用的GPL的代码作为
基础完成你自己的软件,如果你要分发你的软件,你的软件必须也是GPL的。随着以Google为代表的软件
作为服务的互联网公司的兴起,它们的“不分发软件,为客户提供网络服务”的商业模式就不受GPL协议的
约束,所以Google公司在构筑他的搜索引擎的时候可以随心所欲的拿现有的GPL协议的开源代码,无需开
源他的修改成果。AGPL协议在GPL协议的基础上加上了这个约束。
我猜是这样:
GPL的约束生效的前提是“发布”软件,即使用了GPL成分的软件通过互联网或光盘release软件,就必需明示地附上源代码,并且源代码和产品也受GPL保护。
这样如果不“发布”就可以不受约束了。比如使用GPL组件编写一个Web系统,不发布这个系统,但是用这个系统在线提供服务,同时不开源系统代码。
联想到之前Google Code一直封杀AGPL,可能是这个原因吧。
不知所云
的确看不明白
楼上的懂了也不补充一下
引用来自“无知的T”的答案
我猜是这样:
GPL的约束生效的前提是“发布”软件,即使用了GPL成分的软件通过互联网或光盘release软件,就必需明示地附上源代码,并且源代码和产品也受GPL保护。
这样如果不“发布”就可以不受约束了。比如使用GPL组件编写一个Web系统,不发布这个系统,但是用这个系统在线提供服务,同时不开源系统代码。
联想到之前Google Code一直封杀AGPL,可能是这个原因吧。
AGPL 是针对部门组织利用GPL的漏洞,不发布,但实际商用包含gpl开源程序的程序,主要是web。AGPL 是对GPL 更严谨的要求,要求在上述情况下也做出引用声明
参考
http://blog.csdn.net/terrycanny/article/details/8621095
http://linux.ubuntu.org.cn/news/31025.html
http://baike.baidu.com/view/2422767.htm
参考这个链接的结果就是:http://www.freeoa.net/development/design/detail-intro-agpl-agreement_2012.html
AGPL = GPL + 一条限制
GPL:如果你使用的GPL的代码作为基础完成你自己的软件,如果你要分发你的软件,你的软件必须也是GPL的。如果使用GPL成分的软件通过互联网或者其他方式发布,就必须提供源代码.
一条限制:如果使用AGPL许可的软件与用户通过网络进行交互,也需要提供源代码给用户,所有的修改也要给用户。