伍健
不久前華為正式發(fā)布鴻蒙系統(tǒng)2.0,并且同時公布了在上百款華為設(shè)備上升級鴻蒙的具體時間線,“鴻蒙”這一脫胎于神話的詞語再次成為人們關(guān)注的焦點?為何網(wǎng)上有人發(fā)言攻擊鴻蒙是“套殼版”的安卓?而安卓作為一個開源項目誕生的系統(tǒng),又為何會對國產(chǎn)硬件廠商產(chǎn)生威脅?要弄清楚這個問題,其實說難也不難。
20世紀70年代初,偉大的UNIX系統(tǒng)問世了。在它之前,小型計算機和微型計算機上的系統(tǒng)在批處理作業(yè)時,響應(yīng)速度已經(jīng)遠遠無法滿足彼時用戶的需求了。于是有人提出了分時系統(tǒng)的概念。顧名思義,分時系統(tǒng)是將CPU的運行時間劃分為若干個小片段,多個用戶可以利用分時段這種形式,輪流使用CPU的算力,實現(xiàn)系統(tǒng)從單一用戶/單一任務(wù)的交互形式,進化為多用戶/多任務(wù)的交互形式。由于分時系統(tǒng)的時間片段切割得非常短小,因此用戶實際上是感受不到自己在排隊等待的。而UNIX系統(tǒng)也從匯編語言版本,過渡到了C語言版本UNIX VersionV后,具備了廣泛應(yīng)用的可能性。
發(fā)現(xiàn)了UNIX十分好用的IBM、惠普在內(nèi)的各家商業(yè)公司,開始著手開發(fā)屬于自家版本的UNIX系統(tǒng)。但各家公司開發(fā)的UNIX用于商業(yè)目的都是閉源的,也就是并不會輕易公布源代碼。為了方便UNIX編程教學,荷蘭阿姆斯特丹大學的教授Andrew Tanenbaum自己編寫了一套UNIX系統(tǒng),命名為Minix,也就是迷你版本UNIX的意思?;谖?nèi)核架構(gòu)的Minix并不包含任何AT&T源代碼,隨后Andrew決定,將它全部開源給大學教學工作,并在2000年改為了BSD授權(quán)使用的形式,但同樣保持了開源使用。當然開源的好處就是會有更多年輕人加入對這套系統(tǒng)的開發(fā),隨后還在上大二的Linus 基于Minix寫出了Linux系統(tǒng)也就是安卓系統(tǒng)的內(nèi)核。而我們熟悉的蘋果iOS系統(tǒng)同樣基于Minix的FreeBSD版本。因此你也發(fā)現(xiàn)了,開源的安卓也好,閉源的蘋果也罷,他們其實都來自同一個祖先——UNIX。所以如果非要糾結(jié)所謂的“套殼”,UNIX老祖吐個唾沫星子,就能懟至你閉嘴。
法國作家利爾亞當曾在他的科幻小說《未來夏娃(Lève future)》中,為故事中外形像人的機器人起名Android。安卓Android系統(tǒng)最早并不是谷歌公司研發(fā)出來的。先后在蘋果和微軟工作過的安迪·魯賓離職后和朋友一起研發(fā)出了一款名為Sidekick的掌中設(shè)備,并成立了兩家開發(fā)智能手機操作系統(tǒng)的公司Danger和Android。隨后Danger以5億美元的價格被微軟收購,而Android則賣給了谷歌,并且安迪本人成了谷歌的高級副總裁,繼續(xù)負責Android項目的開發(fā)。兩年后,也就是2007年,谷歌正式發(fā)布了安卓Android操作系統(tǒng),并且宣布成立“開放手持設(shè)備聯(lián)盟(Open Handset Alliance)”,邀請手機制造商、軟件開發(fā)商、電信運營商和芯片制造商共同開發(fā)安卓系統(tǒng)。也就是從那時起,谷歌以Apache許可授權(quán)的方式發(fā)布了Android的源代碼(Apache許可是Apache軟件基金會發(fā)布的一個自由軟件許可證,目前安卓開源項目使用的是最新的Apache 許可授權(quán)2.0版本)。而這個“安卓開發(fā)源代碼項目(Android Open-Source Project)”也就是AOSP。而包括華為在內(nèi)的眾多廠商,本身也是這個開源項目的重度參與者。
我們?nèi)粘J謾C中預(yù)裝的安卓系統(tǒng),其實這個操作系統(tǒng)已經(jīng)進化了很多代,就像所有的老牌操作系統(tǒng)一樣,它的組成很復(fù)雜。簡單來說,它包含了開源代碼部分、安卓自主知識產(chǎn)權(quán)代碼部分以及谷歌移動服務(wù)(GMS)。其中谷歌移動服務(wù)GMS包含了Chrome瀏覽器、YouTube、谷歌Play商店,這也是谷歌為數(shù)不多的從安卓系統(tǒng)中獲利的部分。因為任何廠商尤其是在國外,想要讓一款手機擁有底層技術(shù)和API,即讓手機不只是能上網(wǎng)打電話,就需要通過GMS商用授權(quán)實現(xiàn)移動支付、語音命令和云存儲等功能。這也是華為最擔心的——假如谷歌不再同意GMS授權(quán),華為手機就會面臨在需要用到GMS服務(wù)的國家或地區(qū),無法擁有完整的谷歌生態(tài)的尷尬境地。簡而言之,這是個別人卡住你脖子,不讓你擺攤兒賣貨的“生存問題”。
但由于安卓的演化過于復(fù)雜,一則谷歌保留了安卓系統(tǒng)部分產(chǎn)權(quán)代碼和谷歌移動服務(wù),二則安卓系統(tǒng)也是來自更古老的開源系統(tǒng)——整個代碼庫的版權(quán)歸屬問題更像是一筆爛賬。比如擁有Java軟件知識產(chǎn)權(quán)的甲骨文公司,就曾一直主張安卓侵犯了Java的知識產(chǎn)權(quán)代碼,過去十年間反復(fù)指控稱安卓抄襲了Java超過一萬行的API源代碼,一直到今年4月甲骨文在終審判決中敗訴,整個官司維持了十年之久。其實甲骨文的做法,就是想把原本應(yīng)該開源的API代碼,通過申訴版權(quán)的形式獨占。這和安卓以開源代碼為基礎(chǔ),逐漸建立自己生態(tài)體系的半開源護城河玩法,在某種意義上也是類似。只不過這么多年過去,谷歌已經(jīng)摸索出了一套在免費開源和商業(yè)授權(quán)之間平衡的機制,讓同盟者隨之獲益良多,因此大家對于這種模式也就沒多說什么。
但是沒辦法再一起好好玩耍又該怎么辦呢?其實在鴻蒙之前,這種事有過類似的先例。2012年9月13日,阿里云與宏碁原定于上海舉辦的發(fā)布會突然宣布取消。隨后阿里云方面稱,合作伙伴宏碁收到了來自谷歌安卓方面的壓力。此前安卓系統(tǒng)創(chuàng)始人安迪·魯賓就多次和阿里巴巴隔空喊話,安迪強調(diào)阿里云OS很明顯是從Android修改得來,但阿里巴巴否認這一說法,稱阿里云OS使用了安卓框架和工具。而令谷歌惱火的地方,可能是阿里云OS擁有了自成體系的生態(tài)系統(tǒng),繞開了谷歌GMS。彼時高調(diào)的阿里巴巴也沒能從這場風波中占得上風。
但是這次鴻蒙的出現(xiàn),和剛剛列舉的事件在出發(fā)點上又完全不相同。說得更直白點,華為手機已經(jīng)被禁用了GMS服務(wù),因此一個新的、可代替的系統(tǒng)方案,就變成了勢在必行的開發(fā)任務(wù)。鴻蒙這次的思路,顯然高明得多。簡單來說,鴻蒙的開發(fā)思路是更有意思的“萬物互聯(lián)”,而不僅僅把自己局限為操作系統(tǒng)的層面。鴻蒙的出現(xiàn)也不是一蹴而就的。在華為EMUI時代,華為的開發(fā)團隊就已經(jīng)開始嘗試如何從一個UI轉(zhuǎn)變?yōu)橐粋€平臺。在EMUI 5.0以上版本,華為完成了對安卓系統(tǒng)垃圾回收機制、AOT、數(shù)據(jù)庫優(yōu)化的關(guān)鍵進展,并且推出了可以減少運存依賴的UltraMemory,對安卓底層技術(shù)模塊進行了各項深度開發(fā),對外就構(gòu)成了EMUI"18個月不卡頓”的豪言壯語。而到了EMUI 8.0時代,華為再次強調(diào)GPU Turbo,對安卓系統(tǒng)全站圖形模塊嘗試修改,并在接下來推出了GPU Turbo2.0、CPU Turbo、LinkTurbo等多個關(guān)鍵系統(tǒng)性能優(yōu)化技術(shù)。2019年,華為首次提出了“1+8+N”智慧全場景戰(zhàn)略,也就是萬物互聯(lián)的前身。而隨著鴻蒙2.0的到來,華為HMS成了谷歌GMS的代替服務(wù)方案,成功解決在沒有GMS服務(wù)支持情況下,消費者的手機軟件服務(wù)支持問題。從HDC 2019公布的鴻蒙時間線規(guī)劃也可以看出,鴻蒙OS 3.0在通用微框架基礎(chǔ)上,正在向著軟硬協(xié)同高性能IPC邁進,也就是為“萬物互聯(lián)”提供更強的性能支撐。設(shè)想一下,你可以在熄火下車后,將車載通話或者地圖導航的步行部分轉(zhuǎn)移到手機,或者將外出智能手環(huán)或者手機正在運行的應(yīng)用轉(zhuǎn)移到電視上,這些已經(jīng)并不遙遠。面對外界種種猜測,華為鴻蒙負責人王成錄稱:
“HarmonyOS的定位一直很清晰,它瞄準的從來不是安卓或iOS,這是面向萬物互聯(lián)時代的操作系統(tǒng)。”
那么,鴻蒙系統(tǒng)除了剛剛提到的萬物互聯(lián)核心玩法,又該如何去準確定義?首先要強調(diào),Harmony OS是新一代的智能終端操作系統(tǒng),智能化和協(xié)同性構(gòu)成了鴻蒙的底色,因此從本質(zhì)上它與安卓這種強調(diào)“宏內(nèi)核”的系統(tǒng)有著本質(zhì)的不同?!昂陜?nèi)核”也就是打包式內(nèi)核,無論你用不用得到的功能,類似Windows、安卓都是用打包的形式一股腦丟給你,雖然這個包就像漢語大詞典一樣大而全,厚重的分量,勢必會讓“背書包”的硬件占用到很多不必要的資源。而鴻蒙的思路恰恰相反—把龐大的復(fù)雜的操作系統(tǒng),從根本上解構(gòu)成為一個又一個的模塊化功能,也就是我們說的“微內(nèi)核”,那么它還是“一個”操作系統(tǒng)么?很多人困惑的地方也正是在此處。華為手機上的鴻蒙系統(tǒng)和剛剛發(fā)布的用于IoT設(shè)備上的Harmony OS看起來還是有很大差異,但這正是鴻蒙的高明之處,因為它們都構(gòu)成了“萬物互聯(lián)”新生態(tài)下終端可以聯(lián)系起來的關(guān)鍵。