点击收听本期“大咖访谈”播客,与大咖面对面:
开源雨林:请您先向观众介绍自己
大家好,我是张鑫。以往在不同场合我会有很多不同的介绍方式,今天我想多聊聊与开源的缘分。我从事过科研、尝试过创业、在互联网公司工作,但这其中有一条主线——开源。
从清华大学毕业后,我去了美国的卡内基·梅隆大学(CMU)继续攻读计算机博士学位,从事分布式系统和网络安全相关的研究工作。最早感受到开源的力量就是在读博期间。我们在进行学术研究时,经常要以论文的形式将科研成果在社区共享,通过社区协作、知识共享,共同推动技术与领域的进步。另外,在做科研、发表论文的过程中,对于一些新的见解,也经常需要做仿真。这个过程中,往往会用到很多开源软件和工具去做技术的落地和验证,相当地高效。这样一些开源工具的存在,有助于大家进行更好地创新。
从 CMU 毕业后,我去了美国的 Google 从事 Google 内部的集群管理平台。2014 年初,Google 内部讨论是否发力公有云,作为 ToB 领域的后发者,如何在公有云领域后来居上,通过开源推动 Google 的现有优势,把开源作为拉动谷歌公有云商业化的重要措施。在这样的大潮里,我参与到了 Kubernetes 的研发工作中,贡献排名在前十位,后来项目的成功也是超出最开始的预期。不过两三年的时间,其他公司的贡献者比例已经超越了 Google,这是我们没想到的。由此可见,当时开源热度之高。
2015 年,我从 Google 辞职回国创业,创办了一家科技公司(杭州才云科技有限公司)。一方面,基于云原生技术积极构建企业级产品;另一方面,结合在做 ToB 时发现的新场景,主动开源创新项目,例如 2017 年与 Google、Red Hat 等公司共同推出的容器化深度学习平台开放技术标准 Kubeflow,我们通过参与制定技术标准,收获了很多企业客户,带来了很大的收益的同时,也帮助我们更好吸引了人才,以此更好地服务更多的用户,让更多的企业了解到我们。
2020 年,我们的团队及业务通过收购的方式加入字节跳动火山引擎,目前是火山引擎副总裁,以及字节跳动开源委员会治理运营负责人。
开源雨林:从顶级国际企业到创业(准独角兽公司),再到加入国内顶级互联网公司的心路历程是什么?
最主要的原因还是内心一直想做一些可以填补行业空白的事情。
2015 年,谷歌开始大力发展公有云业务,而当时国内的公有云还比较空白,另外很多的开源的技术在美国开展地如火如荼,但却一直缺少具有中国原创或是中国作为主力军的开源技术贡献者。就觉得,如果回国创办一家不光是用开源技术,同时还自己作为主要贡献者,且能推出一些有独创性的完整项目的企业,我觉得对于整个国内的科技进步和行业进步是非常有价值和意义的。当然,也衡量了创业的一些关键因素。在创业正式回国前,我利用个人假期回国接触了第一家潜在企业用户——锦江集团,聊得特别顺利,顺利到让我觉得所有的企业听到这种开源技术都会非常兴奋。
在字节跳动收购之前,我们先后完成了四轮融资。和自己创业相比,字节跳动能够带给我们更大的发挥空间,以及更多对外输出的技术和解决方案。我们希望能在一个相对空白的领域发挥更大的影响力,觉得加入字节跳动是一个很好的选择,字节跳动也提供给我们一些很好的方案,所以就一拍即合,带着团队和业务来到了字节跳动。事实证明,这段旅程是很好的,在字节跳动做开源能让我们影响更多人,推动更多的事情。
开源雨林:为何对开源治理感兴趣?
最开始,大家不理解开源的价值,企业会觉得开源会损害核心商业机密、削弱技术壁垒,认为开源=免费,甚至有的会说开源是扼杀创新。另外,开源需要最佳实践的沉淀。比如开源技术如何做更好的推广、布道?如何更加规范、更加开放式协作的打造健壮的开发者群体?如何通过运营,让好的技术更好地传播出去?国际化环境下,如何打破所谓的 Cultural Barrier 或 Language Barrier,让中国的开源走向国际,和海外开发者以及顶级基金会接轨?这些都是我们在治理方面需要做的事情,且与国外差距非常大,这是我愿意花时间和精力投入其中的原因。
开源雨林:Google 鼓励员工贡献开源,现在还是这样吗?
2011-2015 年我在职 Google 期间,Google 有一个 70/20/10 原则,鼓励员工拿出 20% 的时间来研究自己喜欢的项目,以此激发员工的创造力和创新精神。如果你在开源方面取得了一定的成绩和影响力,会在公司内部甚至绩效上有一定的体现。越往上走,就越需要你是某个行业/领域的专家。通过开源,可以帮助我们成为行业专家,产生行业影响力,甚至通过开源协作建立更多行业洞察力,对员工是有具体的现实价值在的。
另一方面,我在职 Google 期间,Google 很多工具是闭源的,导致很多人来到 Google 第一件事是学习内部各种工具及技术栈,耗时且低效,影响了谷歌一定程度上对于人才的留存或招募。我相信 Google 看到了这些问题,所以在近年来更加拥抱开源,内部一些好东西会对外开放,还是持续保持很开放的态度。
开源雨林:最近有几位开源界的 KOL 纷纷加入字节跳动,例如 ASF 董事姜宁,王蕴博等,字节跳动是否在筹划什么新的举措呢?
非常感谢行业里一些资深的同学信任我们,能够跟我们一起去做贡献。开源是一个长期的基础工作,不像做销售卖产品,有非常短期的一些 KPI。开源不是银弹,没有一蹴而就的大招,与其说有什么新的举措,我觉得更多是字节跳动表现出了自己在开源领域投入的决心和耐心。
做开源的人会更看重平台能够给到的资源、支持以及自由度,也会看哪边有更大的发展空间。2022 年年初,我们发现如果企业是分布式自下而上地做开源项目,会遇到较多挑战,所以希望能够有一个中台去服务大家,公司为了这个中台也投入了非常多的资源,给予了很大的支持。
另外,字节跳动在开源领域还是新手,虽然之前也开源了很多项目,但都缺乏良好的运营。结合我们在人工智能、云原生,包括数据分析方面的技术进展,今年有在筹备一些战略项目,也是希望资深的同学来到字节跳动以后,能够实现更多的个人价值,在社区里运营好这些战略项目,争取今年或明年能打造出一些在行业里响当当的精品项目。我觉得更多是这些原因能够吸引到这些人才吧。
开源雨林:能否举一个字节跳动值得分享的开源使用的实践案例
字节系统部 STE 内核团队面向公司内部所有业务提供 Linux 内核服务,主要负责内核管理、进程调度、虚拟化和网络等几个方面的工作。因为涉及到操作系统,所以从一开始我们就拥抱了主流的 Linux 和内核相关的技术,这部分具体的数据没办法透露,但我们整个服务器数据中心的规模在国内是 Top 级别的。
随着云原生应用场景不断扩大、硬件朝着高密度应用异构的机型上发展,Linux 的迭代速度非常快,所以过程中我们都是 Upstream First,先回馈到社区,再自己再采用,一定不能和 Upstream 脱节。2020 年 9 月,团队向 Linux 内核社区贡献了 HVO(HugeTLB Vmemmap Optimization)方案,解决 Linux 内核内存管理冗余这一难题,得到了业界的广泛认可。目前,华为、Google 等都投入使用了这个方案。
设备虚拟化技术作为云计算领域最重要的基础技术之一,多年来一直在稳步向前演进。字节内部也做了一个面向云原生生产场景的下一代高性能设备虚拟化框 VDUSE,通过 VDUSE,开发者可以在一个用户进程中实现一个软件定义的 vDPA 设备,并可以通过 vDPA 框架接入 virtio 或者 vhost 子系统,供容器或者虚机使用。2020 年 10 月,STE 内核团队向 Linux 内核社区正式开源 VDUSE。
另外在 AI 领域,字节跳动火山翻译团队基于 Transformer 框架推出的 LightSeq 训练加速引擎,能够支持 Transformer 的完整加速,也以开源的方式回馈给了社区,这些都是比较好的例子。
开源雨林:对开源雨林有什么建议,接下来期望开源雨林做哪些事情?
两方面吧。一是希望开源雨林能够推动国内企业对于开源技术的贡献,帮助企业发挥自己的企业责任和能量,推出更多好的开源项目到社区和行业里来。二是希望开源雨林能够通过更多的科普、布道和最佳实践的沉淀和分享,帮助更多的个人和技术爱好者成为更好的开源贡献者。
开源雨林:对国内企业开源治理的未来发展有什么期望?
希望长期主义能够代替短期 KPI,这是第一个期待。第二个是加强企业间的开源协作,教学相长,打破企业的边界和技术的孤岛。
开源雨林围绕开源通识、开源使用、开源贡献三大方面构建知识体系,愿把长期积累的经验系统化分享给企业,在团队、机制、项目三方面提供合作,推动各企业更高效地使用开源、贡献开源,提升全行业开源技术与应用水平。
开源雨林的内容已开源,并托管在 https://github.com/opensource-rainforest ,欢迎通过 Pull Request 的形式贡献内容,通过 Issue 的形式展开讨论,共同维护开源雨林的内容。
欢迎关注“开源雨林”公众号,获取最新、最全的消息。