阿里开源技术委员会重大升级:贾扬清担任负责人

阅读数:7228 2019 年 9 月 27 日 16:00

阿里开源技术委员会重大升级:贾扬清担任负责人

刚刚,阿里巴巴正式宣布由贾扬清担任阿里巴巴开源技术委员会负责人。自今年 3 月份,贾扬清正式加入阿里巴巴,众多开发者就对这位技术大咖的加入将会给阿里巴巴带来哪些不同而充满期待。本文全面梳理了阿里巴巴开源技术委员会是如何建造、运行并向着何种方向成长,以及这将对众多开发者带来何种价值。

阿里开源技术委员会重大升级:贾扬清担任负责人

贾扬清出任开源技术委员会负责人

9 月 27 号上午,在 2019 杭州·云栖大会的现场,阿里巴巴集团副总裁、阿里云智能计算平台事业部总裁、高级研究员贾扬清正式成为阿里巴巴开源技术委员会负责人。据悉,阿里巴巴开源技术委员会由委员会成员、开源技术专家组、开源办公室、开源布道师等组成,全球顶级开源社区 CNCF 首位中国委员李响,Ant Design 项目的核心推动者玉伯,FastJson 和 Druid 项目的维护者高铁等多位开源专家均在此列。

阿里开源技术委员会重大升级:贾扬清担任负责人

自今年 3 月份,贾扬清正式加入阿里巴巴,众多开发者就对这位技术大咖的加入将会给阿里巴巴带来哪些不同而充满期待。如今看来,贾扬清将持续在开源领域贡献力量,并更好地推进阿里巴巴在开源领域的进展。

为什么需要开源技术委员会?

今年初,InfoQ 统计了国内在 GitHub 上较活跃的 7 家一线互联网公司的 50 多个账号的 2800 多个项目。在 Star 数最多的项目前十名中,六个项目均由阿里巴巴贡献。光靠开发者的自驱动,阿里巴巴在开源层面的贡献已经做得相当出色,开源技术委员会的作用又是什么呢?

过去,开源一度被称为“集市”。相对封闭严格的传统企业 IT 文化,开源更强调自由开放的社区文化。然而,随着“赶集人”越来越多,影响力日益深远,亟需成熟的运营机制、多种资源来保障维护。

阿里开源技术委员会重大升级:贾扬清担任负责人

对于一个开源项目的创立者,应该明白一个现实:开源是有门槛的。当然,这并不是针对参与开源社区的普通开发者。最简单的,一个项目要想进入 Apache 基金会,要先了解该基金会的准入规则、协作机制以及准出规则,才能让项目更加健康的成长。

在开源技术委员会设立之前,阿里巴巴内部就有很多被开发者广泛应用的开源项目,比如 Apache Dubbo、Ant Design 等,这些项目更多是依靠阿里内部工程师的开源精神和情怀稳步迭代,在这个过程中其实遇到了很多问题。

以 Dubbo 为例,这一项目虽然短短 15 个月就从 Apache 基金会毕业,但在孵化期间,整个团队遇到了很多问题:以往,团队成员习惯了通过钉钉沟通,而按照规定在基金会中需要通过邮件交流;对于新的功能和特性的加入,团队成员需要考虑并询问广大社区参与者的意见,而不是自行决定。这背后,本质上是从追求效率第一,转为以共识、透明、公开为重。Dubbo 顺利成为顶级项目的过程是社区化推进的成果,也让团队深刻意识到社区的重要性。

采访中,贾扬清表示,过去,这些开源项目的成长更多是依靠阿里巴巴内部员工与开源社区的沟通和交流。如今,阿里巴巴意识到这不能仅仅依靠开发者的一腔热血,而需要一套成熟的方法论帮助开发者更多地参与开源,贡献开源,并从组织上提供一系列支持与保障,这就是阿里巴巴成立开源委员会的初心。

比如,开源委员会设立之后将会有相应的准入与准出机制,对于现有的开源项目,开源委员会希望了解这些项目当前遇到的一些挑战,帮助其梳理问题,并与社区进行更加紧密的互动。对于一些不适合继续使用和开源的项目,开源委员会也会负责决策是否有必要继续维护。

这一决策,对广大开发者有何价值?

一直以来,硅谷的工程师文化被开发者所推崇,它鼓励开发者进行技术创新,并参与开源。以谷歌为例,谷歌工程师经理冯丹表示:

在谷歌,有一个“20% 的项目”的说法,意思是每位员工每周可以花费一天的时间来做与正在做的工作无关的事情。如果你有好的想法,可以写成提案交给委员会,如果该提案被认定非常好并可用来创业。谷歌可以给你六个月时间,在内部寻找合适自己的团队开始创业。

在中国,每一家大型科技公司都具备独有的工程师文化,但这种文化在几年前可能与开源和创新没有太大关系。而本次贾扬清正式就任开源技术委员会负责人,很重要的一件事情就是推动公司内部的开源文化,持续贡献更多优秀的开源项目,这将对广大参与开源社区的开发者带来重要价值。

丰富的应用场景:促进开源项目的成熟和完善

只有经过实际应用场景的验证,开源项目的价值才可能最大化。而阿里巴巴拥有强大的技术能力和丰富的应用场景,这就给了开源项目一个很好的落地机会,Apache Flink 就是最好的证明。

贾扬清在采访中表示,随着行业数据智能化的加速到来,开源的“水位”也在逐步提升。阿里巴巴的大规模计算能力、丰富的实践场景将有助于降低开源成本、推动项目的成熟完善乃至商业化场景落地。以 Flink 为例,阿里通过双 11、搜索推荐等多个核心场景的实战检验,在流计算和批处理上积累了大量新功能,在性能优化、稳定性提升等方面有深厚沉淀,相关核心代码已贡献给 Flink 社区。如今,Flink 已成为众多公司建设流处理平台的首要选择。

持续输出更多开源项目

从拥抱开源、贡献开源,到自主开源,再到赋能开源。贾扬清表示,虽然过往阿里巴巴内部有很多优秀的开发者积极参与开源,但文化的传承将会让国内更多的开发者加入其中。如果具体到细分技术领域,阿里巴巴接下来将会在如下三个方面贡献更多有价值的开源项目:

从拥抱开源、贡献开源,到自主开源,再到赋能开源。贾扬清表示,虽然过往阿里巴巴内部有很多优秀的开发者积极参与开源,但文化的传承将会让国内更多的开发者加入其中。如果具体到细分技术领域,阿里巴巴接下来将会在如下四个方面贡献更多有价值的开源项目:

  • 底层操作系统,阿里有飞天操作系统底座,同时也应用过很多类似 Linux 这样本身就开源的系统。在今年 4 月份,阿里巴巴宣布重磅开源其 Alibaba Cloud Linux 2,这可以理解为下一代 Alibaba Cloud Linux 操作系统,软件包以 CentOS 7.6 和内核长期支持 (LTS)4.19 版本等社区来源为上游,为云上应用程序环境提供 Linux 社区的最新增强功能,在提供云上最佳用户体验的同时,也针对阿里云基础设施做了深度优化。

  • 云原生,这一层可以广义地叫做操作系统,在一定程度上跟应用比较相关,比如 AI 平台、大数据平台,在上云的情况下可以认为也是大规模云原生的操作系统底座。接下来,阿里巴巴在云原生系统上也会深入与开源组织合作。

  • 前端,相比底层系统的开发模式,前端更偏向设计和交互,蚂蚁金服的 Ant Design 是其中做得非常好的一个代表项目,在前端领域非常受欢迎。

  • 具层,这也是阿里巴巴一直以来非常感兴趣的方向,比如,如何利用开源项目和解决方案提高开发效率,这其中又包括测试部署工具,源代码管理工具,项目交流平台等。在这一部分,国外社区相对做得更好,因此未来如何在国内推动建立更好的工程师交流平台和文化,也是阿里巴巴开源层面关注的重点。

做好开源的后勤保障

贾扬清透露,开源技术委员会将提供机制、法务、安全、工具等服务,做好开源的“后勤保障”,提升开发者体验。对开源项目建立健康的成长机制,对与社区交流不到位的项目,开源委员会将会从机制和流程上提供支持与保障,让所有开源项目都是高质量的且始终与社区高度相关。比如,发展社区协同机制(发展 pmc、committer,使项目不再依靠个人);定期举行开发者 meetup 及培训,赋能开发者;确保开源协议及安全漏洞扫描以保证安全;建立科学的开源项目考核机制(不再只考察 GitHub 上的 Star 数,而更多关注社区交流活跃度,技术落地应用的实际价值);开源协作机器人等工具。

以 Flink 为例,目前,Flink 对流计算的使用场景已经支持得非常好了,阿里巴巴接下来依然会从用户需求出发,继续对 Flink 进行优化和改进。同时,阿里巴巴会继续开展 Flink Forward 大会这样的活动,通过这些活动和开发者互动,向大家传达 Flink 接下来的 Roadmap 等;另外也希望通过这种方式和社区对接,获得更多关于 Flink 接下去应该怎么走的系统设计,包括 Roadmap 上的一些输入。贾扬清表示,对一个比较健康的开源项目来说,自己的系统设计跟用户需求的输入两方面都是必不可少的。 所以,很多开源项目都会有一个对应的开发者大会作为跟开发者互动的媒介。

阿里巴巴的开源过往

如果回溯阿里巴巴的开源历史,Dubbo 是最具代表性的开源项目,基本经历了阿里巴巴拥抱开源,贡献开源,自主开源,到现在的持续赋能开源的所有阶段。

2008 年,Dubbo 项目诞生,而当时还没有用这个名字,那时的 Dubbo 还是阿里的一个内部系统。这一年,阿里巴巴内部的开源文化开始萌芽并影响着众多开发者。但是,此时的阿里巴巴内部并没有明确的机制鼓励开发者参与到开源中。

2011 年,Dubbo 开源。这之后的几年,阿里巴巴开源萌芽期的很多成果开始与开发者见面,比如 Fastjson 等。与此同时,玉伯在微博上表示要用开源的方式打造支付宝下一代前端框架。

2014 年开始,Dubbo 沉睡。这一年,阿里巴巴集团于纽约证券交易所正式挂牌上市,股票代码“ BABA ”。随后两年,阿里巴巴的各项业务进入全面发展阶段,内部开发者开始将更多精力投入到业务研发中。

2017 年,北纬带着团队重启 Dubbo 项目,并在这之后将其捐给了 Apache 基金会。这之后的两年,阿里巴巴在开源层面的声音越来越多,就像贾扬清在采访中所言,阿里巴巴的开源文化开始逐渐渗透在这数万工程师的心中。

2019 年,贾扬清正式担任阿里巴巴开源技术委员会负责人。这个过程中,阿里巴巴逐渐将开源从最早期的个人行为逐渐发展成组织行为,如今已明确升级为阿里技术战略之一首先,阿里巴巴内部大量技术栈运用了开源技术,比如 AI 领域的 Tensorflow 等;其次,开源社区比较缺少大规模的应用落地场景来打磨技术能力,阿里巴巴可以将这些应用经验贡献给开源社区;最后,阿里巴巴非常愿意将内部应用良好的项目贡献给开源社区。

科技公司在深刻影响开源

开源运动兴起之初,众多科技巨头采取了坚决抵制的态度,究其原因,是因为大型科技公司与开源社区之间有着商业价值观层面的差别和冲突。开源倡导开放、共享的模式,对商业软件授权的盈利模式构成了挑战。

如今,全球的科技巨头都在开源领域持续加码。IBM 宣布收购 Red Hat(红帽)公司,作价 340 亿美元;微软斥资 75 亿美元收购 Github;阿里巴巴大力投资 Flink 的母公司 Data Artisans…不得不说,科技公司正在深刻影响开源

接下来的问题是:这对开源社区意味着什么?对开源项目的维护者又意味着什么呢?

贾扬清认为,这对开源社区来说是一件好事情。举例来说,现在所有公司在做安全连接时都避不开的 Secure Sockets Layer(安全套接层协议 )——OpenSSL,当初只是靠着一群爱好者在维护,整个项目组当时的确出现过非常窘迫的情况,无论是人力还是资金都很难维系下去。随着大型科技公司的加入,对社区和中小型开发者提供了很多帮助,毕竟大型科技公司有着更多应用场景以及更大的使用规模。在有些领域,可能是大型科技公司主导,其他开发者很难做好,但开源领域不是这样的。

随着开源领域的蓬勃发展,整个计算机行业都进入了新的发展阶段,促进了软件行业出现新的需求,软件所能提供的价值变大,这无论是对开源项目的提供者,还是参与者来说,都是一件好事情,云计算厂商也可以在这个基础上为各行各业创造更多价值。

对这个问题,WhiteSource (一家专注开源安全的合规公司)产品副总裁 David Habusha 同样提供了一种可能的解释。他认为,这些大型软件供应商本可以参与现有的开源项目,例如 Eclipse 或 OpenShift。但是,它们是由开源基金会管理的,而开源基金会致力于使这些项目与供应商保持中立。推动平台并不一定会立即带来收入,但最终,即使开发者使用免费的容器编排平台或 IDE,代码也需要在某个地方运行。因此,大型科技公司显然希望在这块蛋糕上留下点什么。

无论如何,商业公司在开源领域的积极作用,已经帮助社区及其开发者将他们最初的技术理念变为现实,比如阿里巴巴开源的 Dubbo 和 Druid 等项目。

开发者的友好度差异

对开发者而言,现在基本没有人会纠结“开源,是不是会把自己饭碗砸了”等类似的问题,开发者愿意参与开源社区,但同时也对科技公司主导的开源项目有所顾虑,比如是不是会因为人员流动或者内部利益导致开源项目停止维护,会不会在开源项目中植入后门等。

对此,贾扬清表示,这其实反而是公司所担心的问题,而不是个人开发者特别担心的。他补充道,对公司来说,只要提供一个最好的平台,一个能够让开源项目健康成长的土壤,就不太会担心项目活不下去。换言之,只要科技公司内部有一套完善的流程对开源项目进行管控,个人开发者不需要太过担心这个问题。以 Flink 为例,目前流计算最大的应用场景在阿里巴巴,这对技术团队来说是一个非常有意思的挑战,阿里巴巴会持续将自己在 Flink 上的贡献推回社区。

此外,文档的完备程度也在一定程度上对开发者体验有着重要影响。对一个开源项目而言,十分钟内给开发者带来的印象非常重要。大部分情况下,开源社区更加注重代码,甚至在一定程度上会出现“代码即文档”的状态。如果一个开源项目的代码杂乱无章,那么就会让开发者难以理解,进而放弃应用和修改的想法。所以,很多开源社区都会有一些对应的代码规约和风格建议,来帮助社区引导整个代码质量。如今,很多大型科技公司都意识到文档的重要性,这对提升开发者应用体验有着积极意义。
 
与此同时,这也引申出了另一个值得探讨的问题:一个开源项目的创建者或者团队,在项目发展过程中应该扮演什么样的角色比较合适呢?

根据现有开源项目的发展情况可以明显感觉到:一个项目的发展和社区文化与创建者的风格有很大关系。以 Linux 为例, Linus Benedict Torvalds 今天可能还在做一些一线的代码管理,但整个大的方向演进基本是由 Linux 基金会推动的。Python 就是另外一个例子了,Guido van Rossum 一直以来被称为“仁慈的独裁者”。贾扬清在采访中表示,一般而言,一个活跃的社区,项目的创始人也会非常注重与社区的互动,但一个开源项目的最终发展更多是借助社区的力量来推动,确定好一个优秀的社区合作机制是非常重要的。

归根结底,一个优秀的开源项目需要社区广大开发者的共同努力。对开发者而言,贾扬清表示,开源本身就是一个很好的练兵场,开发者可以通过参与开源锻炼自己的技术能力,并且清楚知道自己的能力在什么样的层次上;另一方面,开源社区也会帮助开发者提高代码编写水平、设计能力和系统开发能力,这是一个双向促进的过程,因此希望更多的开发者加入其中。

结束语

长久以来,中国的开源最缺对社区的重视,很多都只是把代码 push 出来,有些甚至连文档都不完善,给了开发者一种爱用不用的感觉,出了问题也不回应。但这个初级阶段已经开始渐行渐远,越来越多的科技公司相信开源的力量,开始注重代码维护和文档完善,并倾注大量心血在开源社区的建设层面,阿里巴巴开源委员会也不例外,这一全新的组织将会为阿里创造什么样的未来,值得期待。

收藏

评论

微博

用户头像
发表评论

注册/登录 InfoQ 发表评论

最新评论

用户头像
卡卡东 2019 年 10 月 10 日 15:37 0 回复
贾扬清还是蛮牛逼的,当时在阿里,还拜读过他的几个帖子。 据说,猎头找到他,挖他来阿里来之前,他没听过阿里巴巴这家公司···o(╥﹏╥)o
用户头像
vkingnew 2019 年 09 月 27 日 17:51 0 回复
阿里巴巴开源技术委员会负责人 的历任负责人都是谁啊?文中没有提前任负责人是谁呢
没有更多了