2020年12月25日
评论数(0)建行信用卡业务,无论是客户规模还是交易规模都堪称业界第一,最近该业务上演了一场“飞行中换引擎”的奇迹:其核心系统进行了重构,平滑切换到银行核心系统+鲲鹏+麒麟OS(基于openEuler),改造后性能提升13%……
这是来自openEuler社区的最新应用进展,回顾过去一年,openEuler社区发展之速度令人吃惊,堪称是中国开源领域的里程碑。
openEuler最早可以追溯到2010年开始研发的操作系统Euler,去年Euler开源后改名为openEuler,构建开源社区。由此,openEuler的身份发生了巨大变化,其不仅仅是操作系统,而是一个极具活力的开源社区,它与操作系统建立紧密的联系,形成关联的正循环:社区的开源让操作系统不断进化、迭代,吸引更多的企业和个人加入其中,进而让开源社区的活跃度不断增加……
在openEuler开源社区的愿景中这样写道:“通过社区合作,打造创新平台,构建支持多处理器架构、统一开放的操作系统社区,推动软硬件生态繁荣。”
如何判定一个开源社区的成功程度?答案是两点:一个是看社区做出来的产品先进性和成熟度,这从openEuler开源社区的发展速度可见一斑。2019华为全联接大会发布openEuler开源计划,当年12月31日正式开放源代码,2020年3月27日发布20.03 LTS版本,9月30日openEuler 20.09创新版发布……最新的openEuler 20.09创新版有诸多新特性,如StratoVirt、iSula、虚拟化特性增强、内核特性增强、编程语言和编译器、硬件和芯片使能、桌面支持、智能运维等。
另一个是看社区的活跃程度。鲲鹏计算业务副总裁、openEuler开源社区理事会理事长负责人江大勇透露,一年之内openEuler已经快速成长为中国最具活力的开源社区,目前社区有超过2000个社区贡献者,其中参与代码贡献的就有超过1500个,有2万个Pull Request,目前已经有6家操作系统厂商基于openEuler开发了自己的商业发行版,两个季度的时间在服务器领域就实现了3万套的发行版销售、3万个社区版下载用户。
需要指出的是,Pull Request的数量最能反映一个开源社区的活跃度,因为开源社区的代码更新和贡献都是靠Pull Request来驱动。或许横向对比一下就能知道openEuler社区的活跃程度,目前最火爆的CNCF社区,Pull Request的数量是6万个,而openEuler社区仅用了不到一年的时间在Pull Request上就达到了开源社区老大的三分之一,增长速度可谓惊人!
这一点在openEuler 20.09创新版也有明显的体现,其由不同厂商、不同机构甚至个人协作完成,是纯社区化运作开发出来的大型OS系统。一个数字可以看出这一点:来自华为以外的贡献比例接近40%,例如中科院软件所贡献了RISC-V 新指令集架构支持;麒麟软件为社区共享了赏心悦目的桌面UKUI 系统等等。
这在我国开源操作系统历史上具有里程碑意义,意味着openEuler开源社区在短短一年内即初战告捷。
openEuler开源社区的诞生,以及快速壮大,是时势造英雄。具体来说,笔者认为是天时、地利、人和齐聚的结果。
所谓天时,是异构计算时代的大势所趋。伴随人工智能、5G、物联网等新技术的迅猛发展,算力的需求出现爆发式增长,同时摩尔定律的失效导致单靠CPU已经无法满足需求,这个时候算力的处理趋势也从传统通用CPU向ARM、NPU、GPU等一起的并行计算和分布式计算。多样性计算,不能单靠硬件来完成,而是需要软硬协同,尤其是作为软件核心的操作系统,更是在其中扮演重要角色。
openEuler也诞生在云边端协同的大趋势下,尤其是伴随5G的商用,云手机、云游戏等应用如雨后春笋地迸发出来,在这些新的场景下,云边端协同的需求愈发强烈。据openEuler 技术委员会委员熊伟博士透露,openEuler有两个目标,首先是做一个服务器的发行版,让云和服务器都能用上;其次是构建一套完整的工具,使之能够从标准发行版剪裁、定制出适合不同场景的小OS。因此,openEuler从一开始就是为针对云边端协同场景打造而生。
所谓地利,是国内自主创新的大趋势。正如最近的中央经济工作会议就将科技创新作为工作重点,会议提出2021年经济工作的8项重点任务,前两项分别聚焦强化国家战略科技力量与增强产业链供应链自主创新能力。操作系统是自主创新的核心领域。值得指出的是,开源是操作系统创新的关键手段,社区是开源的“根”,在自主创新的大背景下,显然这个“根”应该立足于本土。
所谓人和,是计算产业生态发展战略的构建,即聚焦围绕鲲鹏和昇腾构筑多样性算力,但是计算产业的本质是从处理器、主板、整机、基础软件和应用软件的全栈和全生态的融合发展。相较硬件,我国基础软件更加薄弱,这一计算产业发展战略,成为软件蓬勃发展的重要保证,而作为计算产业的根——操作系统,将借势“人和”快速发展。
所以,openEuler的推出恰逢其时,它不仅仅是充分释放多样性算力潜能的全场景协同操作系统,更是我国开源变革的拐点。
当然,笔者更感兴趣的是openEuler如何在如此短的时间内构建起一个成熟的开源社区?经过调研,我发现有如下几点非常关键:充分的开放性,架构的包容性,完善的机制化,清晰的商业性。
首先,openEuler社区构建和运营上有着鲜明的态度,那就是开放。开源软件是华为计算生态战略的重要部分,华为计算始终坚持“硬件开放,软件开源,使能合作伙伴”的生态战略,通过主导开源、贡献开源、使能商业合作伙伴三管齐下,支撑起具有持续创新能力的技术软件生态。正如江大勇所说,“openEuler是个底座,在此之上用户需要根据自己的场景、市场、行业去增加差异化的内容,这样既能实现高效协作,也有差异化部分来够满足不同行业客户的需要,实现真正的创新。”
而且,openEuler积累多年的技术悉数开放出来,对开发者进行赋能。比如在20.03版本,openEuler开放了自动化、智能化性能调优引擎A-Tune;在20.09版本,openEuler发布了可持续集成的软件平台Compass-CI,其能够帮助社区开发者更快的将开源软件引入openEuler社区,补充更多的测试用例,共同构建一个健康完善的开源软件生态。除此之外,在人才方面,各类线上线下活动都旨在培养开发者,比如与清华大学联合出版了技术书籍《openEuler操作系统》,还授权相关机构进行初级工程师试点培训、在学校里提供更多实践课程来培养openEuler开发者。
openEuler社区的成长壮大,也离不开其架构的包容性。据了解,openEuler是一款包容性很强的产品,其能够支持ARM、x86、RISC-V等多指令集架构,并针对不同架构进行定制优化,这使其能够应对更多复杂场面。
当然,openEuler的社区运营机制也可圈可点。具体来说,其以 SIG 组作为基本的组织单元,SIG 组里的工作流程、工作方式、技术演进方向,都在 SIG 组内进行讨论。在 SIG 组之上,是TC(技术委员会),对SIG组起到辅导,促进,监督的职能。目前openEuler 社区的治理遵循扁平化的原则,除了SIG、TC,还有理事会、秘书处、安全委员会。理事会和秘书处主要负责社区的运营工作,技术委员会、安全委员会和 SIG 组主要负责技术层面的工作。正是这种共治的机制,激发起社区的活力。
值得注意的是,清晰的商业性也是openEuler社区的重要特点,其已经初步构建起全产业链价值共享模式。熊伟表示,期望openEuler社区能够成为行业内共同维护的一个底座式平台,大家都能在openEuler 上获得商业利益,即使是竞合关系也能促进行业的持续发展。中国科学院软件研究所特聘研究员、博士生导师,副总工、智能软件研究中心主任武延军也将商业价值看做是操作系统能否成功的关键要素,他认为像openEuler 这样的操作系统、开源社区,未来一定要出现像 RedHat 这样具备高商业价值的公司,能证明它在商业上可以取得广泛的成功。
在软件领域,开源已经是大势所趋,因为仅靠单一或者少部分企业的力量无法适应这个时代,只有汇聚业界智慧的开源模式才是解决之道。回顾开源在全球的发展,从上世纪九十年代以个人和大学为主的萌芽阶段到Apache基金会等非盈利组织主导,再到谷歌、IBM等大型互联网和IT企业为主的阶段,谷歌的安卓系统目前占据全球80%以上的智能手机OS市场份额,就是因为其开源的特点。
近些年,随着我国软件、互联网产业的高速发展,国内企业和个人对于开源的积极性不断提升,开源生态逐步完善。但是国内开源也有一些问题,其中之一就是国外更注重开源贡献,国内企业更多的是拿来主义,对开源版本使用的多、贡献的少。
最近,在Linux圈发生了一件大事:RedHat宣布,CentOS将在明年底停止维护。武延军认为,这给大家敲响了一个警钟,并不是所有开源的东西都是可持续的,如果你不参与到社区当中,最后影响的人还是你自己。
形成鲜明对比的,是openEuler社区,这棵同样出自Linux的系统在短短的一年时间里就落地、生根、开花、结果,强劲生长。openEuler已经成为Linux内核的重要贡献者,尤其体现在对 ARM 体系架构的支持上。在最新的Linux Kernel 5.10版本中,华为patch提交数量全球第一,代码修改行数全球第二。
更重要的,是openEuler社区正在改变国内开源的现状,激励越来越多的企业和个人参与进来,为系统贡献自己的力量。就像上面提到的中科院软件所,一个机构就运营着7个SIG,在openEuler 技术委员会的相关社区活动、代码 review、社区 issue 处理等方面也做了很多工作。
当国内企业和个人的热情和积极性被点燃,openEuler注定将在操作系统领域带来变革,改变国产操作系统仅仅是换皮的固有认知。熊伟用盖房子来比喻操作系统的构建,国外的社区,厂商是从森林里采伐原木,加工设计、建造成一个操作系统的房子,而以前我们国内通常是把人家建好的房子整体拿过来,重新刷上油漆,打上自己的 logo,openEuler 的做法则是直接从森林里伐木头,自己设计、打磨、组装,从底到上完全是自己设计和构建的。
由此,openEuler所干的事情,并不只是一个操作系统、一个中国人的开源社区,更是具有根技术和根社区的特点,是中国开源的变革者,是中国开源的里程碑。
所以,openEuler社区在过去一年的蓬勃发展仅仅只是开始,更加美好的未来值得期待。