【QCon】精华内容上线92%,全面覆盖“人工智能+”的典型案例!>>> 了解详情
写点什么

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

  • 2020-12-11
  • 本文字数:6060 字

    阅读完需:约 20 分钟

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

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


00:00 / 00:00
    1.0x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00


    开源初心:openEuler 开始的故事

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


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

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


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


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


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

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

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


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


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


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


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

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


    熊伟:openEuler 20.09 版本在国内操作系统发展史上是一个里程碑式的版本,主要是在于它是中国开源操作系统历史上,首次由不同厂商、不同机构甚至包括个人参与,共同协作完成,纯社区化运作开发出来的 大型 OS 系统。openEuler 20.09 来自华为以外的贡献比例接近 40%,这在国内是首次。


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

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


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

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


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

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

    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 在国内快速发展的原因。

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

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


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


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


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


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

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


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


    至于其它方面的质疑,我觉得也没必要去过多解释,时间可以说明一切。我相信明年如果我们有机会再聊一次,大家会看到更多关于 openEuler 社区生态的成果。


    今年 12 月份我们会在北京举办 openEuler Summit,届时将会有一个生态方面的重磅消息发布出来,非常激动人心,大家可以特别关注一下。

    InfoQ:开源的一大关键是建立信任,开发者对国内开源项目的不信任感非常明显,您是怎么看待不信任这个问题的?


    熊伟:确实存在这样的问题,国内有一种说法叫 KPI 开源,很多大公司开源的目标主要是为了完成自己的绩效。造成这样的原因的根本原因是开源一定要有商业利益和商业逻辑支撑,开源并不是一个彰显情怀,展示自己技术能力的行为。国内很多开源项目其实是没有商业逻辑支撑的,也就会演变成只开源不维护的地步,这样的开源项目怎么可能让人信任呢。


    只有具备商业逻辑以后,开源项目才能在公司层面得到战略支持,才能有开发团队、运营团队、商业支撑团队,也才有市场宣发行为的发生。这背后的一切,都需要非常大的投入和长时间的坚持,这是一个慢慢积累的过程。这可能是国内开源项目少有成功先例的原因。


    为什么我在这里谈了很多 openEuler 商业逻辑、商业闭环,其实就在于希望给外界传递一个信息,openEuler 是华为公司的战略,也是行业发展到现阶段的必然诉求,在背后投入资源的不光是华为一家公司,还有很多合作伙伴已经把各自公司最精锐的力量都投入到社区开发中去,我们有理由相信 openEuler 的发展一定能够获得大家的信任。

    InfoQ:openEuler 有国际化的发展规划吗?这里面的挑战是什么?


    熊伟:首先对于这个问题的回答是,肯定会国际化,这点毫无疑问。


    从公司角度来说,华为做任何项目,都是着眼于全球,哪怕是一个耳机,也是全球发布全球卖。从商业逻辑上来讲,如果只局限在国内市场范围,影响力还是很小的。


    从开源行业的角度来讲,只要社区符合行业发展规范,做的东西足够好,国际化就会自然而然地发生。举个例子,我们统计过 openEuler 的下载量,发现南美地区的下载量还挺大的,我们都感觉到挺纳闷,我们从来没有在南美宣传过,这就是开源的特点。今年我们主要是打牢底座,明年大家会看到更多国际化的步骤和动作。


    从开发团队的角度来说,openEuler 团队的工程师也非常有激情,因为没有哪个工程团队希望自己做的软件或系统只是为特定的市场服务,每个工程师都希望做的东西能够世界闻名,成为世界级的平台。

    成功,远非一夕之功

    InfoQ:在您设想中,怎样的 openEuler 称得上是成功的?


    熊伟:首先,规模商用是最重要的指标,没有之一,我期望基于 openEuler 的操作系统能够在世界范围内获得超过 30% 的使用量。一个社区肯定需要有商业成功,没有商业成功的社区基本上就只能沦为自嗨的社区。


    第二,我认为一个社区成功的标志是治理体系足够成熟。我们现阶段的治理体系刚开始建立,还在摸索阶段,将会引入更多的厂商形成共同治理。这个过程国内没有先例,一切都还在摸索中,好消息是我们已经与社区一起讨论关于如何共同治理、委员会如何选举等议程。我希望假以时日,openEuler 社区的治理体系能够给国内开源行业提供一个成功的社区治理范本。


    第三,能够培养出一批年轻的工程师,特别是开源和操作系统领域的工程师。我们这个行业当前的主要的 leader 都是 70 后,之前十来年国内基础行业发展并不好,人才存在断档。我期望有更多的 80,90 后甚至 00 后加入这个行业,搭建起技术人才梯队。只有技术梯队持续不断地跟进,社区、产品和开源的操作系统也才能发展下去。


    第四,技术层面希望 openEuler 能够孵化出更多世界级的软件。希望很多人一提到 openEuler,就能想起 StratoVirt、iSula、secGear,A-Tune 等等,我们期望社区能够孵化出世界级的平台,openEuler 不仅是把开源软件攒在一起形成商业发行版,还能有更多原创性的软件进入我们的视野,伴随 openEuler 成长而成长。


    openEuler Summit 是由 openEuler 社区举办的开发者交流会,首届线下 openEuler Summit 2020 将于 12 月 24-25 日在北京·望京凯悦酒店举办。openEuler 是一个面向未来的开源操作系统,依托于最具活力的 openEuler 社区,它的未来将不止于操作系统!


    openEuler Summit 2020 将聚焦于软硬件协同、云边端协同的技术趋势,万物互联的多算力场景,挖掘技术创新与社区生态的价值。开发者、用户、社区贡献者、软件爱好者在 openEuler Summit 上汇聚成海,连接行业上下游,让全产业链共享操作系统创新价值。


    扫描下方【二维码】或点击【链接】立即报名,名额有限先到先得!



    公众号推荐:

    2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

    AI 前线公众号
    2020-12-11 18:354055
    用户头像
    小智 让所有人认同的文字称不上表达

    发布了 408 篇内容, 共 376.1 次阅读, 收获喜欢 1972 次。

    关注

    评论

    发布
    暂无评论
    发现更多内容

    沐曦加入龙蜥社区,聚焦技术创新,繁荣开源生态

    OpenAnolis小助手

    龙蜥社区

    eoiioeWeb安全渗透测试之信息搜集篇

    喀拉峻

    网络安全 安全 WEB安全

    尝试下使用 cpp 实现 Rust 的 enum

    SkyFire

    c++ rust Enum

    git普通库与裸库

    SkyFire

    git

    linux库打桩

    SkyFire

    Linux hook

    有哪些比较好用的在线项目管理软件值得推荐?

    优秀

    项目管理工具

    Modern-Cpp学习笔记

    SkyFire

    c++

    学生管理系统架构设计

    Evan

    Dubbo 框架学习笔记十六

    风翱

    dubbo 12月日更

    合并两个有序链表

    田镇珲

    算法 链表

    模块三

    Geek_59dec2

    搭建PXE服务器(Ubuntu/Deepin)

    SkyFire

    Linux ubuntu deepin tftp pxe

    linux信号操作

    SkyFire

    Linux 信号

    巨杉数据库加入龙蜥社区,共同推动软硬件行业生态发展

    OpenAnolis小助手

    龙蜥社区

    学生系统架构详细设计

    Only

    架构实战营 「架构实战营」

    Serverless Kubernetes 落地实践

    阿里巴巴云原生

    阿里云 Serverless Kubernetes 云原生

    使用gprof进行简单程序的性能分析

    SkyFire

    Linux 性能分析 gprof

    objdump简单使用

    SkyFire

    Linux objdump

    linux文本处理四件套的简单用法

    SkyFire

    Linux sed grep awk find

    OpenKruise v1.0:云原生应用自动化达到新的高峰

    阿里巴巴云原生

    阿里云 Kubernetes 云原生 OpenKruise 套件

    架构实战营 4 期第三模块作业

    jialuooooo

    架构实战营

    Centos7 安装MySql 5.7多实例

    taony

    MySQL

    Go 语言快速入门指南:第八篇 接口

    宇宙之一粟

    golang 接口 12月日更 Go入门

    gtest入门

    SkyFire

    c++ GTest

    元宇宙100讲-0x010

    hackstoic

    元宇宙

    Go语言国际化 i18n

    xcbeyond

    golang 28天写作 i18n 12月日更

    NFS(网络文件系统)配置(Ubunut/Deepin等系统)

    SkyFire

    Linux NFS

    PassJava 开源 (十) :Spring Cloud 整合 OSS 对象存储

    悟空聊架构

    OSS 28天写作 passjava 悟空聊架构 12月日更

    C++11 extern template

    SkyFire

    C++11 template

    使用 Prometheus 监控的一些注意事项

    耳东@Erdong

    监控 Prometheus

    【CSS 学习总结】第九篇 - CSS 布局-居中布局-水平垂直居中布局

    Brave

    CSS 12月日更

    给世界多一个操作系统的选择,openEuler的开源故事_开源_小智_InfoQ精选文章