首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AGPL -你能做什么,你不能做什么

AGPL -你能做什么,你不能做什么
EN

Software Engineering用户
提问于 2011-09-13 13:11:57
回答 2查看 230.4K关注 0票数 233

AGPL是一个相当新的许可证,它的目的是通过网络进行GPL。然而,作为一名律师,实际上没有读过整个许可证,我不明白你到底能做些什么,什么是与AGPL无关。

我的不确定性是由这个职位有关MongoDB (这是AGPL),甚至更多的是由下面的评论。

如果我们遵循注释,那么您可以在您的封闭源代码、商业服务器端软件中使用AGPL库,只要您不修改这个库。是这样吗?或者在使用AGPL许可库时必须分发整个应用程序?

MongoDB的情况是它对客户端代码使用Apache,这带来了另一个问题。如果您使用AGPL软件,但将其部署为与您的封闭源商业应用程序不同的应用程序,会发生什么情况?例如,以iText为例,它是一个AGPL库:

  • 如果您使用它并对其进行修改,您是必须开放整个应用程序的源代码,还是只需要重新分发iText中的更改?
  • 如果您使用它,而不修改它,您是否必须开放源代码您的整个应用程序?
  • 如果您将iText包装在另一个应用程序中,将其作为一个单独的进程启动,但是从您的主应用程序中使用它,那么您应该开放源代码所有的东西,还是只使用包装器应用程序?(包装器应用程序将是基于HTTP的,它将接受pdf文件,并返回使用iText作为JSON的结果)。这能用来规避AGPL许可证吗?

注意:问题是关于AGPLv3的

EN

回答 2

Software Engineering用户

发布于 2011-09-13 15:32:46

AGPL基于GPL,而不是LGPL。它不包含任何链接异常,使用AGPL代码(链接或其他方式,修改与否)的任何工作也必须得到AGPL许可和分发。

使用单独的过程可以绕过(A)GPL,但这是一个模糊的地方。如果您的最终应用程序依赖于外部流程,如果没有它,它将无法正常工作,那么它将被认为是AGPL软件的派生工作。

在大多数情况下,当人们在封闭源代码程序中使用单独的GPL应用程序时,他们提供GPL工作作为可选的扩展,或者作为其他代码的备用后端等等。

(A)GPL工作不能与最终应用程序一起分发,甚至不能作为一个单独的应用程序(例如,将它们放在同一个存档或存储库中),尽管可以提供关于在哪里找到GPL工作以及如何在应用程序中使用GPL工作的说明。

票数 58
EN

Software Engineering用户

发布于 2011-09-13 14:21:08

AGPL与GPL相同;因此,如果您的应用程序使用AGPL代码,则必须获得AGPL许可。

AGPL在GPL之上所做的是对用户的重新定义。对于运行在服务器上的GPL程序,您是用户,对于AGPL,应用程序的真正用户是您的网站或服务的用户。因此,如果您正在使用的是其他人,则您正在分发该应用程序。当然,这意味着所有的标准GPL需求。

至于Mongo,我假设使用它的应用程序不使用它的代码,只使用一些API,这不是AGPL许可的。

票数 20
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/107883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档