写点什么

阿里开源的再思考:开源委员会搞了,到底应该做点啥?

  • 2022-09-08
    北京
  • 本文字数:4140 字

    阅读完需:约 14 分钟

阿里开源的再思考:开源委员会搞了,到底应该做点啥?

近两年,国内各大科技公司纷纷宣布成立开源办公室或者开源委员会,相较于其他很多企业还处于开源委员会或办公室的初期观望或摸索阶段,阿里巴巴早在 2009 年就建立了开源委员会,2019 年正式成立开源办公室,并于近期对开源委员会和开源办公室进行了新一轮升级。为了了解这次升级背后,阿里的思考和后续行动,InfoQ 专访了阿里巴巴开源委员会秘书长王晶昱,以期全面了解阿里巴巴自设立开源委员会和开源办公室之后的内部转变和对本次升级的思考。

设立开源委员会之初要解决的问题,进展如何?


如果追溯阿里巴巴成立开源委员会和开源办公室的原因,与其内部的开源发展历程有很大的联系。


截至今天,阿里巴巴开源走过了十多年,具体可分为三个阶段:使用,贡献,开拓。


使用阶段最早可追溯于 2006 年,彼时,淘宝业务高速发展,商业化软件已经无法满足阿里内部的需求。在本阶段,阿里逐渐引入了 Eclipse 开发工具、Memcached 缓存存储、MySQL 数据库等等,可以说,阿里技术的发展已经根植于开源的沃土中。然而,使用已有的开源软件来解决当下的业务难题无异于拿着马鞍找马,团队很快发现开源软件已经无法满足阿里对扩展性的极致需求。


“当时国外的业务没有那么高的访问量和并发量,在此场景下,我们必须自己研发一套产品。”王晶昱在采访时说道。为了支撑实际业务,阿里巴巴选择自研软件,并在此过程将一些不涉及核心技术机密的软件进行开源。阿里巴巴开源也从使用阶段来到了贡献阶段,并且为了尽可能规避公司及技术人员的风险,保障开源合规,开源委员会于 2009 年正式成立。


如果用一个词来概括阿里巴巴开源的贡献阶段,或许可以是“热情”两个字。


在此阶段,一方面,集团内部丰富的业务场景催生了很多开源项目,有些甚至到现在都耳熟能详,比如 Dubbo、RocketMQ (目前这两个项目已经捐献给 Apache 软件基金会等);另一方面,章文嵩作为 LVS 的作者,成为当时的开源委员会主席就像一个文化符号,为阿里巴巴开源注入了活力。


在他的大力倡导和支持下,阿里巴巴的开源热情上涨到一个前所未有的高度,除了常规的开源 meetup,还会举办年度开源年会聊聊各开源项目的进展,也会对优秀的开源项目进行表彰。但这个阶段,横向工具、合规制度仍有改善的空间。


这一局面在 2019 年得到了一定程度的缓解,为了给予员工赋能与指导,开源办公室正式成立,其主要职责是与开源委员会互相配合,把开源委员会制定的技术战略在阿里巴巴落地和执行,并保障更多开源项目的治理和运营。


在整个阿里开源的开拓期,在云原生、大数据、数据库、操作系统等领域都冒出了多个优秀开源项目和开源贡献:2019 年,阿里巴巴将经过内部实践优化的 Flink 分支 Blink 捐献给了 Apache Flink 社区;2020 年,阿里巴巴联合微软开源首个开放云原生应用模型 OAM/ KubeVela,以及首个边缘计算云原生项目 OpenYurt,在操作系统领域,联合国内外领先操作系统、芯片、云计算厂家共同发起龙蜥社区 OpenAnolis。PolarDB 作为阿里自研的核心数据库,也将 PolarDB-PG 和 PolarDB-X 进行了全内核开源,与社区一起共建云原生分布式数据库生态。


纵观整个国内开源历史,可以看出阿里巴巴开源的发展是典型且共性的,每一历程都符合阶段性的认知及行业需求,但尽管如此,这样的发展模式在当前又出现了新的问题。

本次开源委员会升级背后的思考


此前,阿里巴巴的开源模式几乎全为“自下而上”的模式,基于阿里业务场景积累的好产品进行开源,但这种模式存在的问题是个人行为缺少规范和引导,有的项目维护不持续,对开发者的可用性产生了较大影响,从而会直接影响企业在开发者心中的信任程度;再比如基础软件领域,每一个细分方向都能涌现出海量的开源项目,如何判断特定领域项目开源的必要性、如何确保开源项目和阿里整体的技术战略匹配度,也成为一个很大的挑战。


阿里巴巴内部对这些问题进行了深入的探讨 ,希望尝试从三个方面解决这些问题:第一,将开源与企业核心的业务战略或者技术战略相结合,从之前“自下而上”的开源模式逐步转变成“自下而上、自上而下”二合一的模式,以此来保障阿里明确战略方向上要投入的开源软件不会出现后续无人维护的情况;第二,通过战略引导明确核心开源领域,并设置多领域的负责人共同评估、判断某一开源项目,并推进开源战略的落地;第三,对存量开源项目进行更全面、规范的治理。

开源委员会升级后的三个行动点


2022 年 7 月 28 日,阿里巴巴集团 CTO 程立在 2022 开放原子全球开源峰会上带来了《共建共享数字世界的根》主题演讲,其中谈到:阿里巴巴对开源委员会和开源办公室进行了新一轮升级。针对其升级后的具体措施,王晶昱给我们详细叙述了以下三个关键行动点:

如何解决自下而上的问题?


首先,新的项目要开源,需要该领域的开源委员会副主席进行技术判断;其次,对于团队内自下而上的开源模式,阿里巴巴依旧全力鼓励,并会给与一定的孵化资源,自上而下不意味着严格控制开源,而是要在鼓励开源开放的同时,做好治理与扶持工作。


最后,从项目管理视角建立完善的开源项目治理框架,对开源项目分阶段、分类型进行精细化治理,建立系统的业务平台,有效厘清与甄别开源项目的生命周期,对处于不同阶段的项目进行具有针对性的治理与指导工作。


  • 对于孵化期开源项目,做到能开尽开,保证法务、安全合规工作,加强开发团队的开源教育与指导,扶持社区健康快速发展。

  • 对于稳定发展的开源项目,做好规模化社区的流程建设,加强社区中的技术合作与发展,持续服务好社区用户。

  • 对于因技术或业务原因停止维护的项目,设计开源项目的退出机制,做好社区通知声明与项目归档工作,站好最后一班岗。


通过上述治理工作,在鼓励自下而上开源开放的同时,保证自上而下的宏观治理工作有序落地,在保证项目质量与生命周期管理中加速阿里的优秀内部技术实践往开源转化,为开源技术生态的发展添砖加瓦。

如何保证开源项目的专业性判断?


为了保证开源项目的专业性判断,开源委员会一共新设立了 9 位领域副主席,把基础软件领域的开源共建作为阿里巴巴开源的重心。同时明确了四个重要的开源方向:操作系统、数据库、大数据和云原生,并且进一步加大了在社区建设和研发上的投入。


据王晶昱描述,开源委员会的每位副主席都可以称得上各自领域的“一号位”,除了深厚的技术专业知识,他们本身就具备足够多的团队及资源,可以帮助公司内部做出更好的技术支持及专业判断,从而帮助相关技术领域孵化出更多创新产品,为行业输出更多优秀的开源项目。


通过明确核心领域,设立领域负责人的方式,通过副主席进行专业的技术判断,构建起一个良性的开源生态。

如何持续进行开源规范及文化传导?


19 年成立开源办公室以来,虽然在横向的流程、工具上做了很多工作,但阿里开源历史复杂,类型众多,仍然有很多治理不到位的地方。如何在开源的同时守住技术底线、如何保证公司及员工利益、如何让大家对自己的责任权利有更明确的分工认知,还有非常多的工作需要推进。这次开源委员会升级,对内提出了“开放、有序、踏实、利他”的开源文化,阿里巴巴的开源行动也需要变得更加有系统、有组织、可持续。开源委员会升级对内的第一步就是制定规则及流程机制,通过对团队进行核心培训从而明确底线,并且做到有迹可查,全面提高技术同学的安全合规意识,加强开源社区的规范建设和管理,保障阿里的开源项目安全、可靠地为开发者、企业服务。


同时,据王晶昱描述,他们会尝试邀请更多的外部技术大牛或开源业界的领袖型人物,向员工讲解国内外开源的优秀实践、最终成果、影响力以及具体实现方案等,从而做好文化传导,鼓舞开源士气。


让一切有迹可查,让文化持续传导,是开源委员会在升级之后开始做、也将是一直做的事情。

升级对企业及广大开发者有什么意义?


本次开源委员会升级,阿里巴巴还会在其明确的四大核心领域,即云原生、大数据、数据库、操作系统上,希望与业界优秀企业携手共建。


作为国内开源的第一梯队,阿里巴巴会帮助更多公司享受到整个互联网的技术红利,继而实现更多的创新,实现产品真正意义上的普惠。


而对于开发者来说,本次升级也意味着阿里巴巴将会把基础技术领域的一些核心产品以及过去 5 到 10 年积累的优秀实践,通过更多专业团队维护的形式,有保障地让外部开发者进行使用及开发。


大家可能近期会有些体感,在云原生方面,由阿里巴巴、bilibili、CloudWeGo、ShardingSphere 等企业与社区联合发起的 OpenSergo 微服务治理标准项目正式发布 v1alpha1 版本,重磅推出流量路由、流控降级与容错、数据库治理等领域的标准与实现。此外,在今年双 11,阿里巴巴核心的电商交易将升级全量跑在以 Dubbo3 为内核的集群上,标志着 Dubbo3 在阿里集团全面落地推广,通过本次架构升级将提升有效提高系统整体处理性能、为用户带来更好的体验。


在 AI 领域,阿里近期开源了 DeepRec、BladeDISC、Easy 系列(EasyRec/EasyCV/EasyNLP)等多个 AI 算法框架及平台工具,从场景到生产开发,贯穿 AI 全链路。基于近十年的大数据 &AI 工程实践,阿里云数智化云原生运维平台 SREWorks 开源,帮助运维行业更多的从业者采用“数智”思想做好高效运维。


除此之外,王晶昱还向我们提到了阿里巴巴今年新的起点—— 阿里巴巴开源开放周。他们邀请了业界顶尖技术专家学者,与阿里巴巴开源领军人和头部项目代表共同探讨开源领域的最佳实践和新机遇,旨在跟广大开发者产生更好的连接,并帮助他们探索开源路上的新可能。


而在询问开源委员会未来有哪些规划时,王晶昱分为短期目标与中长期目标进行了构想:


短期,开源委员会的当务之急,还是会继续明确或细化相应流程及规则,尤其在整个流程的机制、责任权利的分配以及团队与外部的协作三个方面,让大家做到铭记于心、有迹可查。


中长期,则是继续进行文化建设及开源战略化。最终目标有二,其一,让每个人都能清楚意识到应该在什么业务场景下选择开源、怎么借助开源的工具完成项目等;其二,公司能够从战略上具像化地定义出下一步要孵化的核心产品以及明确它对整个企业的好处、意义及价值。

写在最后


截至目前,阿里巴巴已经累计贡献了 3000 多个开源项目,全球贡献者累计 3 万多位。根据《中国开源十年洞察报告》显示,阿里巴巴已经连续十年蝉联中国厂商的开源活跃度和影响力的双第一。升级开源委员会之后的阿里巴巴能为开源生态发展带来什么样的输入?让我们拭目以待!

2022-09-08 18:059368

评论 1 条评论

发布
用户头像
培训,证书,一体化解决方案提供
2022-09-09 10:15 · 广东
回复
没有更多了
发现更多内容

EasyRcovery16免费电脑照片数据恢复软件

茶色酒

EasyRcovery16

DAPP马蹄链智能合约系统开发(开发方案及详细)

系统开发咨询1357O98O718

分享主流的10个流程管理软件

爱吃小舅的鱼

流程管理 流程管理软件

一天吃透Git面试八股文

程序员大彬

git 面试

大型供应链物流企业的数字化转型方法论

明道云

Guitar Pro8吉他学习辅助软件

茶色酒

Guitar Pro8

dapp/lp代币合约流动性质押挖矿分红系统开发详细及案例(源码部署)

系统开发咨询1357O98O718

One-YOLOv5 v1.2.0发布:支持分类、检测、实例分割

OneFlow

人工智能 深度学习

将老人拉出无声的世界,AI是怎么做的?

脑极体

AI医疗

如何设计一个优秀的 Go Web 项目目录结构

江湖十年

Go 设计 后端 项目 Web Service

从混乱到完备:我的研发流程之路

SkyFire

研发流程

YOLOv5全面解析教程⑥:模型训练流程详解

OneFlow

人工智能 深度学习

强强联合:Neovim+ChatGPT | 社区征文

SkyFire

ChatGPT neovim

【分布式技术专题】「分布式技术架构」一文带你厘清分布式事务协议及分布式一致性协议的算法原理和核心流程机制(上篇)

洛神灬殇

分布式 2PC 3PC 原理分析 分布式协议

初识大热的ChatGPT的几点思考|社区征文

穿过生命散发芬芳

ChatGPT

三天吃透RabbitMQ面试八股文

程序员大彬

Java RabbitMQ 消息队列

DAPP智能合约链游开发源码案例丨DAPP智能合约链游系统开发(逻辑及方案)

系统开发咨询1357O98O718

Kubernetes容器状态探测的艺术

俞凡

Kubernetes 云原生

国内AGV调度系统到底是什么水平?

申扬科技

调度系统 AGV

架构实战 8 - 消息队列MySql表格设计

架构实战营 「架构实战营」

Matlab常用图像处理命令108例(二)

timerring

图像处理

在前端领域摸爬滚打7年,我终于掌握了这些沉淀技巧

小鑫同学

AutoCompleteTextView的基本使用

梦笔生花

android 控件 AutoCompleteTextView

使用OpenAI接口释放ChatGPT API 的力量

devpoint

React nextjs ChatGPT

架构训练营-模块9秒杀系统

张Dave

JavaScript异步编程的深入理解,使用回调函数实现异步编程

兴科Sinco

JavaScript 前端 前端开发 异步编程

量化合约系统开发(规则开发)丨量化合约开发(源码说明)

系统开发咨询1357O98O718

DAPP/LP单双币(子母币)流动性质押挖矿分红系统开发(开发说明及源码)

系统开发咨询1357O98O718

Spinner(列表选项框)的基本使用

梦笔生花

android spinner galley

LeSS敏捷框架高效生产力实践

俞凡

敏捷开发 大厂实践

28岁小公司程序员,无车无房不敢结婚,要不要转行?

程序员晚枫

程序员 收入

阿里开源的再思考:开源委员会搞了,到底应该做点啥?_开源_王一然_InfoQ精选文章