近日,我国首个桌面操作系统开发者平台“开放麒麟”正式发布。该平台将打造具有自主创新技术的开源桌面操作系统。
“开放麒麟”基于麒麟软件数十年的操作系统研发成果、十多年的开源社区开发和建设经验,由国家工信安全中心联合普华基础软件、麒麟信安、中国电科32所等单位共同建设。
此次各方共同推动平台构建,对国产操作系统产业发展有重要意义。传统国产操作系统经过了从“不好用”到“能用”的阶段,正加速向“好用”阶段发展,相关商业化还处于起步阶段。与此同时,各类新兴国产操作系统品牌也不断涌现,但受限于积累时间较短,商业应用适配成熟度较低。
本次发布的“开放麒麟”为什么选择开源模式进行开发?桌面操作系统的代码量庞大,写一个操作系统,需要投入多少人力物力和时间?新的操作系统怎样让用户用起来更方便?
“开放麒麟”为什么要“开放”?
工信部互动媒体产业联盟、数字文化工作组组长、专家委委员包冉介绍,从开发和运维的角度进行划分,可将操作系统的开发方式分为两类。
一类是闭源模式,即操作系统的内核,由公司牢牢把握,并不对外开放源代码,所有的开发、打补丁、升级或版本替换均由公司自身负责,只在应用软件层面对外开放。比如PC端的Windows、macOS系统,移动端的Android、iOS。
另一类是开源模式,即不仅仅包括应用软件、中间件,整个操作系统的源代码以及内核都对外开放。开源的开发模式离不开两大关键因素,首先要有强大的开源社区,聚集各路开发高手共同开发与维护开源操作系统。其次,开源社区的开发者需要遵循共同的开源协议(GPL):开发者如果对社区内下载的某一版本的内核进行升级或完善,则需要将自己开发的代码无偿上传回开源社区,以供更多的开发者共享。目前最为知名的开源操作系统是Linux。
本次发布的“开放麒麟”属于开源模式的操作系统,其本质是从Linux开源社区中下载内核源代码,再围绕自身面对的用户和市场特定需求进行的二次开发。为何市场上占主导的微软、苹果其操作系统均采用闭源模式,而“开放麒麟”则选择开源?
包冉表示,如果单纯为了实现一般意义上操作系统的基本功能,编写一个操作系统并不难。但如果要做能够商业化应用的、成熟的操作系统,实际上非常复杂,不仅仅在于开发,更在于生态的拓展与维护。而我国国产的操作系统,无论是在获得广泛的生态支撑,还是让更多人参与到系统开发中,均存在困难,因此采取开源的方式最为合适。
开发一个操作系统有多难?
桌面操作系统的代码量十分惊人,与平常所用的软件完全不在同一个量级。单以代码数量为例,Windows 10约有1亿行代码,Windows 11代码约为5亿行。实际上,如果从零开始编写一个不要求向上或向下兼容的操作系统,代码量也不算太大,但如今操作系统既要求兼容之前的版本,同时也要为以后的兼容性和开放性保持一定的灵活度,因此代码量要大得多。
不仅如此,每个操作系统都不止一个版本,需要同时开发多个版本。比如为生态开发伙伴提供开发者测试版,为市场提供稳定版,为重大版本迭代提供预览版等。在众多超大型软件公司里,这些不同的版本由相互独立的团队分头并进式进行开发,如此一算,代码总量则极为庞大。
类似微软和苹果等大公司,为了保持自身产品的兼容性,操作系统变得越来越臃肿,也不可避免地充满了不可预知的漏洞。包冉表示,虽然目前能够通过人工智能技术的代码自我演进功能提高开发效率,但人工智能算法带来的不安全性和未知性也使得大公司不敢贸然使用。
想变更“丝滑”?人机工程学是关键
不得不说,如今操作系统的使用越来越方便。过去购买一个正版的操作系统软件会附赠厚厚的一本操作手册,而现在即便是老人或儿童使用也能得心应手,且界面也越来越美观和简洁。
包冉表示,这一系列进步的背后,蕴含着极为复杂的人机工程学的学科机理。许多人仍然认为,近乎完美的安卓操作系统在细节方面不如iOS顺滑,这实际上也是人机工程学的强大所在。
因此,要想让国产操作系统使用时更加“丝滑”,需要维持开发更多的应用软件,更多人参与内核的维护与升级;更需要在人机工程学的学科建设上加大力度,培养更多人机工程学领域的专家,扩大对外交流,不断借鉴国际先进产品的人机界面。(编辑:伽伽)