一直以來,國產(chǎn)操作系統(tǒng)都是網(wǎng)絡(luò)上某些人攻擊和非議的對象,力圖用這個領(lǐng)域的例子來證明,中國科學(xué)技術(shù)水平和工程應(yīng)用水平低下。
比如,最常用的一個例子是,雖然在軍事、科研等特殊領(lǐng)域,國內(nèi)不乏自己的操作系統(tǒng),但在通用操作系統(tǒng)上,不要說尋常百姓的家用電腦,即使是很多黨政機關(guān)和企事業(yè)單位,依舊在使用微軟的Windows操作系統(tǒng)。
開發(fā)一個中國自己的通用操作系統(tǒng),為什么這么難?到底難在哪里?
庫叔告訴你,開發(fā)國產(chǎn)操作系統(tǒng),要面對的是9座大山。
1、工作量巨大
開發(fā)一個操作系統(tǒng)工作量非常大。
最能直觀體現(xiàn)這一工作量的指標(biāo),就是代碼的行數(shù)。
舉例來說,微軟的Windows XP系統(tǒng)有4000萬行代碼,Windows Vista和Windows 7 則達(dá)到了5000萬行;開源系統(tǒng)Linux這邊,3.6版本的Linux內(nèi)核代碼有1590萬行,而Linux的發(fā)行版Debian系統(tǒng)代碼行數(shù)更是多達(dá)恐怖的6500萬行。這還是經(jīng)過軟件廠商反復(fù)精簡的結(jié)果。
幾千萬行代碼的工作量是個什么概念?舉個參照系吧,很多人在用的金山辦公軟件WPS代碼行數(shù)約150萬行,而金山軟件公司重寫這個級別的WPS,用了3年時間。
當(dāng)然,操作系統(tǒng)代碼行數(shù)并非越多越好,而是在保障相同功能的情況下,代碼越精簡越好,像塞班系統(tǒng)代碼行數(shù)突破3500萬行,卻因代碼臃腫,對代碼的維護(hù)性和擴展性造成了負(fù)面影響。
所以,寫完代碼后,如何反復(fù)精簡代碼,保證系統(tǒng)功能的最優(yōu)化,又是一個巨大的費時費力的工作。
2、需要深厚技術(shù)積累和持續(xù)迭代演進(jìn)
開發(fā)操作系統(tǒng)最難的工作就是做一個自己的內(nèi)核,而系統(tǒng)內(nèi)核分成很多模塊,每個模塊的劃分、協(xié)調(diào)不僅要考慮有效性、效率高低、可擴展性、可維護(hù)性,還要注重代碼控制、算法效率、項目管理、多任務(wù)調(diào)度算法、軟件架構(gòu)設(shè)計等方面,是非常復(fù)雜的一項工作,技術(shù)門檻也比較高,需要有非常深厚的技術(shù)積累。
現(xiàn)在我們耳熟能詳?shù)牟僮飨到y(tǒng),都是幾十年技術(shù)積累和站在巨人肩膀上的產(chǎn)物,而非憑空冒出來的。
舉例來說,手機上用的最多的谷歌安卓系統(tǒng)是基于Linux的二次開發(fā),小清新奉為圭臬的蘋果iOS則是基于FreeBSD/Unix的二次開發(fā),Linux和iOS追根溯源都是Unix。
下圖是各個操作系統(tǒng)的發(fā)展圖譜,可以看出從最初的Unix,發(fā)展到后面各分支的操作系統(tǒng),經(jīng)歷了一個多么錯綜復(fù)雜、一步步積累的過程。
當(dāng)然,開發(fā)操作系統(tǒng)在技術(shù)上也并非絕對的高不可攀,相對于需要復(fù)雜的矩陣運算、高階偏微分方程等比較高深的數(shù)學(xué)知識才能勝任開發(fā)的軟件,比如和軍用關(guān)系密切的地理信息系統(tǒng)軟件以及一些圖形處理軟件,操作系統(tǒng)核心模塊的開發(fā)技術(shù)門檻還是略低一些,有一定數(shù)據(jù)結(jié)構(gòu)知識和硬件知識就可以勝任,并不需要復(fù)雜的數(shù)學(xué)推導(dǎo)和運算。
操作系統(tǒng)的開發(fā)周期長,而且是一個迭代演進(jìn)的過程。
微軟在1985年推出Windows1.0后,經(jīng)過Windows2.0、Windows3.0、Windows3.1、Windows NT、Windows95、Windows98、Windows2000等操作系統(tǒng)演進(jìn)迭代,才于2001年推出一代經(jīng)典的操作系統(tǒng)Windows XP。
Linux、FreeBSD也是以Unix為基礎(chǔ),經(jīng)過幾十年的開發(fā)和更新,才發(fā)展到現(xiàn)今的水平,而谷歌和蘋果以Linux、FreeBSD為基礎(chǔ),他們的操作系統(tǒng)也是一代代發(fā)展的。
因此,在缺課太多,差距過大的情況下,需要的是循序漸進(jìn)和厚積薄發(fā),試圖在短時間內(nèi)實現(xiàn)趕超,妄圖一口吃成胖子的科技大躍進(jìn)顯然是不可能的。
3、國內(nèi)軟件產(chǎn)業(yè)既胖且虛
除了技術(shù)上的難題,開發(fā)國產(chǎn)操作系統(tǒng)還面臨大量產(chǎn)業(yè)和行業(yè)性問題。比如中國軟件產(chǎn)業(yè)整體大而不強的現(xiàn)實狀況。
軟件產(chǎn)業(yè)強大與否,并不是取決于該國程序員數(shù)量,更不取決于軟件產(chǎn)業(yè)創(chuàng)造的GDP,而在于產(chǎn)業(yè)標(biāo)準(zhǔn)制定權(quán)以及是否擁有核心技術(shù)。
標(biāo)準(zhǔn)方面,人人都知道,一流企業(yè)做標(biāo)準(zhǔn),二流企業(yè)做品牌,三流企業(yè)做產(chǎn)品,掌握了標(biāo)準(zhǔn)的制定權(quán)就能獲取高額利潤并立于不敗之地。
而國內(nèi)軟件業(yè)從教學(xué)到產(chǎn)業(yè),基本上跟著西方的技術(shù)標(biāo)準(zhǔn)走,沒有自己的一套技術(shù)標(biāo)準(zhǔn)。像程序員常用的編程語言、編譯器、軟件開發(fā)工具,基本上用的都是國外產(chǎn)品。
軟件產(chǎn)業(yè)大而不強的另一個表現(xiàn)就是產(chǎn)品缺乏核心技術(shù)。以我們每天都用的手機和瀏覽器來說,國內(nèi)各家公司推出了不少瀏覽器,但基本上是國外瀏覽器的“馬甲”,所謂的國產(chǎn)瀏覽器都沒有國人自己編寫的瀏覽器內(nèi)核。
手機操作系統(tǒng)也是如此,雖然很多國產(chǎn)手機都有諸如Emtion、nubia之類的系統(tǒng),但撥開現(xiàn)象看本質(zhì),這些還都是安卓操作系統(tǒng)的馬甲,只能算是一個UI(系統(tǒng)界面)。
類似的例子還有很多,某家以殺毒軟件起家的互聯(lián)網(wǎng)公司,其殺毒軟件的用的是羅馬尼亞的BitDefender引擎;不少廠商隔三差五就會出現(xiàn)于媒體聚光燈下的云解決方案,其實上也是國外開源軟件(Openstack/Xen)的馬甲,有些廠商雖然也貢獻(xiàn)了少量代碼,但含金量遠(yuǎn)不及宣傳中那么足。
在linux,KVM,Xen,OpenStack,HADOOP,Docker,Mysql,OpenJDK等基礎(chǔ)軟件的代碼貢獻(xiàn)量方面,中國龐大的程序員數(shù)量和中國相對有限的代碼貢獻(xiàn)量極不相稱。
因此,雖然中國軟件產(chǎn)業(yè)和互聯(lián)網(wǎng)企業(yè)創(chuàng)造了海量的GDP,演繹了一批造富神話,吸納了大批就業(yè)崗位,但依附于西方技術(shù)標(biāo)準(zhǔn)、沒有自己編程語言和軟件開發(fā)工具、應(yīng)用軟件強而基礎(chǔ)軟件弱已成為中國軟件產(chǎn)業(yè)的內(nèi)傷。
4、高端技術(shù)人才相對匱乏
“一流人才漂洋過海,二流人才北京上海”,雖然很多懷有理想的志士依舊留在國內(nèi)做科研,但中國高端技術(shù)人才流失是不爭的事實——中國早已成為美國最大的人才輸出國。
在高端技術(shù)人才大批量流失的同時,國內(nèi)大學(xué)和公司的人才培養(yǎng)卻不盡如人意。
在標(biāo)準(zhǔn)制定上的缺失使中國軟件業(yè)基本依附于西方的技術(shù)體系,國外巨頭和中國各個大學(xué)堪稱典范的“合作”關(guān)系下,使得我們大多數(shù)的學(xué)生只是在學(xué)習(xí)如何在西方搭好的技術(shù)框架下做“填空題”。
此外,中國軟件產(chǎn)業(yè)還有相當(dāng)大一部分程序員在從事外包服務(wù),簡單地說就是國外程序員不愿意做的,認(rèn)為是簡單重復(fù)勞動的低端工作,大多數(shù)都是中國的程序員在做。
一些久經(jīng)磨礪的資深程序員雖然技術(shù)精湛,但在國家和國內(nèi)軟件巨頭沒有標(biāo)準(zhǔn)制定的頂層設(shè)計的情況下,單憑自己或小群體的力量無力制定標(biāo)準(zhǔn),基本上是跟著國外技術(shù)體系走,國外出一個新技術(shù)、新標(biāo)準(zhǔn),就一窩蜂去學(xué)。
至于構(gòu)建自己的技術(shù)體系,這項技能基本淪為“屠龍之技”(國內(nèi)基本用不到),大部分學(xué)校在教學(xué)上根本不重視,即使巧遇良師或自學(xué)成才,國內(nèi)除軍工企業(yè)、國防院校、科研院所之外,也很難有用武之地。
因此,中國程序員雖然數(shù)量龐大,其中更是不乏精英人才,但相當(dāng)大一部分程序員技術(shù)水平有限。國內(nèi)非常多做手機APP、網(wǎng)游、頁游的程序員,你讓他們在國外技術(shù)框架下寫能在X86、ARM芯片上跑的APP、網(wǎng)游、頁游程序,他們沒問題。但你讓他們脫離國外技術(shù)框架去給走自主路線的龍芯、申威開發(fā)軟件,很可能就抓瞎了。
另外,國內(nèi)軟件業(yè)的行業(yè)環(huán)境也加劇了高端技術(shù)人才匱乏的狀況。
國外程序員一般情況下,職業(yè)生涯只做一方面的技術(shù),學(xué)習(xí)掌握該技術(shù),下半輩子基本上就寫程序了。
國內(nèi)程序員因為企業(yè)經(jīng)常跟著項目走,要會很多方面的技術(shù),技能多而不精。此外,國內(nèi)程序員普遍有一個共識——就是不能寫一輩子程序,必須向管理層轉(zhuǎn)型,最后的目標(biāo)就是做項目經(jīng)理之類的職務(wù)。轉(zhuǎn)為管理層后,就不再從事或者很少從事一線開發(fā)。
這些現(xiàn)狀使國內(nèi)軟件產(chǎn)業(yè)很難培養(yǎng)出技術(shù)精湛的程序員,培養(yǎng)磨礪出來的資深程序員卻因為轉(zhuǎn)向管理層不再或很少從事一線開放,進(jìn)一步加劇了技術(shù)人才匱乏的現(xiàn)狀。
5、操作系統(tǒng)領(lǐng)域人才捉襟見肘
軟件產(chǎn)業(yè)整體的高端技術(shù)人才缺乏,再具體到操作系統(tǒng)領(lǐng)域,人力資源方面就更捉襟見肘了。
一般來說,國內(nèi)操作系統(tǒng)公司的開發(fā)人員,大一些的有三、五百人,小的甚至不足百人。
體制內(nèi)的科研院所、國防院校、軍工企業(yè)中確實有很多人才,而且都是中國高考體制下層層選拔脫穎而出的佼佼者,技術(shù)能力很強,但各自的科研任務(wù)負(fù)擔(dān)都非常重,國防和信息安全任務(wù)已經(jīng)把他們壓的喘不過氣來,根本沒有多余的精力去解決民用方面的技術(shù)問題。
此外,有一部分體制內(nèi)單位還存在人才流失問題。體制內(nèi)很多人都是懷著理想和信念在奮斗,但隨著年紀(jì)的增長,家庭、生活壓力越來越大,很難抵御跳槽后收入翻倍的誘惑。
形成鮮明對比的是微軟,一個公司就有將近10萬員工,當(dāng)年有Windows95、Windows98等系統(tǒng)的技術(shù)積累的情況下,依舊集中了5000余名程序員開發(fā)Windows XP。
Linux雖然不靠任何一個商業(yè)公司支持,但是由于目前已經(jīng)被廣泛應(yīng)用和認(rèn)可,不但已經(jīng)得到全世界程序員共同維護(hù),紅帽公司、英特爾、IBM、甲骨文、微軟等國際巨頭也積極參與其中,同樣具備很強的持續(xù)研發(fā)能力。
6、研發(fā)資金相對不足
在資金方面,一個成熟的操作系統(tǒng)的開發(fā)往往延續(xù)數(shù)年,比如微軟在2014年的研發(fā)成本超過100億美元,在開發(fā)Windows Vista所花費的研發(fā)費用更是超過了200億美元。Linux內(nèi)核開發(fā)根據(jù)人員投入的規(guī)模測算,也耗資數(shù)十億美元。
而與Windows Vista、Fedora9大約處于同一歷史時期的國產(chǎn)銀河麒麟操作系統(tǒng),其在內(nèi)核方面的自主技術(shù)的比例算是比較高了,但研發(fā)經(jīng)費也僅為4000萬人民幣,當(dāng)時的匯率還是1美元等值8元人民幣。
由國防科大領(lǐng)銜研制銀河麒麟,經(jīng)費尚且如此窘迫,國內(nèi)其他小公司的經(jīng)費支持就可想而知了。
更糟糕的是,在與國外巨頭人力和財力資源差距如同鴻溝的狀況下,國內(nèi)各家研發(fā)操作系統(tǒng)的公司依舊在各自為戰(zhàn),技術(shù)路線并不統(tǒng)一。
目前,國內(nèi)有10多家做操作系統(tǒng)的公司,但每家公司各有各的打算,始終無法形成產(chǎn)業(yè)聯(lián)盟。雖然基本上都是基于Linux的二次開發(fā),但有的是走紅帽技術(shù)路線,有的走Debian技術(shù)路線。這使得人力資源和財力資源原本就非常有限的情況下,研發(fā)力量被進(jìn)一步分散削弱了。
7、趨利避害使企業(yè)避重就輕
對于企業(yè)而言,市場經(jīng)濟時代商業(yè)利益至上,對于國內(nèi)某些商業(yè)巨頭而言,承擔(dān)社會責(zé)任,做一個獨立自主、安全可控的操作系統(tǒng)并不是他們追求的目標(biāo)。
因此,國內(nèi)巨頭有做HMOS金融系統(tǒng)的動力,因為在給場外配資的金融游戲中,HMOS簡直就是印鈔機。
此外,在技術(shù)層面上,自主技術(shù)越多,那么和現(xiàn)有的軟件體系兼容性就越差;反之,兼容性就越好。在以市場化運營為導(dǎo)向的標(biāo)準(zhǔn)下,自然要能兼容現(xiàn)有的軟件體系。那么,這樣的操作系統(tǒng)就自然不可能有太多自己的東西。
舉例來說,國內(nèi)除體制內(nèi)單位外,軟件技術(shù)實力最強的就要屬BAT等互聯(lián)網(wǎng)巨頭以及華為、中興、東軟等廠商了。
雖然華為和中興居2014年中國軟件收入排行榜第一和第二位,但技術(shù)長于通信領(lǐng)域,開發(fā)通用操作系統(tǒng)非其所長,在商業(yè)利益的驅(qū)使下,華為和中興手機的操作系統(tǒng)其實就是一個基于安卓的UI。
BAT等互聯(lián)網(wǎng)巨頭推出的操作系統(tǒng),則主要是為了跑馬圈地,搶端口,賺快錢,而不是為了實現(xiàn)信息安全和自主可控,自然不可能選擇長周期、高投入、高技術(shù)門檻的自主研發(fā)之路,基于安卓的二次開發(fā)就成為理所當(dāng)然的選擇,編寫的代碼僅限于重寫了虛擬機。
商業(yè)上的趨利避害還加劇了國內(nèi)應(yīng)用軟件強,而基礎(chǔ)軟件弱的現(xiàn)狀,比如中國寫Java的程序員有上百萬人,寫JavaScript的程序員也有上百萬人,寫QT的也很多,但Java虛擬機、JavaScript引擎、QT庫卻沒多少人干。
8、有系統(tǒng)無應(yīng)用,軟件生態(tài)難構(gòu)筑
單單有一個操作系統(tǒng)而沒有軟件生態(tài)是沒有意義的。
操作系統(tǒng)僅僅是一個平臺,豐富的軟件生態(tài)才是操作系統(tǒng)的活力之源。
什么是軟件生態(tài)呢?比如即時通信軟件、網(wǎng)絡(luò)支付軟件、瀏覽器、Office辦公軟件、Flash、各種游戲等等。沒有這些軟件,用戶就無法網(wǎng)絡(luò)聊天、上網(wǎng)、辦公、看視頻、玩游戲,只能對著“我的電腦”桌面圖標(biāo)發(fā)呆。
軟件生態(tài)的構(gòu)建需要軟件廠商的配合,而軟件廠商不是“活雷鋒”,只有當(dāng)某個操作系統(tǒng)市場占有率達(dá)到一定程度時,軟件廠商才會幫忙適配軟件,這樣就形成了一個悖論——軟件生態(tài)貧乏,導(dǎo)致操作系統(tǒng)用戶數(shù)量很少,而市場占有率小的情況下,軟件廠商不會主動幫忙適配軟件。
以微軟這個桌面操作系統(tǒng)霸主為例,因為Windows系統(tǒng)手機的市場份額非常小,導(dǎo)致國內(nèi)外軟件廠商大多不愿意給它開發(fā)手機APP,而軟件方面的不足又使更多的用戶拋棄Windows手機。
微軟的財力和技術(shù)不可謂不雄厚,但因錯過發(fā)展機遇期,要在別人已經(jīng)占據(jù)的市場分一杯羹,也是艱難無比。
因此,要構(gòu)建自己的軟件生態(tài),最好是在無人涉足的新領(lǐng)域,比如當(dāng)年谷歌和蘋果涉足的智能手機領(lǐng)域,或者現(xiàn)在正興起的物聯(lián)網(wǎng)領(lǐng)域。
要在已經(jīng)被外商占據(jù)的領(lǐng)域,發(fā)展出自己的軟件生態(tài),就只有花錢請軟件廠商來幫忙了,而資金和人才恰恰是國內(nèi)廠商的兩大短板,根本沒有財力去這樣燒錢。這無異于陷入一個死循環(huán)。
9、市場推廣難度大
即使是有了成熟的操作系統(tǒng)和一定軟件生態(tài)的積累,要市場推廣依舊不容易。主要有以下幾個難點:
1、用戶粘性制約市場推廣。操作系統(tǒng)有一種屬性——用戶粘性,當(dāng)用戶習(xí)慣了某一個操作系統(tǒng)后,讓用戶換一種操作系統(tǒng),甚至同一個操作系統(tǒng)換一個版本都會產(chǎn)生諸多的不方便。
舉例來說,從Windows XP升級到Windows 7,很多原本習(xí)以為常的操作全部改變了,都要從新學(xué)起,很多人就覺得很麻煩,這也是為什么微軟已經(jīng)發(fā)展到Windows 10了,Windows XP在中國依舊有龐大的市場占有率。
2、更換平臺成本大。有一定歷史的公司和單位都積累了大量的數(shù)據(jù)和資料和應(yīng)用系統(tǒng),這些數(shù)據(jù)和資料和應(yīng)用轉(zhuǎn)移到新的平臺,不僅需要花費不菲的金錢,還有一定的技術(shù)風(fēng)險——是否會造成數(shù)據(jù)和資料的損毀和丟失,這是誰都不敢打包票的事情。
3、預(yù)裝國產(chǎn)操作系統(tǒng)的計算機無法被用戶接受。因為Windows在桌面市場的霸主地位,像聯(lián)想這樣的PC整機制造商基本上預(yù)裝Windows系統(tǒng),即使某些廠商預(yù)裝了國產(chǎn)操作系統(tǒng),但在銷售過程中,零售商往往將預(yù)裝國產(chǎn)操作系統(tǒng)的電腦安裝盜版Windows系統(tǒng)出售。
4、盜版猖獗。其實國產(chǎn)操作系統(tǒng)最大的對手不是微軟,而是盜版。盜版猖獗的情況下,哪怕國產(chǎn)操作系統(tǒng)免費使用,在市場中也很難推廣出去。
形成鮮明對比的是金山軟件的WPS,在國內(nèi)曾經(jīng)被盜版軟件殺得潰不成軍,但在知識產(chǎn)權(quán)保護(hù)較好的日本,金山以低于微軟Office軟件的售價,與微軟的Office軟件相當(dāng)?shù)墓δ埽粌H占據(jù)了一定市場份額,還實現(xiàn)了盈利。
「 支持烏有之鄉(xiāng)!」
您的打賞將用于網(wǎng)站日常運行與維護(hù)。
幫助我們辦好網(wǎng)站,宣傳紅色文化!
歡迎掃描下方二維碼,訂閱烏有之鄉(xiāng)網(wǎng)刊微信公眾號
