摘要:Google在Android和Chrome多年實踐後,推出全新操作系統Fuchsia,實現了一個量變到質變的過程,卻讓筆者意識到貢獻比拿來更容易獲得成長。在本文中,作者通過研究Google Android及 Fuchsia總結出了Google在操作系統領域可複製的模式,僅做技術交流,如果你有具有建設性的觀點及建議,歡迎留言互動:。

歡迎關注“創事記”微信訂閱號:sinachuangshiji

文/徐星

來源:CSDN(ID:CSDNnews)

01

寫在前面

【CSDN編者按】從去年中興被美國禁止出口,到今時今日華爲先後遭Google、ARM暫停合作,及海康威視、商湯等5家傳統安防及AI公司再遭禁,我們迎來了中國IT產業的切膚之痛——國內IT最短的那塊板核心技術缺失就這樣徹底地暴露出來了。談到操作系統的研發,我們很早以前就明晰了亟需解決的問題:

國產操作系統若要強大發展,必須全面參與市場競爭,讓企業在自由和充分的競爭中優勝劣汰,使國產操作系統的技術不斷改善、應用逐漸豐富、用戶規模日益壯大,三者形成良性循環;

必須要形成完整的生態系統,倪光南曾說過,國產操作系統不成功主要原因還在於生態系統,若要完善國產操作系統應積極整合軟件開發者、芯片企業、終端企業、運營商等產業鏈上的各主體,構建起一個覆蓋配件、終端、應用服務等諸多環節的完整的生態圈。

加大研發投入:國內軟件產品起步比西方國家晚了近半個世紀。與國外相比,國內軟件企業總體規模小、實力弱,在技術研發投入等方面與國外巨頭公司相差較大,要想發展操作系統,人才、技術、資金一個都不能少。

但是國產操作系統卻一直未能爭鋒,而現在,同時支持手機、桌面、平板、電視及可穿戴設備的華爲的鴻蒙操作系統讓我們看到了新的希望。不過,正如飛漫軟件創始人魏永明的推演所言,“要麼一飛沖天,要麼完蛋”。在本文中,作者通過研究Google Android及 Fuchsia總結出了Google在操作系統領域可複製的模式,僅做技術交流,如果你有具有建設性的觀點及建議,歡迎留言互動:

02

基礎操作系統的研發究竟有沒有具體可行的方法論?

核心芯片缺失是全行業需要面對的問題。但是國內的基礎軟件尤其是基礎操作系統也同樣薄弱,而且國人早就認識到基礎軟件系統對企業和國家的戰略意義。華爲任正非爲什麼堅持自主研發芯片和OS操作系統[1],阿里馬雲做AliOS[2],倪光南院士關於自主操作系統的評論[3],這些都是國內的行業精英們在爲我們自主產權的操作系統呼喊行動(基礎軟件包括操作系統、編譯器、開發工具等等,本文討論的基礎軟件主要指操作系統)。

在雲計算和移動應用開發領域,國內外有很多成熟公開的研發模式,人才儲備也很充分。但是,和雲計算、移動應用開發不同,基礎操作系統的研發並沒有公開成熟的方法,對人才要求更高,研發週期長,資金投入大,產品還面臨較高的失敗的風險(譬如Palm的webOS,微軟的WindowsPhone)。

那麼,基礎操作系統的研發到底有沒有具體可行的方法論?在國內,無論是AliOS還是其他OS或者Android衍生UI,就目前的結果看,其採取的基礎操作系統研發策略(主要是拿來主義)都是值得商榷的。Google在Android和Chrome多年實踐後,推出全新操作系統Fuchsia,實現了一個量變到質變的過程,卻讓筆者意識到貢獻比拿來更容易獲得成長。

本文通過總結Google的這個量變到質變的過程,來探討Google使用了什麼樣的方法和策略,從一個操作系統的門外漢成爲一個操作系統的領導者。筆者認爲,Google在操作系統方面的成功,是可以複製的。

在國產核心軟件缺失的這個大環境下,Google在基礎操作系統的蛻變能給國內基礎軟件系統從業者提供一些思路和方法。希望我們有企業能夠複製Google的這個模式,從而帶動國產操作系統的崛起。

03

爲什麼Google能再造一個Fuchsia操作系統?

首先,不得不承認的是,Fuchsia是一個先進的操作系統。爲什麼這麼說?操作系統是否先進,最基本的一點是要適應新的硬件和用戶需求的變化(當然,是否成功則需要經受住時間的考驗)。蘋果iOS之所以先進,是因爲提供了非常好的用戶體驗。Android之所以先進,是因爲適應了當時移動芯片上GPU越來越成熟,移動應用越來越複雜的趨勢,從而能夠實現更加流暢的體驗。Chrome之所以能夠在瀏覽器市場獨佔鰲頭,和Google在多進程多線程,GPU等方面的優化分不開。

簡單來說:先進的操作系統,要能夠適應硬件的變化甚至影響硬件的變化,同時還能夠適應新的用戶需求甚至創造出讓用戶着迷的用戶需求。

下表列出來筆者認爲先進的一些系統和它們先進的兩大因素:對新的硬件和標準的適應和影響,滿足用戶的需求甚至創造出讓用戶着迷的用戶需求(譬如蘋果最先推出的手指觸摸和視網膜屏幕,其實就是在沒有被廣大用戶呼喊的時候創造出來的)。

綜合網上的各種評論和筆者對Fuchsia源碼的解讀,Fuchsia的先進之處主要有:

實時系統;

新的用戶體驗,虛擬現實成爲一等公民;

遊戲成爲一等公民;

MaterialUI(讓界面更加真實的一種設計);

底層圖形引擎基於最新的業界標準Vulkan。至於對GPU和多核處理器的優化,Fuchsia一樣都不會少;

全新設計的語言Dart。

Fuchsia現有的體系結構雖然很先進,但是未來到底會如何,筆者現在沒有能力去判斷。我們能夠知道的是,Google已經具備了全新操作系統的設計能力。對於國內的業者而言,在這個十來年間,Google是怎麼從一個初入門者成爲了一個可以自主設計全新操作系統的公司,這其實是可以學習甚至複製的,這纔是值得國內企業需要深思和反省的。

04

Google模式:從Android到 Fuchsia

Google是一家強大的公司。在2005年Google收購Android之前,就已經很強大了。但是這個強大,是指雲計算的強大。在客戶端和移動計算,谷歌還是初入門者。

我們知道,想要得到一件東西,就必須付出代價,或者錢,或者時間,或者兩者都需要。Google爲了獲得在移動和桌面系統的話語權,抗衡蘋果微軟在移動市場和桌面的壟斷地位,先是在2005年收購Android[4],接着2008年從蘋果WebKit瀏覽器獨立出來創建了Chrome[5](本文不去刻意區分Chrome和Chromium兩個項目的區別。另外Chrome實現了很多操作系統纔有的功能,所以作者也把Chrome當作基礎的操作系統),2009年創建ChromeOS項目[6]。

之後就是我們看到了的,在過去的十來年裏,Google對Android和Chrome持續不斷的更新。這個十年,Google看起來很張揚(畢竟Android已經佔領了移動市場的半壁江山,每年新系統發佈會也吸引了足夠的眼球),但在基礎操作系統方面,其實非常低調。無論是Android,還是Chrome、ChromeOS,或是從別處買來的,或是基於其他開源項目並不斷的給這些開源項目貢獻代碼,Google並沒有張狂到去創建一個全新的OS。

收購Android的大把美金,默默貢獻代碼的十年時間,這就是Google爲了獲得移動和桌面操作系統的一張門票付出的代價。十年磨一劍,終於在2016年,Google開始嘗試全新的操作系統Fuchsia。如果說Android、Chrome、ChromeOS是Google告訴世界,我想學習下操作系統是怎麼做的。那麼,Fuchsia就是Google對外界發出的另一個信號,我們已經具有獨立研發一個全新的先進的操作系統的能力了。

爲了具備開發全新操作系統Fuchsia的實力,Google其實是從兩個產品齊頭並進:

Android:收購。然後在過去的十年裏持續演進。

Chrome:開始的時候基於WebKit,從一點入手,引入多進程架構。擴散到面:積極參與WebKit其他模塊的開源工作、多媒體、圖形等等。2009年發佈ChromeOS。2013年宣佈Chrome切換到全新的引擎Blink[7]。Blink是Google對業界宣告,他們已經熟練掌握了瀏覽器引擎的核心技術。

Google在Android和Chrome項目上埋頭苦幹了十年左右,Android版本從1升級到7(最新是9),Chrome則從0升級到了50(最新是68),所有這些,十年磨一劍,終於在2016年,從頭到腳全新設計的Fuchsia出來了。

總結下所謂的Google模式,就是“貢獻”主義,就是長時間參與開源,給社區貢獻代碼,培養各個領域的技術專家。等人準備好了,就可以直接做起新的操作系統了。

爲什麼是參與開源而不是像蘋果iOS或者2005年之前的Android那樣閉門造車?因爲當時Google是一個後入者。後入者需要跟着前人學習模仿。而參與開源,與業內前輩高手過招,是人才最容易成長的方式。如果2005年穀歌不收購Android,2008年的Chrome是完全從頭開始做的,我認爲Google今天很難有今天這樣的底氣去做全新的操作系統。

05

中國模式

談好了Google模式,我們來談談中國模式。筆者認爲中國模式主要是先拿來,然後修改優化。

在這十年,國內出現了各種Android版本,AndroidROM,各類微創新的Android界面設計公司,也出現了號稱面向多端的物聯網操作系統AliOS。但是所有這些,都是在現有軟件的基礎上修改和整合(筆者絕對不是說這些工作不重要沒有價值,而是說這些還沒有觸及到操作系統最核心的部分)。

和Windows系統進入中國的時候相比,我們是進步了很多,起碼我們能夠看到Android核心的源代碼,各大公司也培養了很多Android框架工程師。但是,真正能夠從頭開始設計一個先進的操作系統的公司或者團隊,並沒有出現。基礎操作系統的設計團隊,依然被牢牢的掌握在谷歌微軟蘋果等公司手上。

小米公司和谷歌蘋果公司的差別,和十年前我們大多數Windows應用開發者和微軟的差別並沒有太大的區別:我們仍然基於別人的架構和接口做進一步的開發。我們在基礎操作系統的設計上,還是沒有話語權。

06

結語:我們可以複製Google模式

筆者認爲基礎操作系統,我們是能夠自己從頭造出來的。和芯片設計製造,AI等學科不同,隨着開放源代碼和越來越多算法的公開,基礎操作系統的設計本身需要的知識已經可以通過互聯網和書籍等來獲取了。所以這是一門工程性很強也沒什麼祕密的學科。國內有些同行已經花了很多時間和精力來做這些事情,但是並沒有取得怎麼樣的成功,筆者認爲這是方法論的問題。這裏想要給大家分享的就是谷歌模式,Google 的方法論:“貢獻”主義。我們要想實現自己的操作系統,目前可行的一個方法就是複製谷歌的模式,複製“貢獻”主義。

重申下所謂的Google模式:參與開源貢獻代碼,培養各個領域的技術專家。等人準備好了,就要等風,然後就可以做新的操作系統了。什麼是風?就是時機。舊系統體驗不好是好時機,新的用戶需求出來是好時機,硬件本身發生了變化,也是好時機。

往簡單了說,就是需要從業者參與開源,在一個個領域持續深入,最後在合適的時機纔可以厚積薄發,在系統結構上有所突破。已經在Android和Chrome耕耘了很長時間的谷歌,選擇在2016年重新設計一個全新的FuchsiaOS,筆者揣測是“風”來了,同時谷歌的人才已經準備好了。

具體表現在三點:

第一,新的用戶需求譬如虛擬現實,爲了實現更好的用戶體驗,要求更高的性能,要求高達90以上的FPS。對於一開始就把用戶體驗放在首位的谷歌公司,用戶體驗是不能打折扣的,而舊的系統已經很難滿足新的需求對性能的要求,這是第一陣風。

第二,新的標準Vulkan得到更多硬件的支持,也要求對現有的軟件系統進行一次重構。硬件和標準的變化,是第二陣風。

第三,Google的人才已經準備好了。對Google而言,它已經花了十來年的時間去學習操作系統的核心原理了,是時候去檢驗一下自己學習的到底如何了。綜上三點,與其在原來的系統上進行重構,不如另起爐竈。

Google模式的本質,其實還是先把人培養起來,然後等時機。國內企業已經培養了很多技術專家了,尤其是雲計算的。但是在基礎操作系統方面,我們習慣於把別人開源的系統,加上我們自己閉源的修改,做成我們自己的產品。拿別人的東西關起門來優化,是因爲大多數企業要求產品快速見效益,這也無可厚非。

但是如果做基礎操作系統,拿來主義會導致我們和業內最先進的技術脫節,也就失去了先進性,從而很難持續的投入。另外,很多專家做的東西不夠專一深入,精力過於分散,我們就很難把東西做好。

而Google培養人的方法,就很重視工程師參與貢獻優秀的開源項目。開源看起來是賠錢的買賣,但是對於一個後入者,這是能夠快速接觸到業界最新成果的方式,因而這也是培養鍛鍊人才的好方式。Google這麼熱衷開源,絕對不僅僅是爲了藉助社區的力量來對抗蘋果微軟,更加不會是爲了所謂的慈善,而是可以藉助社區的力量,來壯大自己的力量。

相關文章