dot 快速的未来即将在您所在的城市举行活动。

加入我们参加 Redis 发布会

Redis 采用双重源代码可用许可

未来的 Redis 版本将继续提供源代码的免费和宽松使用,使用双重 RSALv2 和 SSPLv1 许可证;这些版本将结合以前仅在 Redis Stack 中可用的高级数据类型和处理引擎。

从今天开始,所有未来版本的 Redis 都将使用源代码可用许可证发布。从 Redis 7.4 开始,Redis 将在 Redis 源代码可用许可证 (RSALv2)服务器端公共许可证 (SSPLv1) 下获得双重许可。因此,Redis 将不再以三条款 Berkeley 软件发行版 (BSD) 的形式发布。

从一开始,Redis 就为支持现代互联网的应用程序和数据基础设施提供了性能和简单性的基础。如今,15 年过去了,我们很自豪地为全球数百万开发人员提供服务,通过支持世界每天依赖的实时应用程序。我们已经在 Redis Stack 发行版中对我们先进的 Redis 模块实现了双重许可,这受到了社区的热烈欢迎。事实上,超过 50% 的 redis.io 下载量(从 Redis 6 及更高版本开始)来自 Redis Stack。我们现在相信,将这种许可扩展到 Redis 本身将使我们能够继续为用户提供最全面的数据模型、处理引擎和开发人员功能集。

新的源代码可用许可证使我们能够可持续地提供源代码的宽松使用。我们正在引领 Redis 进入其下一个发展阶段,成为一个实时数据平台,拥有统一的客户端、工具和核心 Redis 产品。 Redis 源代码 将继续通过 Redis 社区版免费提供给开发人员、客户和合作伙伴。未来的 Redis 源代码可用版本将统一核心 Redis 和 Redis Stack,包括在一个免费、易于使用的软件包中作为可下载软件提供的搜索、JSON、向量、概率和时间序列数据模型。这将允许任何人轻松地在各种情况下使用 Redis,包括用作高性能键值和文档存储、强大的查询引擎以及为生成式 AI 应用程序提供动力的低延迟向量数据库。

Redis 的成功创造了一套独特的挑战。Redis 一直在与渴望做出贡献的充满活力的开发人员社区一起赞助大部分开发工作。然而,Redis 大部分商业销售通过最大的云服务提供商进行,这些提供商将 Redis 的投资及其开源社区商品化。尽管努力支持社区主导的治理模式,以及我们对 保留 BSD 许可证 的愿望,但同时提供多个软件发行版(跨开源、源代码可用和商业软件,针对不同的本地和云平台进行优化)与我们推动 Redis 成功进入未来的能力相矛盾。

根据新许可证,托管 Redis 产品的云服务提供商将不再被允许免费使用 Redis 的源代码。例如,云服务提供商只有在与 Redis(Redis 代码的维护者)达成许可协议后才能提供 Redis 7.4。这些协议将支持现有的集成解决方案,并提供对即将发布的 Redis 创新的完全访问权限。

“我们期待继续我们的协作工作,以使用最新的数据存储和管理创新来支持开发人员,”微软开发者部门总裁 Julia Liuson 说。“我们的合作继续支持 Azure Cache for Redis 等集成解决方案,并将为微软客户提供对 Redis 产品中扩展功能的独家访问权限。”

实际上,对于将继续在双重许可下享受宽松许可的 Redis 开发人员社区来说,没有任何变化。同时,Redis 负责的所有 Redis 客户端库将保持开源许可。Redis 将继续通过其 合作伙伴计划 为其庞大的合作伙伴生态系统(包括托管服务提供商和系统集成商)提供对 Redis 开发和交付的所有未来版本、更新和功能的独家访问权限。现有 Redis 企业客户没有任何变化。

我们新的许可方法在使 Redis 源代码广泛可用、在最大限度地减少限制的情况下支持开发人员社区以及保护我们继续投资于功能丰富的免费软件和企业产品的能力之间取得了最佳平衡。

正如我们一直以来所做的那样,我们的团队、我们的社区以及我们的客户和合作伙伴将继续引领创建、推进和部署 Redis,使其成为领先的实时数据平台。

有关更多信息,请阅读下面关于许可证更改的常见问题解答。

1. Redis 今天宣布了什么?

Redis 宣布从 BSD 3-Clause 许可证过渡到 Redis 核心软件的双重许可方法,从 Redis v7.4 开始,以及所有未来的 Redis 版本,使用 Redis 源代码可用许可证版本 2 (RSALv2) 或服务器端公共许可证版本 1 (SSPLv1) 。

RSALv2 是一种宽松的非复制许可证,允许“使用、复制、分发、提供和准备软件的衍生作品”的权利,并且只有两个主要限制。根据 RSALv2,您不得

-将软件商业化或将其作为托管服务提供给其他人;以及

-删除或隐藏任何许可证、版权或其他声明。

我们的双重许可方法并不新鲜;我们在 2022 年 11 月 15 日根据双重许可发布了 Redis 模块(包括 RedisJSON、Redis Stack 等)。现在,我们正在将所有免费提供的软件迁移到双重许可。我们相信 RSALv2 的宽松方法以及我们用来定义其限制的标准措辞解决了我们社区提出的许多挑战。

这种双重许可方法允许用户在宽松但鲜为人知的许可证 RSALv2 或更常用的复制许可证(例如 SSPLv1)之间进行选择。

需要明确的是,RSALv2 和 SSPL 都不是 OSI 批准的许可证,并且每个许可证都有其限制。简而言之,RSALv2 对软件商业化施加了一些限制。SSPLv1 要求如果您将产品作为服务提供,则必须以 SSPL 的形式公开发布所有修改以及管理层的源代码。

云时代对源代码可用许可证的必要性已多次讨论,我们很自豪地通过采用开发人员已经了解和使用的标准来为此做出贡献。我们认为双重许可为 Redis 开发人员提供了关于如何利用我们最新技术的清晰度和灵活性。

与 Redis 相关的其他宽松许可技术,例如各种特定语言的客户端库、Terraform 和 Pulumi 提供商等等,不受此更改的影响。

此外,从 Redis 8 开始,我们计划在我们的产品中默认包含以前在 RSALv2 或 SSPLv1 下获得许可的新数据类型和处理引擎,作为 Redis Stack 的一部分。

因此,我们也宣布在 Redis 8 可用后,由于此更改,Redis Stack 将停止使用。由于这些功能将从 Redis 8 开始成为 Redis 本身的一部分,因此不再需要提供这些功能的单独构建。

2. 为什么 Redis Inc. 正在进行此更改?

我们希望所有开发人员都能使用我们提供的最佳技术。但是,我们不得不做所有这些模块体操来推进原本应该在 Redis 核心本身的东西。我们没有忠实于最初的宣言——我们反对复杂性。因此,此更改以一种我们可以简化包装和发布更多数据类型以及其他内容的方式对齐了许可,使其变得简单且一致。

我们坚信公开共享源代码以及让从业人员解决问题、建立社区并创造透明度的价值。Redis 免费为社区提供功能丰富的产品,而这种开发是通过与我们合作的商业客户来实现的。通过转向这种许可,Redis 可以更好地管理源代码的商业用途,并继续投资于我们欣欣向荣的从业人员社区,其中一些人也是贡献者,而且这种方式不会阻碍他们的工作。

3. 此更改对 Redis 开源产品的最终用户有何影响?

对于使用 Redis 开源版本的 Redis 以及使用双重许可中的任何一个许可证的新版本的最终用户来说,对于其内部或个人使用,没有变化。

4. 此更改对利用 Redis 的第三方库有何影响?

对于构建了 Redis 的客户端库或其他集成的集成合作伙伴来说,没有变化。

5. 此更改对 Redis 的商业客户有何影响?

对于 Redis 的商业客户来说,没有变化。这些客户根据单独协商的许可条款获得我们的技术。

6. 此更改影响了哪些人?

提供与 Redis 竞争的产品的组织将不再被允许在双重许可证下免费使用 Redis 源代码的新版本。商业许可条款可用,并可支持 RSALv2 或 SSPLv1 许可限制以外的用例。如果您正在构建一个利用 Redis 的解决方案,但并没有与 Redis 本身直接竞争,则不会受到影响。如果您有任何具体问题或疑问需要讨论,请发送邮件至 redis_licensing@redis.com

7. Redis RSALv2 或 SSPLv1 许可证中定义的“竞争性产品”是什么?

“竞争性产品”是指通过付费支持安排等方式出售给第三方,并源自 Redis 代码库,其功能与 Redis 商业产品存在很大程度重叠的产品。例如,此定义将包括将 Redis 作为出售给我们的 Redis 商业版本的竞争性解决方案(无论是 Redis 企业版软件还是 Redis 云)的一部分进行托管或嵌入。定制许可条款也可提供更多清晰度,并支持 RSALv2 或 SSPLv1 限制以外的用例。如果您需要进一步澄清特定用例,您可以发送邮件至 redis_licensing@redis.com

8. 在下一次发布中,哪些产品将受 RSALv2 或 SSPLv1 许可证的约束?

此更改有效地将我们所有源代码可用模块的许可证与 Redis 的核心内容保持一致。

9. SSPLv1 许可证是什么?

The SSPL 基于 GNU Affero 通用公共许可证 (AGPL),其修改后的第 13 节规定,将 SSPL 许可的软件作为“服务”的一部分提供给第三方(无论是否修改)的人员必须发布该服务的全部源代码,包括但不限于所有“管理软件、用户界面、应用程序编程接口、自动化软件、监控软件、备份软件、存储软件和托管软件,所有这些软件都使用户可以使用您提供的服务源代码运行服务的实例”,在 SSPL 下。MongoDB 是此许可证的发布者。您可以在 此处找到他们关于此许可证的原始常见问题解答。

10. 如果我对根据 SSPL 许可的软件的源代码进行修改,我可以根据其他许可证重新分发我的修改版本吗?

不可以。您的修改版本包含原始软件和您的修改,这两者合起来构成了原始软件的衍生作品。SSPL 许可证并未授予您根据其他许可证重新分发的权利。

但是,如果您选择使用 RSALv2 许可证(在双重许可证下),您可以修改和重新分发代码,前提是您不以服务的形式向第三方提供软件或修改版本的功能,或以使第三方能够使用软件功能的方式分发软件或修改版本。

11. 我可以继续使用根据原始 3 条款 BSD 许可证提供的产品的版本吗?

可以。许可证变更不具有追溯力。这意味着更改之前的所有源代码和版本仍处于 3 条款 BSD 许可证下。您可以在原始许可证下无限期地继续使用这些版本,只要您遵守其条款和条件。Redis 计划根据我们当前的 安全策略,继续为这些版本提供安全更新并解决其他关键缺陷,直到 Redis 社区版可用。

12. Redis 会将安全补丁移植回根据 3 条款 BSD 许可证的先前版本吗?

Redis 将继续根据当前的 安全策略,将关键安全补丁(如有)移植回根据 3 条款许可证的现有版本,直到 Redis 社区版 9.0 发布。此日期后的任何补丁将根据新的双重许可证提供。

13. Redis 是否仍然相信开源?

首先,我们公开承认,此更改意味着 Redis 不再是根据 OSI 定义的开源软件。

其次,我们提供的技术比我们货币化的技术更多。每天都有人以令人惊叹和极具创新性的方式使用 Redis 的免费版本,我们对此表示赞赏。我们将继续投资,以确保 Redis 成为未来几年内一个引人注目且具有竞争力的平台。

第三,改变许可证条款以保护自己的品牌和知识产权已成为许多开源项目发展演变的自然组成部分,以便支持这些技术的商业实体能够作为企业生存和发展。

最后,Redis 仍然是开源理念的支持者,并维护着大量开源项目,包括许多与 Redis 一起使用的特定语言客户端库(参见 https://github.com/redis)、Redis 输入输出工具(参见 https://github.com/redis-developer)等集成工具。对于那些希望贡献的人,我们仍然愿意接受未来的贡献,就像过去五年中我们对源代码可用模块所做的那样。

14. Redis 如何称呼以前称为开源(或 OSS)的免费可用产品的版本?

我们已将产品的版本称为开源(OSS)、企业版或云版。Redis v7.2 和更早版本将继续称为 Redis OSS。从 Redis v7.4 开始,我们将把开放的、免费可用的版本称为 Redis 社区版。RSALv2 和 SSPL v1 许可证都提供了对 Redis 社区版底层源代码的开放和免费访问。但是,它不符合 OSI 定义的开源定义,这就是为什么我们将这些产品称为“社区版”而不是我们之前所称的“开源版”。我们的网站上有很多关于开源的引用,我们将在未来几周内积极努力澄清这些语言变化。

15. 如何与 Redis 合作提供托管服务?

集成和托管服务提供商合作伙伴可以通过与 Redis 建立合作伙伴关系,继续构建、运营和交付利用 Redis 社区版和企业版的非竞争性解决方案。社区和企业级合作伙伴将继续从激励措施、技术培训、认证和销售培训中受益。最重要的是,合作伙伴将获得对即将发布的 Redis 技术、功能和版本的独家访问权,这些技术、功能和版本将受到双重许可证的保护。要成为 Redis 合作伙伴或详细了解我们的合作伙伴权益,请访问我们的 合作伙伴计划网站。对于任何对许可证更改有疑问的现有合作伙伴,请发送邮件至 redis_licensing@redis.com

16. 我正在构建(或已构建)一个嵌入 Redis 的产品,我很担心您可能会将其视为竞争性产品。如何才能弄清楚我的产品是否会违反 RSALv2 或 SSPLv1 许可证?

请与我们联系。我们很乐意与您交谈。开始对话的最佳方式是发送邮件至 redis_licensing@redis.com。我们可以及时对您的问题提供反馈,并讨论建设性解决方案,包括潜在的豁免和/或合作伙伴安排。

17. 我是使用 Redis 以非竞争性方式的开源项目的作者。如果其他人使用我的项目来生产竞争性产品或托管服务(例如,在其 SaaS 解决方案中开始使用我的项目),我是否有可能被视为竞争对手并违反双重许可证?我是否需要跟踪所有使用我项目的使用者并报告疑似侵权行为?

只有那些以竞争方式嵌入或托管 Redis 产品的人才违反了许可证。此违反行为不扩展到没有这样做且不需要他人代表其这样做的项目所有者。项目所有者没有义务监控或报告他人如何使用其项目。

18. 我可以继续为 Redis 产品提供专业服务吗?

可以。我们拥有庞大的系统集成合作伙伴生态系统,他们提供咨询和专业服务,帮助用户为其内部使用部署、管理和运营我们的产品。我们许可证的更改并非旨在阻止合作伙伴提供这些服务,我们将继续鼓励和支持这些类型的系统集成合作伙伴。相反,RSALv2 只是阻止以与我们竞争的方式嵌入或托管我们的社区产品。

19. 我可以将根据 RSALv2 或 SSPLv1 提供的代码与根据其他许可证(例如 Apache、MPL 等)提供的代码混合到我的项目中吗?

可以,前提是每个组件都保留自己的许可证,并且您不会将 RSALv2 或 SSPLv1 代码与 GPL 等强版权许可证代码混合使用。对于某些宽松许可证(如 Apache),您也可以根据 RSALv2 或 SSPLv1 提供整个程序,但应包含有关 Apache 部分的通知(这是可能的,因为 Apache 与其他一些开源许可证不同,它授予重新许可的权利)。请记住,如果您将不同许可证下的代码混合在一起,您可能无法以符合所有许可证的方式重新分发该代码。

20. 我可以将 Redis 作为服务托管在我的组织内部吗?

可以。RSALv2 或 SSPLv1 的条款允许进行所有非生产和生产用途,但向嵌入或托管我们软件的第三方提供竞争性产品除外。允许您为组织的内部使用托管产品。组织包括其关联公司和子公司。这意味着一个部门可以托管 Redis 供另一个内部部门使用。

21. 如果 Redis 在未来发布了使我的项目具有竞争力的新产品或功能,该怎么办?

如果 Redis 在未来创建了一个与您已经在生产中提供的产品竞争的产品,只要您使用的版本是在 Redis 发布其新产品之前发布的,您对已托管或嵌入的 Redis 产品的持续使用将不被视为违反 RSALv2 或 SSPLv1。

22. 对在我的产品名称中使用“Redis”是否有更新的要求?

是的,关于在产品名称中使用“Redis”有更新的要求。您不再可以在产品名称中使用“Redis”或“for Redis”,但您可以在产品描述中使用“Redis”或指定您的产品与 Redis 兼容或基于遗留 Redis。有关使用 Redis 名称和徽标的更多信息,请参见我们的 商标政策

23. 我在哪里可以了解有关此公告的更多信息或提出进一步问题?

阅读 博客文章或联系我们,发送邮件至 redis_licensing@redis.com

24. Redis 会在新的许可证下接受社区贡献吗?

Redis 始终坚持开源理念,并维护着大量开源项目。对于希望贡献代码的用户,我们依然欢迎未来的贡献,就像过去五年我们接受了源代码可用的模块一样。未来,为了考虑贡献,贡献者需要接受贡献者许可协议 (CLA)。