我在我的代码上强制执行了AGPL,下面是它是如何进行的(糟糕)

2020-10-21 00:29:49

跳到主要内容五年前,我做了一个网站,允许你输入几个域名,并在SSL证书即将到期时收到一封电子邮件。没有广告,没有大惊小怪,人们不用像Nagios那样设置自己的监控,就可以轻松地跟踪自己的网站。就像我所有的软件一样,我是在GPL下发布的,特别是AGPL,因为它是基于Web的软件。AGPL与GPL有一点不同,简而言之,您必须发布您在同一许可证下所做的任何修改的源代码,即使当您在线托管软件(而不是分发)时也是如此。使用常规的GPL,如果您在线提供修改后的版本,只要您分发它,您就不必发布源代码。

最近,我发现一家公司托管了证书监控器,但做了一些修改(品牌和荷兰语翻译),没有提到它的来源,没有提供源代码,也没有提到许可证。我不会链接到公司,你可以看到截图,但我不想给他们任何额外的曝光。

在这篇文章中,我将谈论我做了什么来强制执行许可证,以及它是如何进行的。tl;dr,不像预期的那样。这家公司及时而友好地做出了回应,但还是做了半个assedattempt(在我的网站上添加了一个链接,文字为“受到人头马启发”),然后在我的投诉之后,整个网站都被撤下了。

早在2010年,我就是欧洲自由软件基金会(Free Software Foundation Europe)的成员,曾多次向软件自由法律中心/软件自由保护协会(Software Freedom Law Center/SoftwareFreedom Protection ancy)捐款(布拉德利总是在Linux Outlaw播客上谈论这件事),在工作中,每当我们收到GPL对我们咖啡机的请求时,我就是GOTO的人,所以你可能会说我对开源很感兴趣。如果SFC或FSFor GPL Violations.org的任何人正在阅读这篇文章,并想用它做更多的事情,请给我发一封电子邮件。

我根据GPL和AGPL(如果适用)许可我个人所有的东西,不喜欢许可许可(麻省理工学院,第3条BSD,X11,Apache),因为它们允许人们拿走你的东西,永远不会回来。我更喜欢强制你投稿的强有力的版权许可。这里有一篇关于许可与版权许可的好文章。

以下两段摘自plausible.io文章,解释他们的许可证切换。我发现他们很好地解释了AGPL,所以我在这里引用了他们。请去看看他们的文章,我通过阅读他们的文章发现谷歌有一个反AGPL的政策。

AGPL许可与原始的GPL许可相同,唯一的附加条款是允许通过网络与许可软件交互的用户接收该程序的源代码。

AGPL旨在确保企业回馈开源社区,即使在云中将软件作为服务运行时也是如此。

如果您在云中的Web服务中使用了AGPL许可的代码,则需要将其开源。它从根本上阻止了那些从未打算对开源做出贡献的公司从开源工作中获利。

它明确禁止公司与开源项目进行寄生性竞争。如果不将这些更改贡献给原始项目,他们将无法获取代码,对其进行更改,并将其作为竞争产品进行销售。

如果您在服务器上运行修改后的程序并让其他用户在该服务器上与其通信,则您的服务器还必须允许他们下载与在该服务器上运行的修改后的版本相对应的源代码代码。

公司需要清楚地说明并提供到原始项目的突出说明和链接,以便正在考虑使用其软件版本的人们能够了解原始源代码。

如果一家公司修改了原始软件,他们需要开源并发布他们的修改,例如,为原始项目做出贡献。

遗憾的是,我在手机上只拍了几张屏幕截图,所以我不能再展示更多了,但相似之处将非常明显。在我们的电子邮件交谈中,他们承认这是我的密码,所以这一点毋庸置疑。

首先是我的原始代码上的常见问题解答项目,然后是它们的翻译版本:

他们声称拥有作为作者的全部版权(这是错误的,他们不是作者,这也不是他们的版权)。

然而,他们忘了删除第一封电子邮件中的取消订阅链接,上面写着,要想不再收到电子邮件,请点击这个链接,然后再没有链接点击。

很难找到这家公司的实际电子邮件地址。他们的网站上什么都没有,只有一张联系人表格。隐藏在他们的工作页面上,我发现了一份工作列表,其中包括一个地址,以及在他们的一般条款和条件页上,他们是一个支持地址。

也许这只是我一个人的想法,但是每个主要的票务支持系统都支持电子邮件,就在门户网站旁边。请让我发一封电子邮件,而不是强迫我使用网页。

因此,我决定使用乔布斯的电子邮件,而不是一个大的组织,所以可能没有专门的人力资源,这是一个巨大的变化,工作直接交给了创始人。

我们的电子邮件交谈很有礼貌,他们及时回复,在几天内,其他GPL请求我从未得到任何回应,或者至少花了两周时间才得到初步回复,他们确实在那里获得了一些分数。

我的第一封电子邮件说,他们的工具看起来很像我几年前写的,他们可能应该提供源代码。我声明他们确实在他们托管的另一个工具(SSL解码器)上提供了源代码/链接,他们也应该在这里这样做。我也注意到了查找电子邮件地址的困难。

三天后,他们的第一个回应是,一些公司说谢谢你的服务,我们调查了一下,事实上,我们已经使用你的代码3年了,但没有提供任何归属。我们在页脚添加了一些内容,如果您想要文本更改,请告诉我们。

遗憾的是,我没有截取新的页脚文本的屏幕截图,但上面写着灵感来自人头马,并链接到这个网站。伙计们,这不是它的工作原理,我的第一封电子邮件足够清楚,完整的源代码和许可证,不是这些废话。创建一个新的GitHub/GitLab回购,执行一次初始提交,然后再也不碰它,真的不是那么难。

我的回答是,以一种更文明的方式,他们应该在相同的许可下提供源代码。

四天后,他们做出了回应,声称他们已经内部讨论过,并决定将该网站下线。

我们的谈话结束了,他们关闭了他们的网站,从来没有遵守许可证。我认为他们现在并没有违反它,但已经有几年了。

他们应该从一开始就向任何人提供源代码,最好是在网上,从他们建立服务的时候起就是这样。即使他们没有给我命名,但提供了源代码,我也没问题。

我不确定他们的网站在线多久了(他们在电子邮件中说有3年),但他们一直在违反许可证,一半的试用期以糟糕的结局收场。我怀疑他们的服务没有那么多人使用,因为他们只是在没有通知的情况下就把它撤下了。我希望他们所有的订户都知道这件事,因为如果他们的证书即将过期,他们永远不会收到通知。

当我还在自己托管这段代码时,我有大约20,000个域被检查。当我取消这项服务时,每个域名都收到了一条消息,通知他们30天后他们的服务将被取消,并提供一些他们可以使用的替代服务。

你知道奇怪的是什么吗?他们还托管了SSL解码器,这是我以同样的思路编写的另一款软件,带有指向源代码的链接。这是一张图片,您可以在其中看到URL,在底部是许可证和源代码链接:

那么,为什么在那里做,而不在另一个网站上做呢?我怀疑这是因为他们更改了源代码来翻译它,而SSL解码器站点似乎没有更改。

他的朋友兼Revspace成员马克·詹森(Mark Janssen)也主持了这些服务。在这里阅读他的帖子,他说他已经分叉了存储库,链接到了源代码,并对分叉使用了相同的许可证。

提供源代码并使用相同的许可证并不是那么困难。只管去做就行了。

标签:agpl、blog、gpl、Legal、License、php、security、ssl