谷歌為何緊急封殺阿里云OS?

2012-09-17 11:22:11來源:虎嗅網(wǎng)作者:

在谷歌封殺宏碁推出“阿里云”手機之后,雙方各就此發(fā)表了兩輪聲明。 這些聲明也使得事件爆發(fā)之初的一些判斷和表態(tài)看上去十分可笑,諸如“谷歌封殺是給阿里云加冕”、“阿里云因為采用與谷歌相似的web app戰(zhàn)略規(guī)劃所

在谷歌封殺宏碁推出“阿里云”手機之后,雙方各就此發(fā)表了兩輪聲明。 這些聲明也使得事件爆發(fā)之初的一些判斷和表態(tài)看上去十分可笑,諸如“谷歌封殺是給阿里云加冕”、“阿里云因為采用與谷歌相似的web app戰(zhàn)略規(guī)劃所以被后者忌憚”等等,有些已經(jīng)在雙方的聲明中被直接否定,也有些能明顯看出來作者不了解移動操作系統(tǒng)的體系架構以及GPL、ASL等開源 協(xié)議的規(guī)定,所以對一些明顯的問題視而不見。

從安卓之父安迪•魯賓的兩次聲明中,我們可以看到,谷歌封殺阿里云,其實出于兩大目的:防止安卓陣營的硬件基石開放手機聯(lián)盟(OHA)分裂;譴責阿里云對安卓應用APP的盜版。而阿里云如果要回應這些指責,光發(fā)聲明是不夠的,還需要遵循開源協(xié)議,公開云OS部分代碼。

阿里云市場的確存在盜版問題

盜版問題比較簡單,我們可以先把這個問題說清楚。安迪•魯賓的第二份聲明中說,“你們(阿里云)的應用商店中還包括了安卓的應用,包括盜版的。”認真的老外很快找到了證據(jù):科技博客Androidpolice發(fā)表了一篇調查文章《確認阿里云應用市場發(fā)布盜版安卓應用,很多來自別的盜版站點》。 他們發(fā)現(xiàn)在阿里云的應用市場中,有神廟逃亡(Temple Run)等熱門游戲的盜版拷貝下載,其署名提供方并非游戲自己的開發(fā)商,而是中國國內某個安卓應用市場,而后者提供了大量其他盜版APP下載;有一些原本 是收費的游戲也在阿里云的市場中提供免費下載;最有趣的是,一款針對安卓ROM的工具軟件ROM ToolBox Pro也出現(xiàn)在阿里云市場中——阿里巴巴方面一直堅稱阿里云OS并未基于安卓,那在自己的市場中放一款針對安卓ROM的工具有什么意義呢?

AndroidPolice 采訪了一些應用開發(fā)者,他們明確表示自己并未將應用APP上傳到阿里云市場。一款收費游戲(在阿里云市場中被標為免費)的開發(fā)者表示,“這是我們第一次聽 說阿里云。我們不知道我們的應用被上傳到了那兒”。ROM ToolBox Pro的開發(fā)者語氣則比較激烈:“像阿里云這樣的軟件破解網(wǎng)站只會傷害消費者和開發(fā)者”。

在盜版習慣仍然深入人心的中國,免費、開放的安卓 平臺以及其上的免費應用給很多人一個錯覺,既然免費,就可以隨便用,所以發(fā)布一些免費應用APP有什么不對呢?但這的確是不對的,免費不等于作者放棄了所 有權益,他們只是放棄了按份出售應用的做法,但署名權和其他權益比如市場推廣、運營等權益仍然屬于作者本人,上傳到哪個市場、適用于哪些手機的決定權同樣 在原作者(這也有保證應用正常運行的考慮)。像上述阿里云市場中更改應用作者署名、使用非授權版本等行為,已經(jīng)侵犯了軟件作者的權益。至于把收費軟件改成 免費應用放在市場里的行為,就更不用多說了。

也有些人說谷歌為什么不去抓中國數(shù)量眾多的盜版market,非要跟阿里云過不去?這里面有個 精力問題,也有個商業(yè)策略問題。盜版永無止息,但一旦有商業(yè)公司來運作,其破壞力就大得多(因為很容易變現(xiàn)出利益),反過來說侵權主體也好認定。所以反盜 版歷來是重拳打擊商業(yè)、政府機構的盜版行為,對個人消費者和一些小組織則基本無視。

協(xié)議規(guī)定安卓和阿里云都應開源

好。本來挺簡單的盜版認定問題也說了這么一堆。下面進入稍微復雜一些問題討論,即阿里云OS是否分裂了安卓陣營。

這個說法成立的前提是,阿里云OS要是安卓的一分子,這樣才談得上內部分裂。這也是目前為止阿里反對最激烈的一點。無論是阿里云CEO王堅,還是官方聲明,阿里都否定了“阿里云OS屬于安卓陣營”的說法。其中王堅說,阿里云OS是“獨立的操作系統(tǒng)”; 阿里巴巴副總裁約翰•斯佩里奇說“阿里云OS并不是安卓生態(tài)系統(tǒng)的一部分”;阿里第二份官方聲明中也說,“阿里云OS使用了自行研發(fā)的虛擬機,這與安卓的 Dalvik虛擬機不同。阿里云OS的運行環(huán)境,也就是OS的核心部分,即有不同于Dalvik的阿里云自己的JAVA虛擬機,也有阿里云自行研發(fā)的云應 用引擎(cloud app engine),用于支持html5 web應用。阿里云OS用了一些(開源的)安卓應用的框架和工具僅僅是作為補丁,讓使用云應用的用戶可以在我們的生態(tài)系統(tǒng)中使用其他第三方應用。”

現(xiàn) 在雙方都表明立場了,谷歌說阿里云基于安卓的代碼,阿里說我們的核心是自己開發(fā)的(但操作系統(tǒng)的核心是“運行環(huán)境”這個奇怪的說法是頭一次聽說),只用了 安卓一些應用框架和工具做補丁,然后還要特意強調,這些部分是開源的。雙方各執(zhí)一詞,按業(yè)內的做法,那就對比兩邊的源代碼好了。安卓的大部分源代碼是公開 的,阿里云OS的代碼沒有看到公開,似乎他們也沒說要公開——但是且慢,按照開源協(xié)議,阿里云OS必須公開一部分代碼。

從這場爭論開始到現(xiàn)在,輿論被有意無意地引導到阿里云的遠景規(guī)劃與谷歌沖突、必須要有自主操作系統(tǒng)以免受制于人這些奇怪的宏大敘事角度去,卻沒看到有基于開源協(xié)議來分析阿里云義務的聲音。

眾所周知,安卓是一個開源、開放的操作系統(tǒng),但這二者并不能等同。同時,開源也并不意味著,任何人或者公司都可以拿著公開源代碼回去自己編譯出一個應用來,然后打上自主產權的標簽就可以去報獎立項了。開源代碼有著嚴格的流轉規(guī)范體系,使用開源代碼必須基于這些規(guī)范,來保護開發(fā)者的版權。我們以安卓系統(tǒng)為例,來分析一下這些不同的開源標準,以及阿里云應該遵守哪些標準公開代碼。

安 卓系統(tǒng)基于Linux操作系統(tǒng)發(fā)展而來(阿里云也自稱基于Linux而非安卓系統(tǒng))。Linux是一個開源系統(tǒng),它采用了GPL開源協(xié)議,這是我們這里提 到的第一種開源協(xié)議。GPL協(xié)議規(guī)定,遵循該協(xié)議的代碼都是開源、免費的;一旦軟件作品中使用了遵循GPL協(xié)議的開源代碼,該軟件也必須開源、免費。業(yè)內 通常管這種特性傳遞叫“傳染性”,只要使用了一行GPL開源代碼,整個軟件都被“傳染”為遵循GPL協(xié)議。注意,真正的GPL協(xié)議要比這里的描述復雜、嚴 謹不少,為了行文簡潔,本文僅僅選取了與這一問題相關的部分內容進行表述。

GPL使軟件開發(fā)者獲得了極大的自由,可以免費閱讀、使用全世界 最優(yōu)秀的程序代碼。但它的強傳染性也削弱了它的商業(yè)前景。一些手機制造商如果針對自己的硬件開發(fā)一份Linux驅動,它必然要調用一些Linux基本函 數(shù)、類庫,該驅動因此會被GPL傳染,要公開所有源代碼。但這可能暴露廠商的硬件細節(jié),造成泄密。同樣,一些商業(yè)公司也會認為,將自己的獨有技術拿出來支 持Linux,會因為GPL的免費開源特性,造成創(chuàng)新成果流失(微軟的鮑爾默就曾經(jīng)說GPL讓Linux染上了癌癥)。

為了規(guī)避這一問題, 谷歌除了在操作系統(tǒng)核心使用了Linux代碼之外,在其他專門為安卓開發(fā)的相當一部分代碼中,使用了傳染性不那么強的開源協(xié)議:基于Apache的ASL 或者基于BSD的BSD協(xié)議。這兩種協(xié)議的共同點在于對商業(yè)應用十分友好,遵循這兩種協(xié)議的開源代碼,商業(yè)公司可以拿過去用,而開發(fā)出的產品不一定需要也 開源,可以視情況打包為閉源商業(yè)軟件。在安卓系統(tǒng)中,大部分硬件驅動程序,以及谷歌專門為移動設備開發(fā)的基本函數(shù)庫Bionic,都慷慨地采用了BSD或 ASL開源協(xié)議,其中包括Dalvik虛擬機等安卓運行庫(runtime)。(整個安卓操作系統(tǒng)各部分所遵循的版權協(xié)議見圖)

谷歌為何緊急封殺阿里云OS? 

對比代碼是解答“是否抄襲”的核心

這 里要多說兩句,谷歌為什么要允許別人閉源使用自己的開源代碼呢,它有啥好處?必須要說明,開源協(xié)議的選擇體現(xiàn)了軟件的價值觀,也體現(xiàn)了開發(fā)者的商業(yè)考量。 如果谷歌讓整個安卓系統(tǒng)采用GPL協(xié)議,看上去所有開發(fā)者的進一步開發(fā)都會被開源出來,系統(tǒng)創(chuàng)新的速度可能更快;但這樣有個更大的副作用,就是很多商業(yè)公 司就不愿意介入安卓開發(fā)了——一介入就被“傳染”了要開放自己的源代碼了。為了團結其他商業(yè)公司,讓更多的手機廠商原意采用安卓、更多的軟件廠商原意為安 卓開發(fā)豐富多彩的應用APP,谷歌選擇了在Linux核心之外,另行獨立開發(fā)出安卓的運行環(huán)境與函數(shù)庫,并將這部分以更為自由的BSD和ASL協(xié)議發(fā)布。 這樣,開發(fā)者基于安卓開發(fā)的應用,愿意貢獻給社區(qū),就開源;希望保守自己的商業(yè)秘密,就閉源。這個策略目前來看相當成功,安卓手機、應用APP這一硬一軟 兩個方面,在這幾年突飛猛進地發(fā)展,選擇了合適的開源協(xié)議功不可沒(關于谷歌選擇開源協(xié)議的分析,阮一峰翻譯了一篇文章,可以用來作為背景學習)。

通過安卓的體系設計,我們大概對幾種不同的開源協(xié)議有了初步認識,F(xiàn)在就來分析阿里云OS。阿里云OS的體系結構如圖所示?梢钥吹,阿里云OS同樣基于Linux核心。這就涉及第一個版權問題:這部分代碼按照GPL規(guī)定已經(jīng)被“傳染”,必須開源。目前為止,在公開報道中,我們還沒有找到阿里云OS“部分開源”的消息。

在 這部分代碼開源之后,業(yè)內人就可以對阿里云和安卓做一個更透徹的比較,看看到底是前者直接使用了后者的代碼,還是真的如阿里自己所說,是獨立在Linux 基礎上開發(fā)出來的新操作系統(tǒng)。因為谷歌安卓中的Linux核心,與一般的Linux核心還有不同。為了適應移動設備內存小、CPU頻率低、對耗電量高度敏 感的特點,谷歌將這部分Linux核心做了修改,并依據(jù)GPL將修改開源。從這篇文章可 以看到,谷歌對Linux核心做了至少兩處重大改動:進程間通訊(IPC)模塊Binder,和至關重要的電量管理模塊。阿里云OS既然也是移動操作系 統(tǒng),必然需要對本來為桌面系統(tǒng)開發(fā)的Linux做出相似的處理。這個處理方式,是沿用了谷歌的方式,還是真正的自主開發(fā)呢?代碼公布后,自然見分曉。

雙 方爭議的另一個核心,是阿里云OS如何實現(xiàn)了對安卓應用的兼容。安卓系統(tǒng)的開發(fā)語言是java,為了精簡java程序使之適用于移動設備,谷歌使用了 Dalvik虛擬機。注意Dalvik不是java虛擬機,它是將java程序重新打包為一種更為精簡的形式運行。阿里云在第二份聲明中說自己用了“不同 于Dalvik的java虛擬機”,那不但二者的代碼不同,連工作原理也會有不同了。

包括Dalvik在內的安卓運行庫,采用的是ASL和 BSD協(xié)議,也就意味著阿里云就算直接用了這部分代碼,也可以選擇不公開源代碼。但這不等于用了白用:ASL和BSD都規(guī)定,使用了遵循該協(xié)議的開源代 碼,必須以顯要方式標明原開發(fā)者的版權歸屬;這種標明方式,通常形式有源代碼中保留原作者的權利聲明和其他原作者規(guī)定的說明。阿里云既然已經(jīng)披露了自己使 用安卓代碼的情況,這部分代碼中是否保留了谷歌的版權聲明,只需要查看相應程序的說明文件即可。

總算把開源協(xié)議這部分介紹得差不多了;ㄙM 這么多筆墨的目的在于說明,這次谷歌與阿里云之爭,不應該像以前業(yè)界的一些爭論演變?yōu)榭谒畱?zhàn),而應該像另外一些爭論一樣,可以讓更多人了解操作系統(tǒng)、開源 協(xié)議等相關知識,消除許多誤區(qū)(這兩類爭論我就不具體點名舉例了),避免被人當技術小白糊弄。要達到這個目的很簡單,阿里云OS公開指定部分的源代碼,供業(yè)內行家與谷歌代碼進行比對即可。這不是強人所難,因為既然依照GPL、ASL、BSD等規(guī)范享用了一大批免費開源源代碼,那也應該遵循人家規(guī)定的義務。

當 然,在中國這個用盜版軟件都異常有理的國家,各類開源協(xié)議都是防君子不防小人的,程序源代碼都是純文本文件,你不遵循協(xié)議,它也不會鬧脾氣不運行,或者在 屏幕上打出一行字來罵你。但無論是阿里,還是另外號稱要做自主操作系統(tǒng)的華為、百度、聯(lián)想,都是國際級大公司,應該不會耍這種初級流氓。

安卓用戶與開發(fā)者成為贏家

也 有一些有技術背景的朋友可能會奇怪,谷歌的安卓系統(tǒng)已經(jīng)提供了相當寬松的條件,核心全部開源消除了安全隱患,龐大的社區(qū)和資金支持保證了系統(tǒng)快速進化,在 這種情況下,為什么這些公司還要一股勁地開發(fā)自己的操作系統(tǒng)呢?把精力用在做好跟公司業(yè)務有關的平臺、APP上不是更好嗎。這個問題很難回答,我也沒有確 定的答案。有些微博網(wǎng)友說是因為如果打出自主操作系統(tǒng)的牌子,阿里云OS就可以獲得國家“核高基”( 核心電子器件、高端通用芯片及基礎軟件產品)資金資助。我查了一下,阿里云在某些展會上的確出現(xiàn)在核高基成果展區(qū),也有微博上的實名用戶說,阿里云獲得了863計劃的8000萬元資金,他當時是評委。但這些資金項目與阿里云舍棄安卓走自主之路之間還暫時找不到官方表述和公開表達,所以建議網(wǎng)友們在找到新的證據(jù)之前,不要過于肯定地認定這一點。

最后,來說一下這次爭議對用戶的影響?梢钥隙,這對安卓開發(fā)者和用戶來說,是個大利好消息,因為谷歌表現(xiàn)出了解決安卓分裂現(xiàn)狀的行動與關注度,而分裂問題一直是安卓系統(tǒng)最大的憂患。資深移動互聯(lián)網(wǎng)專家郝培強(@tinyfool) 兩年前就在新京報上發(fā)表過文章,安卓系統(tǒng)的標準化程度與iOS存在巨大差距,廠商各自推出的不同分辨率、不同操作方式的手機讓開發(fā)者和用戶都深受其苦,各 類安卓版本之間的兼容、繼承也問題多多。谷歌應對這一問題的方式是組建開放手機聯(lián)盟,并在安卓4.0后逐步在系統(tǒng)層面進行統(tǒng)一、限制明顯的分裂行為。

宏碁是開放手機聯(lián)盟成員,有權優(yōu)先獲得最新的安卓系統(tǒng)代碼和接口服務,如果它再去支持一款從底層到應用都與安卓兼容的阿里云OS,從谷歌的角度來看,擔憂泄密、分裂也的確有其道理。

在市場層面上,阿里云不到五百萬臺的出貨量遠遠說不上威脅谷歌,更不至于像王堅說的那樣“讓谷歌害怕”。但安卓之父兩天內兩次發(fā)表聲明來回應這一問題,至少讓開發(fā)者、廠商和用戶看到了谷歌對于防止分裂、反對盜版的重視程度。從這個角度說,這次獲利最大的,將是廣大安卓用戶、開發(fā)者和正統(tǒng)OS廠商。

關鍵詞:阿里云OS谷歌

贊助商鏈接: