请回答 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 时不时惊天动地的分叉运动?

Subscribe to weiduan.eth
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.