备注:本文成文于 2022 年十月

理解开源,理解 Web3,理解世界。

我们本篇探讨「当今世界的开源生态」「中立 Linux、Apache 开源基金会的必要性」「成功开源社区如 Kubernetes」「公司 vs 开源社区 vs DAO」等诸多议题。

第一篇回顾:

  • 开源运动,自 Linus Torvalds 发明 Git 起,让 Linux 成为第一个意义上世界范围内成功的开源社区
  • 在新千年随后的时间里,以 RedHat、MongoDB 和 Terraform 等为代表的前后三代开源商业模式,成功将开源打造成为成熟的创新软件革新方式,在一级、二级市场上都备受青睐
  • 然而,当下的“成功”开源创业公司,依然面临挑战:
    少则数年,动辄十年以计的开源项目成熟周期,相较公司制的产品迭代速度来说,反而显得落地时间过长;开源社区的实际贡献者,没有像公司里的雇员一样获得实际的金钱激励,所以社区成员流动率很高、整体产出自然慢

当今世界的开源生态

从分工来说,开源的生态位逐渐清晰:开源商业公司(标杆如国内 PingCap、国外 Terraform 等)负责通过开源手段,完成创新软件的萌发和主导;为了平衡多方顾虑,中立的开源基金会 Linux、Apache 等诞生,接受项目捐赠,辅助进行迭代;最后项目毕业成为领域内事实标准,和云巨头合作进行 SaaS 化变现:

An image to describe post

中立的 Linux、Apache 开源基金会,有多重要?我们以 Linux 下辖的一个子基金会 CNCF(云原生计算基金会)为例进行说明,看一张部分的截图,自 CNCF Cloud Native Interactive Landscape:

An image to describe post

注意到,比如容器调度 Kubernetes、远程调用 gPRC、服务发现 etcd 等数不胜数的著名项目,IP 统统属于该基金会。可以说,如果没有 2015 年成立的 CNCF 基金会帮助推进这些开源技术成熟,云计算商业化大潮必然会晚很多年。

中立的 Linux、Apache 开源基金会,就像联合国 🇺🇳 UN 一样,以类似 NGO 的姿态去调和多方利益,让后入社区、想贡献类似开源理念的公司、个人和团队,不会有所顾忌,不再担心该社区的利益会被早起发起者所独占。

同时进行项目的托管,拥有所有的版权 IP,并提供进一步孵化、法务、峰会曝光、社区培养、开源导师 mentor 等一系列的生态支持。
经验丰富的老开源人,指导后续的新开源人,比如 Apache 经典的 mentor 项目

CNCF 基金会,同样具有完善、系统的治理结构,来支持开源项目。笔者在阿里云任职期间,负责捐赠过多个开源基建项目。这个过程就像,我司将一个子公司卖给另一家公司,需要完成至少数月、大量的法律文件交割。

类似于联合国 🇺🇳 UN 有常任理事国,CNCF 也有 TOC(最高决策委员会),我们可以看到这些代表都是来自于各大金主的指定:

An image to describe post

虽然基金会的这个中立也是有度的,毕竟经费来自于大科技公司们的捐赠,但是整体这个度,已经能给创新软件的孵化提供足够的土壤。中立的开源基金会,也成为了所有有关利益方的博弈均衡点。

最棒开源社区什么样

我们来看一个最受欢迎的开源项目之一:Kubernetes,云计算时代的基石项目。截止目前:该项目有 93k star,贡献者 3k 多人,7w 个 PR(代码提交请求)。想象下一个拥有 3 千员工的软件公司,肯定是一家巨大的独角兽啦。

开源代码自然是放在 GitHub 上的 Kubernets Org,包括:

  • 有多个 repo,主代码 repo、文档代码 docs repo、社区 community repo 等等
  • 官网 全部代码,同样开源,放在 docs repo
  • code of conduct,协作原则
  • 社区治理结构

开源社区在创造革新性新软件上,比公司制更为有效。不过,她也并没有抛弃公司制已经积累的成功经验,而是继承之。
比如最重要的就是开源社区的治理结构,一般会放在 community repo 的 governance.md 里进行说明:

An image to describe post

是不是觉得眼熟?

  • Steering Committee,借鉴公司的 C-Level manager group,各条线的 leader
  • Sub-project 就是公司各事业部方向,开源社区叫 SIGs(Special Interest Groups)
  • Working Group 就是跨子项目协作的工作组
  • 前述提到的 code of conduct,也类似于公司「员工手册」的开源社区成员版本。

不过与公司对比,最核心的区别是,开源社区的分工是角色分工,并不是权力分工。大家不是上下级关系。也就不会出现公司里常常出现的情况:下级通过占好队巴结上级,不用靠实力说话。如果一个开源社区在治理过程中,并没有最大化推动择优创意落地,那所有该社区的成员都会直接面临项目的失败风险。

一荣俱荣,一损俱损。没有工资、没有实际金钱利益分配的开源社区,实际上在某种意义上却出现了,所有成员有点像“公司股东”对公司那么负责一样的主人翁精神。
因为很显然,如果一个开发者 ta 不是对某个开源项目的理念,极其认可,ta 自然不会“自费”留下来,花大量时间精力推动项目往前走。

好最后,我们不妨把 DAO 也放进来,在 2022 年的今天尝试对比三者:公司 vs 开源社区 vs DAO

An image to describe post

经过几百年发展而成熟的公司制(其中 LLC 有限责任公司,应用最为广泛),却已垂垂老矣,无法继续大面积为人类提供创新;开源社区诞生几十年成功商业化后,像养家糊口的中年人,也没有法理基础;DAO 这样的新生儿,好奇又富有无限可能,但它经验尚缺,希望得到公司制和开源社区这些前辈的教导与指引。

Upsteam First 勿增实体

理解开源或许比较抽象,不过它作为人类社会逐渐全盘信息化的底色之一,能帮助你更好地理解、更好地投资。比如,开源项目的 Fork(分叉)是家常便饭,但同时又有「Upstream First」的基本原则,并不鼓励大家随意重复造轮子。

所以当又有新公链出现的时候,我们一定要警惕:这会不会是一个讲故事的、面向资本融资的游戏?毕竟,在 ETH 并没有巨大瑕疵的前提下,开源人更多会选择「勿增实体」

下一期,我们将继续分享《开源那些事》。为什么开源人吐槽“为爱发电”,即使没有金钱,仍然快乐又不知疲倦?开源到底有啥魔力?Upsteam First「上游优先」的等等开源原则,又是怎么回事?

谢谢,再会(上海腔)~