Android的開(kāi)源與閉源 你搞懂了嗎
上周,沸沸揚(yáng)揚(yáng)的Android壟斷案把Google又一次推向了風(fēng)口浪尖,在這次的壟斷案中,Google被歐盟起訴賠償50億美元,被起訴的其中一個(gè)原因是Google對(duì)外宣稱Android是開(kāi)放的,但其實(shí)他們只是開(kāi)源了一部分代碼,很多重要的代碼都是閉源的。
從這些年Google對(duì)Android的態(tài)度來(lái)看,他們正以各種手段控制開(kāi)源,這與Android開(kāi)放的口號(hào)是否相悖?Google又為何這樣做?首先,我們從Android發(fā)家史說(shuō)起。
Android發(fā)家史
2007年11月,Google推出了Android開(kāi)源項(xiàng)目(AOSP),在此的幾個(gè)月前,第一代iPhone發(fā)布,開(kāi)創(chuàng)了智能手機(jī)的時(shí)代,當(dāng)時(shí)Google還是蘋(píng)果的應(yīng)用程序合作伙伴,那時(shí),Google預(yù)料他們?cè)谝苿?dòng)市場(chǎng)上的未來(lái)將會(huì)是這樣的:
如果Google不立即采取行動(dòng),未來(lái)我們將面臨嚴(yán)峻的形式:一個(gè)客戶、一個(gè)公司、一個(gè)運(yùn)營(yíng)商將是我們唯一的選擇。
從上面這句話可以看出,當(dāng)時(shí)Google十分害怕蘋(píng)果會(huì)在未來(lái)統(tǒng)治移動(dòng)領(lǐng)域,所以,當(dāng)時(shí),在移動(dòng)領(lǐng)域還沒(méi)有站住腳的Google,為了對(duì)抗蘋(píng)果,只好將Android作為一個(gè)開(kāi)源項(xiàng)目推出。
此后,Android在早期智能手機(jī)市場(chǎng)上的份額一路飆升。
今天,Android在智能手機(jī)市場(chǎng)的份額從零增長(zhǎng)到2018年初的86%,單從市場(chǎng)份額來(lái)看,可以說(shuō)Android贏了蘋(píng)果。但“Android獲勝”和“Google獲勝”并不一定是同一回事。由于Android是開(kāi)源的,因此它并不是真正完全屬于Google。任何人都可以自由地使用它,克隆源代碼,并創(chuàng)建自己的fork或備用版本。
眾所周知,在移動(dòng)市場(chǎng)上,拋開(kāi)操作系統(tǒng),App才是一切。Android在各種品牌的手機(jī)上得到大量安裝,也意味著它將擁有大量的應(yīng)用程序。如果一家公司forkAndroid,加上Android已經(jīng)兼容上萬(wàn)個(gè)應(yīng)用,這家公司只需建立自己的應(yīng)用商店并上傳所有的內(nèi)容即可。但是如果有公司開(kāi)發(fā)出比Android更好的操作系統(tǒng),那么將會(huì)嚴(yán)重威脅Google目前的地位。
Google明白移動(dòng)是互聯(lián)網(wǎng)的未來(lái),控制世界上最大的移動(dòng)平臺(tái)有很多的好處,但是又不可能收回開(kāi)源的承諾,所以就引出了一個(gè)問(wèn)題:如何控制開(kāi)源項(xiàng)目?
眾所周知,“Android”分為兩個(gè)部分,第一部分是Android開(kāi)源項(xiàng)目(AOSP)的開(kāi)放部分,它是Android的基礎(chǔ),封閉的部分是Google旗下的應(yīng)用程序,雖然Google并不會(huì)完全關(guān)閉Android開(kāi)源項(xiàng)目,但是他們正在竭盡所能地利用現(xiàn)有的開(kāi)源項(xiàng)目,主要的方法是:在封閉的Google保護(hù)傘下引入越來(lái)越多的應(yīng)用程序。
Google的閉源之路
谷歌閉源的應(yīng)用程序一直存在著。起初,這些閉源的應(yīng)用主要是Gmail、Google地圖、Talk和YouTube。那時(shí)Android還沒(méi)有那么大的市場(chǎng)份額時(shí),谷歌覺(jué)得控制這些應(yīng)用就足夠了,所以將Android的其余部分變?yōu)殚_(kāi)源項(xiàng)目。但是隨著Android已經(jīng)成為移動(dòng)領(lǐng)域的巨頭,谷歌決定對(duì)開(kāi)放的源代碼逐漸實(shí)行嚴(yán)格地把控。
較少的開(kāi)源代碼意味著Google的競(jìng)爭(zhēng)對(duì)手需要付出更多努力。雖然Google無(wú)法殺死一個(gè)開(kāi)源應(yīng)用程序,但他可以將升級(jí)版本閉源化使原來(lái)的應(yīng)用形同虛設(shè),從而讓這個(gè)應(yīng)用“報(bào)廢”。當(dāng)谷歌重新設(shè)計(jì)應(yīng)用程序或?qū)⑿碌腁ndroid版本發(fā)布到Play商店時(shí),通常會(huì)顯示已閉源,同時(shí)AOSP版本的應(yīng)用也會(huì)失效。
Google還做了哪些工作?
控制OEM
對(duì)Google來(lái)說(shuō),只擁有面向消費(fèi)者的應(yīng)用程序的控制權(quán)還不夠,Google還需要控制手機(jī)廠家。
如果某個(gè)公司設(shè)法forkAOSP,克隆谷歌應(yīng)用程序,并成為Android的競(jìng)爭(zhēng)對(duì)手,這也是徒勞的,因?yàn)樗茈y找到手機(jī)廠商搭載他們的應(yīng)用。
對(duì)一個(gè)開(kāi)放的市場(chǎng)來(lái)說(shuō),說(shuō)服一個(gè)AndroidOEM放棄Google而與他們合作是很容易的,但是Google對(duì)此早有防范。因?yàn)镚oogle在移動(dòng)領(lǐng)域真正的實(shí)力來(lái)自于對(duì)谷歌應(yīng)用的控制上,主要包括Gmail、地圖、YouTube和Play商店等,無(wú)論是大型還是小型的手機(jī)廠商都希望在手機(jī)上獲得這些應(yīng)用,由于這些應(yīng)用程序不是開(kāi)源的,因此需要從Google那里獲得許可。那么Google肯定會(huì)在許可協(xié)議上附加一些要求,控制那些手機(jī)廠商,防止“叛變”。
此時(shí),Google推出了一個(gè)OHA(開(kāi)放手機(jī)聯(lián)盟),加入OHA的OEM將得到GoogleApp更多的授權(quán)。而加入OHA的OEM必須得簽署一份協(xié)議:禁止構(gòu)建非Google認(rèn)證的設(shè)備,并禁止和模仿Android操作系統(tǒng)的企業(yè)合作。
早在2012年時(shí),宏碁想在中國(guó)生產(chǎn)運(yùn)行阿里巴巴的AliyunOS的設(shè)備時(shí),宏碁就收到谷歌的通知,若新產(chǎn)品上搭載阿里云操作系統(tǒng),Google將會(huì)解除與其Android產(chǎn)品的合作和相關(guān)技術(shù)授權(quán),后來(lái)手機(jī)發(fā)布會(huì)也被迫取消了。
控制第三方應(yīng)用
GooglePlay的戰(zhàn)略是將“Android應(yīng)用生態(tài)系統(tǒng)”變成“GooglePlay生態(tài)系統(tǒng)”,讓那些應(yīng)用在Google認(rèn)可的設(shè)備上輕松運(yùn)行,在非谷歌認(rèn)證的設(shè)備上寸步難行。
PlayServices是Google閉源的應(yīng)用程序,它不僅吸引用戶使用閉源的應(yīng)用,還能通過(guò)Google的專有API控制第三方開(kāi)發(fā)人員。
如果你使用了GoogleAPI并將你的應(yīng)用運(yùn)行在Kindle或任何其他非Google版本的AOSP上,結(jié)果是:恭喜,你的應(yīng)用程序壞了!
在這一點(diǎn)上,Google的想法是:Android在移動(dòng)市場(chǎng)上占有很高的比例,開(kāi)發(fā)人員只需構(gòu)建應(yīng)用程序,使其運(yùn)行良好,讓廣泛的用戶受益即可。而GoogleAPI能幫助他們實(shí)現(xiàn)所有的這一切,但副作用是你的應(yīng)用需要永久地依賴于擁有GoogleApps許可證的設(shè)備。
總而言之,雖然Android是“開(kāi)放”的,但是它是以“可遠(yuǎn)觀而不可褻玩焉”的方式在開(kāi)放著,只要你高興,你可以將其用在任何領(lǐng)域,但前提是你需要得到Google的“祝福”,換句話說(shuō),如果你想對(duì)Android動(dòng)歪心思,觸犯了Google的底線,它可能會(huì)讓你崩潰。