一、开源狂欢
开源正处于一场狂欢之中。
今年五月末,甲子光年发表了一篇题为《基础软件+开源,为什么是现在?》的文章,从宏观的资本角度出发,俯瞰了全球开源软件现状与机会。
文章很长,我长话短说,理解两个要点是:
1. 基础软件是信息文明的底座,在经过信息化、云化、智能化等一系列变革之后,开源基础软件迎来了一个蓬勃发展的需求窗口,而且在当今开源原厂和IaaS大厂对峙的大格局之下,开源原厂“被收购”的可能性很高,这也让资本看到了一种实际的退出机会;
2. AI投资热已经过去,投资人对AI效果的失望导致他们转移了视线,转向了更加通用的基础软件领域。
同样的话题,2017年一个叫何晓阳的人也写过。
他追踪了估值超10亿美金的11家开源软件公司,发现其中有两个特点:
1. 快,从成立到10亿美金平均只需要四五年,速度是前浪SAAS公司们的一倍;
2. 特定市场,全都是基础软件(Elastic、Github、Docker、Confluent、Unity、Mesosphere、Mulesoft、MongoDB、Couchbase、Databricks、Cloudera)。
不过和甲子光年不同,何晓阳是从微观入手分析的。他从产品开发与营销的层面解释了这种现象,如公司容易启动、试错成本低、获客成本低等,但最终也得出了开源是基础软件的最佳形态这一结论。
再往前,一个叫Mike Olson的美国人也做过类似表达。
Mike Olson是Oracle的前高管,也是Hadoop开源公司Cloudera的首任CEO。结合自己多年开源商业化的经验,他在2013年这样总结道:“如果你在运营一个数据中心,那你几乎不可避免的要用到开源软件——操作系统、数据库、中间件或其他组件。最近十年,没有一款具有统治地位的平台软件是以闭源、商业专用的形式出现的”,“你不可能再通过闭源的形式获得成功”,“平台软件必须开源”。
文章的标题是“The Cloudera Model”,非常值得一看。
可见这并不是一个新发现。
实际上2016年投资机构Accel专门针对这个现象做过研究,他们发现在企业IT领域,开源软件正在替换传统IT商的商业软件。
他们认为继XaaS之后,开源将会是下一个浪潮。
后来的发展也印证了这一结论。17年MongoDB上市,18年Elastic上市,19年Confluent和Databricks也纷纷拿到数亿美金的巨额融资,以几十亿美金的高估值,站在IPO门口。
根据谷歌的分析,到2029年的时候,41%的企业系统会以开源软件为主。
所以开源确实是处于一场狂欢之中。
二、蒲公英商人
但开源并非没有苦恼。
从软件的层面看开源正在席卷全球,但软件背后的商业公司,情况却不一定十分乐观——按照Mike Olson在2013年的说法,开源商业公司最后不是消失了就是被收购了,比如IIIustra、Informix、Sleepycat、Mysql、SpringSource、JBoss……实际上,成功的只有一家,就是红帽。
我觉得从某种意义上来说,做开源软件和种蒲公英是相似的。你从一个不起眼的地方开始,埋下种子,浇水施肥,看着它慢慢长大,一棵两棵一片两片,直到有天风来了,它随风而起,名满天下,然后散落在世界的各个角落,生根发芽。
于是,你可能会感受到一种瞬间的伟大,就像鲁迅说的,“无穷的远方,无数的人们,都和我有关。“
但瞬间终究只是瞬间,伟大过后要问的,是你该怎么赚钱。
蒲公英的种子是不值钱的,被风吹到哪里就长到哪里。但好在他的鲜叶可以吃,干叶能入药,对于不想自己种的人来说,这两个都可以卖。
开源软件的代码就像蒲公英的种子——clone、build,然后大家就都拥有了开源软件。
不过你可以像帮别人种蒲公英那样卖技术支持,像给蒲公英搭配鲜花那样卖开源代码上的闭源组件,像打包鲜叶或干叶那样卖托管的云服务,像卖蒲公英茶那样卖开源软件上的场景解决方案,甚至还可以像卖蒲公英文化那样卖一种开源精神。
但无论如何,开源软件总是开源的,就像蒲公英总是野草。
Mike Olson写完“The Cloudera Model”的三年后,一个博士生在下面留言问道:“如果你希望通过某些闭源组件把自己和其他竞争者区分开,那为什么还要把核心平台开源?这样你不仅在和其他人竞争,也在和自己竞争,因为在你创造的市场里,对手也能从你在核心平台上的努力中获益。我不明白。”
开源加快了软件的传播速度,但也带来了竞争,来自其他供应商的竞争,甚至来自客户自己技术团队的竞争。
开源是开源软件的通行证,但也可能是开源公司的墓志铭。
尤其在云计算面前。
谷歌测算,到了2029年77%的企业IT会以云为主,而另外一家投资机构给的数字更夸张,他们认为2032年94%的软件都是云的。不管数字的真假,哪怕从我们的感觉来看,云在吞噬一切也是个不争的事实。
这当然也包括开源软件。
MongoDB的CEO这样描述道:“每当一个新的开源项目变得非常流行时,云提供商就会剥夺我们的技术,将免费软件放在他们的平台上,然后从中获取大部分(如果不是全部)价值,但几乎不回馈开源社区”。因为只要用户上了云,那他几乎只能选择云厂商提供的开源服务,而上云恰恰是过去十年企业IT的主旋律。
这让开源原厂十分愤怒,Redis CEO 直言:“多年来,我们就像个傻子一样,他们拿着我们开发的东西大赚了一笔”。
于是大家纷纷开始采取行动,一方面修改开源协议,禁止云厂商提供托管服务(只针对部分组件有效),另一方面也在积极发展自己的独立云服务,比如Confluent的Confluent Cloud、Elastic的Elastic Cloud和MongoDB的MongoDB Cloud。他们怒斥公共云厂商为吸血鬼,准备以反垄断名义提起诉讼。
一时间开源和云剑拔弩张,而这也就是甲子光年说的开源原厂与IaaS大厂对峙的大格局。
三、与云共生,三分天下
不过不是所有云厂商对开源的态度都相同。
比如谷歌,他认为云只是一个更大的变革的一部分,真正的变革是新的工具和系统正在改变企业文化,企业会变的越来越开放。
他甚至专门写了一篇叫“Why we believe in an open cloud”的文章,深入阐述了自己看法:
开放赋予客户灵活选择并随时迁移的能力,不管是自建机房、私有云还是任意公有云。
源软件可以带来更多想法,也能构建持续的客户反馈循环。
开放API可以帮助大家在别人的基础上构建自己的工作。
他是这么说的,也是这么做的。
2019年,在开源吸血鬼事件发生后不久,谷歌云便浓墨重彩的宣布引入Redis、MongoDB、Confluent、Elastic、Influx Data、DataStax、Neo4j等7家开源软件供应商,在谷歌云上售卖他们的商业服务。
大部分云厂商都有一个MarketPlace可以售卖其他公司开发的软件,所以单纯谈售卖并不关键。谷歌云的特别之处在于,他这次引入的每个开源厂商都会有一个内部的团队来对其负责。比如引入Confluent(kafka)的就是谷歌自己的Pub/Sub产品团队,Pub/Sub和kafka在功能和场景上类似,只不过一个自研,一个开源。按照谷歌产品经理的说法,在同一个云平台上提供这两个产品,旨在“满足用户的不同选择倾向”。
在这种思路下,云和开源原厂的合作变得实际起来,云可以通过售卖不同开源厂商的产品来补充自己的产品矩阵,而开源厂商也可以对接不同的云以保持独立性,两者共生共荣。
这样的合作对双方来说意味着什么?
我们不妨换一个视角。
云计算高歌猛进了这么多年,渗透率依然只有30%上下,换句话说,传统厂商仍然把守着IT世界的大部分领地。所以对云计算来说,比起快速收割开源红利来,和开源厂商合作一齐攻占旧世界,未必不是一个回报更大的选择。
云在崛起,开源在崛起,衰落的只有传统IT。
滚滚横流水,茫茫末世人。
不过传统IT可能比我们想象的更有生命力。
比如数据库领域。投资机构Willian Blair 2019年给出的分析报告(Database Software Market:The Long-Awaited Shake-up)显示,传统关系数据库依旧占据着整个数据库市场规模的80%以上。而具体到这80%内部,排名前五的Oracle(42%)、微软(24%)、IBM(13%)、SAP(7%)、TeraData(3%),都是传统IT商,共占掉了近90%的比例。
也就是说NoSQL热闹了这么多年,也只从旧世界里分了一小杯羹。
这可能多少与大家的感觉不符,但更令人惊讶的还在后边。
在我们的印象里,大型机应该早就不存在了,毕竟这是好几波革命浪潮之前的产物了。然而数据显示他依然有不小的生命力——2017年大型机的市场规模约为20亿美金,到2025年预计会增长到30亿美金。是的,没看错,大型机的市场还在增长。因为在金融等很多核心领域,它确实是最好的选择。
所以云和开源的崛起最终总会有个界限,这个界限就是核心系统。对于某些核心系统来说,比如银行的存款和交易,上云和开源软件都不是最好的选择。所谓轰轰烈烈的去IOE,基本也只发生在要求不那么严格的周边系统和爱造轮子的互联网公司。
那云和开源的界限又在哪里呢?
我想在混合云。随着云的湿透率越来越高,尤其对于业务稳定的传统企业客户来说,他们不像互联网企业对弹性有那么高的要求,而是更关注安全与可控性,所以他们在上云的同时往往在寻找Plan B,防止被某个厂商绑定,甚至防止被云绑定。
于是一些独立的混合云平台便有了市场,比如红帽的Openshift、Cloudera 的CDP、Confluent的Confluent Cloud,他们对接不同的云厂商,对接云和本地机房,最终给企业提供一个独立的混合云架构。当然严格意义上来说,上面三个混合云处于不同的层次,后两者算基础软件的SaaS,而Openshift则是一种PaaS平台,核心是K8S。
在混合云的背景下,K8S变的十分重要。
虽然从技术上来说K8S只是一种容器编排系统,但其真正的作用是能够屏蔽不同硬件之间的区别,让应用软件可以在各种各样的IaaS上平滑迁移或扩展,进而达到所谓的混合云、多云架构。这点就像安卓,安卓屏蔽了手机硬件的差异,大大简化了应用厂商的开发成本,最终才促成了移动互联网的蓬勃发展。
我想这应该也是IBM收购红帽(Openshift)、SUSE收购Rancher背后重要原因。
所以抛开云和开源的在后续漫长过程中的合纵连横,我大胆预测两者可能会以K8S为界划江而治,分别站在核心系统的两边,与传统IT厂商三分天下。
IaaS归云、PaaS经K8S归开源、核心系统还归传统IT。