原标题:请回答 Web3: 不得不说的开源演化简史
公司制度,让人类协作超越了国籍,开源则进一步让人类协作超越了公司雇佣关系。
关于 Web3 这样的早期浪潮,每一个人都有无数疑问。而我发现,最值得拿出来的「开源」这件事,却鲜少引起热议。如果说 Web3 的诞生,源于加密货币;那加密货币的诞生,则源于开源这座圣杯。
理解开源对理解 Web3 有什么帮助呢?我自己实际上才刚刚入行 3 个月整,不过,和很多 Web3 OG 交流下来,ta 们都惊讶于我入圈时间如此之短、与认知又比较深入所造成的反差。
而回过头看,这还真不是我学得有多快,只是刚好我之前浸淫多年的开源社区,已经非常像 Web3 的核心领域之一:DAO。 开源社区,有点类似于公司与 DAO 之间的中间过渡形态,是在加密货币还没有诞生之前,基于法币的一种「打造出更高生产力/满足更新需求的软件」的折衷方案。
去理解开源文化及其精神,不像区块链、加密算法、拜占庭难题那么难懂那么高门槛;而开源这种价值观,又是我们这个信息新时代技术演变的重要底层支柱之一。我想通过这篇文章,与你共享这些认知,希望对你有所帮助。
那第一个叩问,开源到底是什么?你可以说开源是公益、开源是奉献利他,也可以说开源是一种全新的生产力组织方式、人类协作标准,甚至说开源是一种宗教、一种信仰。每种说法每个视角自有它的合理性,我主要着力于「打造出更高生产力/满足更新需求的软件」这个角度进行分析。
截止 2022 年,不论国内外 Web2 的开源行为,都已经孵化出成熟的商业模式。尤其随着云计算渡过了作为不成熟基础设施的早期,进入推动人类社会全盘数字化的快速发展期,这两年开源 Infra 可谓蓬勃发展,全球遍地开花。国内仅截止到去年年底,相关创业公司悉数涌现,融资金额令人咋舌(来源:2021 中国开源年度报告):
可以看到,从数据库、中间件到 AI、云原生领域,开源项目的融资金额加频率,都在不断刷新记录。早于国内一个发展身位的世界级开源公司们,要么上市要么被收购,资本退出的周期越来越短。其中一个显著代表,云 DevOps 平台 HashiCorp,2021 年 12 月 9 日在纳斯达克挂牌上市,IPO 市值约 153 亿美元:
显然当下主流的开源行为,已经变成一个合格赛道、资本游戏。看看下面这张图,你就会发现开源生态的繁荣,已经达到什么地步:
而整个诞生到上市的过程中,开源创业公司的投资人(GGV 是典型资本代表)注入了大量资本和时间,创始团队度过了很多难关和掉头发的会议,来自社区的开源贡献者则付出了无数 PR 和 “PR”,这背后是一行行代码、一页页文档和一声声的口口相传。
最后投资人赚得盆满钵满,潇洒离场;创始团队功成名就,买车买房;广大的开源贡献者,比划着穿不完的 T 恤、Hoodie 和贴纸,感受到一股投身开源的“参与感”,继续开心地敲打着下一个 Bug。所以吊诡的是,开源社区的绝大多数实际贡献者,一直在讲自己“为爱发电”这回事,ta 们并没有从参与开源中获取持续合理的经济回报。
接下来是第二个叩问:既然 Web2 的开源日臻成熟,我们用 Web3 模式改进它的必要性是什么?因为目前基于 Web 2 (法币)的开源协作方式,对「打造出更高生产力/满足更新需求的软件」的作用已经到头了,几年甚至数十年的产品成熟周期很难被继续缩短。要论证这个命题,我们必须简要回顾一下开源的发展史、以及开源商业三代模式都是如何演变过来的。
如果我们真要追溯起源的话,一直回到 20 世纪 50 年代都可以,一个你可能都没有听过的类开源项目阿帕网(ARPANET)。而第一波 Iconic 的开源人物是成立开源促进会 OSI、推动自由软件运动(free software)的理查德·斯托曼(简称 RMS)等人。关于各中种种也就不展开了,不过你也许听说过 RMS 开源的“神”之编辑器 Emacs。那使用体验之折磨,谁用谁知道。
当 70-80 年代的开源运动深入人心后,第二波 Iconic 促成开源真正广泛普及的人,必须提到 90 年代的 Linus Torvalds。对没错,就是那个经常竖中指脾气火爆的奇人。他一手促成服务器系统领域成为主宰的 Linux,可谓功不可没。也是从这个时候开始,商业软件在与开源软件的「打造出更高生产力/满足更新需求的软件」对垒中,开始逐渐落于下风。
于 1999 年出版成书,开源运动另一个弄潮儿埃里克·雷蒙(Eric S. Raymond)所写就的开源圣经《大教堂与集市》says it all:
本书中提到了很多方面,核心是把「商业软件-大教堂」和「开源软件-集市」的两种模式进行了深入对比。前者是封闭的、垂直的、集中式的;后者是并行的、点对点的、动态的多人协同。
它们各有优缺点,闭源商业大教堂模式,统一安排偏执行,集中协作效率高,却难以提出创新性的想法。开源开放集市模式,能集合全世界最聪明的大脑,容易创新,但分布式协作效率不高。
那又是什么帮助开源一举克服了缺点呢?还得看 Linus 释出的大杀器 Killer Feature:Git。本来程序的编写就基本是标准化产物,只和逻辑有关。协作效率不高的主要原因是,不同参与者之间的代码无法顺畅高效的沟通和合并。Git 的出现,一举药到病除,小企鹅 Linux 非常开心,开源也从此不再跛脚。后来基于 Git 的 GitHub 等平台的出现,更是把程序员之间的协作效率更近一步,加上 issue 和 PR review 等机制后如虎添翼。
开源起飞,也很自然开启了商业进程。我们来看一看,开源商业模式都经历了哪些风风雨雨。第一代开源的引领者,叫红帽 RedHat。如果说 Liuns 凭借个人魅力感召和硬核技术功底,让 Linux 成为第一个世界范围内的成功开源项目和社区。红帽则更进一步,把 Linux 变成了一门成功的生意:
为了打破商业且闭源的 Windows 系统的垄断地位,红帽另辟蹊径,采取了开源这样的新颖策略。红帽的开源是 License 授权模式,基于 Linux 的开源提供各种定制解决方案,以商业授权模式卖出从而产生营收,所以 ta 们并没有自己新创开源项目,去行「打造出更高生产力/满足更新需求的软件」之实。2018 年,红帽作价 340 亿美元被蓝色巨人 IBM 收入麾下,为这个开创者的领航时代划下句号。
第二代开源公司,有趣得多,开始出现真正信仰开源又深谙商业之道的正规军:数据库 MongoDB、数据搜索 Elasticsearch、数据集 Cloudera 等公司。这一代开源的命题和「打造出更高生产力/满足更新需求的软件」紧紧相扣。
2007 年 MongoDB 母公司前身 10gen 成立。数据库领域之前一直是关系型数据库的天下。但是随着大数据时代的到来,各类新式需求翻飞,传统关系型数据库显得愈加疲于应付。以 MongoDB 为代表的非关系型数据库填补了空缺,即「打造出满足更新需求的软件」,满足比如文档数据库、KV 键值对数据库和图数据库等等新需求。
不过第二代开源公司,也遭遇了时代恩怨:正在崛起中的各云计算厂商,尤其 AWS (亚马逊云计算)发起狙击,大肆“拿来”开源项目分叉,再组合卖钱,却不给开源项目进行贡献。说起来也是挺搞笑和讽刺,云计算浪潮之所以兴盛,正是得益于容器技术 Docker (硬件虚拟化)和容器编排技术 Kubernetes 的开源,让云计算厂商得以通过虚拟的弹性资源单位买卖云服务,而不是继续早期难以海量规模化的 IBM 式卖物理服务器的云服务模式。
从道义上看 AWS 的这类行径,令开源人非常不齿,其中 2015 年 Elasticsearch 的 CEO Shay Banon 公开抨击 AWS 称其为吸血鬼的事件堪称爆炸。MongoDB、Elasticsearch 纷纷修改开源代码授权,从 IP 产权上限制了 AWS 随意 copy 开源代码自用。
生意场没有永远的敌人,只有暂时的敌人和永远的朋友。第二代开源公司和云计算公司的冲突历历在目。那有没有一种方式,大家一起赚钱呢?第三代开源公司,发展出了云托管 SaaS 的方式。前文提到的 HashiCorp 就是其中的佼佼者,买来云计算厂商的 IaaS 资源自定义一个云平台,互相分成。又或者开源厂商,干脆把自家开源软件托管在云计算厂商上作为一种整合服务卖出,比如国内消息中间件 StreamNative 和腾讯云的合作。
综上所述,我们可以整理出来开源商业发展的脉络。第一代开源,我就卖卖开源,谁爱搞开源谁自己去搞。第二代开源,我爱开源社区爱搞开源项目,但有人白吃白拿不给钱;第三代开源,我爱开源社区爱搞开源项目,VC 风投是我上游,云计算厂商是我下游,大家一起赚钱,真香。
以上简史,只是开源历史的一小部分。如有错误,欢迎指正和讨论。 后续我将继续发文探讨:开源和 DAO 有哪些相似之处。一直高喊 Community 为王的 Web3,是不是就是从开源社区精神所演变来的?开源项目普遍存在的项目分叉「Fork」,是不是有助于我们理解 BTC、ETH 时不时惊天动地的分叉运动?