【开源合规】 什么是AGPL许可证?回答的首要问题
开发人员通常认为软件许可要求是法律部门的明确责任。由于有如此多的开源组件可用,以及许可要求的含义,每个开发人员都应该至少对这些许可是什么以及每个许可如何影响他们的软件有一个大致的了解。
考虑到项目可能遇到的下游影响,每个团队都需要审查其软件的所有许可证要求。在发布任何更新或修改的软件之前,组织需要进行一次完整的许可证合规性审核,在项目的每个阶段这样做可以避免将来出现问题。一个许可团队应该研究的是GNU Affero通用公共许可(AGPL)。
什么是AGPL?
在讨论AGPL许可证之前,了解其来源是很重要的。1988年,Richard Stallman撰写了他的通用公共许可证(GPL),旨在保护创作者在任何时候都保持软件开源的权利。GPL目前处于第三个版本(GPLv3),因为之前的文本存在一些漏洞。
作为GPLV3的一部分,自由软件基金会(FSF)提供了两种附加类型的许可证,即较小的通用公共许可证(LGPLV3)和Affelo通用公共许可证(AGPLV3)。通用公共许可证的AGPL版本旨在对所有使用该许可证的软件强制执行完全的版权保留权利。
AGPL许可证的优点和缺点是什么?
在标准GPL许可证中,互惠条款在开发者发布软件时生效。copyleft原则旨在使所有源代码可供更广泛的开源社区使用。有了AGPL,软件团队可以确保对代码库的所有更改对公众可用,即使是在服务器端应用程序上。
确定AGPL 3.0、LGPL 3.0或标准GPL 3.0是否最适合团队取决于软件的最终意图。Copyleft许可证对于希望确保所有后续更改都可供社区使用的开发人员来说非常理想,而MIT许可证等允许的许可证使他们在未来有更多的自由进行专有修改。
AGPL的一些优点包括:
- 迫使团队在项目早期考虑他们的许可理念,并按照他们的决定生活。
- 确保开源社区开发的任何代码片段都保持可用,并防止其他人重新打包和销售开源软件。
AGPL的缺点是:
- 让一些团队远离开源软件包,因为它迫使所有其他代码成为GPLed软件。
- 有些人认为这是过分的,因为任何使用AGPL的依赖包中的任何模块都会使所有其他软件受到类似的限制。
- 取消了团队在未来使软件成为专有软件的选择。
公司可以使用AGPL软件吗?
尽管任何人都可以使用AGPL V3许可证,但它在组织中并不流行。对AGPL软件的任何后续版本施加的限制使得在存在竞争性商业利益时难以采用。
大多数公司更喜欢使用许可证,允许他们自由使用开源组件,并在未来将其版本的软件转化为商业产品,而不是使用AGPL等版权许可证。
什么是版权许可证?
Copyleft许可证执行了史塔尔曼在其GNU宣言中首先支持的原则。在20世纪60年代,开发人员公开分享所有帮助他人的源代码是很常见的,这创造了一种社区和协作的感觉。到了20世纪80年代,随着组织开始对其源代码应用版权,这一趋势不再受欢迎。Copyleft与版权相反,它强制执行使用、修改和重新发布任何具有Copyleft许可证(如GPL)的源代码的权利。
能否将AGPL与封闭源代码应用程序结合使用?
AGPL V3许可证是一个强大的copyleft许可证,它在所有源于之前工作的组件上强制实施开源。它填补了服务器端的漏洞,如果软件不发布,源代码就无法提供。AGPL将用户定义为任何访问服务器端应用程序(如果该应用程序面向公众)的人。对于驻留在组织网络内的应用程序,AGPL不会触发源代码的发布。
AGPLv3许可证是否与GPLv3兼容?
将GPLv3许可证下的作品与AGPL软件相结合的用户可以保留GPLv3许可证对未修改作品的权利。GPLv3工作的任何修改版本都必须使用AGPLv3许可证。
AGPL由于其激进的开源许可,目前只在不到1%的开源项目中使用。
- 2582 次浏览