陳徐毅

在新興操作系統領域,谷歌除了承擔著Android與Chrome OS的開發和維護之外,一直以來還有著新系統Fuchsia的研發傳聞,這在不久前得以證實。谷歌公司在開源博客對外公開,Fuchsia是建立通用開放源代碼操作系統的長期項目,并承認公司近年來一直致力于Fuchsia的研發,同時向團隊外部尋求更多開發者。
消息一出,沉寂了四年來的Fuchsia操作系統再次浮出水面。早在2016年8月,有媒體發現開源托管平臺上的神秘代碼,項目顯示谷歌正在開發一個名為“Fuchsia”的新操作系統,經開發者分析該源代碼能跨平臺運行,包括傳統終端和嵌入式設備。
谷歌實驗室有許多半途而廢的項目,原本趨于被遺忘的Fuchsia卻低調堅持了四年且再次被搬上臺面,說明Fuchsia與那些“實驗型”產品有著根本不同。所以,一個四年前的問題被再次重談——谷歌為什么要開發一款全新的操作系統?這個問題的解答在今天看來被賦予了更多新時效的觀點。
2010年,甲骨文起訴安卓系統侵權一事將谷歌拉入了長達近十年未果的軟件知識產權訴訟大案。Java案成了一場拉鋸戰,歷時長久,影響深遠,其比之上世紀90年代著名的AT&T訴加州伯克利BSD侵權Unix案有過之而無不及。
甲骨文認為安卓系統抄襲了37個JavaAPI代碼段,而這些代碼屬于Oracle商業私有JDK的一部分。本案最大的爭議在于,API應用程序接口作為代碼產物的一部分,用于約定軟件系統不同組成部分的銜接,其是否適用于版權法的保護效力,在開發者未有自主聲明的情況下并無法律明文約束。“37個JavaAPI代碼段”成了該案雙方爭論的焦點。
Java案的塵埃落定至今仍不明朗,不僅如此,連Chrome OS也一度陷入麻煩,甲骨文律師曾表示,谷歌在官司期間推出的Chrome OS版Play商店正試圖在桌面端打入Java SE市場,此舉使甲骨文蒙受巨大損失。為了一舉消除Java對谷歌未來的負面影響,因而在2016年Java案訴訟進入白熱化之時,谷歌秘密開啟了Fuchsia操作系統的研發項目,也就在那個時候,坊間有了Fuchsia將取代安卓系統和Chrome OS的傳聞。當谷歌意識到軟件知識產權問題的嚴重性時,安卓系統的更替方案也隨之提上日程。當然也有可能讓Fuchsia套上安卓的殼,但操作性就很難說了。
要重新梳理軟件知識產權問題最徹底的解決方法就是另起爐灶,因為任何對原系統的修改都難以避免最初源代碼權屬問題而引起巨大的商業風險。谷歌曾試圖在2016年的Android 7.0 Nougat中將甲骨文專利的JDK替換成開源的OpenJDK,但后來證明于事無補。
眾所周知,安卓系統和Chrome OS都是基于Linux內核設計開發的,因為谷歌最早發跡于萬維網,移動時代又得利于Java的流行。在開源世界的體系框架里,Linux內核是在GPL第二版許可證下發布的,GPL要求基于開源衍生的作品必須繼續開源,這叫做GPL的“強傳染性”;但是安卓系統還有另一個開源許可證ASL(Apache許可證),這是一個比較寬松的允許閉源的許可證,為何如此呢?

安卓發布之初,谷歌修改了Linux內核,故意引入ASL其原因是允許廠商自定義個性化的安卓系統并成為他們的獨家產品,所以才會有后來的三星TouchWiz、華為EMUI等等百花齊放。但是這里有一個問題,安卓系統僅僅是部分采用了Apache許可證,系統真正的內核部分依然遵循GPL規范,這就解釋了為什么安卓不能完全實行閉源。
ASL的引入成就了安卓系統高達85%的移動市場份額,同時也加劇了安卓移動設備碎片化和標準不一。因此為了一次性解決所有難題,重做內核確實是最徹底最有效的辦法。Fuchsia采用獨立微內核Zircon區別于Linux內核,編程語言Dart、開發引擎Flutter、渲染器Escher、應用程序框架 Mojo都與專有的商業專利無關,可以看出另起爐灶的Fuchsia系統旨在避開GPL開源的強傳染性,同時又著重避免再次遭遇類同Java案的影響。
谷歌一直以來都在嘗試建立一個與蘋果操作系統生態相媲美的產品,但是安卓系統的歷史性問題讓這一愿景變得越來越難以實現。比如谷歌想設計一套穩定的驅動API接口,因為Linux不具備穩定的內核內部API接口,所有的驅動都必須放到內核里一起被維護,由于迭代過程碎片化嚴重,這些驅動很快過時并隨著內核大部隊一起向前走(新的版本)。
另外,Fuchsia的內核抽象非常小,谷歌也有可能通過用戶空間的抽象層兼容目前的安卓系統上面的應用,從而實現“換核”操作。如果上述分析最終走向結果為真,那么Fuchsia基本上是取代現有安卓的全新操作系統,或者是將經歷“換核”作業的“新安卓”。如此一來,替掉了GPL的核部分,安卓開發的碎片化或許能夠得到改觀。
但是谷歌將Fuchsia定義為通用OS,這一說法存在爭議。鑒于當今第三方軟件生態構建的難度,新的流行終端諸如VR、AR其開發者都在和類Unix操作系統打交道,暫時還看不到在Linux/BSD之外另起爐灶的必要。