坐拥多个TOP级开源项目,不搞“竞争性开源”,蚂蚁在玩一种很新的开源
近几年,国内大厂纷纷成立了开源委员会、开源办公室等组织,以期规范开源流程,并对内进行开源治理相关工作。在对开源商业化诉求强烈的大厂中,这类组织很容易在商业模式中找到自己的定位:开源社区往往承担着生产力、需求池、推广渠道等角色,这也因此更容易持续运营下去。
那么,对商业化诉求不那么明显的大厂会基于哪些原因设立这类组织?如何保证这类组织可以持续运营下去?如何让商业公司开源的项目保持良性的发展状态?AI 底层技术的逐渐成熟对整个开源社区的协作方式、格局等带来了哪些影响?
InfoQ 有幸采访到了蚂蚁集团开源技术委员会主席何征宇,以期寻求上述问题的答案。蚂蚁集团是非常典型的并不以开源项目商业化为主要营收的企业,但是其依旧在过去十几年发展出了近百个社区头部开源项目及近 1600 个开源仓库,蚂蚁集团应该是上述问题的最佳答题者之一。
过去两年,社区里经常出现类似 “这是开源最好的时代” 的感叹。2021 年,开源第一次被写入国家《“十四五”软件和信息技术服务业发展规划》;从资本角度看,2021 年开源领域的融资事件较前一年增加了 4 倍以上,2022 年上半年融资事件数量占到三年融资数量的 36%,确实也称得上一个“好”字。
而基础软件领域大量开源项目的出现,确实加快了企业的转型进度,尤其是数据库、中间件、操作系统这些领域,国内企业和开发者有了更高的话语权和选择权,这是开源带来的好处,开源让基础软件生态更加繁荣,让开发者从“没得选”到“还可以挑挑”,让基础软件的最高评价权回归社区。
“任何行业没有泡沫是很难发展的,但是泡沫戳破之后,行业肯定会受到一些冲击,开源领域也是如此,如今国内的火爆不过是一个插曲,不会持久,希望大家可以看到行业发展的周期性。”-- 何征宇
泡沫之下,我们发现“竞争性开源”的现象越来越严重,个别领域的开源项目虽然数量多,但同质化现象也很严重,很多基础软件项目跟随、分叉为主,比如数据库领域很多项目源于 MySQL 和 PostgreSQL,在新兴技术领域则缺少引领能力。
纵观蚂蚁集团的开源版图,我们不难发现,其一直在尽力避免“竞争性开源”这件事情。
“首先,蚂蚁集团开源不是为了竞争,而且我也非常反对‘竞争性开源’,蚂蚁内部并没有相关 KPI;其次,开源的精神应该是开放共享,项目贡献值较高者,话语权也更高,不用在意项目所属,只要不违背相关许可即可。蚂蚁集团希望通过自身的努力对当前国内鱼龙混杂的开源生态做出一些改变”。采访中,何征宇如是说道。
那么,蚂蚁集团具体在开源层面做了哪些事情来避免“竞争性开源”呢?
1. 完善组织架构。蚂蚁集团内设开源委员会,下设开源办公室。在部分企业内部,这类组织多为虚拟的且由内部员工兼任,蚂蚁集团的开源办公室则是实体化的且由全职员工运营,最大程度保证所有开源项目均可及时按照流程进行项目审查,然后再面向社区开放。
2. 严格的项目审查和分级机制。蚂蚁集团对待每一个开源项目都非常谨慎,开源技术评估小组有专门的打分表,从技术先进性、安全性、潜在风险、开源价值(社会价值和商业价值)、成本、是否遵守开源许可等诸多维度进行评估。同时,蚂蚁集团自研了静态扫描、代码分析等一系列工具帮助提高审查效率。项目开源之后,团队还会每月召开一次会议,针对项目过去一个月的情况进行复盘,保证其发展符合预期。
由于一些历史原因,国内开发者对于大厂的开源项目最为担心的问题之一便是:项目本身是内部 KPI 开源出来的,一旦组织架构或者战略有变,导致该项目在内部被砍掉,整个项目就会突然停止运营。
为了避免此类情况发生,蚂蚁集团内部 针对开源项目做了 S、A、B、C 四类分级,S 级项目背后是公司级的资源支持,只要蚂蚁集团还在,S 级项目就会获得支持。以此类推,C 级项目基本由个人开发者支持,整体采用分级的方式治理。
3. 用战略眼光做开源,不用战术性的结果来评判好坏。 很多企业在开源层面经常顾虑的问题是“开源之后是不是降低了自身的竞争力?”。以谷歌为例,当前云原生领域的事实性操作系统 K8s 起初由谷歌开源,虽然 K8s 在日后发展的如日中天,但是谷歌的云业务并没有成为全球第一。因此,经常有业内人士称谷歌“为他人做了嫁衣”,尤其是在谷歌犹豫 Knative、Istio 的开源方式期间,类似的言论更为常见。
(相关报道链接:https://www.infoq.cn/article/Se6QqLkbVyZk1v8KOcB5、https://www.infoq.cn/article/1bm54C5umd9jjhhLIA5k)
2018 年之前,何征宇就职于谷歌,见证了诸如 K8s、TensorFlow 那一批优秀项目的诞生。采访中,何征宇表示,谷歌内部讨论一个项目是否开源会花费至少半年的时间,这些讨论并不是局限在一个项目开源之后到底能给现有业务带来多大价值,而是类似要不要做云业务、该项目三至五年之后会给业内带来哪些改变。简言之,这件事情的意义是战略层面的,而战略不应该用战术性的结果来评价。
在蚂蚁集团内部,开源是最重要的战略之一。采访中,何征宇表示:“我们判断,未来的基础软件领域将全部开源,这一层不会有太多秘密;各大领域的企业一定会思考如何降低软件成本,通过开源的方式让其中多方共担成本是最佳路径”。
基于这样的战略判断,何征宇要求每一个开源项目都有未来三到五年的清晰规划,开源办公室会对此进行严格审查,并在项目开源之后定期校对进度。
也是因为这样的战略规划,蚂蚁集团不搞“竞争性开源”,最明显的是 纵观整个开源版图,我们会发现在图计算、隐私计算这样的冷门领域,蚂蚁集团均有贡献,而这些领域短期内很难在营收上带来很大贡献。在数字化转型步伐加快的当下,大量数据暴露在网络世界,金融企业需要新的技术来满足其自身对安全、可信的要求,而这正是蚂蚁集团最擅长的领域。
“蚂蚁集团并不只是希望自身足够强大,而希望能把自身的经验、技术和优秀人才输出给全行业,包括在很多前沿领域,通过自身的探索带动行业整体水平提高,促进技术成熟。这是蚂蚁集团应该承担的社会责任,而且整个行业稳步向前,蚂蚁作为行业一份子也会得到提高。 当前时代也给了我们很好的机遇,以金融企业为代表,很多行业正处在技术架构转型的关键时期,用户对其安全性、稳定性、7x24 小时不间断服务等能力都提出了更高要求,这是蚂蚁集团可有所为的地方”,何征宇在采访中表示。
此外,蚂蚁集团开源办公室用数字化的方式管理每一个开源项目的进度,而这套系统是依靠蚂蚁集团开源的前端和图计算项目等搭建起来的。过去,很多大厂开源项目最被人诟病的一点就是“自己不用,然后开源”,而蚂蚁集团不仅自身也在用,同时内部的工程师文化也是鼓励开源,很多项目都是内部先开源使用后才对外开源。
基于上述路径,蚂蚁集团正在推进数据库、云原生、中间件等基础软件领域的自研核心技术全部开源。目前,蚂蚁集团积累了近 100 个社区头部开源项目、近 1600 个开源仓库、9 大核心开源项目,包括隐私计算技术栈“隐语”、分布式数据库 OceanBase、密码学技术“铜锁”等自研技术。
注:蚂蚁集团的 ant-design 项目在 InfoQ《中国开源发展研究分析 2022》中综合排名第一
面向未来,蚂蚁集团开源技术委员会同样有自己的判断。去年底至今,所有人都在密切关注 AIGC 相关技术对自身所处领域带来的影响。如果以 2023 年为启点,未来三到五年的开源世界又会是什么样子的呢?
当前部分大模型具备一定的编程能力,而训练这些能力大多依靠对社区内开源项目的代码学习。基于此,何征宇表示未来三到五年,开源的主体还是会以人为主,项目的格局不会发生根本性转变。但是,我们有理由相信未来大模型将会因为开源项目的增多而获得更强的代码编写能力,进而帮助程序员完成部分代码撰写的工作,而 这类 AI 工具所优先推荐的或者掌握的方法一定也是开源的项目,毕竟其以开源代码作为训练基础;开源作为一种软件生产方式也将从中获利,我们将有机会看到社区内出现自动写注释、自动补全等等相关的工具。总之,开源生态将会因此更加繁荣。
此外,国内确有研发团队在考虑通过自动编码工具代替部分人工产出。从何征宇的角度来看,国内首先没有大量的开源代码供训练,所以国内短期可能还不太会出现开源的、通用的自动编码工具。其次,企业如果希望内部沉淀一个专属的大模型,从经营角度来看,研发一个大模型投入的成本远高于经营所需的研发人力成本,这肯定是划不来的。未来,这类大模型最可能的结局是出现私有化部署版本供企业内部使用,解决数据安全问题。
何征宇,蚂蚁集团开源技术委员会主席、蚂蚁基础设施技术委员会主席
微信扫码关注该文公众号作者