前文提到,Oracle 收购了 Sun 之后,既没有像 Monty 预测的那样修改 MySQL 开源 License,也没有减少 MySQL 的研发投入。恰恰相反,Oracle 在持有 MySQL 知识产权的十几年里大幅提升了 MySQL 的工程质量,并且增加了很多用户亟需的功能。Oracle 还是那个满世界发律师信的 Oracle,是什么导致了 Oracle 如此“善待” MySQL呢?从 Solaris 和 Java 的遭遇来看,Monty 对 Oracle 的意图判断是正确的,然而他没看到时代的发展趋势,以至于误判了 Oracle 将会采取的行动。
随着云计算的崛起,Oracle 公司层面更多考虑的是,怎么能从云计算里面获得更多的份额,而不是如何维持数据库领域的霸主地位,所以一个强大的 MySQL 对于 Oracle 来说没有坏处。从另外一个角度看,如果 Oracle 放弃了 MySQL,AWS、GCP 也有很强的意愿“接手”开源社区的研发投入,这对 Oracle 造成的伤害反而更大。权衡之下 Oracle 只能继续投资 MySQL。这对 Monty 并不是个好事,因为大量的用户会继续使用 Oracle 提供的软件,而不是更加开放的 MariaDB。顺带的,MariaDB 的代码成熟度无法通过大量的用户反馈迅速提高,从工程角度失去了硬刚 Oracle 的机会。在这样的情况下,MariaDB 是不是注定惨淡收场?如果不是,那策略又应该是什么样的呢?让我们看看 Monty 是怎么处理这些问题的:
-
开源项目方面,MariaDB 的流行度不如 MySQL,正在失去话语权
任何一款流行的数据库背后都有一个崛起的编程语言。相对于 PostgreSQL 的进程模型,MySQL 的线程模型更适合没有连接池的 PHP 程序,因此自然而然地承接了 LAMP 架构带来的泼天富贵,成为了诸多 Linux 发行版的默认数据库。MariaDB 背后并没有一个新的编程语言,但这不妨碍 Monty 四处宣传 Oracle 的“邪恶”,并成功说服了 Fedora、openSUSE、Red Hat Enterprise Linux、CentOS 将默认的数据库从 MySQL 改成了 MariaDB,截胡了部份流量。
-
商业变现方面,MariaDB 依靠私有化部署盈利,而客户在逐渐转向公有云服务
AWS 虽然推出了 RDS for MySQL 服务,但是没有提供带有负载均衡的读写分离能力。阿里云提供了这样的能力,但是做不到非常好的读写一致性。差异性永远是最重要合作基础。而 MariaDB 的 Proxy 刚好能够补全公有云厂商的产品能力。Monty 很敏锐地抓住了这个机会,跟 AWS 和阿里云分别签署了联合开发的合同,顺利从 RDS 收入里面分了一杯羹。
-
资本方面,MariaDB 并不是资本市场看好的类型,账面现金并不充裕
MariaDB 跟阿里云的合作引来了新投资人的关注。阿里背景的投资机构不仅仅为 MariaDB 注入了更多的资本,还为 MariaDB 的股东找到了合适的退出通道。2022 年底,通过与 Angel Pond Holdings Corporation 的合并操作,MariaDB 登陆纽交所实现了 IPO。不过上市之后,MariaDB 的估值一跌再跌就是另外回事了。毕竟,资本再多也改变不了业务属性。
最近不断有消息爆出,MariaDB 的高管不断离职,而核心研发团队也摇摇欲坠。看来 Monty 的努力并没有阻止 MariaDB 走向终局,不过这并不妨碍我们从中学习经验和教训,用来应对新的机遇和挑战。其中有一个被广泛借鉴的经验就是:“采用合理的 License”。MongoDB 一开始就采用了 AGPL,并在 2018 年将 AGPL 改成了 SSPL;Redis 的 License 一变再变,2018 年从 BSD 改成了 Apache 2.0 + Commons Clause,而最近又改成了SSPL 和 RSALv2;CockroachDB 在 2019 年改成了 BSL;Elasticsearch 在 2021 年改成了 SSPL + Elastic License。也许,纯粹的“开源精神”已经让位于夹杂商业诉求的“伪开源战略”。
另外,是否向基金会捐赠项目也值得深入思考。如果 Monty 在 Sun 收购 MySQL 之前就向基金会捐赠了 MySQL 项目,那么 Oracle 就无法获取到 MySQL 的知识产权,Monty 也能开开心心地做一个开源慈父。MySQL 的衍生项目 Vitess 的实践很有意思,核心代码被捐赠给了 CNCF 基金会,背后的商业公司 PlanetScale 则专注于 Serverless 方向。TiDB 的重要组成部分 TiKV 也被捐给了 CNCF 基金会,而 PingCAP 则关注 TiDB 和 TiDB Cloud 的商业化。不过这些公司的时间还不长,后继如何还有待观察。
Monty 和 MySQL 的故事讲得差不多了,“MySQL 开源到商业”系列也走向完结 🎉 感谢大家的关注和支持,咱们新栏目见~
End
KubeBlocks 已发布 v0.8.0!KubeBlocks v0.8.0 推出了 Component API,让数据库引擎的组装变得更加简单。Addon 机制也有了重大改进,数据库引擎的 helm chart 从 KubeBlocks repo 中拆分出去,从此数据库引擎或者版本的变动已与 KubeBlocks 发版解绑。v0.8.0 还支持多版本的数据库引擎定义。Pika、ClickHouse、OceanBase、MySQL、PostgreSQL、Redis 等均有功能更新,快来试试看!
小猿姐诚邀各位体验 KubeBlocks,也欢迎您成为产品的使用者和项目的贡献者。跟我们一起构建云原生数据基础设施吧!
💻 官网: www.kubeblocks.io
🌟 GitHub: https://github.com/apecloud/kubeblocks
🚀 Get started: https://kubeblocks.io/docs/preview/user_docs/try-out-on-playground/try-kubeblocks-on-your-laptop
关注小猿姐,一起学习更多云原生技术干货。