标签 欧拉 下的文章

前不久,欧拉社区发布了今年的创新版本 openEuler 22.09。作为欧拉社区贡献给开放原子开源基金会后的首个创新版本,此版本中新增了 2012 万行代码,其中仅在 Linux 内核上就新增了 4.8 万行代码,全量代码已达 6.7 亿行!

openEuler 采用长期支持(LTS)版本和创新版本间隔的发布方式,每两年发布一个 LTS 版本,期间每半年发布一个创新版本,用于推出实验性的技术特性。本次发布的 openEuler 22.09 创新版就带有不少的创新特性。但是在欧拉社区官方发布的公告中,并没有特别详细地介绍这些特性,因此,我特别邀约了华为服务器 OS 首席架构师、openEuler 社区技术委员会委员熊伟来为我们解读了本次发布中的一些最新、最酷的技术特性。

从内核说起

在本次的 openEuler 22.09 发布公告中提及了若干技术特性,比如可编程内核、分布式软总线、嵌入式硬实时,这些新的名称给人一种似曾相识,但又不明其中奥秘的感觉。作为欧拉技术委员会的专家,熊伟针对我的好奇,给出了他的解答:

什么是可编程内核?

“可编程内核”这个名词是我最迷惑的 —— 内核难道不是代码吗?肯定是编程产生的,那这个“可编程”的意思是什么?

对此,熊伟首先解释了“可编程内核”产生的背景,“现在的硬件迭代变化非常快,但是相对而言,软件的变化就有点跟不上。比如说,芯片一般的生命周期就三年,你得花一年时间上传到上游,半年后进入内核社区,而从社区到用户手里还有很长的周期。本质原因在于内核相对是固定的,一次开发完成以后,编译成内核模块后就相对固定了。”因此,openEuler 创新性地借鉴了 eBPF 的思想,将机制和框架分离,框架内置到内核,而实现的功能和策略只需要写完以后注入到内核即可。

在实现上,主要是两个方面:

  1. 把这种类似 eBPF 的机制扩展到内核的很多方面。比如说,扩展到内存、可调度性,让它们都成为可变化的;
  2. 把内核中的驱动程序和内核主体的绑定解耦。

Linux 内核中的大部分代码都是驱动程序。熊伟说,“我们有一种想法,是不是能把内核驱动也能抽离出来。现在驱动程序跟 Linux 内核绑定得太死了,是不是能把内核驱动也变成可变化?”换言之,让驱动程序和 Linux 内核版本的演进尽量减少关系,这样的话,内核版本可以不断演进,但驱动程序可以在几个大版本内不断复用,而不像现在内核稍微一变化,所有的内核驱动都得重新测试验证甚至重新开发。

而关于“可编程内核”的开发计划,熊伟称,“从现在开始尝试,到明年的下半年,我们期望能推出一个相对比较完整的框架。”

对此,我不禁想到,我们知道内核的各个部分都是模块化的,不但可以在编译内核时选择和配置不同的模块,而且可以在运行中根据需要动态加载。那么,“可编程内核”和内核的模块化有什么关系和区别呢?

熊伟解释称,内核的模块还不是“彻底可变化的”,这些内核模块(KO)插入内核后是固定的,在运行过程中是不能变化的。而“可编程内核,是可以灵活动态进行调整的。”更进一步说,动态加载的不仅仅是模块,更多的是策略,模块加载进去以后可以动态地给它提供新的策略。比如说,可以根据运行的业务使用不同的内核调度器,来适应不同的需求,比如大数据和数据库对内核所采用的调度器是有不同的需求的。

对于这样的一种在内核底层机制层面进行的创新,而不仅仅是某些内核驱动程序或某个子系统,我非常期待在后继的几个版本中看到它变得成熟和更多应用。

什么是分布式软总线?

在最近的几个版本中,openEuler 提到了一个“分布式软总线”,这个名词有的人可能在鸿蒙操作系统中见到过,这是否标志着欧拉和鸿蒙的进一步融合?

熊伟称,openEuler 的“分布式软总线”就是来自于鸿蒙操作系统。“软总线”是鸿蒙的万物互联、自动发现、自动识别、自动认证、自动连通的基础。平移过来以后,凡是基于 openEuler 的操作系统和所有基于鸿蒙的操作系统的设备之间就可以实现同样的特性。在 openEuler 的上个版本中已经开始进行“分布式软总线”的平移,而在此版本中已经基本完成。

“分布式软总线”基础设施的工作,相当于提供了一个“底座”,能在这个基础上出现什么有趣的应用和场景,我们期待合作伙伴和用户去探索。

什么是嵌入式硬实时?

我也看到了这次 openEuler 22.09 中提到了“嵌入式硬实时”,这是将 RTLinux 的部分加入到了 openEuler 中了么?

熊伟首先澄清了“硬实时”这个名词:硬实时能力是个通用词,实时到什么程度才能称作“硬”,这个没有什么明确的说法。实时一般分为三个层次:

第一层,就是标准的 Linux 内核,现在芯片处理能力是比较快的,只要达到一定的响应速度,其实一般的 Linux 可以满足大部分实时的要求。

第二层,在内核中打上 RTLinux 补丁,相对于标准的 Linux 内核具有更强的实时性。

但是第三层,对实时性要求就会特别严格。比如汽车的刹车系统,目前 Linux 是达不到相关的要求的,同时合规层面等也都面临挑战,所以一般这类场景中还是选用专用的实时操作系统。对此,欧拉社区容纳了多个不同的内核,不仅仅是 Linux 内核,还包括了 Zephyr 内核、一个华为贡献的小型实时内核 uniproton 等。此外,欧拉也在和国内的实时性操作系统 RT-Thread、翼辉等形成合作。

面对纷繁复杂的场景,社区目前正在做的一个方案是混合部署方案。比如说,一个芯片或一个 SOC 中有 8 个核心,可以分出两个核做强实时性的工作,运行 RT-Thread、翼辉等这种实时内核,而另外六个核可以跑 openEuler 的 Linux 版本,两者之间构建通信机制,两者之间可以进行交互。实时部分做实时的工作,非实时部分充分利用 Linux 庞大的生态,两者再通过标准化的语义联通起来,这样就能兼顾各种场景的需求。熊伟称,这个部分社区还正在开发当中,应该在年底到明年年初大家可以看到样例。

对架构的支持

根据欧拉社区披露的信息,openEuler 全版本支持 x86、ARM、申威、龙芯、RISC-V 五种架构,支持众多的芯片厂商的多种芯片,多个硬件厂商发布的多款整机型号、板卡型号,支持网卡、RAID、FC、GPU&AI、DPU、SSD、安全卡七种类型的板卡,具备良好的兼容性。

对国产的龙芯和申威等架构的支持是应有之义。此外,随着内核对树莓派的支持,包括 openEuler 在内的各个 Linux 发行版也都纷纷提供了对最新的树莓派板卡的支持。

此外, openEuler 对 RISC-V 的支持也引起了业界关注。RISC-V 被誉为硬件里的 Linux,因其开放性而广受开源界的追捧。提及 RISC-V 支持,熊伟说,对于单板级的产品来讲,RISC-V 的成熟度已经比较高,但对于边缘计算以上的,比如说服务器、桌面,差距还是比较大。如果想在 RISC-V 上把欧拉操作系统的数千个软件包都编译过,这个本身就是一个很大挑战。但编译通过还只是第一步,第二步你得先能跑起来,第三步是要跑得好。第二步、第三步对于整个 Linux 产业线来讲,熊伟觉得 RISC-V 还有比较长的路要走。

熊伟说,“我们在去年上半年和国内很多 RISC-V 厂商都有过沟通,还组织过相关的讨论会等活动,现在的情况是大家先合力把技术准备工作做好,欢迎 RISC-V 相关厂商基于 openEuler 来开放相关产品”。

对应用场景的支持

什么是虚拟化混合部署,其意义何在?

前面我们在嵌入式硬实时部分提到一种虚拟化混合部署场景,熊伟就此做了进一步展开:对于未来的趋势可以探讨一下。以汽车为例,汽车上分为实时部分和非实时部分,汽车设计起初是分离式的,非实时部分和实时部分都是各走各的芯片,各走各的线路,但这样成本就比较高,结合起来也比较复杂。未来可能会出现这种趋势,这些功能都集中在一个板卡上,甚至一个 SOC 上,而 SOC 会分成不同的分区,有实时控制的分区,有非实时控制的分区。实时分区进行车辆控制,非实时分区负责车载娱乐系统。在很多场景上都会产生这种需求,其好处就是它的成本会降低,交互和互联或者信息共享更加容易方便。openEuler 有几种内核,会通过构建系统进行混合部署,根据不同的场景采用不同的内核。

所以,基于混合部署可能会催生出很多有趣的想象力,熊伟称,今年年底可以推出混合部署的一个原型,明年有望变得相对比较成熟。

对云计算/服务器场景的支持

对于云计算和服务器场景的支持,除了对英特尔最新硬件的支持之外,openEuler 还在云原生、混合部署方面做了较多工作,比如离线/在线的混合部署,增强了资源利用率。熊伟称,云以及云原生方向是 openEuler 的发力重点。

此外,熊伟还提到了一个令我颇感兴趣的东西,即一个新的初始化系统。我们知道,Linux 最初的初始化系统,比如 sysVinit,已经基本上被 systemd 所取代。虽然 systemd 也带来很多新的进步,但是其也因不透明、庞杂、大一统等有违 UNIX 传统思维的做法而广受诟病。因而,欧拉社区也在开发一个新的初始化系统 SysMaster,它是一个使用 Rust 开发的轻量级初始化系统,目前计划首先应用在嵌入式和容器中。熊伟称,今年年底将会发布原型系统,并预期未来会支持更多的场景。

当然,在 openEuler 社区里,SysMaster 和 systemd 可以按照客户的要求自行选择,在特定场景下可以提供更好的性能、更轻量的资源占用。熊伟还就此表达了欧拉操作系统的设计理念,“沿这个脉络出发,openEuler 做的很多工作都是期望把操作系统的部件尽量简化,而不是越做越复杂。做事太多对操作系统也是一种负面影响。”

可能有人会对技术圈重复造轮子感到不以为然,熊伟说,“我们是非常强烈地建议大家重复造轮子的。重复造轮子,造更好的轮子才能不断推动技术的进步。比如说 OpenSSL 问题也比较多,如果谁用 Rust 或者其它语言重写了 SSL 实现,我们也非常乐意支持,会融合到我们的操作系统当中。”

欧拉为开发者提供的支持

从这次公布的数据来看,欧拉社区的开发者、贡献者增长迅速。有 1265 名开发者参与了 openEuler 22.09 的版本贡献,相较于上一个版本,参与版本贡献的开发者数量新增 63%,是 openEuler 已发布的版本中开发者数量最多的一次。

对此,我和熊伟进行了讨论,欧拉社区为开发者做了什么支持,才能有这么多的开发者、贡献者参与贡献。熊伟对这个话题表示了很大的兴趣。他认为,如果对标 Debian、Fedora 等操作系统社区来看,在 openEuler 之前,甚至是 openEuler 早期,其实中国是没有一个完整的操作系统社区的。

在开始阶段,欧拉社区是以包括华为在内的各个厂商的力量结合在一起组成的,但坦白来讲,开始阶段还是人拉肩扛这种方式比较多,相当于堆人力。熊伟说,但是从今年开始,欧拉开始真正地把社区的一些综合性的机制建立起来了,同时我们正在重构基础设施。比如建立统一账号,之前欧拉操作系统的开发需要在 Gitee 上注册账号进行,而如果是 GitHub 上的开发者就没办法参与。所以,欧拉首先要有一个统一账号,把这个基础设施变成分布式的,不会强制捆绑到某一个托管平台。通过分布式平台,使用统一的工具从不同的平台上拉取到一个构建仓进行构建。

这样,整个基础设施做了脱胎换骨式的变革,把公共能力抽取出来,可以适配不同的平台,你个人的开发行为和平台的绑定就可以进行隔离了。这样做有非常大的好处,不光是可以集合几个厂商的力量,还可以让更多的个人开发者参与进来。这使得整个社区的运作更加分布化,同时也容易走向国际化。熊伟说,基础设施改造完成后,一些自动化的工具,包括一些看板、可视化、可量化的评估体系都健全了,社区后续走向国际化、社区规模的进一步扩大也就有了坚实的基础了。

这一点我听了以后特别受鼓舞,我一直在看着欧拉社区是怎么发展起来的,我认为这是下一步发展的重要动力。

说到这里,熊伟也说,“大家在社区里抱怨很多事情,其实我们都是听得到的,技术委员会都听得到。但是很多事情是比较复杂的,消耗的工作量很大,这需要有条不紊地在一点一点去改进。整个社区的演变,我们肯定是有清晰规划的,一定会实现,但是大家可能要稍微耐心点,因为它不可能一蹴而就。”

下一个版本的蓝图

之后,熊伟还谈到了之后的版本蓝图。社区也在讨论如何更好的使得上下游企业,把社区的开发节奏和产品迭代速度相适应。

从目前的计划来看,欧拉社区期望能在下一个 LTS 版本中真正实现全场景、全覆盖,真正能够从嵌入式、边缘计算到服务器、云计算全部拉通。目前的全场景还是比较初级的,组件只是能通,从构建、从基础设施角度来讲还都是比较分离的组件。熊伟称,“至少从我的角度来讲,最重要的就是把整个东西都能变成一个大的体系,而不是分离性的系统。”

此外,欧拉还期望在下一个 LTS 版本上完成基础设施的分布式化、国际化。这是从整个社区角度来讲,欧拉最关心的两件事。熊伟称,运行基础只要好了,产出一定不会差,但是如果运行基础不好,还是原先按照堆人力,手动的太多,这个路是走不下去的,因为社区已经大到不可能走下去。

最后,熊伟还谈到了关于基础工作的观点,“我们做的事不但困难、花费又大、成效又很缓慢。水面下的工作可能并不那么显眼,但实际上它真正是我们这个产业最基础的。”

引言

2022 年 4 月 15 日,在欧拉开发者大会上,欧拉 的首个数字基础设施全场景长周期版本 openEuler 22.03 LTS 正式发布。这是继两年前的 上一个 LTS 版本 之后发布的第一个 LTS 版本,也是在将欧拉项目 捐献 给开放原子开源基金会之后的首个社区共建版本。这个版本融合了之前的三个创新版中经过验证的新特性、新方向,来自社区的 773 名贡献者上百家厂商和用户参与了版本开发,仅仅是代码就新增了 2300 万行

作为一直关注欧拉发展的业内人士,我对这个里程碑版本期许颇高。这个版本虽然距离上一个创新版发布才仅仅半年,但是却容纳了两年来三个创新版的各种尝试和新特性,因此,想全面的了解 openEuler 22.03 LTS,可能会发现其所承载的内容十分之多,不易抓住重点。在这里,我将我所了解到的信息,梳理之后整理给大家,以使大家可以在选型、评估和使用时有所参考。

版本路线图

对于不太熟悉欧拉的同学,我这里简单介绍一下欧拉之前的发展路线:

2019 年 12 月 31 日,openEuler 正式宣布开源,其脱胎自华为内部基于 Linux 的积累。四个月后,openEuler 发布了第一个版本 20.03 LTS,它也是一个长期支持版本。

其后,openEuler 按照半年一个版本的节奏发布了三个创新版。从创新版开始,华为之外的多个公司、团队、独立开发者参与到了 openEuler 的开发当中。在这几个创新版中,提出、融入了多个值得一提的新特性,如内核热升级、内存分级扩展、千核运算能力、业务混部 CPU 调度算法等核心能力,也从面向云计算逐步拓展到支持边缘计算、嵌入式的全场景领域。

图片来源于《openEuler 22.03 LTS 技术白皮书》

这一切,在刚刚发布的 openEuler 22.03 LTS 得到了融会贯通,将在之前的创新版中经过产品环境验证和打磨的优秀特性和创新,有机的组织起来,并形成了一个统一的基础设施基座。

跨越式进步

根据官方数据,我们看到,这次的 22.03 LTS 和两年前的 20.03 LTS 相比,整体来说内容丰富了许多

比如软件包数量:20.03 LTS 官方提供的软件包, 包括 ISO 镜像中的 2016 个、EPOL 仓库中的 762 个,总计 2778 个;而在 22.03 LTS 中,软件包数量达到了 ISO 4241 个、EPOL 1329 个、oepkgs 13323,总计 18893 个!达到了两年前的 6.8 倍。

openEuler 软件包数量:20.03 vs 22.03

不只是软件包的数量,欧拉操作系统所支持的硬件架构,也从两年前的 64 位的 ARM 和 x86 架构,又增加了两个:32 位的 ARM 架构,以及国产 CPU 申威架构。曾经连续多次取得超算 TOP500 世界排名第一的中国超算神威·太湖之光中安装的就是 40960 个申威 CPU。通过支持这些架构,欧拉操作系统就可以运行在鲲鹏、英特尔、飞腾、申威、龙芯、兆芯等主流芯片之上。

而能在两年间取得这样的大跨步进展,背后是欧拉社区的“疯狂输出”。根据数据,欧拉操作系统当前已有 69891 个提交,仅 22.03 LTS 这个版本就新增了 2300 万行代码。今年以来,欧拉操作系统已经发布了 127 个安全公告,几乎平均每天发布一个。在欧拉操作系统发布以来,其已经创建了 241 个创新项目代码仓,平均每 3.5 天新增一个。而这一切,都是 773 位开发者不断努力的结果。

根据欧拉发布的 数据看板,到目前为止,欧拉已经有社区用户 479990 位,其中贡献者 8515 位,单位会员 333 家;合并请求 5 万余,评审 30 万条;成立了近百个 SIG,创建了近 9 千个代码仓

(来源于欧拉数据看板,数据时间:2022/04/20)

“终始惟一,时乃日新”

就此,我问了欧拉社区技术委员会主席胡欣蔚,“欧拉为何能做到这样大的跨越式进步?”他谦逊地表示,这只是“两年的厚积薄发”。当然,能取得这样的进展,也是在欧拉的开发和管理上,将“华为在开发和工程方面的经验”和开源运作的模式进行了结合,并得益于欧拉社区开发的一系列迁移工具。

根据公开披露的信息,欧拉操作系统在政府、运营商、金融、能源、交通、互联网等行业已达到规模应用,累计部署超过了 130 万套。2022 年,预计欧拉操作系统将在行业的应用新增超过 200 万套。

主要特性

内核和底层改进

在 openEuler 22.03 LTS 中,采用了经过长期打磨和调校的 Linux 内核 5.10 长期支持版,在这个版本中,华为向上游 Linux 内核社区提交了大量贡献。可以说,这个内核版本是华为的一个“锚定”版本。在此版本上,openEuler 融入了之前三个创新版中经过商业验证的创新特性。

图片来源于《openEuler 22.03 LTS 技术白皮书》

欧拉操作系统使用的是 Linux 内核 5.10,但除了 Linux 内核自身的特性之外,欧拉操作系统在内核中还做了十余处创新增强,主要包括用来提升性能的进程调度优化大页内存性能优化OOM 内存回收优化XDP 网络性能优化等。比如它集成了一套新的 QoS 调度机制,使得在线业务可以实现抢占式优先;而 OOM 分级使得离线业务的内存可以在欧拉操作系统中得到极速的回升,这二者结合起来,就提供了对 QoS 最强有力的支撑。又比如 UC 容错使得欧拉在面对硬件可靠性问题的时候更加有力,不再需要简单粗暴的重启,而是可以通过对于具体进程的控制,来实现错误的隔离。

除了这些隐蔽但重要的内核改进之外,如今在运维领域已经大量使用了非易失性内存(NVDIMM)存储介质,而传统的 Ext4 文件系统尚缺乏针对性的优化,因为 Ext4 本身是针对旋转式硬盘设计的文件系统。尤其在元数据管理方面,基于现有日志同步机制,其元数据管理开销大,且容易出现写放大问题,无法充分发挥 NVDIMM 优势。欧拉操作系统中集成的 Eulerfs 其创新的元数据软更新技术,减少了元数据同步开销,有效提升文件系统的系统调用性能。在单机应用、云原生分布式应用高性能数据存储场景,可以代替 Ext4、XFS 等文件系统。

在这个版本中,还吸收了鸿蒙中的分布式软总线能力,可以实现欧拉设备之间的自发现、自联通,以及欧拉和鸿蒙设备的自发现。

云计算强化

针对云原生业务混合部署场景,欧拉操作系统中创新的 QAS 算法,是一种适用于云原生场景,业务混合部署的全新调度算法,可以确保在线任务对 CPU 的快速抢占,确定性的调度运行,同时压制离线任务干扰。这些改进适用于对交互类等时延敏感型业务(比如 MySQL、Redis、Nginx 等)和 CPU 消耗重且时延不敏感的业务(如 AI 离线训练)的混合部署。

根据欧拉发布会现场的演示,一台服务器部署了欧拉操作系统 22.03 LTS 中的改进技术,而另一台没有。这两台服务器上,都同时运行相同的在线和离线两类业务。通过运行结果可以看到,在一台服务器上的 QPS 是 1.18,而另一台上达到了 2.62,相差了将近一倍;而时延分别是 1.53 秒和0.60 秒,相差也将近一倍

除此以外,欧拉操作系统还针对云计算,推出了容器化操作系统 KubeOS,实现云原生集群操作系统的统一容器化管理。它可以对操作系统进行容器化管理、对接 Kubernetes、原子化的生命周期管理;它也对操作系统进行了轻量化裁剪,减少不必要的冗余包,可实现系统的快速升级、替换等。而在底层,欧拉操作字体结合虚拟化运行时 StratoVirt、容器管理引擎 iSulad 构建了安全容器方案,较之传统的 Docker + Qemu 方案,其底噪和启动时间优化高达 40% 以上,为应用提供了一个轻量、安全的执行环境,隔离了容器和宿主机操作系统间、容器间的安全风险。

四大场景 & 五个统一

作为一款发轫于服务器领域的操作系统,欧拉在这个版本也正式支持了更多相关场景。按欧拉的话来说,就是四大场景:服务器、云计算、边缘计算和嵌入式。服务器和云计算这并不足为奇,而扩展到边缘计算和嵌入式领域,一方面是暗合了如今的计算潮流,另一方面,我认为,也和华为在边缘计算、嵌入式领域的传统优势有关。此外,作为专注于边缘计算和嵌入式等领域的鸿蒙,在这个领域和欧拉会师,我认为倒不是一种冲突,而是一种融合。

在四大场景的背后,欧拉宣称,他们做到了五个统一:统一内核、统一构建、统一 SDK、统一联接和统一开发工具。在社区开发过程中,欧拉把所有场景的所有组件的开发都归到了一个 openEuler 代码仓上,通过这种方式实现了任何场景都基于同一套代码。并且,欧拉操作系统通过 EulerMaker 项目提供了一套完整的构建和裁剪能力,这使得基于同一套代码构建的二进制,在面向不同的场景发布的时候,可以自如地进行构建和裁剪,最终形成适用于不同场景的镜像。

“功崇惟志,业广惟勤”

当然,能够在一套代码的基础上同时适应多种场景,这其中一定存在必要的取舍。胡欣蔚说,“欧拉会针对各个场景对模块/特性进行裁剪”,让各个组件、模块在不同场景能发挥各自的作用。“但是欧拉不接受只针对特定场景的定制开发,而且如果对整体架构形成冲击的话,是不会纳入到代码仓的,”他说,“欧拉会设计好这样的一套架构,使得不同组件在不同的架构下代码是归一的,通过裁剪工具,可以面向不同场景构建,并且差异化是可控的。”

在边缘计算方面,openEuler 22.03 LTS Edge 支持 KubeEdge + 边云协同框架,具备边云 应用统一管理和发放等基础能力。

而对于嵌入式领域,其镜像大小 < 5M,启动时间 < 5S,其基于 Linux 5.10 内核提供了软实时能力,中断响应时延达到看微秒级。它还支持树莓派作为嵌入式场景通用硬件。所集成的鸿蒙分布式软总线,可以实现欧拉嵌入式设备之间互联互通。

除此之外,欧拉操作系统中还有很多值得一书的改进特性,只是限于 篇幅,我们无法一一道来,大家有兴趣的话,可以参考《欧拉操作系统 22.03 LTS 的技术白皮书》。

下一代 LTS 路线图

而关于欧拉接下来两年的发展,胡欣蔚透露说:“接下来会对所支持的架构提供更多支持,包括对 RISC-V 的支持、完善对 SW 架构的支持,以及对英特尔的 Ice Lake 的完整支持和对 Sapphire Rapids 的后继规划。此外,在业务混部方面,也有很多正在进行中的创新。”这些将出现在预计今年二季度发布的 SP1 版本上。

让我们以欧拉技术委员会主席胡欣蔚的一句座右铭结尾,共同拭目以待欧拉下一步的发展:

“惟精惟一,允执厥中”

(题图及未注明出处的插图来自于 Pixbaby,采用 CC0 协议)

昨天,在北京举办的操作系统产业峰会上,华为和开放原子开源基金会共同宣布:将欧拉开源项目及相关资产捐赠给开放原子开源基金会。

什么?作为国内近两年发展最迅猛的开源项目和开源社区的欧拉,居然被捐了?是华为不够有钱,还是华为放弃了欧拉开源项目?

初听到这个消息时,我颇感意外,但是细思之下,又觉得在情理之中。

开源项目的捐赠传统

开源界向来有将开源项目捐赠给开源基金会的传统。开源项目往往发轫于某个开源贡献者或商业企业的个人或私有的成果,在项目发展初期,他们为项目的诞生、成长提供了不可或缺的第一推动力。但是随着开源项目的壮大,建立了围绕开源项目的开源社区,这时候就面临着一个选择:开源项目应该听谁的?是最初的创始人或企业么?还是所有参与贡献的贡献者的?作为一个久经验证的实践,人们发现将开源项目捐赠给一个成熟的开源基金会,对项目的发展是最有利的。在国际上有几个著名的开源基金会,如 Linux 基金会 The Linux Foundation (LF)、 Apache 软件基金会 The Apache Software Foundation (ASF)等,都颇受开源界信赖,旗下也拥有大量成熟卓越的开源项目。

通过捐赠给开源基金会,开源项目摆脱了对最初的创始人或企业的依赖,也避开了其对商业利益的考虑,从而形成一种社区治理、分层决策的机制,让项目变得更具备中立性和生命力。而捐赠给开源基金会的开源项目,按照基金会的管理规范,得到基金会的人、财、物的支持,拥有了独立成长的空间,其用户也不用担心控制开源项目的企业收回承诺,贡献者也对自己参与贡献的开源项目有了合理的发言权。

既然如此,那我为什么对欧拉开源项目被捐献给开放原子开源基金会感到意外呢?

因为,欧拉开源项目这两年的发展太快了,以至于我以为它会一直这样一路狂飙下去,但是细看发现,在迅猛发展之下,也到了进一步助推的时机。

让我们来看看。

欧拉开源项目与开放原子开源基金会

作为背景信息,我们先对欧拉开源项目和开放原子开源基金会做个简单的介绍。

欧拉操作系统最初来自于华为内部的 EulerOS,自 2019 年它以 openEuler 的名字开源以来,迅速成为了中国发展最迅速的开源社区。从 2019 年底至今仅仅两年间,据其披露信息,它就“拥有了 7 千余名社区贡献者、8 千余个社区软件包、93 个不同方向的特别兴趣组(SIG)、十多个商业和自用发行版、超过了 300 家的企业合作伙伴”,汇聚了从处理器、整机、操作系统发行版厂商、到行业应用等全产业链。

开放原子开源基金会,是中国首家、目前也是独家在民政部注册的开源基金会。据其网站,其“服务范围包括开源软件、开源硬件、开源芯片及开源内容等,为各类开源项目提供中立的知识产权托管,保证项目的持续发展不受第三方影响,通过开放治理寻求更丰富的社区资源的支持与帮助,包括募集并管理资金,提供法律、财务等专业支持。”开放原子开源基金会从第一天起,就得到了广泛的关注。虽然开放原子开源基金会成立时间不久,但是旗下已经拥有了来个各个国内大型 IT 企业的捐赠的数个大型开源项目,这包括来自阿里巴巴的 Alios Things、腾讯的 TencentOS Tiny、来自华为的 OpenHarmony、来自百度的XuperChain 等等。可以说,被中国开源界寄予众望的开放原子开源基金会,其阵容也相当可观。

那么,这二者为何走到了一起?

繁华之下的抉择与远瞻

让我们先来看看欧拉开源项目在盛景之下所面临的抉择。

欧拉操作系统其实并不是一夜之间出现的,其最初来自于因华为内部需求而诞生的 EulerOS,是由红帽的 CentOS 分叉衍生的一个内部 Linux 发行版。类似的,包括微软、谷歌、Meta(Facebook)、阿里、腾讯等很多科技企业都有这种基于开源操作系统进行裁剪定制的内部发行版,甚至这些内部发行版也有对外公开发布的。

而欧拉操作系统真正走到聚光灯下,是在几个因素的促进之下发生的。欧拉操作系统在诞生之初,就承担了众望。而它也没有令人失望,在两年间结出了累累硕果,已经成为一个中国乃至国际开源领域的有力声音。

但是,随着欧拉开源项目和社区的发展壮大,它已经不再是一株可以种植在苗圃中的小树,它需要更广阔的空间和经历风雨。欧拉开源项目发源于华为,也有很多开源生态企业加入了其中,华为也极力淡化其属于华为控制的印象,但是,提及到欧拉操作系统,你的第一感觉是不是还是那个“华为的欧拉”?

没错,这种固有的印象很难打破,这也是华为和欧拉的主要成员为什么要将欧拉交给一个第三方的中立基金会来管理的原因。因为,如果不改变这种一家一地的格局和观感,欧拉的发展最终也不过是“华为的又一个操作系统”而已,只能做到代码开源,而生态并不能真正开放。

可以说,如果没有华为的大力投入,欧拉没有如今的发展,但是,如果欧拉能在脱离华为的一力支持而独立发展,才叫真正的壮大。

但是,这个决定其实并不是那么容易下。做过开源软件的开发者知道,如果是给别人的开源软件做些贡献,这个还好;但是如果将自己辛苦一手打造的软件完全交付出去,就像嫁女儿一样舍不得,又怕她没吃没喝,又怕她被人冷落,但又期望她能自己独立生活,成为一个可以栉风沐雨的大孩子。

所以,华为和诸多欧拉的成员能在当前看起来一切还都不错的前景下,做出将正在绽开鲜花的“欧拉之树”送出去的决定,确实不容易,也确实有远瞻。

做操作系统难,做好开源操作系统更难

操作系统因其本身的复杂性,使得其开发成本、开发周期、开发人力资源的需求,都是其他项目难以比拟的。对于一个 Linux 操作系统而言,将 Linux 内核、文件系统、进程调度等组件组合成一个完整的系统仅仅只是开始,而如何打磨和调校整个系统,形成坚如磐石的系统底座才是见功夫的地方。

但这还只是故事的开始,对于任何一个操作系统而言,都会面临相同的问题,即需要有建筑于该操作系统上的繁荣的应用生态和为之开发应用的开发者群体/社群。

对于商业操作系统来说,其背后的企业需要花费大量的资金来让开发者为其开发应用,不但需要付出大量的成本,而且这是一个需要日积月累和不断迭代的过程,这使得商业操作系统领域的后来者很难加入到操作系统之中的竞争之中,这也是我们在目前商业操作系统领域只能见到寥寥几家的原因。

但开源软件的崛起,使得构筑了整个信息时代基础的计算机操作系统不再仅仅是被商业操作系统所笼罩的大玩家俱乐部。因为 BSD、因为 Linux、因为自由和开源软件,才有了我们如今繁荣的开源操作系统生态。

操作系统开源项目虽然并不像普通的开源项目那么多,但也有很多耳熟能详的项目,像 Ubuntu、RedHat、FreeBSD、Debian 等等。似乎做一个操作系统开源项目,尤其是 Linux 发行版很简单,以至于你在专门关注发行版动态的 DistroWatch 网站上可以找到有几百款不同的 Linux 发行版。但是做一个发行版开源项目又很难,因为克隆、复刻或者说“套壳”很容易,但是真正做出一款有想法、能投入实际的生产实践中的操作系统发行版,就需要有更高的要求和投入。

可以说,基于 Linux 内核开发一个发行版很容易,但是能把这具精巧的机器调校好,加入各种精心设计的机件,并且具有相当的健壮性,还要为其提供长期的、全方面的支持和升级换代,使其能适用于各种不同环境、不同情境的需求,这着实不容易

我们知道,在欧拉操作系统中,欧拉社区的贡献者们贡献了许多匠心独运的开源组件,因此,欧拉操作系统已经不是那个曾经继承自 CentOS 的 EulerOS 了,不是一辆涂装的 CentOS 牌汽车,而是一辆进行过专业改装的“猛禽”了。

欧拉操作系统中的独有组件:

  • 智能化性能调优引擎 A-Tune
  • 毕昇 JDK
  • iSula 容器技术
  • secGear 机密计算安全应用开发套件
  • 企业级虚拟化底座 StratoVirt
  • 开放式测试服务平台 Compass CI
  • ……

“嫁出去”的欧拉的新变化

如果欧拉不再是庇护在华为和诸多核心创始企业羽翼下的小树,那么欧拉将迎来什么?这其实是“谁负责、谁管理?”、“钱从哪来?受益属于谁?”、“谁来提供支持保证和质量担保?”等问题。

谁负责、谁管理?

在发布会中和会后的沟通会中,开放原子开源基金会理事长杨涛表示,“欧拉开源项目捐赠给开放原子开源基金会是为了帮助欧拉项目可以更好地持续运行下去,当前项目本身的内部决策依然由欧拉社区完成,基金会不会过多干涉开源项目的内部细节。”开放原子开源基金会在开源项目有需要的时候,会提供更多的协助,帮助开源项目进一步深层次、广范围发展,但不会过多地影响开源项目的内部决策细节。据杨涛说,“开放原子开源基金会的管理模式介乎于 Linux 基金会和 Apache 软件基金会之间。”开放原子开源基金会对项目会进行引导与监管,但暂时不会制定“原子之路”来约束开源项目的发展;对项目会进行扶持,但不仅仅给予资金支持,更重要的是提供法律、知识产权、教育培训、传播宣传和开放治理方面的协助。

项目运行的运营营收的变化

开源项目捐赠给基金会可以解决开源社区营收问题。在这个问题上,欧拉社区也是面临同样的问题。在捐赠给开放原子开源基金会以后,开放原子开源基金会将会为欧拉社区开设专门的账户,用于接受社区和企业的捐款,并将相应的款项进行合规管理,用于欧拉社区的进一步推广和发展。

项目支持的承诺的变化

在支持方面,由于欧拉本身是社区性项目,则不直接为终端用户提供支持和保障。而更多的保障,则由欧拉社区的贡献开发者和贡献企业根据自己的需要和场景,开发下游发行版,并进行相应的承诺和保障。欧拉操作系统本身将会持续按照开源项目的方式进行发展。

“嫁出去”后的新生活

开放原子开源基金会作为一个在民政部注册的基金会,超脱于企业之外。欧拉通过捐赠给开放原子开源基金会,让欧拉的所有权从众多企业,转变为了开放原子开源基金会。企业从过去的所有者,变成了共建者、参与者。所有权从企业转移到了基金会,开发者们和用户可以不再担心因为企业运行策略的变化而导致开源项目无疾而终。

不仅如此,开放原子开源基金会作为一个中立的基金会存在,还可以接受来自开发者、企业、社区的捐赠,从而获得更多的项目运行资金,从而让整个项目可以持续的运转下去,对于欧拉社区,乃至整个操作系统产业而言,都无疑是一件好事。

欧拉捐赠给开放原子开源基金会,是一步好棋

欧拉操作系统作为一款开源操作系统,捐赠给开放原子开源基金会可以说是一步好棋。通过将欧拉开源项目放到一个中立的第三方的开源基金会,让开源治理真正推动开源项目的发展,并能依托于来自中国和全球的开源贡献者、开源生态企业,为欧拉开源项目的发展打开了一片新天地。让我们期待欧拉开源项目的新篇章。

一直以来,云、管、边、端操作系统领域的碎片化,都是切实存在但又不得不面对的问题。在服务器上使用一个系统,在云计算集群上使用另一个系统,而在边缘计算设备和嵌入式设备则又是一个新的系统。似乎天经地义的,不同场景的设备就该使用不同的操作系统。

但在计算机技术和计算基础设施以指数级发展的今天,是否还应该墨守成规?在消费者领域,我们已经看到越来越明显的系统融合趋势,比如,苹果公司希望全线都使用同一套系统,以提供给用户最好的体验;再比如华为的鸿蒙也通过将不同的操作系统融合,让普罗大众也能感受到万物互联互通的多彩生活。

此时我们不禁要问:“是否应该在更大、更宏观的场景,对更多的计算场景进行融合?”就如同欧拉公式揭示的那样,世界本是统一的,计算世界是否也已经迎来了大一统的契机?

欧拉:以开源主导的大一统技术社区

商业公司由于人力有限,往往只会选择在一个领域做深耕投入,以期获得更大的收益;而与之相比,开源社区则不同,大家会基于对于开放理念的追求,而不断迭代一款产品。开源社区近乎无限的开发者参与,以及它开放的模式,也让一款统一而一致的产品成为了可能。

Linux 内核便是一个十分典型的例证。最初的 Linux 内核只是一个用于个人电脑的小玩具,而随着全世界开源贡献者持续三十年的不懈投入,如今的 Linux 已经遍及了从超算、云计算、服务器、个人桌面、物联网、智能终端等各种大相径庭的不同使用场景,跨越了从 x86、ARM、RISC 等十数种计算架构,从某种意义上奠定了大一统的计算基础。

但是另外一方面,虽然 Linux 及其生态已经构筑了一个平实而广泛的基础,但是我们也看到,即便是在源出一门的内核之上,由于商业利益、计算能力限制、用户体验等因素,往往我们见到的是在操作系统层面的割裂。

而这一次,欧拉(openEuler)希望立足于开源社区,与社区共同建设一个“数字基础设施的开源操作系统”,从而,不仅仅是底层的内核,而在更高层面也达成大一统的融合和互联。

新的欧拉操作系统可广泛部署于服务器、云计算、边缘计算、嵌入式等各种形态设备,应用场景覆盖 IT( 信息技术 Information Technology )、CT( 通信技术 Communication Technology )和 OT( 运营技术 Operational Technology ),实现统一操作系统支持多设备,应用一次开发覆盖全场景。

和过去归属于公司的操作系统不同,欧拉是一个开发者的操作系统。虽然欧拉发轫于华为公司,但其成长得益于开发者的参与和投入,也反过来促进了开发者的发展。目前已有 100 多家企业、机构等组织加入,汇聚了超过 6000 多名开发者,10 多家国内主流的 OSV 基于欧拉发布了商业发行版。对于开发者来说,云、管、边、端的融合,有助于开发者降低开发成本。开发者可以基于同一个技术底座,开发出一个能够应用在不同场景下的应用程序,从而获得更多的用户和可能。

欧拉:由工具主导的发行版变化

过去的 openEuler 重点关注在鲲鹏生态,而现在的欧拉将涵盖从 x86、ARM、RISC 等不同架构,以支持更广泛的计算场景。

过去的 openEuler 着重于服务器操作系统,主要应用于服务器场景,而随着新欧拉的发布,openEuler 将会扩展其场景,覆盖服务器、云计算、边缘计算和嵌入式设备。从只处理服务器的问题,延展到可以解决更多场景、更全设备的新操作系统。

这样的升级,是为了更好的利用不同的设备和不同场景下的算力,通过操作系统层面的统一,让计算能力可以更加容易调度,实现计算能力利用的最大化。

不仅如此,为了更好更快的抵达这个目标,欧拉社区还提供了一系列的工具和能力,让开发者可以根据自己的需要,裁剪配置自己需要的系统。诸如,可以通过配置和设置来打包操作系统的全栈原子化的能力,更加简单地完成系统的裁剪,以应对面向边缘计算、嵌入式设备等计算和存储资源都较少的场景,更好的服务这些设备。

当然,也不止于此。

对于开发者来说,操作系统的融合固然是好事,但对于开发者来说,感知不大,因为操作系统层面的变动往往是底层工具的变化,落实到开发者层面,还需要很多的时间。但欧拉社区这次的发布除了操作系统的升级,还提供了北冥技术架构 —— 北冥架构是为多样性计算硬件及集群打造的使能软件栈,简化多样性计算环境下的开发和部署,充分释放算力性能。通过北冥,开发者想要在安装了欧拉的多个设备中去开发应用程序,也变得更加简单。

欧拉:与鸿蒙共享技术结晶

本次欧拉的升级,除了架构和计算场景的升级,还有一个很大的升级便是欧拉将与鸿蒙共享底层技术,共建用户生态

鸿蒙作为一个面向智能终端的设备,可以通过海量的设备覆盖和丰富的操作体验,为开发者提供更多的机会。而欧拉作为一个专注于服务器端场景,追求安全性和稳定性的操作系统,可以通过与鸿蒙的结合,更好的为用户场景提供服务。

鸿蒙和欧拉的结合一个更大的好处在于,随着底层基础的打通,我们身边的智能设备,和云端的服务器、边缘计算设备,可以拥有更好的交互方式,从过去的通过 API 实现数据的同步,变成可以借助于分布式软总线,让智能设备可以从身边的设备去借用计算能力、进行管控,这将更加的简单和直接。

而这种云、管、边、端融合,将服务器、网络设备、物联网设备、智能终端等互相连接的方式,也必将带来一波新的应用开发浪潮,大家可能会发现,过去难以实现的场景,现在可以通过一个更简单的方式来实现。随着技术的进步,带来使用体验、操作体验、管理体验的进一步提升。

我们可以畅想一下,在未来,当鸿蒙与欧拉结合,我们拿着鸿蒙的手机走进机房,马上就可以看到不同的服务器之间的信息,而且这些信息可以通过分布式软总线来传递,我们可以更加简单、直接的操作服务器上的数据和功能。

可以想象,欧拉+鸿蒙将渗透到我们身边的每一个应用,所以,我认为,欧拉社区也许是朝着“元”操作系统在发展,从底层,到数据,从 API 到 AI,在更大的层面进行了统一、融合。

那个要统一数字基础设施的操作系统

完美的欧拉公式,呈现了数学的统一之美,欧拉操作系统,能否统一数字基础设施?我想这个问题,应该由开源社区来揭示。

从黑客玩具到席卷互联网

今年是 Linux 诞生 30 周年,我还依稀记得我在好多年前第一次接触 Linux 时,它还只是一个小众而新奇的操作系统。二十多年前,那时候 Windows 95 还在流行,IBM 的 OS/2 尚能见到影子,而不起眼的 Linux 还只是黑客们的一个新奇玩具。

似乎转瞬间,Linux 已经席卷了整个互联网,而与之伴生的开源也成为了主流的软件和信息行业的时髦法则。从最初计算机诞生时的开源文化,到 IBM、微软和甲骨文等商业软件企业所奉行的闭源,再到包括 IBM、微软在内软件巨头转身拥抱开源和 Linux,历史仿佛又走了一个轮回。

我用的第一个 Linux 发行版是 Slackware Linux,这最早的 Linux 发行版之一,而且也是最长寿的 Linux 发行版之一,至今仍在持续发展。我还记得第一次安装它时,由于要做双引导,结果因为当时所使用的引导程序 LILO 不能引导超过 1024 柱面的分区,因而在安装后首次重启时就刷了满屏的 0101010……,甚至看到没有一行有用的错误信息。而那时,虽然 Google 已经诞生,但是我还尚不知道它,所以面对这种情况,让人不知所措。

就是这样的一个玩具一样的操作系统,30 年来,经过无数人的努力,已经诞生了数百个分属不同系列的 Linux 发行版,并拥有数万自由及开源软件,林林总总,几乎肯定可以满足你的任何需求。

CentOS 大变局

作为一个从业互联网多年的技术人员,我几乎都是在使用 Linux 来作为软件基础设施。从早期的 RedHat Linux,到后来的 CentOS,它基本上是我用来部署服务器操作系统的不二选择。Linux 作为服务器操作系统,主要有两大系列:Debian/Ubuntu 系、CentOS/SUSE 系。不知道出于什么原因,国内在服务器端使用 CentOS、RHEL、SUSE 等红帽系的 Linux 发行版比较多。所以,无论是企业环境、云环境,还是系统运维工程师们,都对 CentOS 等红帽系的 Linux 青睐有加。

不过,意外总是在你意想不到的地方出现。

今年,作为 CentOS Linux 背后的支持者,红帽公司突然宣布,CentOS 将 终止既定的维护计划。 CentOS 8 原本计划维护 10 年, 一直支持到 2029 年 5 月 31 日,却将在今年年底停止支持。而它的上一个版本 CentOS 7 都能维护到 2024 年。

当然,我们理解红帽公司做出这样的决定的 原因,但是其后果就是,原本将产品建筑于具有 10 年维护期的 CentOS 8 的各个企业,纷纷发现他们面临一个严重的危机。这就是,当红帽不再提供免费的 CentOS 之后,其产品和服务底层的操作系统缺失了维护,将给其带来巨大的不确定性。

当然,也并不是没有解决方案。比如说,像 Facebook 这样的大组织,就可以基于 CentOS Stream 定制自己的 Linux 发行版来使用。又比如说,可以考虑购买/订阅红帽的 RHEL 商业服务。再比如说,可以迁移到 Debian/Ubuntu,乃至于 *BSD 上。但是,对于广大中小企业来说,这些选择都存在一定的阻碍。

因此,也有人站出来,秉承 CentOS 原本的宗旨,继续发行和维护一个类似 CentOS 的 Linux 发行版,比如说 Rocky LinuxAlma Linux 等等。虽然,目前这些替代品得到很多肯定,但是,就像被红帽收购之前的 CentOS 一样,谁也不知道这些替代品发行版及其支持服务能有多久。

还有更好的选择么?

我认为有。

其实,在 CentOS 停服之后,国内一些互联网大厂也纷纷考虑将自己原本自用的内部 Linux 发行版打造成公开可用的 Linux 发行版。但是,各家对此事的重视程度不同。我曾经开玩笑地点评过,有的是以战略的方式去打造,有的是按战术的方式去考虑,而有的可能只是以战斗级的规模去尝试。以上就知名不具了。我就说说,我对其中一个 Linux 发行版的认识吧,以及,为什么我认为它是一个更好的选择。

先揭晓我的答案,它就是欧拉(openEuler)操作系统

为什么欧拉是更好的选择?

欧拉可以更好的继承和兼容 CentOS 基础设施

欧拉最初发轫于华为内部的 Euler 操作系统,这是一个定制的 Linux 发行版。其采用和继承了红帽系的一些标志性技术,比如,它们都采用了相同的包管理系统(虽然据称欧拉也在考虑增加新的包管理系统),它们都采用了类似的文件系统布局和同一种安装程序等等。

因此,如果你现有的操作系统使用的是 CentOS ,那么迁移到 欧拉 还是比较轻松的,而且,欧拉还提供了专门的迁移向导程序。

旁注:欧拉 是 CentOS 的下游发行版吗?

可能社区存在一些认识误区,认为欧拉就是基于 CentOS Linux 衍生,并在此基础上定制的。不是。欧拉与 CentOS 的关系,类似于 openSUSE 和 CentOS 的关系,即采用类似的包管理系统和文件系统布局;而不是类似 Oracle Linux 和 CentOS 的关系,即替换和增补部分组件和内核的方式。

结论:欧拉是一个沿袭了红帽系的技术和惯例,但是独立发展的 Linux 发行版。

牵一发而动全身,欧拉已经成为华为的技术基座

就像前面说的,市面上并不乏类似于 CentOS 的发行版,但是,并不能给人以充足的信心。我们知道,开发并维护一个 Linux 发行版,其投入非常大,而且持续的维护也很辛苦。这一点可以从其他几个主要 Linux 发行版的情况可以看出来,有的 Linux 发行版供应商几年来多次卖身、有的转向以云服务为重心、有的几年才能推出一个重大版本。

而据我了解,欧拉在推出伊始,就得到了华为的鼎力支持,不但投入了华为操作系统实验室的技术高手,而且在产品、资金、宣传和人员方面也不吝投入。或许你觉得这只是宣传,但我觉得有一些事例可见一斑:欧拉在推出不久就拥有了诸多下游发行版,比如 UOS(原深度 Linux)、麒麟,甚至连 SUSE 都基于欧拉推出了下游发行版。试想,如果这些发行版认为欧拉只是昙花一现的 KPI 项目,它们会押注欧拉吗?

既然如此,那我就对欧拉能得到持续而稳定的投入和支持拥有信心。所以,是否采用欧拉作为你的基础设施,想必你也有一个判断了吧?

欧拉有丰富而庞大的支持社区和支持企业

说实话,作为一个浸淫 Linux 开源圈子多年的技术人,我这些年见惯了技术社区的起起落落。但是我从来没见过一个技术社区能如欧拉社区一样迅速崛起并壮大。2019 年底,华为正式开源了欧拉操作系统,邀请社区开发者共同来贡献。才仅仅一年半后,截止到 2021 年 9 月,欧拉社区 就已经拥有了 14 万社区用户,6 千多名社区贡献者,8 千多款社区软件,91 个特别兴趣组(SIG)以及 9 个下游的商业发行版。不仅如此,欧拉还在操作系统之外,开源了虚拟化平台 StratoVirt、容器引擎 iSula 等重量级软件。

所以,有这么庞大的支持社区和这么多的生态企业,你觉得需要担心支持吗?

为什么我们还需要一个独立的 Linux 发行版?

我们可以看到,虽然现在的 Linux 发行版不少,但是真正能在企业级使用并不多。而以前,这些企业级的 Linux 操作系统往往是由国外的企业进行支持的。我们说,开源是无国界的,但是企业是有国界的,谁也不敢保证企业是否会受制于某个国家的法案而终止服务。因此,有一个国产的 Linux 发行版供应商至关重要。

这些年来,中国已经有一些 Linux 发行版供应商。如今,在国家的持续支持下,它们也得到了不同程度的发展。不过,相对于中国迅猛发展的信息技术基础设施,我们还需要更多、更有力的企业和社区的支持。此外,考虑到中国对芯片产业的迫切需求,我们也需要有一个符合中国发展的独立 Linux 发行版来更好的支持这些国产的芯片和指令集。

虽然在企业运维中或多或少会使用英语等外语,但是就国内普遍的运维群体而言,对英语的娴熟使用程度上尚有较大的欠缺,因此,这就需要有一个具有更熟悉的语言环境的本土技术社区,才能真正促进国内运维技术人群的发展。当然,这并不是说我们只采用中文,而是会在满足中文沟通和支持的基础上,立足国际化,让源于中国的 Linux 发行版走向世界。

而在这方面,欧拉已经做了一系列工作:

比如,对多种计算架构的支持。典型的,Linux 都会支持不同的技术架构,这包括 x86、ARM 等等。而国内诸多发力于处理器芯片的厂家也打造出了林林总总的不同特性的芯片,但是这些芯片要得到主流操作系统的支持,则需要更广泛的认可和漫长的时间。如今的欧拉不但可以完美的运行在华为自家的鲲鹏处理器上,更是可以支撑国内多家的 ARM 服务器。作为一个拥有多家下游商业发行版的 Linux 操作系统,如果能在欧拉上得到适配支持,无异于可以在更广泛的用户群体里提供对国产芯片的直接支持。

再比如,对新技术需求的支持。近些年各种新技术层出不穷,如云边端融合、以新的容器技术为代表的云原生计算等等。这些都迫切需要在操作系统层面得到支持,由操作系统提供一个创新的平台,才能够给这些新的技术突破提供成长的土壤。欧拉首先是一个 Linux 操作系统,但是它也是一个孵化新技术的“Apache 基金会”,在欧拉之上,已经有可以运行于多种边缘设备的容器引擎 iSula、相对 QEMU 资源占用减少了 80% 的 StratoVirt 等等新技术。

结语

回到我们最初的问题,30 年过去了,我们还需要一个新的 Linux 发行版吗?我的答案是,需要。而且,我们已经提交了一份正在不断丰满的蓝图。