麒麟操作系統是由國防科技大學、中軟公司、聯想公司、浪潮公司、國星公司聯合開發的服務器操作系統。按照麒麟官方的說法:
“麒麟服務器操作系統是國家863計劃的重大研究成果。它擁有完全獨立的版權內核,在應用上與Linux二進制兼容,支持64位。是中國自主研發的服務器操作系統,具有完全自主知識產權。”
[1]-來自麒麟官網和863計劃官網。
[2]_ 105/industr/industr _ news/l
“銀河麒麟操作系統是針對未來主流網絡服務和高性能計算服務的需求。它參考了主流的國際標準,Darwin、FreeBSD、Linux等商業操作系統,並借鑒了UNIX操作系統和微內核操作系統的設計思想。設計並實現壹個具有自主版權的中文服務器操作系統,能夠支持多種CPU芯片和計算機架構,具有高性能、高可用性和高安全性,並兼容Linux應用程序和設備驅動程序。”——摘自麒麟操作系統2.0.21包含的幫助文檔。
最近很多人質疑麒麟操作系統的兩個核心問題,即“完全自主版權”和“中國自主研發成功”。隨著麒麟2.0.14和2.0.21系統可以在麒麟官網()下載,這種質疑的聲音越來越大。除了內核,麒麟的大部分應用都來自GNU的代碼,不是中國自主研發的,它們的版權不屬於麒麟操作系統的開發者。更有甚者,有人開始拆解麒麟操作系統的內核,發現它和美國的FreeBSD開源操作系統非常相似。然後有人用FreeBSD的內核成功啟動了麒麟操作系統。根據麒麟官方的介紹,麒麟具有Linux的二進制兼容性,但完全沒有提到與FreeBSD的兼容性,這讓麒麟內核與FreeBSD的關系更加引人註目。官方介紹中簡單的壹個“參考”是無法解釋這種相似性的。
在強烈的關註中,麒麟開發者於2006年2月16日給出了壹個說明,關於銀河麒麟操作系統的說明[3],發表於。它提到了與FreeBSD的關系:
“通過評估分析,課題組認為當時正在開發的FreeBSD 5.0比Unix SVR4.2有更好的發展勢頭,尤其是SMPng項目的開發,為FreeBSD 5.0支持SMP對稱多處理器系統奠定了良好的基礎,因此將銀河麒麟操作系統的系統服務層從SVR4.2升級到了當時正在開發的FreeBSD 5.0。”
聲明發出後,大家都有壹定程度的理解。不過雖然提到了和FreeBSD的關系,但是很隱晦。沒有明確承認官網新聞中報道的失實,沒有明確說明麒麟的操作系統是否擁有“完全的知識產權”以及是否“由中國自主研發”,甚至沒有在官方頁面對事實報道進行更正。而且由於用的是FreeBSD 5.0的代碼,所以只限於系統服務層,比例完全不提。這還是讓人對這個得到了863計劃軟件重大項目資助的操作系統到底有多少創新產生了很大的疑問。
為了考察麒麟操作系統內核自主創新的百分比以及與其他操作系統的關系,我分析了麒麟操作系統內核與FreeBSD、NetBSD、OpenBSD、Linux、Solaris的可執行代碼的相似性。
在整個過程中,我會盡量保持客觀原則進行分析。因為麒麟操作系統是壹個封閉的源代碼系統,所以我只會在無法獲取內核源代碼的情況下,分析二進制可執行代碼文件的相似度。由於可執行代碼受編譯環境、內存分布、模塊變化的影響很大,所以即使使用同壹套代碼,相似度也會很低。但是對於操作系統內核這樣的大型軟件系統,不會因為代碼不同而出現高度相似的情況。所以我們把二進制可執行代碼的這種分析得到的相似度作為相似度的下限。換句話說,真實的相似度應該高於這個分析的結果,但由於分析方法的限制,無法得出上限。
二、可執行文件的相似性比較
二進制可執行文件的相似性分析壹直是個難題。眾所周知,即使是相同的源代碼,使用相同的編譯器,可以用不同的編譯參數編譯,代碼也會產生很大的差異。當有人盜用別人的源代碼時,如果兩者的源代碼無法比較,就很難判斷是否抄襲。所以,壹直以來,或多或少,總會有人毫無顧忌的在自己的軟件中加入開源軟件,或者幹脆在那些源代碼的基礎上,通過稍微修改和替換版權信息,宣稱自己開發的。因為他們知道只要自己的源代碼不公開,抄襲就很難判斷。