开放源码许可以及我们为什么要将看似合理的更改为AGPL许可

2020-10-13 20:09:27

←所有帖子似是而非的分析是一个软件即服务,开源的网络分析项目。近几个月来,随着似是而非越来越受欢迎,我们开始意识到与开放源码许可相关的风险,那些不关心开放源码的公司乐于利用这些风险。

所以我们要更改我们的驾照。这一改变不会影响任何订阅了似是而非分析云的人,也不会影响任何在他们的服务器上运行自托管的似是而非分析的人。一切都保持不变。

这一变化将影响那些想要使用我们的代码并使用它来创建和销售与我们直接竞争的专有工具的公司。我们来看一下细节。

这是我们两个人第一次参与构建和发展开源项目。当我们选择许可证时,有些事情我们没有考虑到。

下面的几件事让我们意识到了开放源码许可的风险:

至少有一次,一家公司拿走了我们的部分代码,将其关闭源代码,并开始将其作为直接竞争对手进行销售。

我们已经有一些大公司希望我们帮助他们,这样他们就可以在不想对我们的项目做出任何贡献的情况下,向他们数以万计的客户销售看似合理的自托管服务。作为回报,他们提供宣传。

这些公司使用Google Analytics来跟踪他们的用户,使用Facebook像素在网络上投放广告来瞄准相同的用户,等等。我们所反对的一切。

他们的动机似乎并不是为了让网络对隐私更加友好,并削弱谷歌的主导地位。这似乎纯粹是一个从开源中赚钱的商业机会。

我们试图通过让人们在不需要大型技术公司捐款的情况下找到价值并为开放源码软件付费,从而使开放源码可持续发展。

出售开源软件并与谷歌的免费产品竞争,很难变得可持续。这使得向我们的分析工具提供零附加条件的分析工具变得更加困难,这些公司希望通过销售基于我们自己软件的工作来与我们竞争。

因此,我们想要一个“不要作恶”的执照,以下是我们试图通过它实现的目标:

我们希望防止公司拿走我们的代码,并将其用作其封闭源代码专有产品的一部分。

我们希望防止公司在没有对开放源码项目做出贡献的情况下提供看似合理的服务。

我们希望防止公司混淆人们,让他们认为他们销售的服务是原始团队批准的任何形式或形式。

我们不希望这以任何方式影响构建的实际用例。这是一个完全开源的可自我托管的网络分析工具,帮助人们去谷歌他们的网站,并尊重他们访问者的隐私。

虽然我们不希望封闭源码公司使用我们自己的作品与我们直接竞争,但重要的是要为项目的分支和将其合并到其他开放源码作品中留出空间。

这是防止项目未来受到不良行为者影响的最好方式,如果我们在某一时刻变得邪恶,包括我们自己在内。通过允许开源分支和竞争对手的存在,我们正在向来自开源社区的健康竞争和责任敞开大门。

那么,我们如何实现这一切呢?我们通过换驾照来做到这一点。似是而非的分析现在已经将许可从麻省理工学院改为更新的许可方案,称为GNU Affero通用公共许可V3(AGPLv3)或任何更高版本。似是而非的版本可以在这里找到。

这一改变对订阅合理云或自助托管的任何人都没有影响,但它可能会让一些试图使用我们的软件直接与我们竞争而不做出贡献的公司感到不安。

AGPL是谷歌有问题的许可证,因为他们不准备透露他们的封闭源代码。Google反对AGPL,并声明:“在GNU Affero通用公共许可证(AGPL)下授权的代码不得在Google使用”。

AGPL许可证的目标是最大化用户自由,并鼓励公司为开源做出贡献。我们是一个面向用户的独立应用程序。我们不是图书馆,也不是更大项目的一部分。我们不是在寻找谷歌的捐款,所以我们很高兴获得了AGPL的许可。这是似是而非分析的正确许可证。

软件许可是管理软件的使用和再分发的软件生产者和软件用户之间的合法且具有约束力的合同。

您使用的每一款软件都有许可证。其中大部分是专有的,并且是封闭源代码的。这意味着它是一个黑匣子。没有人可以调查它来核实幕后发生的事情。

开源软件是完全透明的。源代码和构建开放源码软件的方式对公众是可用的和可访问的。任何人都可以查看、检查和检查代码,以了解它是如何工作的,并验证操作是否与文字匹配。这在关注隐私的网络分析市场中至关重要。

当个人数据受到质疑时,公司和专有软件并不总是值得信任。证明您的信任的唯一方法是允许公众和专家查看您的代码,并验证您实践了您所宣扬的东西。正是这种透明性和开放性意味着开源产品可以比专有产品更值得信赖。

下面我们来仔细看看这两种开源许可证,它们是如何比较的,以及我们为什么选择AGPL许可证。

放任许可:“你想怎么做就怎么做,只是别起诉我。”

麻省理工学院的执照是一种准许性执照。它非常短。这是我们开始时的执照。

没有。公司可以随心所欲地使用麻省理工学院许可的软件。他们可以拿走你的开源软件,并在此基础上构建封闭源代码和商业产品。他们没有法律理由回馈开源。

这样做的好处是,任何人都可以将您的软件用于任何目的,因此可以将您的软件开放给更多的公司使用。

一个著名的案例是苹果采用了BSD(许可许可),并在此基础上创建了OSX。他们无法在Linux上做到这一点,因为Linux没有获得类似麻省理工学院的许可。

如果你只关心代码的传播,麻省理工学院的许可是很好的,如果你想鼓励更多的公司回馈开源世界,那就不是那么好了。但这也是有执照的。

版权许可:“如果您制作了本许可证的衍生作品,并将其分发给他人,则您必须提供本许可证下的源代码。”

GNU通用公共许可证由Richard Stallman编写并于1989年出版。这是最受欢迎的许可证。一些最大的开源项目,如Linux和WordPress,都是GPL许可的。

GPL许可证有助于最大限度地减少公司利用开放源码软件并从中获利的可能性,而不会对项目和开放源码做出贡献。它基本上是说,当我们开源我们的代码时,您也应该这样做,每个人都可以从中受益。

GPL许可证的问题在于,它没有想象到云计算,也没有想到云计算将如何主宰软件世界。云公司下载开源软件,对其进行修改,在其服务器上运行,然后将其作为服务转售。

他们实际上并没有“分发”该软件,因为用户从来没有在他们的计算机上安装过该软件。这意味着云计算公司没有义务将他们的修改回馈给开源社区。

这与自由和开源软件的精神背道而驰。所以也有一个考虑云计算的许可证。

版权许可:“如果您制作了本许可证的衍生作品,并将其分发或作为服务器上的服务运行给他人,则您必须根据本许可证提供源代码。”

在本世纪初,Stallman和其他人试图堵住这个云计算漏洞,并通过创建新的许可证来保护开放源码免受这种滥用。GNU Affero通用公共许可证(AGPL)诞生了。

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

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

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

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

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

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

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

那么,公司如何才能在不开放修改代码的情况下将自由/开源软件项目商业化呢?他们可以购买商业许可证来取消版权限制,这样就可以支持原始项目。

“我们建议人们考虑将GNU AGPL用于任何通常在网络上运行的软件”。

“如果其他人可能会使您的程序的改进版本在服务器上运行,而不是将其版本分发给其他任何人,并且您担心这会使您发布的版本处于不利地位,我们建议您使用GNU Affero通用公共许可证(AGPL)。AGPL的条款与GPL的条款几乎相同,唯一的实质区别是,它有一个额外的条件,以确保通过网络使用软件的人能够获得它的源代码。“。

这似乎正是看似合理的Analytics用例的许可。谷歌对此表示反对。所以我们用AGPL取胜!