AGPL的条款很容易遵守

2020-07-28 02:30:07

谷歌因禁止使用GNU Affero通用公共许可证(俗称“AGPL”)软件而闻名,谷歌也因成为时尚初创企业追逐商品的对象而闻名。不幸的是,这意味着他们很容易受到来自谷歌的最终反AGPL宣传的影响,几乎没有事实依据。

事实上,AGPL的条款很容易遵守。AGPL区别于其他许可证的基本义务如下:

根据AGPL的条款,此类软件的任何用户都有权获得源代码,包括通过网络访问它的用户,例如使用他们的网络浏览器或通过API或互联网协议访问它的用户。

如果您使用的是AGPL许可的软件,如数据库引擎或我自己的AGPL许可的作品,并且您没有对源码进行任何更改,那么您所要做的就是提供一个指向上游源码的链接,如果用户要求,请将其定向到那里。如果您已经修改了软件,您只需发布您的修改即可。要做到这一点,最简单的方法是将其作为补丁上游发送,但您也可以使用像向用户提供tarball这样简单的东西。

细微差别很详细,涵盖了许多边缘情况,以防止滥用。但是一般说来,只要在相同的AGPL条款下发布您的修改就可以了。许可证通常以COPYINGor许可证文件的形式出现在源代码中,所以如果您只需将修改后的源代码涂抹掉并将链接放到您的网站上,这就足够了。如果你想走得更远,并表达你对原始软件开发人员的感激之情,可以考虑提交你的更改以纳入上游内容。通常,您将收到的反馈也将帮助您的更改更好地适应您的用例;而将您的工作提交到上游将防止您的副本偏离上游。

这很容易,对吧?我敢肯定,贵公司必须处理比AGPL更繁重的合同。那为什么谷歌要对此大惊小怪呢?

关于AGPL的谷歌页面详细描述了关于AGPL义务的不准确(但常见的)误解,这些误解与正文不符。谷歌声明,例如,如果谷歌地图使用PostGIS作为其数据存储,而PostGIS使用AGPL,谷歌将被要求发布谷歌地图代码。这不是真的。在这种情况下,他们将被要求发布他们的PostGIS补丁。AGPL并没有扩展GPL,因为它并没有像Google暗示的那样,将互联网视为一种创建衍生作品的链接形式,而是让任何通过互联网使用该软件的人都有权获得其源代码。它并没有更新“什么算得上是‘衍生作品’”算法,也就是说,它更新了“算得上是‘分发’软件‘”的算法。

他们散布这些误解的原因很简单:他们想要阻止人们使用AGPL,因为他们不能有效地生产这样的软件。谷歌希望能够将自由/开源软件整合到他们的产品中,并将其出售给用户,而没有义务发布他们的衍生作品。谷歌是一家互联网公司,他们提供互联网服务。最初的GPL不会威胁到他们的计划,因为他们的软件是通过互联网访问的,而不是直接分发给最终用户。

通过不鼓励在更广泛的社区中使用AGPL,Google希望创建一个更大的自由和开放源码软件集,他们可以根据自己的需要使用这些软件,而不需要上游的任何义务。问问你自己:为什么像使用什么软件许可证这样的面向内部决策的文档会在公共场所发布?答案很简单:影响公众。这是宣传。

有一种奇怪的想法,那些避开AGPL而选择像麻省理工学院这样的公司这样做的软件公司之所以这样做,是因为他们想让“像Google 2”这样的公司为他们的软件付费,而且他们知道,如果他们使用AGPL,他们就没有机会了。事实上,谷歌永远不会买你的软件。如果你不使用AGPL,他们只会拿走你的软件,什么也不会归还。如果你真的使用了AGPL,他们只会在内部开发一个解决方案,谷歌不会付钱给你。

不要害怕使用AGPL,也不要害怕使用使用AGPL的软件。不管谷歌希望你怎么认为,这些义务并不是特别繁重或困难。驾照不是很长--读一读,你自己看看。

顺便说一句,以任何标准衡量,世界上“像谷歌”的公司都不超过10家。--↩。

对我的一篇帖子有什么评论吗?通过发送电子邮件至~sircmpwn/[email protected],在我的公共收件箱中开始讨论。

您是一名自由软件维护员吗?在您的工作过程中,您是否正在与压力、苛刻的用户、超负荷工作或任何其他社会问题作斗争?请给我发电子邮件-我知道你的感受,我可以倾听你的同情心,分享一些经验丰富的建议。