中國為何沒有自主操作系統 只會拿開源軟件換皮

日前,中國工程院院士倪光南表示:目前,我國在部分網絡和信息化核心技術領域技術儲備依然薄弱,特別是終端操作系統技術短板明顯。為適應快速發展的互聯網環境和應對日趨嚴峻的網絡安全形勢,國產自主終端操作系統技術研發和產業發展仍需提速。

雖然以倪光南院士為代表的一批專家在十多年前就一直呼籲發展國產操作系統,但中國始終沒能搞出一款源代碼全部自己寫的通用國產操作系統,開發國產通用操作系統難度何在?

中國為何沒有自主操作系統 只會拿開源軟件換皮

編寫操作系統工作量巨大

開發一個操作系統工作量非常大。舉例來說,Windows XP 有代碼4000萬行,Windows Vista 代碼達5000萬行,Windows 7 有代碼5000萬行,3.6版本的Linux 內核代碼就有1590萬行,而linux的發行版Debian系統代碼行數達6500萬行,而且這些代碼還都是經過軟件廠商反覆精簡的結果。

操作系統代碼行數並非越多越好,而是在保障相同的功能的情況下,代碼越精簡越好,像微軟的IE瀏覽器代碼超過1000萬行,塞班系統代碼行數突破3500萬行,卻因代碼臃腫,對代碼的維護性和擴展性造成了負面影響。

中國為何沒有自主操作系統 只會拿開源軟件換皮

編寫操作系統需要深厚技術積累

操作系統的最難的就是做一個自己的內核,而系統內核分成很多模塊,每個模塊的劃分、協調不僅要考慮有效性、效率高低、可擴展性、可維護性,還要注重代碼控制、算法效率、項目管理、多任務調度算法、軟件架構設計等方面,是非常複雜的一項工作,技術門檻也比較高,需要有非常深厚的技術積累。

現在大家耳熟能詳的操作系統,都是幾十年技術積累和站在巨人肩膀上的產物,而非憑空冒出來的。舉例來說,手機上用的最多的安卓系統是基於Linux的二次開發,小清新奉為圭臬的IOS是基於FreeBSD/Unix的二次開發,Linux和IOS追根溯源都是Unix,下圖為各個操作系統的發展圖譜。

中國為何沒有自主操作系統 只會拿開源軟件換皮

開發操作系統是一個迭代演進的過程

操作系統的開發週期長,而且是一個迭代演進的過程。微軟在1985年推出Windows1.0後,經過Windows2.0、Windows3.0、Windows3.1、Windows NT、Windows95、Windows98、Windows2000等操作系統演進迭代,才於2001年推出一代經典Windows XP。

Linux、FreeBSD也是以UNIX為基礎,經過幾十年的開發和更新,才發展到現今的水平,而谷歌和蘋果以Linux、FreeBSD為基礎,他們的操作系統也是一代代發展的。

因此,在缺課太多,差距過大的情況下,需要的是循序漸進和厚積薄發,試圖在短時間內實現趕超,妄圖一口吃成胖子的科技大躍進顯然不可取。

軟件產業大而不強

軟件產業強大與否,並不是取決於該國程序員數量,更不取決於軟件產業創造的GDP,而在於產業標準制定權與是否擁有核心技術。

一流企業做標準,二流企業做品牌,三流企業做產品,掌握了標準的制定權就能獲取高額利潤並立於不敗之地。而國內軟件業從教學到產業基本上跟著西方的技術標準走,沒有自己的一套技術標準。

像程序員常用的編程語言、編譯器、軟件開發工具基本上用的都是國外產品。

軟件產業大而不強的另一個表現就是產品缺乏核心技術。以大家每天都用的手機和瀏覽器來說,國內各家公司推出了不少瀏覽器,但基本上是國外瀏覽器的馬甲,所謂的國產瀏覽器都沒有國人自己編寫的瀏覽器內核;雖然很多國產手機都有諸如Emtion、nubia之類的系統,但撥開現象看本質這些還是安卓操作系統的馬甲,只能算是一個UI。

不少廠商隔三差五就會出現於媒體聚光燈下的雲解決方案,其實上也是國外開源軟件的馬甲,有些廠商雖然也貢獻了少量代碼,但含金量遠不及宣傳中那麼足......

在linux,KVM,Xen,OpenStack,HADOOP,Docker,Mysql,OpenJDK等基礎軟件的代碼貢獻量方面,中國龐大的程序員數量和中國相對有限的代碼貢獻量極不相稱。

因此,雖然中國軟件產業和互聯網企業創造了海量的GDP,演繹了一批造富神話,吸納了大批就業崗位,但依附於西方技術標準、沒有自己編程語言和軟件開發工具、應用軟件強而基礎軟件弱已成為中國軟件產業的內傷。

技術人才相對匱乏

"一流人才漂洋過海,二流人才北京上海",雖然很多懷有理想的志士依舊留在國內做科研,但中國高端技術人才流失是不爭的事實——中國早已成為美國最大的人才輸出國。

在高端技術人才大批量流失的同時,國內大學和公司的人才培養卻不盡如人意。

在標準制定上的缺失使中國的軟件業基本依附於西方的技術體系,國外巨頭和中國各個大學堪稱典範的"合作"關係下,使得我們大多數的學生只學習在西方搭好的技術框架下做"填空題"。

一些久經磨礪的資深程序員雖然技術精湛,但在國家和國內軟件巨頭沒有標準制定頂層設計的情況下,單憑自己或小群體的力量無力制定標準,基本上是跟著國外技術體系走,國外出一個新技術、新標準,就一窩蜂去學。

中國程序員雖然數量龐大,其中更是不乏精英人才,但相當大一部分程序員技術水平有限。具體來說,國內IT企業極少參加系統相關標準制定,國內軟件人才很少向國際開源社區貢獻源碼;國內有非常多做手機APP、網遊、頁遊的程序員,但如果讓這些程序員去開發基礎軟件,他們很可能就抓瞎了。

另外,國內軟件業的行業環境也加劇了高端技術人才匱乏的狀況。

國外程序員一般情況下,做一輩子就做一方面的技術,在學習掌握該技術,下半輩子基本上就寫程序了。

國內程序員因為企業經常跟著項目走,使國內程序員要會很多方面的技術,技能多而不精。此外,國內程序員有一個共識——就是不能寫一輩子程序,必須向管理層轉型,最後的目標就是做項目經理之類的職務。

轉為管理層後,就不再從事一線開發或者很少從事一線開發。

這些現狀使國內軟件產業很難培養出技術精湛的程序員,培養磨礪出來的資深程序員卻因為轉向管理層不再或很少從事一線開放,進一步加劇了技術人才匱乏的現狀。

中國為何沒有自主操作系統 只會拿開源軟件換皮

研發單位人力資源不足

在人力資源方面,國內做操作系統的公司的開發人員,大一些的有三、五百人,小的甚至不足百人。一部分體制內單位存在人才流失問題。體制內很多人都是懷著理想和信念在奮鬥,但理想信念不能當飯吃,賺取收入的時候"講犧牲奉獻",養家餬口的時候"講市場規律",一般人都無法長期堅守。隨著年紀的增長,家庭、生活壓力越來越大,很難抵禦跳槽後收入翻倍的誘惑。

形成鮮明對比的是微軟公司,該公司有將近10萬員工,當年在有Windows95、Windows98等技術積累的情況下,依舊集中了5000餘名程序員開發Windows XP。

Linux雖然不靠任何一個商業公司支持,但是由於目前已經被廣泛應用和認可,不但已經得到全世界程序員共同維護,紅帽公司、Intel、IBM、甲骨文、微軟等國際巨頭也積極參與其中,同樣具備很強的持續研發能力。

中國為何沒有自主操作系統 只會拿開源軟件換皮

研發資金相對不足

在資金方面,微軟在2014年的研發成本就超過100億美元。而一個成熟的操作系統的開發更是延續數年,微軟在開發Vista所花費的研發費用超過了200億美元,Linux僅內核據如果根據人員投入的規模,據測算也耗資數十億美元。

形成鮮明對比的是和Vista、Fedora 9大約處於同一歷史時期的銀河麒麟操作系統。其研發經費僅僅為4000萬人民幣,而且當時的匯率還是1美元等值於8元人民幣。

由國家隊研製銀河麒麟經費尚且如此窘迫,國內其他小公司的經費支持就可想而知了。

在國外巨頭人力和財力資源差距如同鴻溝的狀況下,國內各家研發操作系統的公司依舊在各自為戰,而且技術路線不一。具體來說,國內有十多家在做操作系統的公司,但每家公司各有各的小算盤,始終無法形成產業聯盟。雖然基本上都是基於Linux的二次開發,但有的是走紅帽技術路線,有的走Debian技術路線。還有的選擇和微軟搞合資,搞所謂的Win10中國政府特供版,這使得人力資源和財力資源原本就非常有限的情況下,研發力量被進一步分散削弱了。

中國為何沒有自主操作系統 只會拿開源軟件換皮

趨利避害使大多企業無心研發自主操作系統

市場經濟時代商業利益至上,對於國內商業巨頭而言,承擔社會責任,做一個獨立自主、安全可控的操作系統從來不是他們追求的目標,他們的目標僅僅是利潤!

因此,國內巨頭有做HMOS的動力,因為給場外配置的金融遊戲中,HMOS簡直就是印鈔機。但在開發國產操作存在技術人才不足、技術門檻高、成本巨大、研發週期長、軟件生態構築難、市場推廣難等困境之時,顯然不會有開發一個擁有國產內核的操作系統的動力。

滿懷理想的開發開發者會被殘酷的現實撞得頭波血流——抱著開發能代表中國技術水平己開源操作系統理想的一家操作系統一直處於不盈利狀態,以至於當地稅務部門曾經認為該公司長期都是研發投入而無產出的情況不正常,還專門進行過檢查。

在技術層面上,自主技術越多,那麼和現有的軟件體系兼容性就越差;反之,兼容性就越好。在以市場化運營為導向的標準下,自然要能兼容現有的軟件體系。那麼,這樣的操作系統就自然不可能有太多自己的東西。

舉例來說,國內除體制內單位外,軟件技術實力最強的就要屬互聯網巨頭和華為、中興、東軟等廠商了。

雖然華為和中興居2014年中國軟件收入排行榜第一和第二位,但技術長於通信領域,開發通用操作系統非其所長,在商業利益的驅使下,華為和中興手機的操作系統其實就是一個基於安卓的UI。

互聯網巨頭推出的操作系統更是將利潤至上發揮的淋漓盡致——為了跑馬圈地,搶端口,賺快錢,而不是為了實現信息安全和自主可控,自然不可能選擇長週期、高投入、高技術門檻的自主研發之路,基於安卓的二次開發就成為理所當然的選擇,編寫的代碼僅限於重寫了虛擬機。商業上的趨利避害加劇了國內應用軟件強,而基礎軟件弱的現狀,比如中國寫Java的程序員有上百萬人,寫JavaScript的程序員也有上百萬人,寫QT的也很多,但Java虛擬機、JavaScript引擎、QT庫卻沒多少人幹。

中國為何沒有自主操作系統 只會拿開源軟件換皮

軟件生態難以構築

單單有一個操作系統而沒有軟件生態是沒有意義的。操作系統僅僅是一個平臺,豐富軟件生態才是操作系統的活力之源。什麼是軟件生態呢?比如即時通信軟件、網絡支付軟件、瀏覽器、Office辦公軟件、Flash、各種遊戲等等。沒有這些軟件,用戶就無法網絡聊天、上網、辦公、看視頻、玩遊戲,只能對著"我的電腦"桌面圖標發呆。

軟件生態的構建需要軟件廠商的配合,而軟件廠商不是活雷鋒,只有當某個操作系統市場佔有率達到一定程度時,軟件廠商才會幫忙適配軟件,這樣就形成了一個悖論——軟件生態貧乏,導致操作系統用戶數量很少,而市場佔有率小的情況下,軟件廠商不會主動幫忙適配軟件。

就以微軟這個桌面操作系統霸主來說,因為WindowsPhone的市場份額非常小,導致國內外軟件廠商大多不願意給它開發手機APP,而軟件方面的不足又使更多的用戶拋棄WindowsPhone。微軟的財力和技術不可謂不雄厚,但因錯過發展機遇期,要在別人已經佔據的市場分一杯羹,也是艱難無比。

因此,要構建自己的軟件生態,最好是在無人涉足的新領域,比如當年谷歌和蘋果涉足的智能手機領域,或者現在正興起的物聯網領域。

要在已經被外商佔據的領域,發展出自己的軟件生態,就只有花錢請軟件廠商來幫忙了,而資金和人才恰恰是國內廠商的兩大短板,根本沒有財力去這樣燒錢。

中國為何沒有自主操作系統 只會拿開源軟件換皮

市場推廣難度大

即使是有了成熟的操作系統和一定軟件生態的積累,要市場推廣依舊不容易。主要有以下幾個難點:

用戶粘性制約市場推廣。操作系統有一種屬性——用戶粘性,當用戶習慣了某一個操作系統後,讓用戶換一種操作系統,甚至同一個操作系統換一個版本都會產生諸多的不方便。舉例來說,從WindowsXP升級到Windows7,很多原本習以為常的操作全部改變了,都要從新學起,很多人就覺得很麻煩,這也是為為什麼微軟已經發展到Windows10了,WindowsXP在中國依舊有龐大的市場佔有率。

中國為何沒有自主操作系統 只會拿開源軟件換皮

更換平臺成本大。有一定歷史的公司和單位都積累了大量的數據和資料和應用系統,這些數據和資料和應用轉移到新的平臺,不僅需要花費不菲的金錢,還有一定的技術風險——是否會造成數據和資料的損毀和丟失,這是誰都不敢打包票的事情。

預裝國產操作系統的計算機無法被用戶接受。因為Windows在桌面市場的霸主地位,像聯想這樣的PC整機制造商基本上預裝Windows系統,即使某些廠商預裝了國產操作系統,但在銷售過程中,零售商往往將預裝國產操作系統的電腦安裝盜版Windows系統出售。

買辦作祟。過去幾十年的實踐證明:凡是中國暫時沒有掌握的技術,西方基本上是高度封鎖的,但凡中國剛剛在某些領域取得一定突破和起色,西方就會一反過去高度技術封鎖的做法,選擇到中國大陸來大搞合資,比如中國搞錯了運10,麥道就來合資了。把運10廢了之後,再去找波音、空客合資,外商開出的條件異常苛刻,壓根懶得理你。在CPU上也是類似,隨著自主CPU取得的長足進步,Intel、IBM、ARM、高通等外商都來中國大陸合資或開展技術合作。而這些合資公司往往充當了皇協軍的角色,扼殺自主技術的成長。

中國為何沒有自主操作系統 只會拿開源軟件換皮

盜版猖獗。其實國產操作系統最大的對手不是微軟,而是盜版。盜版猖獗的情況下,哪怕國產操作系統免費使用,也無法在市場中也很難推廣出去。


分享到:


相關文章: