EulixOS,中国开源操作系统的新探险

2022-08-30 13:25:14 浏览数 (1)

那还是在2005年,作为一名学生,武延军参加了谷歌举办的第一届“编程之夏”(Google Summer of Code,GSoC)活动。

“编程之夏”是一个面向全球在读学生的开源程序设计项目,由谷歌组织并提供经费。举办至今,影响力早已名播学界。谷歌希望借此让在校学生参与到开源社区中,并能有机会在导师的指导下,完成一个开源项目。

那个夏天,开源届的大师,也是当时FreeBSD基金会主席Robert Watson,亲自指导了武延军。

这段15年前的短暂经历,让今天已身为中国科学院软件研究所(以下简称“中科院软件所”)副总工程师的武延军至少意识到了两个问题:一是让学生在导师指导下,真正去完成一个开源社区项目,实现对于学生的启蒙意义;二是在一个开源生态的健康发展中,繁荣的社区意味着什么。

可能还有第三点——“我们发自内心希望把开源社区做好。”这里隐约仍然可以看到GSoC对武延军的影响,他说:“openEuler社区是一个很重要的举措。”

中科院软件所副总工程师 武延军

提供另一种可能

2019年10月,中科院软件所和华为公司在深圳签署合作协议,共建openEuler社区是其中关键一环。

根据协议,中科院软件所将深入参与到华为计算产业核心关键技术的科研攻关中,包括共同培养鲲鹏计算产业人才、打造基于openEuler、数据库的产学研示范工程等内容。

而围绕openEuler的社区建设和操作系统研发,以及开源软件生态建设都在合作之列。

这距离华为在HC2019上宣布开源其服务器操作系统EulerOS(其开源版本的名称即是openEuler)仅刚刚过去了1个月的时间。

华为从2010年开始研发服务器操作系统EulerOS。在2019年宣布开源时,它已在通信、存储、云等产品中广泛使用,部署超过10万套。它是华为自己的“红帽”。

IBM 2019年以340亿美元收购红帽,让开源成为了开源界乃至科技届的一个热点话题。不过今天,作为业内人士,武延军对当下工作是否意味着自己正参与建设一个“新红帽”的话题,却并没有太大兴趣。

“我们科研院所本身没有特别商业化的驱动力,”他说,“但红帽确实证明了开源软件也可以创造很大的商业价值。”

中科院软件所希望做的,是为产业界提供另一种可能性的支撑。

“我们希望有一个国内的发行版,作为科研实验的平台。如果所有科研成果都能在国内操作系统发行版上做实验,并得到国际同行的认可,我们对产业的贡献将是直接的,而且是良性循环的。”武延军说,“从长期发展看,我们也需要国内有一个开源平台来支持开源工作。”

他同时指出,中科院软件所是国家级的科研机构,本身就需要解决国家重大需求的问题,例如产业发展的高质量可持续与软件供应链的安全等。

一件非常熟练的事情

这也是华为在计算产业中的叙事与布局。目前,华为正通过通用计算和AI计算双引擎计算战略,通过硬件开放、软件开源、使能合作伙伴——在成为各行业合作伙伴的黑土地的同时,通过开放合作的产业链,把鲲鹏计算产业打造成数字经济的底座。

今年3月27日,在华为开发者大会2020(Cloud)上,华为宣布将在2020年投入2亿美元推动鲲鹏计算产业生态发展。其中,openEuler开源社区作为软件生态的核心,受到广泛关注。

正是在这次会议上,中科院软件所与华为在openEuler社区建设、操作系统研发领域的合作成果首次曝光——双方宣布基于openEuler的操作系统发行版EulixOS正式发布。

“中科院软件所在操作系统构建版本发行方面已经积累了很多年的经验,这对我们来说也是一件非常熟练的事情。”武延军说。在构建出首个版本后,软件所完成了一系列技术可行性验证,将一些典型的应用软件,包括一些比较复杂的应用软件在Eulix OS上做了适配运行,“发现效果、性能各方面都还不错”。

例如,在AI能力方面,EulixOS已完成了国内主流AI芯片板卡的兼容性适配,并提供了AI算力的细粒度封装和分发机制,为国产化软硬件智能计算解决方案奠定了技术基础。

在安全加固方面,EulixOS集成了自研安全漏洞管理系统Vtopia,可对内核、基础库、应用框架、应用软件中的安全漏洞进行层层排查,可视化展现待修复软件和安全漏洞列表,实现对安全漏洞的实时可靠管控。

在稳定性方面,EulixOS遵循CVSS国际缺陷风险评估标准,对每个缺陷的威胁程度进行自动评级与预警,并通过独创的VulGraph缺陷图谱技术,从缺陷特性、破坏能力、攻击威胁、技术环境等多个维度对大量数据进行知识化整合与智能化分析,提供全局性修复建议。

在不到一个月后的4月17日,openEuler社区在线召开首届 openEuler峰会2020 (openEuler Virtual Summit 2020),开始以社区身份向计算产业界分享openEuler的最新技术进展、研讨新版本技术规划。

软件所同时也宣布,已在openEuler社区创建并维护RaspberryPi (树莓派)、ROS(机器人操作系统)、RISC-V(开源指令集)三个SIG 组,已经把openEuler 移植到了树莓派,正在将ROS移植到openEuler,并正在努力让openEuler能够运行在RISC-V架构的处理器上。

openEuler的新工具

“社区要解决的是开源软件供应链的问题。”武延军指出。软件已经成为信息产业的核心基础设施,这个基础设施本身所谓的原材料包括上万个开源软件,其中任意关键开源软件的供应如果出现问题,都会产生一些非常严重的影响。

开源操作系统构建过程,本质上是开源软件包按照供应链关系的组织和优化。武延军认为,可靠的供应链是构建一个可大规模商用操作系统的基础。

尽管滋养红帽成长的大环境已经一去不返,但它仍然为一个新时代的开源操作系统建设留下了经验。

开源软件的背后是一个庞大的开发人员社交网络,红帽在开源社区中的成功,就在相当程度有赖于此。不仅在国际顶级开源社区中都有红帽的身影,而且在领域内顶级的开发人员也都与红帽有着广泛的合作。

这也正是行业所谓“红帽不可复制”的原因,时代变了——人们失去了在开源软件拓展阶段特殊的社交网络路径——就像QQ之后再无QQ,微信之后难有微信一样。

“但我们有了更加先进的生产工具——知识图谱。”武延军说,它将通过持续更新迭代,为openEuler软件供应链提供长期支持。

知识图谱的大致构建流程是这样的:先从代码提交日志、缺陷报告、软件源代码和其他数据源中提取软件知识,完成关系抽取后,建立实体关联关系,并在知识融合后完成开源软件的知识图谱。

如果发现了一个开源软件的缺陷,这个知识图谱的价值就开始发挥。从谁提交了代码,以及他还在其他开源软件提交过什么代码,直到这些代码在哪些软件里使用等,都可以自动发现和串联起来。

这是中科院软件所为openEuler社区贡献的一个亮点。在此之前它被称为漏洞知识图谱,由软件所一个专门的团队作为漏洞挖掘工具构建而来。

当然,开源软件各个维度的信息都可以成为知识图谱的一部分,而不只是漏洞。它将有一个关于开源社区数字空间真实状态的描述能力,例如寻找一个拥有特定能力的程序开发人员。

开源软件的商业模式不像互联网应用,人们通常需要以十年这样的周期去看它。知识图谱的构建,就是openEuler在这一维度上所表现出的先进性。

200 项开源任务

与此同时,历史的成功经验仍然重要,而且值得借鉴。

也许是受到了谷歌的“编程之夏”的影响,中科院软件所发起了一项名为“开源软件供应链点亮计划”的活动。

这个和openEuler发行版EulixOS同时发布的计划,支持和激励科研人员、开源爱好者和学生积极参与openEuler社区开源代码贡献,希望以此降低开源软件供应风险,并帮助社区高质量、可持续发展。

武延军把这个计划视作openEuler开源社区和EulixOS一个亮点。目前,该项活动已经通过官网上线并启动。他介绍说,目前建立联系的导师有100多位,涉及50多个社区。“希望今年能够吸引超过200个学生,参与200项以上的开源任务”。

这是双方协议的一部分。在中科院软件所与华为于2019年签署的合作协议中,双方就已经确定将围绕操作系统研发、软件生态建设、人才培养等领域展开多元化的合作。

目前在openEuler社区建设中,双方正合作打造基于openEuler的教育课程,以期形成标准化的openEuler教学体系和实训平台。同时,为了降低openEuler学习体验门槛,促进其使用与推广,软件所团队配套推出了openEuler的知识连载,部分文章已上传至openEuler社区进行传播,并且配套完成了openEuler向国际上广泛使用的树莓派开发板的移植,负责该移植后分支版本的长期维护。

“一个开源的操作系统真正能够发展起来,生态能否实现共建、共享和共治非常重要。”武延军说,“这是中科院软件所和华为的共识。”

0 人点赞