陳徐毅
在新興操作系統(tǒng)領(lǐng)域,谷歌除了承擔(dān)著Android與Chrome OS的開發(fā)和維護(hù)之外,一直以來還有著新系統(tǒng)Fuchsia的研發(fā)傳聞,這在不久前得以證實(shí)。谷歌公司在開源博客對(duì)外公開,F(xiàn)uchsia是建立通用開放源代碼操作系統(tǒng)的長(zhǎng)期項(xiàng)目,并承認(rèn)公司近年來一直致力于Fuchsia的研發(fā),同時(shí)向團(tuán)隊(duì)外部尋求更多開發(fā)者。
消息一出,沉寂了四年來的Fuchsia操作系統(tǒng)再次浮出水面。早在2016年8月,有媒體發(fā)現(xiàn)開源托管平臺(tái)上的神秘代碼,項(xiàng)目顯示谷歌正在開發(fā)一個(gè)名為“Fuchsia”的新操作系統(tǒng),經(jīng)開發(fā)者分析該源代碼能跨平臺(tái)運(yùn)行,包括傳統(tǒng)終端和嵌入式設(shè)備。
谷歌實(shí)驗(yàn)室有許多半途而廢的項(xiàng)目,原本趨于被遺忘的Fuchsia卻低調(diào)堅(jiān)持了四年且再次被搬上臺(tái)面,說明Fuchsia與那些“實(shí)驗(yàn)型”產(chǎn)品有著根本不同。所以,一個(gè)四年前的問題被再次重談——谷歌為什么要開發(fā)一款全新的操作系統(tǒng)?這個(gè)問題的解答在今天看來被賦予了更多新時(shí)效的觀點(diǎn)。
2010年,甲骨文起訴安卓系統(tǒng)侵權(quán)一事將谷歌拉入了長(zhǎng)達(dá)近十年未果的軟件知識(shí)產(chǎn)權(quán)訴訟大案。Java案成了一場(chǎng)拉鋸戰(zhàn),歷時(shí)長(zhǎng)久,影響深遠(yuǎn),其比之上世紀(jì)90年代著名的AT&T訴加州伯克利BSD侵權(quán)Unix案有過之而無不及。
甲骨文認(rèn)為安卓系統(tǒng)抄襲了37個(gè)JavaAPI代碼段,而這些代碼屬于Oracle商業(yè)私有JDK的一部分。本案最大的爭(zhēng)議在于,API應(yīng)用程序接口作為代碼產(chǎn)物的一部分,用于約定軟件系統(tǒng)不同組成部分的銜接,其是否適用于版權(quán)法的保護(hù)效力,在開發(fā)者未有自主聲明的情況下并無法律明文約束?!?7個(gè)JavaAPI代碼段”成了該案雙方爭(zhēng)論的焦點(diǎn)。
Java案的塵埃落定至今仍不明朗,不僅如此,連Chrome OS也一度陷入麻煩,甲骨文律師曾表示,谷歌在官司期間推出的Chrome OS版Play商店正試圖在桌面端打入Java SE市場(chǎng),此舉使甲骨文蒙受巨大損失。為了一舉消除Java對(duì)谷歌未來的負(fù)面影響,因而在2016年Java案訴訟進(jìn)入白熱化之時(shí),谷歌秘密開啟了Fuchsia操作系統(tǒng)的研發(fā)項(xiàng)目,也就在那個(gè)時(shí)候,坊間有了Fuchsia將取代安卓系統(tǒng)和Chrome OS的傳聞。當(dāng)谷歌意識(shí)到軟件知識(shí)產(chǎn)權(quán)問題的嚴(yán)重性時(shí),安卓系統(tǒng)的更替方案也隨之提上日程。當(dāng)然也有可能讓Fuchsia套上安卓的殼,但操作性就很難說了。
要重新梳理軟件知識(shí)產(chǎn)權(quán)問題最徹底的解決方法就是另起爐灶,因?yàn)槿魏螌?duì)原系統(tǒng)的修改都難以避免最初源代碼權(quán)屬問題而引起巨大的商業(yè)風(fēng)險(xiǎn)。谷歌曾試圖在2016年的Android 7.0 Nougat中將甲骨文專利的JDK替換成開源的OpenJDK,但后來證明于事無補(bǔ)。
眾所周知,安卓系統(tǒng)和Chrome OS都是基于Linux內(nèi)核設(shè)計(jì)開發(fā)的,因?yàn)楣雀枳钤绨l(fā)跡于萬維網(wǎng),移動(dòng)時(shí)代又得利于Java的流行。在開源世界的體系框架里,Linux內(nèi)核是在GPL第二版許可證下發(fā)布的,GPL要求基于開源衍生的作品必須繼續(xù)開源,這叫做GPL的“強(qiáng)傳染性”;但是安卓系統(tǒng)還有另一個(gè)開源許可證ASL(Apache許可證),這是一個(gè)比較寬松的允許閉源的許可證,為何如此呢?
安卓發(fā)布之初,谷歌修改了Linux內(nèi)核,故意引入ASL其原因是允許廠商自定義個(gè)性化的安卓系統(tǒng)并成為他們的獨(dú)家產(chǎn)品,所以才會(huì)有后來的三星TouchWiz、華為EMUI等等百花齊放。但是這里有一個(gè)問題,安卓系統(tǒng)僅僅是部分采用了Apache許可證,系統(tǒng)真正的內(nèi)核部分依然遵循GPL規(guī)范,這就解釋了為什么安卓不能完全實(shí)行閉源。
ASL的引入成就了安卓系統(tǒng)高達(dá)85%的移動(dòng)市場(chǎng)份額,同時(shí)也加劇了安卓移動(dòng)設(shè)備碎片化和標(biāo)準(zhǔn)不一。因此為了一次性解決所有難題,重做內(nèi)核確實(shí)是最徹底最有效的辦法。Fuchsia采用獨(dú)立微內(nèi)核Zircon區(qū)別于Linux內(nèi)核,編程語言Dart、開發(fā)引擎Flutter、渲染器Escher、應(yīng)用程序框架 Mojo都與專有的商業(yè)專利無關(guān),可以看出另起爐灶的Fuchsia系統(tǒng)旨在避開GPL開源的強(qiáng)傳染性,同時(shí)又著重避免再次遭遇類同Java案的影響。
谷歌一直以來都在嘗試建立一個(gè)與蘋果操作系統(tǒng)生態(tài)相媲美的產(chǎn)品,但是安卓系統(tǒng)的歷史性問題讓這一愿景變得越來越難以實(shí)現(xiàn)。比如谷歌想設(shè)計(jì)一套穩(wěn)定的驅(qū)動(dòng)API接口,因?yàn)長(zhǎng)inux不具備穩(wěn)定的內(nèi)核內(nèi)部API接口,所有的驅(qū)動(dòng)都必須放到內(nèi)核里一起被維護(hù),由于迭代過程碎片化嚴(yán)重,這些驅(qū)動(dòng)很快過時(shí)并隨著內(nèi)核大部隊(duì)一起向前走(新的版本)。
另外,F(xiàn)uchsia的內(nèi)核抽象非常小,谷歌也有可能通過用戶空間的抽象層兼容目前的安卓系統(tǒng)上面的應(yīng)用,從而實(shí)現(xiàn)“換核”操作。如果上述分析最終走向結(jié)果為真,那么Fuchsia基本上是取代現(xiàn)有安卓的全新操作系統(tǒng),或者是將經(jīng)歷“換核”作業(yè)的“新安卓”。如此一來,替掉了GPL的核部分,安卓開發(fā)的碎片化或許能夠得到改觀。
但是谷歌將Fuchsia定義為通用OS,這一說法存在爭(zhēng)議。鑒于當(dāng)今第三方軟件生態(tài)構(gòu)建的難度,新的流行終端諸如VR、AR其開發(fā)者都在和類Unix操作系統(tǒng)打交道,暫時(shí)還看不到在Linux/BSD之外另起爐灶的必要。