软件吞噬一切,开源吞噬软件。

在迈向智能物联的当下,这一说法越来越被证实。能看到,无论是被企业级广泛应用的Linux操作系统,还是独霸消费端的Android,亦或是Hadoop/Spark等大数据框架、TensorFlow/Caffe/PaddlePaddle等人工智能框架,在全球广为应用的软件,多数选择了开源。

这意味着,开源成为驱动智能世界创新的重要活力。Red Hat、Rackspace、SUSE、MongoDB和Elastic等公司的成功也意味着开源是门好生意。

所以,近两年开源一词在国内异常火热,百度、阿里、华为、腾讯、浪潮等大厂纷纷加快了开源的脚步。

如在日前举办的云栖大会2021上,开源也成为其中的热词。

1、云栖大会上的重磅开源

具体看下云栖大会2021上阿里宣布开源的项目。首先是主会场上阿里云智能总裁张建锋宣布平头哥开源玄铁RISC-V系列处理器,并开放系列工具及系统软件。

张建锋表示:“这是玄铁RISC-V系列处理器与基础软件的全球首次全栈开源,将推动RISC-V架构走向成熟,帮助RISC-V软硬件技术加速融合发展,推动创新落地。”

此次开源的玄铁系列 RISC-V 处理器,包括玄铁 E902、E906、C906、C910 等 4 款量产处理器,以及基于 OpenXuantie 的多操作系统(AliOS、FreeRTOS、RT-Thread、Linux、Android 等)的全栈软件及工具。

开发者可通过平头哥 GitHub 和芯片开放社区(Open Chip Community)下载玄铁处理器相关源代码,在此基础上实现开源 EDA 协同,创新硬件架构,丰富软件应用生态。

对阿里开发代码规范的理解(深度剖析阿里的波折与成就)(1)

接着是开源“龙蜥”操作系统。这是阿里发布的全线操作系统,定位于服务器端,支持 x86、ARM 、龙芯(LoongArch)等多种芯片架构和计算场景,兼容 CentOS 生态,支持一键迁移,并提供全栈国密能力。

除了完全开源外,阿里还计划为“龙蜥”投入20亿专项资金,并联合100家生态合作伙伴推动生态建设,提供至少十年技术支持。同时,“龙蜥”操作系统捐赠到开放原子开源基金会进行孵化。

还有开源大数据与 AI 行业实践论坛上,阿里巴巴开源委员会副主席、阿里云开源大数据平台负责人王峰宣布开源大规模稀疏模型训练引擎 DeepRec 和多模态向量检索引擎 Proxima两款AI项目。

DeepRec 针对稀疏模型在分布式、图优化、算子、Runtime 等方面进行深度性能优化,同时提供了动态弹性特征、动态弹性维度、自适应弹性特征、多 Hash 弹性特征等在阿里集团内搜推广业务中沉淀的稀疏功能。在效果上,DeepRec可高效助力技术升级,提升模型效果和模型迭代效率,大幅提高搜索、推荐、广告场景的训练速度,缩短模型迭代周期。

Proxima 是阿里达摩院自研的向量检索内核,可实现对语音、图像、视频等非结构化数据的检索,广泛应用于阿里和蚂蚁集团内的众多业务,如淘宝搜索、优酷视频搜索、阿里妈妈广告检索等。同时,Proxima还深度集成在各类大数据和数据库产品中,为其提供向量检索的能力。

2、阿里开源的三段历程

能看到,阿里开源正进展得如火如荼。事实上,了解阿里的话便知道,阿里如今在开源上的坚定,是因为其已在开源之路上走了十年有余,是国内开源的老兵。

早在2010年时,阿里的工程师们便在杭州开源了第一个项目——Dubbo。在此之前,Dubbo 团队的主要工作是修复 Bug。2010 年,整个团队觉得这套架构实在不堪重负,于是决定重写。

同时,LVS(Linux Virtual Server,Linux虚拟服务器)开源软件创始人章文嵩的到来坚定了阿里开源Dubbo的决心。

Dubbo是一款高性能、轻量级的开源服务框架,可提供面向接口代理的高性能RPC调用、智能容错和负载均衡、服务自动注册和发现、高度可扩展能力、运行期流量调度、可视化的服务治理与运维六大核心能力。

对阿里开发代码规范的理解(深度剖析阿里的波折与成就)(2)

之后两年,阿里又相继开源了Fastjson、Druid、Sea.js、Arale 等项目。可以说,2010-2012年这一时期,是阿里开源的萌芽阶段。

此后的2013-2016年间,由于阿里全力发力移动互联网加上组织架构的调整,阿里开源之路进展缓慢甚至停滞。以Dubbo项目为例,从2014年之后两三年时间都没再更新过。

2017年开始,阿里云的强势表现使得阿里将开源提升到集团战略高度。在此之前,阿里的开源更多由内部员工、项目自发推动。

之所以阿里重新开始重视开源。很重要的一点是——客户的需要。如阿里云的一些客户在上云之前习惯了使用Dubbo,希望能在使用阿里云之后能继续保持。

也是在那一年,阿里决定将Dubbo捐献给 Apache 软件基金会,希望通过社区的力量来发展 Dubbo,打消大家对Dubbo未来的顾虑。

同时在那一年,阿里在开源上取得了多项成绩。如在2017年9月25日,Apache 软件基金会官方宣布阿里捐赠给 Apache 社区的开源项目——RocketMQ 从 Apache 社区正式毕业,成为 Apache 顶级项目(TLP)。这是国内首个非 Hadoop 生态体系的Apache 社区顶级项目。

在2017年9月,阿里也发起了OpenMessaging 项目。该项目旨在创立一项与厂商无关、平台无关的分布式消息及流处理领域的应用开发标准。

其抛弃了历史包袱,实现了轻装上阵,期望能解决传统消息中间件的弊端。除了可以做到跨平台、跨语言、跨产品和跨云之外,OpenMessaging还提供云原生的能力,面向云计算、混合云架构,实现多云平台无缝迁移,致力于为金融、电子商务、IoT及大数据等领域提供一站式解决方案。

这一项目也正式入驻 Linux 基金会,成为国内首个在全球范围发起的分布式计算领域的国际标准。随后一年里,OpenMessaging 开源标准社区又吸引了十余家企业的参与,包括Datapipeline、滴滴、浩鲸科技、京东商城、青云 QingCloud、Streamlio、微众银行、Yahoo、中国移动苏州研发中心等。此外,OpenMessaging 开源标准社区还获得了 RocketMQ、RabbitMQ 和 Pulsar 3 个顶级消息开源厂商的支持。

可以说,2017年是阿里开源的又一里程碑。自此,阿里开启轰轰烈烈的开源之路。

3、开源项目,更要拥抱社区

迄今为止,阿里开源项目数已超过2700个,覆盖大数据、云原生、AI、数据库、中间件、硬件等多个领域,覆盖大数据、云原生、AI 、数据库、中间件、硬件等多个领域。阿里这些开源的项目,收获了113.0004万Star,参与贡献者32453人。

对阿里开发代码规范的理解(深度剖析阿里的波折与成就)(3)

横向对比来看,十余年的开源之路,使得阿里成为全球开源的佼佼者。GitHub社区数据显示,阿里入选的项目数达到387个,收获GitHub Star值586317个。在众多组织排名中,阿里全球排名第五,国内排名第一。

对阿里开发代码规范的理解(深度剖析阿里的波折与成就)(4)

在众多开源项目中,arthas、p3c、druid、fastjson、flutter-go、easyexcel、canal、spring-cloud-alibaba、nacos这9个开源项目均收获了超2万个GitHub Star值。

在此可关注下GitHub上阿里最受欢迎的三个开源项目。Arthas是阿里开源的Java诊断利器,于2018年9月开源。可帮助开发者解决以下问题:如监控JVM的实时运行状态、全局视角查看系统运行状况、判断类从哪个 jar 包加载等诸多Java应用分析、诊断、定位等问题。

对阿里开发代码规范的理解(深度剖析阿里的波折与成就)(5)

p3c是阿里开源的Java开发规约插件,旨在以工具的手段进行代码规约的落地,项目包含三部分:PMD规则实现、IntelliJ IDEA插件、Eclipse插件,可帮助开发人员在工程研发的多个阶段进行代码规约检查,降低故障率、提升编码效率和质量。

druid则是阿里开源的高性能数据库连接池,用于创建和管理连接,利用“池”的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制、连接可靠性测试、连接泄露控制、缓存语句等功能,另外,druid还扩展了监控统计、防御SQL注入等功能。

当然,我们也知道,要想做好开源工作,除了要不断贡献项目,对项目投入,更离不开与社区合作。为此,在这十余年的开源之路上,阿里积极加入各种开源组织,包括2012年加入自由软件基金会、、2015年8月加入Linux基金会、11月加入Apache软件基金会、2017年3月加入MariaDB基金会、6月加入CNCF基金会、2017年3月加入NTF基金会,6月加入Open Computer基金会等。

迄今为止,阿里已成为十多个国内外开源基金会重要成员,其中不乏成为CNCF、MariaDB基金会白金会员。

同时,阿里也在为开源社区峰会以及人才培养贡献着能力。如在大数据领域,阿里已经成为 Apache Flink 社区全球最大的贡献者和推动者,包括组织了上万人群参与 Flink 等开源技术讨论、联合举办超过百场社区活动、引入国际盛会 Flink Forward 等。

阿里云开源大数据团队也培养出 30 名以上 Apache 顶级项目 Committer 、 PMC Member 和多名 ASF Member,参与了十多个 Apache Top Level Project 的建设。阿里也与 Spark、Elasticsearch 等开源社区展开了深入的合作。

面向未来,开源已在中国的沃土形成燎原之势。早已享受到开源红利的阿里也将持续将开源进行到底。

而对于阿里开源的工程师而言,或许开源没有那么多商业的考量,只是希望更多的开发者们能够用技术的力量驱动数智时代的创新。正如阿里巴巴技术副总裁、Caffe之父,TensorFlow作者贾扬清所言:

“当各种喧嚣归于平静,当各种繁华归于平淡,我们的工程师们都依然不变初心,在追求着自己的梦想:通过代码这一种最直接的语言,通过开源这一种最简单的方式,寻找着技术路上的下一个突破点,寻找着技术对于社会创造的更多价值。开源是开发者最大的同心圆,未来,我们希望与更多开源人一起,用技术普惠世界。”

,