AGPL是一个相当新的许可证,旨在通过网络进行GPL。但是,由于不是律师,并且实际上还没有阅读完整的许可证,所以我无法理解您可以自由地进行哪些操作以及使用AGPL不能进行哪些操作。 (这是AGPL)以及以下注释中的更多内容。您不修改库。是这样吗还是在使用AGPL许可的库时必须分发整个应用程序?

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


如果要使用它并对其进行修改,是否需要开源整个应用程序,或者仅重新分发更改在iText中使用吗?
如果使用它并且不对其进行修改,是否必须开源整个应用程序?它是从您的主应用程序中获取的,您应该开源所有内容还是仅包装应用程序? (包装器应用程序将是基于HTTP的API,它将接收pdf文件,并返回将iText作为JSON使用的结果)。可以用来规避AGPL许可证吗?

注意:问题是关于AGPLv3

评论

另请参阅以下相关答案:opensource.stackexchange.com/questions/5003/…

#1 楼

AGPL基于GPL,而不是LGPL。它不包含任何链接异常,并且任何使用AGPL代码的作品(链接或其他方式,无论是否修改)也必须获得AGPL许可并分发。但这是黑暗的地面。如果您的最终应用程序依赖于外部流程,因此如果没有它,它将无法正常运行,那么它将被视为AGPL软件的衍生作品。

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

(A)GPL作品不能与最终应用程序一起分发,即使是作为单独的应用程序(例如,将它们放入相同的存档或存储库中)也可以,尽管可以提供有关在哪里找到GPL作品的说明在您的应用程序中使用它。

评论


尽管您说的是正确的,但如果在网络上以交互方式使用代码,则GPL和AGPL之间的唯一区别就是要求提供代码。但是,涵盖此内容的条款指出,该条款仅适用于作品的“修改版本”,“修改版本”定义为需要版权的任何使用。仅运行未修改的版本不会创建“修改的版本”,因为版权仅涵盖发行。

–埃里克·冯肯布施(Erik Funkenbusch)
2011-09-27 18:10

1.“链接或其他方式”是错误的。 2.“将其视为衍生作品”是错误的。3.我认为“在大多数情况下”是错误的。 4.“(A)GPL作品不能与最终应用程序一起分发,即使是单独的应用程序也是如此”,这是完全错误的,例如Debian一起分发具有各种不同许可证的内容,但并非所有许可证都与GPL兼容。专有系统也可以做到这一点。从“问题已经出现”开始,看一下页面的第3部分:ghostscript.com/doc/current/Commprod.htm其余部分不读,它试图欺骗您购买。

–山姆·沃特金斯(Sam Watkins)
2015年4月29日在5:17



由于授权,Debian实际上有3个独立的存储库。 main由符合DFSG的软件包组成,该软件包不依赖此区域外的软件进行操作。这些是Debian发行版中唯一考虑的软件包。 contrib软件包包含DFSG兼容软件,但主要不具有依赖项(可能是为Debian打包为非免费的)。 non-free包含不符合DFSG的软件。

–凯文·布雷(Kevin Brey)
2015年11月3日15:09



像... w ...所以现在所有带有Linux内核的Android手机都是非法的...

–安蒂·哈帕拉(Antti Haapala)
17年6月25日在21:35

无需公开分发依赖AGPL代码的软件源。仅需要将其分发给软件用户,AGPL定义的软件与GPL稍有不同。

–凯文·克鲁姆维德(Kevin Krumwiede)
19年5月25日在8:57

#2 楼

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

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

对于Mongo,我假设使用它的应用程序不使用其代码,仅使用未经AGPL许可的某些API。

评论


一般来说,我也不使用iText的代码-我使用的是它的API,对于Mongo,它是二进制Java API,而不是JSON API。

– Bozho
2011-09-13 14:51

@Bozho而且该API在什么许可下?

–ŠimonTóth
2011-09-13 14:56

@Bozho Mongo DB驱动程序均已获得Apache许可(我引用您链接的网站)。

–ŠimonTóth
2011-09-13 15:05

好吧,这是狡猾的-我们要使用什么API和API客户端。顺便说一句,您能回答上述三个问题吗?

– Bozho
2011-09-13 15:44

毫无疑问,使用AGPL代码的作品已获得AGPL的许可(GPLv3代码除外,在没有将AGPL条款应用于GPLv3代码的情况下,明确允许将其混合)。问题出在网络使用的定义上,该定义仅指“修改版本”,而定义中的“修改版本”定义意味着它仅适用于需要版权(即分发)的内容。所以它还是很模糊。

–埃里克·冯肯布施(Erik Funkenbusch)
2011-09-27 18:13