20+核心组件自主选型 - openKylin 1.0筑根之旅!
近日,中国首个开源桌面根操作系统openKylin(开放麒麟) 1.0重磅发布,完成20+核心组件及部分生态应用软件的自主选型构建,标志着我国拥有了操作系统组件自主选型、操作系统独立构建的能力,填补了我国在这一领域的空白。
众所周知,开源操作系统是由众多开源软件构建而成,而核心组件选型可以简单理解为选择一些关键软件(如kernel、glibc等)的某个版本来作为根基构建我们的操作系统。因此核心组件自主选型对操作系统根社区来说是一项基础且重要的工作!
下面,围绕自主选型必要性、openKylin自主选型工作成果、openKylin自主选型策略和后续计划四部分,带大家了解我们的自主构建之旅。
一、自主选型的必要性
- 自主率提升:修炼内功,提升了能力,提高了软件包自主选型构建的自主率,降低对ubuntu等上游操作系统发行版的依赖,降低了制裁断供等相关风险。
- 安全性、稳定性提升:通过选型和构建软件包,保证发行版软件包是经过安全审查和测试的,降低了恶意代码或漏洞风险。
- 需求匹配度提升:通过进行软件包自主选型构建,发行版根据其用户的需求来选择软件包的版本和配置,从而使系统更加可定制化
- 版本控制管理效率提升:通过自主选型构建,发行版可以更好地管理软件包,包括更新、升级、卸载等操作
- 软件包可维护性提升:通过自主选型的软件包获取更多的社区支持(如生命周期符合要求的最新LTS版本),包括更好的文档、教程和技术支持。
二、openKylin自主选型工作成果
在openKylin 1.0长达一年的开发过程中,由社区Packaging SIG牵头,Kernel SIG、QT SIG等众多SIG组和开发者的共同参与下,最终完成了openKylin 1.0版本的内核、运行库(glibc)、编译工具链(gcc、llvm-toolchain-15/clang等)、底层服务(gvfs、grub2、initramfs-tools、systemd、apt、dpkg)、网络相关、Qt组件、显示、安全相关等20+核心组件以及一系列底层服务、基础软件、上层应用等开源组件的调研评估和自主选型构建工作,保障了openKylin 1.0版本操作系统在编译性能、运行兼容性、音视频处理能力、文件读写性能、网络稳定性、图像显示能力及安全性等方面的领先!
三、openKylin自主选型策略
1、openKylin软件项目选型策略
- 持续积极引入全“A”软件(版本);
- 鼓励引入仅含”A"和”B”软件(版本);
- 谨慎引入含"C“软件(版本);
- 拒绝引入/及时删除含“D”或者“C >= 3”的软件(版本)。
2、openKylin软件版本选型策略
- 及时跟进上游社区动态,优先选择开源组件当前稳定分支的最新版本;
- 兼顾生态,软件版本自主选型的同时,考虑国内外主流桌面发行版创新版本的选型策略;
- 兼顾稳定,软件版本选型时需考虑和其他软件的兼容性,如需其他组件配合升级的,应及时沟通,统筹规划,避免后期导致严重问题影响交付;
- 软件版本一旦选定后,若无特殊情况,在openKylin主版本的生命周期内不再做大版本变动,仅采取特性、补丁回合方式解决质量问题。
3、openKylin软件分级与兼容性原则
4、具体选型流程
- 依据“软件项目选型策略"挑选需要引入的新项目
- 依据“软件版本选型策略"挑选该项目需要引入的某一个版本
- 输出“项目选型报告”,包含新项目的合规性、兼容性、重要程度、活跃度、质量、安全性具体情况,以及选中版本的新特性、兼容性、影响域、其他发行版中版本情况对比等内容;
- openKylin社区技术委员会评审。
5、构建流程
四、后续计划
后续将继续由Packaging SIG组主导,在社区各SIG组和开发者的共同参与下,进一步对各类公共软件包,应用程序进行自主选型构建,更新维护升级,逐步完善软件源生态建设,丰富各类应用,提高软件源的质量。通过自主选型构建,从源头掌控,确保软件生态与系统的最佳匹配。同时在迭代的过程中对上述选型方案策略,流程,构建规则进一步修改完善。
- Packaging SIG主页地址:
- https://gitee.com/openkylin/community/tree/master/sig/packaging
欢迎所有对openKylin社区软件自主选型、编译打包工作感兴趣的社区爱好者加入我们!