10

给世界多一个操作系统的选择,openEuler的开源故事

 3 years ago
source link: https://new.qq.com/omn/20201211/20201211A05GCJ00.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

软硬件协同、云边端协同已经成为 IT 世界发展的下一个趋势,操作系统成为了居中调度的中枢神经。openEuler 是一个开源、免费的操作系统平台,自开源至今,短短一年时间已经有 2000 多位贡献者,70 余个 SIG 组,社区迅速发展壮大。InfoQ 记者对 openEuler 技术委员会委员熊伟博士做了专访,以挖掘 openEuler 生命力背后的故事与逻辑。

1

开源初心:openEuler 开始的故事

InfoQ:华为开始研发 openEuler 的背景是什么?为什么最终选择了将它开源出去?

熊伟:华为早在 2010 年左右就开始研发自己的操作系统 EulerOS,经过十年的打磨最终选择开源的主要原因是随着业务的发展,华为已经开始进入到围绕计算产业构建全方位生态的战略阶段,在这个过程中,操作系统是非常重要的一环,EulerOS 发挥着一个承上启下的作用。因此,华为决定将 EulerOS 开源,开源后命名为 openEuler,和行业伙伴一起共同构筑计算产业的底座。

InfoQ:openEuler 在研发过程中遇到过最大的挑战是什么?有哪些印象深刻的故事可以跟大家分享一下?

熊伟:从纯技术的角度看,openEuler 并没有遇到非常大的难题,不论是内核、编译器还是虚拟化、容器等基础核心技术,华为都有非常深厚的储备,在国际上也是排在前列的。把这些不同的系统技术组合成完整的操作系统,技术层面上对华为没有难度。

真正的困难还是在于理念:我们如何做操作系统,操作系统行业规律是怎样的,开源和操作系统两者组合下的商业模式是什么?研发规律是什么?如何形成一个良性的社区机制?这些其实是最困难的地方。

我觉得比较幸运的是,华为公司内部从四五年前逐步开始理解这些产业规律,选择了开源的战略决策,同时坚定地把操作系统当做一个产业来做,这是一个非常巨大的转变。我们后面还会有更多挑战,但是万里长征的第一步我们解决了,未来将有无限可能。

2

技术积累:打好底座再做突破

InfoQ:能否给大家分享一下 openEuler 的技术架构,相对于同类型产品,它的优势体现在哪些方面?

熊伟:操作系统的应用范围很广泛,涵盖 IOT 设备、终端设备到服务器、云等场景。分界点是边缘计算,往上的服务器、云场景下,操作系统的形态比较固定和统一,但是往下的 IOT,终端等领域操作系统的形态就会变的非常多样,因此,针对这样的产业情况,我们会有两个目标。

第一个目标,首先是做一个服务器的发行版,让云和服务器都能用上。

第二个目标是构建一套完整的工具,使之能够从标准发行版剪裁、定制出适合不同场景的小 OS。

对于所谓技术优势,我个人并不倾向于这种说法,因为 openEuler 是开源的操作系统,开源的特点就是我今天把它开放给社区以后,其他厂商马上就能享受到技术红利。反之亦然,当别人好的特性开源出来以后,我们也能享受红利。我们更希望是与行业的伙伴一起共同把 IT 的基础底座打牢,做得更好,这是我们的目标。

InfoQ:能否给大家介绍一下 openEuler 最新发布的 20.09 版本的新特性?开发者可以通过什么渠道去试用?

从特性的维度看,openEuler 国内首次支持了 RISC-V 体系架构,支持了树莓派。发布了全新虚拟化平台 StratoVirt。此外还有机密计算框架 secGear,安全框架 IMA 等等。同时随着麒麟软件贡献了 UKUI,openEuler 也终于有了图形化界面。这几点都是非常振奋人心的进展。

InfoQ:在 Linux 内核层面,openEuler 都做了哪些具体的工作?

熊伟:openEuler 在内核上的贡献比较广泛,主要体现在对 ARM 体系架构的支持上。在 5.8 Kernel 上,华为是全球贡献第二的厂商。除此之外,在安全、性能、多核等方面,华为也都做了非常多的贡献。但我们对内核团队的期望还是比较高的,除了体系架构、驱动、底层硬件支持以外,也期望未来能够在内核的基础框架层面,华为能持续提供创新的贡献和思路。

InfoQ:openEuler 是一种支持多算力架构的操作系统,主流的 x86、ARM、RISC-V 这些架构都支持,技术上实现的难点是什么?适配上都做了哪些工作?

熊伟:目前 Linux 对不同体系架构的支持做得不错,从体系架构的层面看难度并没有那么大,现在支持一个新的体系架构相对不是那么困难。但是因为不同芯片厂商 BSP 的差异比较大,可能存在一定的冲突,所以需要做一些适配。但这只是第一步,除了能跑起来,怎么样跑好才是一个大问题,充分发挥处理器的算力有非常多的工作要做。理论上来说,无论是对内核、芯片还是体系架构的支持,越往上走,性能调优方面的工作就会越重要。

3

打破定局:如何构建操作系统新生态?

InfoQ:openEuler 社区的 SIG 组是什么?社区后续发展计划是怎样的?

熊伟:SIG 组全称叫 Special Interest Group,特殊兴趣小组。如果把一个开源社区比作一个公司,那么 SIG 组就相当于一个个不同的职能部门,比如开发一部、开发二部、财务部之类的。大型 / 综合性开源社区很多是以 SIG 组作为基本的组织单元。

比如在 openEuler 社区中,如果想开发一个图形化界面,如何去做开发和承载呢?这时候就需要组织一拨人去做这个事情,实际上 SIG 组就相当于承载了这个职能。SIG 组里的工作流程、工作方式、技术演进方向,都在 SIG 组内进行讨论。如果大家有很好的想法,或者希望在 openEuler 社区中去做一个新的领域,我们很欢迎大家在 openEuler 社区中申请一个 SIG 组,把领域内的好手聚在一起,共同开发。

在 SIG 组之上,我们有 TC 委员会,就是技术委员会,TC 对这些 SIG 组起到辅导,促进,监督的职能。SIG 组不是一成不变的,是动态的。社区内的 SIG 组可能会撤销、合并、分裂,这完全取决于社区的演化,在这个过程中,TC 不会干涉 SIG 组的技术方向,但会对 SIG 组之间的关系做协调,当 SIG 组之间产生无法自行协商解决的冲突的时候,TC 做最终的裁决。

目前 openEuler 社区的治理遵循扁平化的原则,主要包括理事会、秘书处、技术委员会、安全委员会、SIG 组五类组织。理事会和秘书处主要负责社区的运营工作,技术委员会、安全委员会和 SIG 组主要负责技术层面的工作。安全委员会相对独立,它对整个社区的安全负有监督重任,不受其他组织干预,确保独立性。我们也期望通过这种扁平化的管理实现开放和高效两个目标。

openEuler 社区发展的方向是比较明确的。从代码 release 到现在,也就十一个月时间,第一个正式版本今年 3 月份发布距今也就半年多,在这个初始阶段:

首先是把操作系统的完整性、易用性问题解决。目前社区已经有 70 多个 SIG 组,基本涵盖了操作系统的大部分功能领域,但仍旧有不少缺失的地方需要补齐。

第二个发力的维度是安全。随着全面云化的到来,加上边缘计算开始兴起,安全的重要性凸显出来了。20.09 版本上我们发布了 IMA、secGear 等安全可信新特性。在明年将发布的 21.03 版本上,还会有更新的安全技术特性发布,敬请期待。

第三方面是性能,操作系统在性能层面要充分发挥不同体系架构的算力,这也是我们非常重视的方向。

最后一个大的方向是云原生化,云原生的理念横跨完整性、易用性、安全性,未来会逐步地对操作系统产生非常大的影响,对我们而言云原生是一个自然的演化过程。明年的某个版本上,大家会看到我们新一代云原生操作系统的原型发布,这个很值得期待。

InfoQ:技术架构的搭建相对容易,一个健康、壮大的生态却很难。在同类型操作系统已经相对成熟的情况下,您认为 openEuler 社区持续生长的根本原因是什么?

熊伟:操作系统行业多年来只有几个传统的大玩家,成熟稳定就意味着很少有突破,很少有成功的创新的尝试。openEuler 希望在这个成熟的领域做更大胆的尝试。在技术路线的选择上,openEuler 想法会更加前沿,我们会期望更多新技术甚至是尚不成熟的技术在我们的社区里孵化。

从技术演化的角度来看,不论是从硬件层面还是业务层面,IT 世界已经在发生潜移默化的巨大变革,对于操作系统而言,变革的时间点也已经到来。当我们把这个社区建立起来以后,你会发现国内蕴含了巨大的能量,只是以前没有出口和渠道。当 openEuler 出现以后,各种厂商、各个技术团队甚至个人都爆发出了惊人的潜力,碰撞出了非常多的想法,我们相信中国的开源土壤和文化也在不断地形成。

最重要的一条,我认为还是商业逻辑。openEuler 做出来以后,不光为了服务华为,我们更期望它能够成为行业内共同维护的一个底座式的平台。我们对于体系架构没有偏向性,任何的 ISV、OSV 我们都持欢迎态度,大家都能在 openEuler 上获得商业利益,即使是竞合关系也能促进行业的持续发展。我相信以上是促使 openEuler 在国内快速发展的原因。

4

层层质疑:国产操作系统有多难?

InfoQ:开发者对国产操作系统的印象就是换皮 Linux,openEuler 有没有遇到类似的质疑,您怎么看这个问题?造成这个现象的根因是什么?

熊伟:首先这个质疑是对的。国内操作系统行业长久以来确实存在这样的问题,所以 openEuler 期望能彻底地改变这个格局。

这要从操作系统到底是怎么构建起来说起,大家通常都关注 Linux 内核 kernel,实际上一个标准的 Linux 操作系统非常复杂。以服务器操作系统为例,通常由 4000 - 5000 个软件共同组合而成,kernel 只是其中之一。如果是桌面系统,软件总量甚至上万。

如果以盖房子的比喻来形容操作系统的构建,这一个个构成操作系统的软件就像长在森林里原木,国外的社区,厂商是从森林里采伐原木,加工设计、建造成一个操作系统的房子。而以前我们国内的厂商则是把人家建好的房子整体拿过来,重新刷上油漆,打上自己的 logo,这就是所谓的换皮。这种做法意味着,我们之前所谓制作操作系统根本谈不上设计能力,如果想把别人设计好的两室一厅的房子改成三室一厅,或者新增厨房、厕所,我们之前根本就没有这个能力。

openEuler 的做法则是直接从森林里伐木头,自己设计、打磨、组装,从底到上完全是自己设计和构建的,这样做出来的东西,培养出来的人才梯队后面的演进就可以做到随心所欲。经过一年多的发展,相信大家也能看到 openEuler 的成果,换皮一说对 openEuler 肯定是不成立的。

InfoQ:openEuler 的商业模式是怎样的?如何构建起一个开放、信任的生态?

熊伟:从近两年的情况看,生态在 IT 圈子里的认可度越来越高,华为也看到了这个趋势。我们选择开源 openEuler 也是着眼于生态的建设。经过大半年的努力,社区的规模越来越大,质疑声越来越少,合作伙伴们也看到了华为的诚意和 openEuler 背后的商业逻辑。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK