Google Fuchsia 對中國操作系統的啟示|暢言

Google 在操作系統方面的成功,是可以複製的。

Google Fuchsia 對中國操作系統的啟示|暢言

作者 | 徐 星

徵稿啦!

為什麼學習 Google

隨著華為、BATJ 在國內外市場獲得了巨大成功,以及新秀摩拜單車等在業務模式的創新,讓很多人以為我們的 IT 行業已經天下第一第二了。當然也有人一直在警告中國 IT 行業基礎核心技術缺失,很容易受制於人。尤其最近中興被美國禁止出口,把國內 IT 業最短的那塊板——核心技術缺失,暴露給更加廣泛的公眾。

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

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

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

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

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

先進的 Fuchsia 操作系統

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

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

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

Google Fuchsia 對中國操作系統的啟示|暢言

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

  • 實時系統;
  • 新的用戶體驗,虛擬現實成為一等公民;
  • 遊戲成為一等公民;
  • Material UI(讓界面更加真實的一種設計);
  • 底層圖形引擎基於最新的業界標準 Vulkan。至於對 GPU 和多核處理器的優化,Fuchsia 一樣都不會少;
  • 全新設計的語言 Dart。

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

Google 模式

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 Fuchsia 對中國操作系統的啟示|暢言

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

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

中國模式

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

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

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

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

結語:複製 Google 模式

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

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

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

具體表現在三點:

  • 第一,新的用戶需求譬如虛擬現實,為了實現更好的用戶體驗,要求更高的性能,要求高達 90 以上的 FPS。對於一開始就把用戶體驗放在首位的谷歌公司,用戶體驗是不能打折扣的,而舊的系統已經很難滿足新的需求對性能的要求,這是第一陣風。
  • 第二,新的標準 Vulkan 得到更多硬件的支持,也要求對現有的軟件系統進行一次重構。硬件和標準的變化,是第二陣風。
  • 第三,Google 的人才已經準備好了。對 Google 而言,它已經花了十來年的時間去學習操作系統的核心原理了,是時候去檢驗一下自己學習的到底如何了。綜上三點,與其在原來的系統上進行重構,不如另起爐灶。

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

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

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

參考文獻:

[1], 華為,http://www.ccidnet.com/2016/0504/10128344.shtml

[2], AliOS,http://www.alios.cn

[3], 倪光南院士,http://tech.ifeng.com/a/20170414/44573008_0.shtml

[4], Android 的歷史,http://digi.tech.qq.com/a/20170922/009468.htm

[5], Chrome,https://baike.baidu.com/item/chrome

[6], ChromeOS, https://zh.wikipedia.org/zh/Chrome_OS

[7], Blink, https://en.wikipedia.org/wiki/Blink_(web_engine)


分享到:


相關文章: