阿里巴巴 CTO 程立:开源是基础软件的源头!

Posted 开源头条

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里巴巴 CTO 程立:开源是基础软件的源头!相关的知识,希望对你有一定的参考价值。

开源盛世下,无数企业拥抱开源技术并迅速向数字化转型,阿里巴巴便是国内走在前列的大型企业之一。

7 月 28 日,阿里巴巴集团 CTO 程立在 2022 开放原子全球开源峰会上带来了《共建共享数字世界的根》主题演讲。从全球开源发展史下看阿里巴巴开源的迭代历程,其又该如何在云浪潮下实现两种技术的结合以此共建共享全新的数字世界,未来又会面临哪些严峻的挑战,程立给了解答。

以下为程立演讲全文:

尊敬的各位参会领导和嘉宾,大家好!我是阿里巴巴集团的首席技术官程立,非常荣幸能够受邀参加本次开放原子全球开源峰会。今天我分享的题目是《共建共享数字世界的根》。

回看过去 40 多年的软件发展历史,开源已经从一个小众爱好者的行为,变成了技术软件的源头,并且在云的时代,开创了新的软件开发模式和商业模式。云和开源已经共同成为了数字世界的根,这个根需要政府和企业,需要我们大家一起来共建和共享。与此同时,我也会和大家分享一下我看到的一些挑战和建议的应对。 

阿里巴巴开源的这 16 年

开源是基础软件的源头活水,数字世界的基础软件应该建设在开源上,需要全行业来共建共享。

  • 首先,用开源的方式可以汇聚全球最先进的技术,协同全球最优秀的人才,可以通过最大规模的群体智慧来共同参与和协作,能够让基础软件面向最广泛的需求,不断创新。

  • 其次,开源和专有组件不是非此即彼的关系,它们同构成了生态系统,为全球的开发者提供了敏捷软件研发的大中台。

  • 再者,开源从根本上解决了在基础软件层实现互通和共享的问题,避免数字世界的孤岛化。

  • 最后,开源赋予了用户的选择权和审查权,能够有机制保障开源代码的安全可控,全人类能共同拥有。

正是认识到开源是基础软件的源头,阿里巴巴积极参与到开源中。

回顾过去,阿里巴巴的开源经历了三个过程,从使用到贡献到现在正在进入开拓阶段。阿里巴巴在创业的早期就大量地使用开源软件,阿里技术的发展也植根在开源的沃土中,我们也非常感谢开源社区的帮助。当我们具备了一定的能力,尤其是在大规模互联网系统和云类研发中开始积累了很多经验,也解决了很多新的问题的时候,阿里巴巴也开始积极地将自己的实践以开源软件的形态回馈给社区,如 Dubbo、RocketMQ、Flink、Midway 等一系列的开源软件。这些软件我们坚持做了十多年,到现在还在维护,阿里也会努力地继续维护下去。

随着阿里巴巴越来越深入地参与到各行各业的数字化,共同建设数字新世界,开源已成为阿里巴巴技术战略顶层设计的部分。在基础软件领域的开拓和开源,成为近两年来阿里巴巴开源的重点。

阿里巴巴的开源在国内一直比较领先,截至目前,已经有累计 3000 多个开源项目,全球贡献者累计 3 万多位。根据《中国开源十年洞察报告》显示,阿里巴巴已经连续十年蝉联中国厂商的开源活跃度和影响力的双第一。

在去年,阿里巴巴对开源委员会和开源办公室进行了一轮升级,开源委员会作为负责制定阿里巴巴开源战略的组织,我们新设立了 9 位领域的副主席,把基础软件领域的开源共建作为阿里开源的重心,明确了四个重要的开源方向,包括操作系统、数据库、大数据和云原生,并且进一步加大了在社区建设和研发上的投入。

同时,阿里巴巴也升级了一个开源办公室,来负责整个开源战略在阿里巴巴的落地和执行。通过横向的平台和工具,来保障阿里巴巴更多开源项目的治理和运营,为开源项目提供组织保障。阿里巴巴希望和企业同行,和社区小伙伴们一起,通过开源让基础软件能够根深叶茂。   

「三位一体」,阿里巴巴做开源的技术理念

其次,我们认为云是未来数字世界的基座,云也为开源软件提供了最佳运行环境,云+开源共同构成了数字世界的根。

开源软件脱胎于自由软件,从一开始开源的基因里就有商业的要素,对商业友好、与商业共存。

随着云的出现,我们看到开源软件得到了更加蓬勃的发展,一方面云的按需使用,随需弹性的开源特征,为开源软件提供了最佳运行时的环境。另一方面,OpenCloud 和云原生为开源软件的商业化提供了一种新的非常优化的模式。

站在用户的视角,云平台和开源社区的有效合作,赋予了用户灵活的选择权,不用担心被厂商锁定,云和开源就可以共同构成数字世界的可信基础。

正是出于云+开源是数字世界的根这样一个认识,在阿里巴巴内部有一个“三位一体”的核心技术理念。“三位一体”是指阿里巴巴自己用的技术、社区开源的技术和阿里云对客户提供的技术,三个技术是一个版本。这种“三位一体”的方式,使得阿里巴巴的自研、开源和云上的商业形成了血脉相通的整体。

从上图中可以看到,阿里巴巴的系统架构可以分成四层:底层是基座,即飞天操作系统;其次是云原生的共享技术;再往上是共享的能力中台;顶层的是丰富的数字化业务应用。

其中,阿里巴巴将基础操作系统 OpenAnolis、数据库、大数据智能、中间件、容器等都是以“三位一体”的方式在研发、使用和商业化。这样做的优势是,一方面阿里巴巴可以第一时间吸收业界的最佳实践,另一方面也可以把自己的技术积累通过开源回馈给社区,同时通过云来实现开源本身的商业化。

接下来,将从大数据、容器和操作系统领域三个维度来看阿里巴巴是如何实现“三位一体”的。

第一个案例是 Apache Flink。这个是一个大家熟知的实时计算引擎,在 2016年左右,阿里巴巴就开始使用 Flink。2019 年,阿里巴巴收购了 Apache Flink 原作者所建立的公司,随后阿里巴巴成为了 Flink 社区最大的推动者之一,为社区贡献了将近四分之一的 committer。

上述有几个关键时间点,一是 2016 年,阿里巴巴开始引入 Flink;2017 年,阿里巴巴内部 Flink 支持了几乎所有实施的数据业务;2018 年,我们完成了 Flink 在阿里云上的一个产品商业化,由此把内部的应用、开源和云上的服务形成了一个“三位一体”的布局。

四年以后的今天再回看当年的布局,我们非常欣喜的发现 Flink 已经成为被全球主流的技术公司所采用,也成为实时计算领域的实施标准,而且它的社区也变得更加繁荣。

第二个案例是阿里云的容器服务 ACK。这个产品是  Kubernetes 的云上服务,它是阿里从社区借力,并且参与社区贡献的另外一个项目代表。在阿里内部,在 2011 年就开始大规模的应用此容器的技术,随着 Kubernetes 逐步成为该领域的事实标准,我们在内部也做了系统化的升级和业界同频。

在 2021 年,阿里巴巴把集团所有的应用系统能够全面容器化和统一调度,构成了一个全球最大规模的云原生集群。在这个过程中,ACK 也赋予了很多云上的客户,有上万家的客户也用了 ACK。

早在 2017 年,阿里巴巴在云上就上线了 ACK 阿里云的容器服务,并且成为业界首批通过 Kubernetes 一致性认证的产品。在参与社区上,阿里巴巴也依托自己的实践,给社区贡献了如 KubeVela、OpenYurt、OpenKruise、Fluid 等开源的项目,帮助 Kubernetes 可以向边缘云、向混合云、向多个场景做了有效的延伸。

通过坚持“三位一体”,阿里巴巴确保在三个方向上都实现没有代差的相同主干代码,帮助阿里、以及阿里云上客户的同时,也帮助社区都更加的繁荣。

第三个案例是龙蜥操作系统。容器操作系统被定位是面向下一代、面向云的一个开源操作系统,借助阿里和云上客户的不断打磨和优化,目前已是一个非常成熟的开源社区。我们认为借助基于云+开源来支撑的数字化进程,这一确定性的趋势,以“三位一体”开源的模式去继续发展操作系统,能够让我们在云时代,不但能够补上基础软件领域的短板,而且有机会去实现跨越式的发展。

阿里业务操作系统是源自于真实的业务需求,最早是为了支持内部海量的计算需求,所以我们基于开源的 Linux,针对性能,针对稳定性方面做了很多的修改,并且把这部分修改也贡献给了开源的 Linux,同时它比较好地支撑阿里内部业务的发展。

从 2009 年开始,阿里巴巴开始做云计算,并发现云计算本身对操作系统的各个方面都提出了一系列全新的挑战,因此便开发了 Alibaba Cloud Linux,以此满足国内上百万客户的真实需求。

经过多年的发展,现如今龙蜥操作系统已经实现了主流芯片协同研发机制、国内主流中间件和数据库、主流整机的 OEM 厂商的全覆盖。围绕龙蜥社区,目前已经有统信、联通、移动、电信等 20 多家企业参与和贡献,也包括红旗、普华、飞腾等 200 多家产业内公司一起参与社区的建设,此外,也有国际知名企业 Arm 的加盟。

未来,阿里巴巴也希望这个云原生的操作系统能够成为大家共同建设,共同享受的软件基础设施。借助云+开源,我们可以把海量数字化的业务迁移到软硬件的协议生态上,从而形成新的操作系统和软硬件协议的相互促进的新的产业生态,有助力弥补核心技术和基础软件产业链的相关短板,孵化出一个可以自主演进的,可以带动产业发展的操作系统生态,推动产业生态的繁荣、完善。

上面三个只是阿里巴巴“三位一体”实践的几个具体例子,我们其他还有很多产品都坚持这个模式,同样我们也相信这个模式能够保证软件的生命力,能够以最开放的方式汇聚业界最优秀的工程师和最多样的场景,去共同共建共享数字世界的根。

如何共同应对开源的挑战?

最后,我也想谈谈阿里巴巴作为开源的贡献者和使用者看到的问题和挑战。

作为开源的应用者,首先是如何解决开源给 IT 架构治理带来的挑战。作为企业的技术决策者,随着技术的升级,开源软件替换过程中的复杂性以及业务连续性的挑战。

对整个开源行业来说,面临着安全和合规的挑战。由于安全的广泛使用,我们看到开源软件安全漏洞的数量其实在上升。根据统计数字,84% 的开源代码库至少含有一个漏洞,60% 已审核的代码库包含着高风险的漏洞。对企业来说,需要探索上游的开源组件,安全漏洞如何能够快速地修复,同时能够把修复的版本快速、大规模、全覆盖地推送到下游依赖的环节。

作为开源的贡献者,想要构建良好的开源生态,激励广泛的参与和创新挑战,就需要建设好开发者的社区,包括代码托管和服务型的社区平台。这里尤其要防止大企业在推动产生更多的开源重点项目的同时,也可能会垄断开源的生态,阻碍创新。作为大型企业的话,在推动开源时,阿里巴巴也时时提醒自己,保持开放、分享、共赢的心态,并且以实际行动去践行开源精神。

对开源的商业公司来说,面对的是建立可持续商业模式的挑战。过去最常见的模式是把托管和服务作为第二、第三的收入来源,这些组合现在来看,不是最好的模式。其实基于云计算 OpenCloud 的模式,应该是一个更加好的开源化商业模式。阿里巴巴对于开源的商业化,随着产业的发展需要不断地与时俱进。对企业来说,也要迎接这个挑战,为自己的产品找到一个最佳且独特的商业模式。

最后,如何把握开源的机遇,在发展中解决开源的挑战,我认为需要全行业相向而行、共同努力。我们也有以下几点建议:

1、希望持续加强与加大建设中国开源发展的基础设施,包括代码托管及服务型社区平台,建好开发者社区。

2、建议持续投入和共同建设开源软件的风险和漏洞管理相关的机制和平台。

3、建议积极参与全球基础软件的开源建设。在这个过程中,掌握关键技术,进入全球第一梯队,尤其是要加强在云原生的操作系统、数据库、中间件、容器、大数据智能、新一代互联网这样一些基础和前沿领域的开源探索。

4、建议把握产业的趋势,把“云”作为一个基础,要培育开源项目,建立好云原生的开源生态。我们认为,未来所有的开源软件都应该能够运行在云上。

5、建议持续加强中国开源基金会及开源组织的建设,坚守并践行中立原则的开源基金会和开源组织,这样赢得开发者和合作企业持久的信赖。

6、建议持续加强开源相关的人才培养和文化建设,包括开源供应链的安全管理、开源技术和战略人才。

以上是阿里巴巴集团对开源的认识和我们实践的分享,阿里巴巴集团也愿意和全行业一起,通过开源和云去共筑数字世界的根。谢谢大家!

观看直播回放:2022开放原子全球开源峰会-开幕式-CSDN直播

以上是关于阿里巴巴 CTO 程立:开源是基础软件的源头!的主要内容,如果未能解决你的问题,请参考以下文章

阿里CTO程立:首个全面深度用云的天猫双11,更敏捷更经济更绿色

阿里巴巴首席技术官程立:我们相信并正在践行的“好科技”

独家对话阿里巴巴副总裁华先胜: 基础科研的突破,是大浪的源头

阿里巴巴开源技术体系

贡献Dubbo生态,阿里开源Nacos项目

2016阿里巴巴73款开源产品全向图