写点什么

从 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:546112

评论 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 · 浙江
回复
没有更多了
发现更多内容

带儿子去滑雪

Tiger

28天写作

【Promise 源码学习】第十八篇 - EventLoop 简介

Brave

源码 Promise 12月日更

Web/Css 预处理语言的 Less 的使用 03

Jeannette

Vue SSR(server side render)

Jeannette

架构实战营 毕业设计

Yina🌝很浪🌊

架构实战营-模块六作业

21°Char

Web/Css 预处理语言的 Less 的使用 02

Jeannette

Android C++系列:Linux网络(五)常见术语

轻口味

28天写作 12月日更

模块6作业

忘记喝水的猫

架构训练营

实用机器学习笔记十一:决策树

打工人!

AI 算法 学习笔记 机器学习算法 12月日更

基于建木CI部署maven项目

Jianmu

maven DevOps CI/CD

30个类手写Spring核心原理之依赖注入功能(3)

Tom弹架构

Java spring 源码

元宇宙100讲-0x002

hackstoic

元宇宙

Web/Css 预处理语言的 Less 的使用 04

Jeannette

【LeetCode】三数之和双指针Java题解

Albert

算法 LeetCode 12月日更

【架构实战营】模块六作业

liu🍊

架构实战营毕业总结

Yina🌝很浪🌊

极客时间架构师二期

拆分电商系统为微服务

奔奔

架构实战营 - 模块6 - 作业

lucian

架构实战营

聊聊数字化转型与DevOps

Jianmu

DevOps 数字化转型

架构实战营模块六作业

spark99

架构实战营

架构实战营毕业总结

Rabbit

敏捷概念123之----敏捷洋葱圈

Ian哥

敏捷软件开发 敏捷宣言

MySQL外键约束

JavaEdge

12月日更

❤️使用 HTML、CSS 和 JavaScript 的简单模拟时钟❤️

海拥(haiyong.site)

JavaScript 大前端 28天写作 签约计划第二季 12月日更

SSH客户端介绍及推荐

JiLuo.Studio

运维 SSH 服务器 客户端

架构实战训练营 - 模块 2- 作业

温安适

「架构实战营」

.NET6新东西---System.Text.Json Writeable DOM

喵叔

28天写作 12月日更

模块六作业 拆分电商系统为微服务

小朱

架构实战营

Trino通过Iceberg创建表的过程分析

漫长的白日梦

数据湖 iceberg trino

Web/Css预处理语言的Less的使用01

Jeannette

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