自从我们最近更改了 Redis 模块的许可协议以来,关于这些更改的影响存在着大量混乱和误解。我们希望解答您的疑问并明确澄清:开源 Redis 的许可协议从未更改。它是 BSD,并将始终保持 BSD。
我们最近将 Redis 开发的 Redis 模块的许可协议从 AGPL 更改为 Apache v2.0,并附加了 Commons Clause。对于不熟悉 Redis 模块的人来说,这些模块是 Redis 核心的附加组件,例如RediSearch、RedisGraph、ReJSON、ReBloom和Redis-ML。
多年来,云提供商一直在利用开源社区,他们销售(价值数亿美元的)基于未由他们开发的开源代码(例如 Docker、Spark、Hadoop、Redis、Elasticsearch 等)的云服务。这阻碍了社区投资开发开源代码,因为任何潜在的好处都流向了云提供商,而不是代码开发者或其资助者。
我们决定从 AGPL 切换过来有两个主要原因:
这项新许可协议允许根据流行的、宽松的 Apache v2.0 条款充分使用我们的 Redis 模块,但限制销售这些模块本身。这意味着您可以在我们的模块之上构建内部、外部和商业产品并销售它们,但不能直接销售原始模块。我们认为这种许可方式支持对模块的开放和自由使用,同时仍然保留我们对其资产进行商业化的权利。
Commons Clause 是由多个开源基础设施公司组成的联盟创建的,其中一些公司使用不同的开源许可协议。为了保持标准框架,我们决定将限制(针对云提供商创建托管服务)附加到现有的开源许可协议上。
我们知道社区中的一些成员对这一变化有疑问,我们乐于进一步澄清许可细节,以消除您的疑虑。欢迎随时在 Twitter 上 @yiftachsh 联系我:@yiftachsh。