麒麟系统为何饱受非议?
由国防科大开发的麒麟操作系统有很多,与国防科大混乱的 CPU 产品线一样,这些麒麟操作系统彼此之间技术延续性也有限,比较有名的是银河麒麟、优麒麟和中标麒麟操作系统。
另外,华为准备推出的可能被用于手机或物联网的操作系统也被命名为麒麟。
银河麒麟
银河麒麟是国防科大、中软公司、联想公司、浪潮集团和民族恒星公司合作研制的开源操作系统。
银河麒麟系统操作系统借鉴了 Linux、FreeBSD、Mach 和 K42 等操作系统内核技术,兼顾宏内核和微内核结构的优点,自主设计了层次式内核结构。
银河麒麟的内核结构由基本内核层和系统服务层组成,基本内核层包括硬件初始化、基本任务管理、基本存储管理、中断与异常处理等。系统服务层基于 FreeBSD 进行改进和优化,充分利用 BSD 操作系统的稳定性和丰富的工业标准接口,为用户提供工业标准的网络、文件系统等服务接口,实现了 Linux 二进制兼容模块、高可用模块和各种内核安全机制等。
银河麒麟系统操作系统核外工具环境基于 Linux 开发,采用 XWindow 作为系统的基本图形环境,支持 Gnome 或 KDE 桌面环境,设计了 Windows 风格的桌面环境和控制面板。
(银河麒麟)
银河麒麟曾经饱受非议的原因并不是因为基于 FreeBSD 进行修改——2006 年的银河麒麟操作系统内核与 FreeBSD 在源代码上比较相似。
事实上,FreeBSD 是完全免费开源的,FreeBSD 允许他人修改并使用其源代码,但必须声明是修改自 FreeBSD。而银河麒麟虽然声明过修改自 FreeBSD,但在最初却声称是自主知识产权,这显然是对 FreeBSD 的不尊重,也是在被国外程序员非议的地方。
那国防科大为何如此作为呢?用爆红网络的一句话就是“妥妥的体制问题”!
现在大家耳熟能详的操作系统都是几十年技术积累和站在巨人肩膀上的产物,而非凭空冒出来或从零开始从新开发的。
以国内各单位、公司目前的实力,用2-3 年的研发周期,有限的人力资源,4000 万人民币的研发经费,要从零开始独立开发一个拥有自己内核的操作系统是绝对不现实——WindowsXP 有代码 4000 万行,微软开发 WindowsXP 调集了 5000 余名程序员,在开发 Vista 所花费的研发费用超过了 200 亿美元。
雷军执掌的金山软件重写 WPS 也足足用了 3 年时间,耗资 3000 万人民币,而且雷军重写 WPS,微软开发 Vista,国防科大开发银河麒麟大致处于同一历史时期,因此,等于是要国防科大用与开发 WPS 相当的时间和 1.3 倍的财力,开发一个操作系统......
因此,基于 FreeBSD 进行二次开发/深度定制就成为理所当然的选择。但是某些领导非常喜欢“自主知识产权”,在各种文件和规定中也要求必须完全“自主知识产权”,于是就出现了明明是基于 FreeBSD 的二次开发,却声称是完全自主知识产权的情况。
再次澄清一下,基于 FreeBSD 进行修改并非污点,基于 Linux 或 FreeBSD/Unix 进行二次开发/深度定制,做出自己的操作系统,这其实大多软件厂商通行做法,比如谷歌和苹果。污点是基于 FreeBSD 进行二次开发/深度定制后宣称自主知识产权。
事实上,大部分基于 BSD 内核或 Linux 内核的操作系统都不会对系统内核做多少修改,银河麒麟系统为了适配国产 CPU 和设备以及保障系统安全可控,自主设计了层次式内核结构,对系统内 XWindow 核进行修改、加固,并于操作系统中添加自己的内核模块,自主化程度相对于国内其他国产系统算是比较高了,如果能沿着这条路一直走下去,不断提升自己的代码 比例,替换国外开源代码,开发自己的内核模块,未尝不是一条出路。可惜的是,已经没有如果了。
其实基于 FreeBSD/Unix 进行修改的操作系统有很多,最有名的就是被小清新奉为圭臬的 IOS。但有意思的是,在国内黑银河麒麟的人相当大一部分是攻击它基于 FreeBSD 进行修改,而不是没有声明该系统基于 FreeBSD,当银河麒麟已经声明是基于 FreeBSD 后,依旧被黑得不依不饶。
归根结底,银河麒麟的原罪仅仅是因为它是国产。
至于为何不从 0 开始写自己的操作系统,这个话题以后再说。
优麒麟
优麒麟是工信部、国防科大和 Ubuntu 系统开发商 Canonical 合作的产物。其实是 Ubuntu 系统的中文发行版,国防科大在其中添加了安全模块。
操作系统的编写要有很深的技术积累,其实,现在大家耳熟能详的操作系统都不是从零开始,都是站在巨人的肩膀上,比如 IOS 基于 FreeBSD、安卓基于 Linux,而 FreeBSD、Linux 追根溯源都是源自 unix,即使是微软的 NT 内核也和 unix 有着千丝万缕的联系。
下图为 Unix 发展史:
因此,Ubuntu 系统也是站在巨人队肩膀上,Ubuntu 系统源自 Debian 系统,Debian 是 linux 一个发行版。
中标麒麟
因 2006 年沸沸扬扬的银河麒麟抄袭事件导致银河麒麟名声扫地,出于未知的原因,国防科大逐渐放弃了 BSD 内核版的银河麒麟的继续开发与完善,转而研发 Linux 内核的麒麟(也有可能基于 BSD 的麒麟纯粹军用,不向民间推广了)。
虽然都叫麒麟,但是原来基于 BSD 内核修改的系统已经不再推广,麒麟系统 3.0 版之后开始使用 Linux 内核,天河 1 号上运行的很可能也是 Linux 内核的麒麟。
2010 年,民用的中标 Linux 操作系统和国防科大研制的银河麒麟操作系统在上海正式宣布合并,双方今后将共同以“中标麒麟”的新品牌统一出现在市场上,并将开发军民两用的操作系统。
平心而论,当初的基于 BSD 内核的银河麒麟被放弃着实令人惋惜,如果当时能顶住压力,继续完善开发麒麟系统,而不是朝秦暮楚的话,现在麒麟操作系统的自主化程度、安全可控程度和系统成熟水平可能会好得多。
中标麒麟有面向中标麒麟桌面操作系统、中标麒麟服务器操作系统、中标麒麟云操作系统等产品。能支持 X86、ARM、MIPS、Alpfa、Sparc,龙芯、申威、众志、飞腾等国产 CPU 均可运行中标麒麟操作系统。
虽然中标麒麟操作系统软件生态贫乏,但已能基本满足上网、影音、办公需求。虽然在民用市场毫无竞争力,但在党政军市场已得到一定程度的推广和应 用。举例来说,在 2015 中国计算机大会上,航天科工集团 706 所研究员孔雷的发言中提到“航天科工集团将 18 个核心经营管理类应用系统进行了国产化迁移、适配、优化,实现了从处理器、操作系统到数据库、中间件的全国产化替代,并在真实科研生产环境下开展了广泛应 用。”
龙芯中科 CEO 胡伟武曾在接受媒体采访时透露,“航天科工的核心业务都转移到国产平台上,像这样的应用还有一些,这只是其中一个。比如航天科工的桌面和服务器 CPU 大部分都是龙芯,也有部分申威飞腾,操作系统是中标麒麟,数据库是达梦,办公软件 WPS......”
目前,中标麒麟主要有两个版本,一个版本由国防科大在维护,主要是针对飞腾进行优化;另一个版本是中标软件在做,主要针对龙芯优化。另外,还有针对申威优化的版本,但不能和前两者相比。
对于中标麒麟的市场前景,短时间内还是非常渺茫的,虽然惠普、戴尔、联想都有预装中标麒麟的电脑,其中戴尔中国高达 40% 以上的电脑预装中标麒麟国产操作系统,但软件生态的贫乏使其根本无法与 Windows 竞争,预装中标麒麟的电脑大多在销售过程中,被零售商安装盗版 Windows 系统出售。
因此,中标麒麟的崛起必须是整个产业的崛起,哪怕操作系统做得比微软更好,也只能孤芳自赏,何况目前的中标麒麟还有很大的改良空间。只有当龙芯 /飞腾与中标麒麟建立类似于 Wintel 同盟的关系,并在中国半导体产业整体实力能与美国抗衡的情况下,才有可能在民用市场占据一席之地。
基于 Linux 开发是否安全可控?
开源软件,顾名思义,该软件源代码是开放的,该软件也是免费使用的,而且你还可以基于开源软件进行修改。比如 Linux,是全世界程序员共同维护的,在遵守协议的前提下,中国人可以免费获得源代码和使用或修改 Linux。
至于 Liunx 是否安全可控,虽然 linus 表示曾经有西方情报部门要求往 Linux 里面加一点东西,但 Liunx 的 1500 万行代码都是开源的,如果只是给 Linux 换层皮,穿马甲,不对内核进行修改、加固,那显然是无法保证安全可控的。但只要自己技术过硬,仔细审核源代码,完全可以将自己认为有问题的代码替换掉,对 系统内核进行修改,添加内核安全模块,就能保障安全可控。
目前,Linux 内核有全世界程序员和国外巨头共同维护,本身就是比较先进的内核,在技术层面上也看不到革命性变革的可能性。因此,技术层面上没有推翻 Linux 内核,重写新内核的必要性,何况 Linux 还是开源的、免费的。
国产操作系统的研发单位工作重点不是给 Liunx 换皮、穿马甲,而是加强对开源代码的审核力度,发现可能存在的漏洞和风险,对内核进行修改和加固。
比如为提升安全性或适配龙芯、飞腾、申威等国产 CPU 开发某个内核模块,并向开源社区申请后被采纳,加入到最新版本的 Linux 内核中。目前,已经有不少华人以这种方式实现了对 Linux 内核的修改。
即使开源社区未采纳国人提交的代码,国人也可以用自己编写的代码替换掉可能存在风险的代码,并将新代码集成到基于 Linux 的国产操作系统中。而这正是基于 Linux 二次开发的国产操作系统正在走路。
结语
诚然,如中标麒麟等国产操作系统目前还不够成熟,软件生态也比较匮乏。但目前国内有个很不好的怪现象——很多国人对洋货无比包容,对国产却无比苛刻——客观实际的指出洋货的某些缺点和国产的少许进步,对某些人而言,仿佛杀了他亲爹似的。
这种怪现象非常不利于国产操作系统的推广。
国产操作系统的发展壮大,离不开每个国人的支持,这种支持可以是精神上的支持,也可以是情感上的包容,更现实的支持是自己使用国产操作系统,而这些都不会花费一分钱。
路漫漫,其修远。在国产操作系统开发者们上下而求索的同时,希望全国人民能给国产操作系统一点时间,多几分支持和包容,少几分恶言相向。