国产麒麟系统为何饱受争议?

cannonqi 2015-11-24

由国防科大开发的麒麟操作系统有很多,与国防科大混乱的CPU产品线一样,这些麒麟操作系统彼此之间技术延续性也有限,比较有名的是银河麒麟、优麒麟和中标麒麟操作系统。

另外,华为准备推出的可能被用于手机或物联网的操作系统也被命名为麒麟。

国产麒麟系统为何饱受争议?

1.银河麒麟

银河麒麟是国防科大、中软公司、联想公司、浪潮集团和民族恒星公司合作研制的开源操作系统。

银河麒麟系统操作系统借鉴了 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开始写自己的操作系统,这个话题以后再说。

2.优麒麟

优麒麟是工信部、国防科大和Ubuntu系统开发商Canonical合作的产物。其实是Ubuntu系统的中文发行版,国防科大在其中添加了安全模块。

操作系统的编写要有很深的技术积累,其实,现在大家耳熟能详的操作系统都不是从零开始,都是站在巨人的肩膀上,比如IOS基于FreeBSD、安卓基于Linux,而FreeBSD、Linux追根溯源都是源自unix,即使是微软的NT内核也和unix有着千丝万缕的联系。

下图为Unix发展史:

国产麒麟系统为何饱受争议?

因此,Ubuntu系统也是站在巨人队肩膀上,Ubuntu系统源自Debian系统,Debian是Linux一个发行版。

3.中标麒麟

因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二次开发的国产操作系统正在走路。

结语

诚然,如中标麒麟等国产操作系统目前还不够成熟,软件生态也比较匮乏。但目前国内有个很不好的怪现象——很多国人对洋货无比包容,对国产却无比苛刻——客观实际的指出洋货的某些缺点和国产的少许进步,对某些人而言,仿佛杀了他亲爹似的。

这种怪现象非常不利于国产操作系统的推广。