自我们最近更改 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.