2021 年 10 月 19 日-22 日,云栖大会在杭州召开。InfoQ 编辑受邀担任云栖大会开源引力峰会“开源文化”圆桌主持,围绕企业开源文化建设这一主题,与来自阿里巴巴、蚂蚁集团、华为三家企业的开源技术大佬展开对话。本文将圆桌对话内容整理如下,希望能给关心企业开源文化建设的朋友提供一些参考。
圆桌嘉宾介绍:
贾扬清 - 阿里巴巴副总裁,阿里云计算平台事业部高级研究员
何征宇 - 蚂蚁集团研究员,创立和领导了开源项目 gVisor
堵俊平 - 开放原子基金会 TOC 主席,Apache 软件基金会 Member,华为云与计算开源业务总经理
蔡芳芳 - InfoQ 资深编辑
近几年开源在国内的热度越来越高,现在不光是互联网大厂,只要是以技术为核心的公司都越来越重视开源了,这其中既包括越来越多地采用开源技术,还有更多地参与开源贡献,在开源社区打造自己的影响力。但开源并不只是简单地把自己的代码开放出去给大家使用,或者把已经开源的代码引入进来,开源其实自有一套独特的理念和文化体系,还有一些社区约定俗成的行为准则,而很多人其实并不熟悉这套东西。另一方面,对于企业来说,如果企业在技术选型中使用了开源技术,他们也需要知道如何让内部版本与社区版本进行同步、互惠互利。这些其实都涉及到一个关键问题,就是企业内部开源文化培育,如何帮助员工更好地理解开源的文化、理念、做事方法,进而做好开源协作。这次我们非常荣幸请到了三位开源领域的技术大牛,跟大家聊一聊这个话题。
现在业内大家对于企业开源文化建设这件事似乎默认为很重要,但并没有看到太多关于为什么这件事很重要的讨论。今天在开始讨论怎么建设开源文化之前,我觉得我们有必要先聊一聊,为什么企业需要建设开源文化?开源文化对企业的重要性体现在哪些方面?请三位老师聊聊自己的看法。
何征宇:我先说一下,抛个砖。我的职业生涯是从 Linux 内核开发开始的,它也是在全球范围内规模比较大的开源组织。在这十年经历里面我意识到一件事情,就是对于基础软件,我认为现在整个数字世界本质上就是构筑在开源软件之上的,对于任何企业的决策者来说开源都是一个不可回避的问题。从蚂蚁集团的角度出发,我们既是开源软件的使用者也是贡献者,因为我们很清楚地知道开源对于蚂蚁基础软件发展的重要性。软件都是会发展的,如果不在一个更大、更广阔的世界里面创新,某种意义上会被软件的发展所淘汰,这是我们很早就意识到的问题。所以我们不再只是使用开源软件,还积极投身开源基金会,也贡献了一些项目出来,希望更积极地回馈社会,也希望在行业里面展现蚂蚁的实力。
贾扬清:我最开始做开源还是基于非常朴素的愿望,就是做一个东西分享给大家。那今天我想从一个开发者的角度转向企业和社会的视角,从经济学的角度来看开源。生产要素的标准化其实是对整个社会发展有利的,古文里面说秦朝当时是怎么发展起来的,就是书同文、车同轨,标准化以后可以让我们聚集起来做更大的事情。科技领域最重要的生产要素是代码、人工智能算法等等,这一系列东西通过开源标准化之后就能够让更多人协同起来,达到 1+1 大于 2 的效果,而不是说每个人都开发一个不一样的语言、不一样的算法体系。这就是为什么现在企业都不再藏着掖着的缘故。今天人是最大的成本,机会成本是最大的成本,如果没法实现高效的快速迭代,就损失了非常多的可能性。现在企业更多会从封闭模式走向开源模式,把蛋糕做大,大家都可以在里面获得最大的收益。
堵俊平:我非常认同扬清的观点,做开源很重要的一点是要形成社区文化。基础软件发展到今天,并不是一家企业就能搞定所有的领域,不同公司有不同的基因、场景,大家需要协同一起来。所以某种程度来说代码开源容易,但是协同很难,而要形成协同就需要一整套机制配合,比如说社区行为准则、对开放透明原则的追求等等,没有这些作为一个大的背景,大家很难协同,尤其不同公司的人很难走到一起。
从另一个方面来看,我们在追求企业开源战略的时候,开源文化同时也会走入到企业文化当中,促进新的效能改进以及优化。比如说开源文化强调的是长期的发展,而不是短期的代码或利益;还有“Talk is cheap,show me the code”,不要讲太多,要实干,把实践的东西拿出来。这些理念也慢慢走进了 IT 研发企业,改变了企业原本的文化,让大家更加贴近当前主流的全球浪潮。
InfoQ:既然开源文化对企业如此重要,那到底应该怎么去做?我们可以看一看开源做得比较好的企业的实践经验。我首先把问题抛给扬清老师,扬清老师之前在硅谷工作过好些年,您自己也开源过 Caffe 这个 AI 框架,能否跟我们聊聊您观察到的硅谷公司和阿里分别是如何去培养内部员工的开源意识的?
贾扬清:我们经常有的时候吐槽说国外开源做的好,国内开源做的不好,好像是人不行一样。我觉得有一句话说的特别好:“这个世界上没有笨蛋,只有没有定好的优先级。”我想从技术和人这两个角度来讲我观察到的区别。
从技术的视角来看,开源之后到底是见光死还是能跟社区玩起来,背后有很多技术因素在影响。如果我们只是简单搭一个脚手架,没有标准的测试、文档,这种情况说实话很难协同。在公司里面本身有一个很现实的问题,公司里的人来来去去的,天然就需要有标准化的测试、文档体系。因此像硅谷在开源方面做的比较好的公司,就会从技术层面构建起标准化的开发、测试、部署、上线、文档这一系列流程,使得大家在想合作的时候能更容易。
第二可以从人的角度来讲,如果企业单纯地只看业务效果,那很多时候工程师就很难有时间去做开源,这个时候在企业里面就需要一些政策引导。比如说在阿里,阿里有一个开源委员会,跟其他的业务是平行的部门,这个开源委员会专门负责拉通整个开源政策和方法论,通过这样 Top down 的模式可以让大家更多看到企业对于开源的重视程度。
通过技术和人的协同驱动,国内公司逐渐也可以做到跟硅谷公司一样或者更好的开源文化。
InfoQ:我来总结一下,扬清老师提到一方面要通过标准化的协作流程,让大家更容易协作,另一方面在政策或者战略甚至组织上做一些倾斜,鼓励大家更好地参与开源。何征宇老师是谷歌 gVisor 的作者,来蚂蚁之前也在硅谷工作了挺长时间,下个面请您跟我们聊聊,您观察到的硅谷公司又是怎么去培养员工开源文化和开源意识的?有没有不同的思路?
何征宇:有不同,但是也没有那么不同。我以前因为一直在美国,第一次知道蚂蚁并不是因为支付宝,而是因为蚂蚁开源的前端项目 Ant Design,因为这个项目才知道支付宝、蚂蚁到底是干嘛的。蚂蚁一直以来都有开源的基因和文化,我到了蚂蚁以后感触最深的是,在这里能见到类似在硅谷看见的一群热爱开源并且愿意投身开源的工程师,他们真的非常愿意跟行业或者社会分享代码。
我们在蚂蚁内部发现,大家都有非常多的开源诉求,先不说在外部开源,内部就有很多诉求,所以我们也在做一些内源社区,建设更多标准化流程。一个项目从企业开源出来之后只管生不管养的现象越来越少。另外我们也鼓励内部工程师,不管在业务代码还是基础设施的代码上面,更多用代码交流,开源文化本质上是工程师文化的一部分,对科技企业的文化是很好的引领和补充。
InfoQ:下面有请堵老师,堵老师目前在华为负责华为云与计算开源业务,之前在腾讯的时候也负责过开源相关的工作,请您跟我们说说腾讯和华为分别又是怎么去培养员工的开源文化和开源意识的?
堵俊平:因为离开腾讯的时间比较久了,我就简单地分享两个点。第一个就是腾讯比较早就成立了开源办公室,同时还有一个虚拟组织叫开源联盟,这种虚实结合的组织可以比较有效地进行开源文化的推广。第二个,腾讯大概两三年前开始做开源协同,是自上向下推进的,公司内部做了很多关于价值观的讨论,我觉得是一个值得借鉴的事情。
关于华为的开源文化建设也有很多东西可以讲。第一,华为在中国公司当中是很早就有贡献上游意识的企业,我十几年前加入 Apache 基金会的时候就跟华为工程师打过交道,华为在贡献数量上一直都名列前茅。有一批深刻理解认同并且尊崇开源文化的工程师,是企业做好开源的基础条件。
第二,华为比较有特色的一点是我们有 OSDT 团队,是负责开源开发与发展的团队,介于业务和开源中间。我们经常调侃说业务跟开源两条线感觉很像跳探戈,不能靠得太近,也不能太远。所以 OSDT 这样的团队正好处在开源跟业务中间,由同时拥有大量研发经验、开源社区经验和布道经验的工程师组成的团队,就能更好地支撑整个开源战略。
InfoQ:非常感谢三位老师的分享,帮我们了解到了不同公司内部建设开源文化的不同思路。这里面可能涵盖了实打实的物质鼓励、经验交流平台的搭建,还有一些流程机制上的保障,包括居中团队的建设,这些都是不同企业在建设开源文化方面比较好的做法。我们还有一点时间,我增加一个小问题。大家认为现在企业推动开源文化建设最大的挑战是什么?
贾扬清:最大的挑战我觉得可能是从历史到将来的中间过程,因为说实话企业内部的代码很多,怎么样逐渐地走完整个工程升级的过程。我们都知道目标在哪里,主要问题是怎么样找到合理的路径走过去。
何征宇:我觉得还是要有一个更加广泛的相信,开源其实某种意义上来讲相当于长期主义或者对长期价值的坚守,这是需要信仰的,所以我觉得开源是文化、是精神,更是信仰。
堵俊平:开源一定要有信仰,因为过程中必然会遇到各种各样的困难。
InfoQ:正如三位老师所说,开源是一个需要长期去做的事情,并不是一蹴而就的,其中开源文化又是企业做好开源非常重要的基础,可以说如果没有开源文化的支撑,企业所谓的拥抱开源就只是一句空话而已。再次感谢三位老师给我们带来的分享,今天的圆桌到此结束,希望能对大家有所帮助。
评论