Redis Labs绕过开源来防止公共云
Redis Labs已将其数据库模块从开源解耦到新的商业许可方案,提供对源代码的访问。
它的决定是在收到Redis社区的反馈后,最近对其内存数据库产品用于其内存数据库产品的开源许可。
Redis Labs最初使软件许可更改Toprevent云提供商根据自由可用的Redis数据库代码生成托管服务。Redis源可用许可协议替换使用先前使用的通用子句许可修改的Apache 2.0。
Redis核心仍然在开源BSD 3许可方案下获得许可。Redis Labs表示,它已经建立了一个专门的团队,由Salvatore Sanfilippo,Redis创建者领导,以完全独立的方式管理Redis Core。
根据Redis Labs,开源redis核心包括运行分布式数据库系统所需的所有成分,包括复制,自动故障转移,数据持久性和群集。
虽然核心REDIS数据库和工具仍然被BSD 3开源许可所覆盖,但新的商业协议涵盖了Redisearch,RediSgraph,Redisjson,Redisbloom和Redisml等Redis模块的更高价值组件。
Redis Labs推出的Apache 2.0修改了常见条款许可后,该更改仅六个月。
使用Common Charame授权方案修改的Apache 2.0最初被引入以保护Redis Labs的数据库产品用于用于领先云提供商提供的公共云全管理服务。
现在Redis Labs介绍了一个完全新的许可方案,Redis源可用许可证,适用于基于Redis构建数据库引擎的任何组织。
在与计算机每周讨论变革的采访中,公司孟加拉公司的首席执行官表示:“我们是第一家拥有半开源许可证的公司。”
他说,核心产品仍然在BSD开源许可下许可,补充说:“通过BSD,任何人都可以拿起Redis。”
然而,孟加拉表示,主要云提供商正在使用Redis Labs的内存数据库产品来开发完全管理的服务,产生他预测的是“数亿美元的收入”。
但云提供商没有向开源Redis Labs项目提供任何贡献,孟加拉补充说:“他们[云提供商]比我们获得的收入更多。”
为了保护其收入流,孟加拉表示,该公司试图将Apache 2.0与常用子句介绍,以限制基于其开源数据库产品提供托管服务的云提供商。
但是,他承认,具有常见条款的Apache 2.0对Redis社区有挑战性。“它表示,您不允许出售其价值的产品或服务,其价值基本上从[Redis Labs]产品中得出。
“提供咨询服务的redis社区中的一些成员抱怨普通子句许可的Apache 2.0使他们努力销售他们的[咨询]服务。”
根据孟加拉,新许可证使源代码可用。“任何人都可以使用源代码,修改它并在其应用程序中使用它,”他说。
唯一的警告是,源自Redis Lab的代码的软件不能用于开发数据库引擎,缓存引擎,流处理引擎,搜索引擎,索引引擎,机器学习或深度学习或人工智能服务发动机,以及任何产品或服务曝光Redis应用程序编程接口(API)或Redis模块API。
“我们看着主流用例,我们觉得这些定义足够宽,以便覆盖大部分时间,”孟加拉说。“我们不介意使用Redis模块构建图形数据库,以便商业化的社交应用程序,但您不允许根据我们的Redis图模块开发图形数据库产品。”
从亚马逊Web服务(AWS)引入DocumentDB的新许可的引入,该数据库与另一个开源数据库,MongoDB兼容。
孟加拉说,当被问及云提供商提供API兼容的替代方案时,当云提供商提供了核武器的风险时,请说:“除非API是闭合来源,否则无法避免API兼容性。在我们的情况下,AWS或其他人会这样做的概率较少,因为它们有自己的图形数据库。
“我不确定有一个大风险AWS将采取Redis模块的内部API,并开发自己的AWS模块,”他补充道。
孟加拉认为,云提供商无法证明开发Redis兼容模块所需的时间和精力。“虽然采取[源代码]很容易,并在云中提供产品,但我想知道他们是否会投入开发完全新的API兼容模块,例如我们的搜索和图形数据库,”他说。
查看云提供商如何支持开放的源软件数据库提供商,如Redis,孟加拉承认,只需为开源项目贡献人力并不是可行的。
他认为,由于数据库产品如此复杂,因此在涉及开源数据库时,99%的代码贡献来自产品背后的公司。“你必须向这个项目投入自己,”他说。
即使公共云提供商已经开始提供数据库开发者专家团队来支持开源项目,Redis Labs还为时已晚。“开源REDIS于2009年开始,我们在10年,所以现在云提供商开始为该项目提供贡献时,现在已经太晚了,”孟加拉说。