写点什么

从 Redis 开源协议变更看开源软件与云计算巨头之间的竞争博弈

AutoMQ

  • 2024-03-28
    北京
  • 本文字数:1998 字

    阅读完需:约 7 分钟

大小:975.21K时长:05:32
从 Redis 开源协议变更看开源软件与云计算巨头之间的竞争博弈

01 背景


在云计算的风潮下,开源软件的生态环境正在经历一场剧变。2024 年 3 月 20 日,这种变化在 Redis 身上得到了集中体现。Redis 商业公司 CEO Rowan Trollope 宣布,Redis 将从 BSD 3-Clause 许可证过渡到双重许可证模式,包括 RSALv2 和 SSPLv1。这一变化的影响将从 Redis v7.4 版本开始,贯穿到未来所有的 Redis 发布版本。

02 关于开源精神


对于这一变化,有些人可能会误解为 Redis 已经放弃了开源。然而,这并非事实。正如法律随着时代发展需要更新调整,开源协议也是一样的。法律追求的是公平公正;开源精神并不等同于许可证,它更多的是一种理念,一种追求自由、公平、共享的精神。随着云计算时代的到来,开源协议需要进行适应时代变化的调整,以保护开源的核心价值。Redis 的许可证变更,实际上是在保护开源精神,防止其被云厂商的垄断性优势所侵蚀。

03 公平竞争的呼唤


云厂商一方面不断在攫取开源的成果,一方面自己又制定了很多不公平的竞争条款来阻碍开源软件在云上提供服务。这导致了很多开源软件沦为云厂商的免费劳动力,大大打击了开源软件开发者的积极性。这些云上不公平规则包括 跨 AZ 的流量费,跨 VPC 通信的流量费等。例如 Confluent 的博客[1]中指出,AWS 云上 Kafka 的成本支出中近 60% 都是网络流量费,而 AWS 自己提供的 Kafka 托管服务 MSK 则无需支付这些额外费用。云厂商可以用规则武装自己获取竞争优势,开源软件自然也可以优化开源协议和云厂商提供的服务在一个更加公平的环境中展开竞争。



当前云厂商与开源软件之间的开源托管云服务的不公平竞争关系,在一定程度上可以类比为过去微软 Windows 操作系统上的 IE 浏览器与其他浏览器的关系。即使没有直接使用其他浏览器的代码,Windows 浏览器依然凭借其自定义的不公平规则和与操作系统的强绑定,垄断了 Windows 浏览器市场多年,打压了许多浏览器创新者,最后导致了劣币驱逐良币的局面。在这种不公平的竞争环境下,创新无法进步,最终受伤的是终端用户。


Redis 的许可证变更,更多是开源软件面对云厂商日益增强地攫取而不得已为之。没有人可以在这种情况下一直仍然坚持为爱发电。我想 Redis 首席执行官 Ofer Bengal 的话中我们已经可以感受到这种心态变化。

“社区已经意识到过去的开源概念必须做出改变。现代云计算公司凭借他们的垄断力量利用成功的开源项目赚得盆满钵满,但却不为这些项目做出任何贡献。旧的开源概念已经不合时宜了。”


如果开源软件的协议不再更新迭代,整个开源生态也将是不可持续的。在一个公平的市场环境下自由竞争才能催生出充满活力的生态和优秀的产品。

04 保持开源初心,拒绝带节奏


面对 Redis 的许可证变更,我们应当理解其背后的原因,而不是被一些利益相关者所带节奏直接抨击 Redis 不再“开源”。这些人可能因为无法继续利用开源软件来获取利益,而对此进行抨击。但我们需要明白,开源精神并不是崇尚剽窃、抄袭,而是鼓励共享、学习和创新。当现有的开源协议不能满足当前的云时代,面对云厂商开源托管服务的冲击,我们应该支持开源软件进行必要的反抗,以保护其自身的发展和整个开源生态的健康。

05 AutoMQ 与 BSL 开源协议


AutoMQ 是一款源代码开放的云原生 Kafka,采用 BSL 协议,可以从 Github(https://github.com/AutoMQ/automq) 上下载源码和贡献代码。BSL 协议[2] 是由 MariaDB 提出的一种新的开源许可证,它很好的平衡了开源软件发展与恶意商业竞争之间的关系。在 MariaDB 之后,HashiCorp(Terraform),CockroachDB 等知名项目也纷纷采用该协议。作为 Infra 创业领域的后起之秀,AutoMQ 吸取了很多基础软件创业先行者的经验,最终选择了 BSL 协议,主要是出于以下几点考虑:

  • 可持续发展:我们坚信 AutoMQ 的云原生技术架构即使在全球来说也具备领先性。但是正所谓“武功再高,也怕菜刀”。当前创新者与云厂商之间的竞争本身就处于一个非公平竞争的状态。BSL 协议本质是留给创新者足够的发展空间,避免小玩家在大玩家面前在不平等的游戏规则下,彻底失去竞争优势。

  • 坚持开源初心:作为一个工程师文化浓厚的创业团队,我们骨子里是乐于分享的。BSL 协议只是用于约束直接使用 AutoMQ 源代码商业化并且和 AutoMQ 展开竞争的大玩家。本质上我们还是希望通过使用一个更加顺应当前时代的开源协议来保证我们可以自由分享知识与技术。作为技术爱好者或者企业内部使用的用户来说,AutoMQ 的 BSL 协议同 Apache License 2.0 几乎等同。BSL 协议约束的代码将在 4 年后自动转变为 Apache License 2.0 。未来,AutoMQ 会持续坚持开源初心,将我们认为优秀的观点、技术分享出来,努力贯彻我们的使命——引领消息和流存储走向云原生时代


参考资料

[1] A Guide to Mastering Kafka's Infrastructure Costs https://www.confluent.io/blog/understanding-and-optimizing-your-kafka-costs-part-1-infrastructure/

[2] Wiki:Business Source Licensehttps://en.wikipedia.org/wiki/Business_Source_License

2024-03-28 14:546246

评论 6 条评论

发布
用户头像
希望官方能开发更好的软件
2024-04-07 16:36 · 湖南
回复
用户头像
希望官方能开发更好的软件
2024-04-07 16:35 · 湖南
回复
用户头像
大人的世界,说到底都是利益
2024-03-28 16:49 · 浙江
回复
用户头像
AutoMQ 是新一代云原生 Kafka,彻底解决 Kafka 原有的扩缩容困难、冷读影响吞吐等痛点问题,并且有数量级的成本降低。我们在 Github(https://github.com/AutoMQ/automq) 上已经开放源代码,欢迎大家关注和体验~
2024-03-28 16:11 · 浙江
回复
用户头像
“开源精神并不等同于许可证,它更多的是一种理念,一种追求自由、公平、共享的精神。随着云计算时代的到来,开源协议需要进行适应时代变化的调整,以保护开源的核心价值。” 写的很好!
2024-03-28 16:07 · 浙江
回复
用户头像
云厂商的流量费确实贵啊。国内云厂商如果能更加公平地对待自家云服务和第三方云服务,其实整个云的生态发展会更好。
2024-03-28 16:03 · 浙江
回复
没有更多了
发现更多内容

GoF 23种设计模式

无心水

设计模式 GoF 23种设计模式

软件设计原则作业

qihuajun

Shell的技巧小总结(MIT Missing Semester)

Henny

Shell MIT 计算机 Computer Science 计算机工具

官方源、镜像源汇总

JackTian

镜像源 官网源

1. 版本管理工具及 Ruby 工具链环境

Edmond

rubygems CocoaPods VersionControl PackageManager Git Submodule

利用工作日志提高效率

Janenesome

思考 工作方式

国内首个区块链电子档案平台上线

CECBC

区块链技术 防伪 溯源 电子档案

愚蠢写作术(4):怎么让写作从开始到放弃

史方远

读书笔记 个人成长 写作 随笔杂谈

仓储控制系统(WCS)软件可靠性设计

申扬科技

仓储控制系统 WCS 可靠性设计 容错性 易恢复性

硬核!30 张图解 HTTP 常见面试题

小林coding

https 计算机网络 计算机基础 HTTP

大话设计模式 | 2. 策略模式

Puran

C# 设计模式

你了解 SpringBoot java -jar 的启动原理吗?

猴哥一一 cium

面试 Spring Boot Fat-JAR JAR URL Java 25 周年

推荐几款有意思的小众 App(06.13)

静陌

产品 App

ARTS Week 3

时之虫

ARTS 打卡计划

程序员陪娃系列——叛逆小娃回归

孙苏勇

程序员 陪伴

架构师训练营总结-20200614

caibird1984

架构师训练营作业1-食堂就餐卡系统设计

索隆

Flink 源码分析之写给大忙人看的 Flink Window原理

shengjk1

flink flink源码 flink window

编程基础

南山

小师妹学JavaIO之:用Selector来发好人卡

程序那些事

io nio 「Java 25周年」 小师妹 selector

架构训练营作业-20200614

caibird1984

使用 Docker 镜像 | Docker 系列

AlwaysBeta

Docker 容器 虚拟私有云

架构师训练营第一讲-学习总结

索隆

ARTS Week4

丽子

软件设计原则学习总结

qihuajun

ARTS|Week 3 本周的主题可能是乱

Puran

ARTS 打卡计划

JVM学习笔记——JVM类加载机制

王海

Java 面试 JVM

ARTS打卡计划_第二周

叫不醒装睡的人

ARTS 打卡计划

为什么软件交付要快?因为要有赢的感觉!

刘华Kenneth

DevOps 敏捷 MVP 最小可用产品 持续交付

个人编程技能全景图

南山

【在云端 001】欢迎来到云原生

Bora.Don

云计算 云原生

从 Redis 开源协议变更看开源软件与云计算巨头之间的竞争博弈_开源_InfoQ精选文章