導讀:一無所有就無所謂失去,Android 一開始就是如此;而當獨占鰲頭時,保持開放、兼容就沒那麼容易了。Android 已然從昔日 Google 的保護傘長成了亟需 Google 保護的移動財產。移動是互聯網的未來,控制世界最大的移動平台好處自不消說。可「開源」就如一隻妖精,一旦放出來讓它回到水晶瓶裡可沒那麼容易,問題終於來了:Google 將如何控制一個開源平台呢?
6 年前,2007 年 11 月,Android Open Source Project (AOSP) 初問世。而就這之前 6 個月,第一部 iPhone 剛剛在眾人矚目中誕生,智能手機迎來了一個新時代。雖然 Google 當時僅是 iPhone App 層面上的合作夥伴,它很清楚 iPhone 獨霸智能手機世界是什麼局面。就 Google 資深工程副總 Vic Gundotra 回憶, 一手打造 Android 系統的 Andy Rubin 曾這樣說過:
如果 Google 無動於衷的話,我們將不得不接受一個十分可怕的未來,一個沒有選擇的世界:同一個人,一個公司,一部手機,一個運營商。
Google 恐怕蘋果會最終統治整個移動世界。因此,當 Google 在移動世界一名不文的時候,Android 作為開源項目面世,實為其對抗蘋果的權宜之計。
那時候,Google 分得任何一小塊市場份額都覺得欣慰。於是 Google 決定將 Android 貢獻出來,並將之作為四處安插 Google 服務的「特洛伊木馬」。之所以這樣做 Google 的出發點在於:如果有朝一日蘋果封鎖了 Google Search,用戶也將在桌面的戰場上失去其搜索業務。Android 其實是橫亙於 Google Search「城堡」前的一道防衛壕溝,以確保 Google 線上財產在移動端的保值增值。
- Android 是開源的,每個人只要有能力,都可以開發出新版本
然而,今非昔比。Android 的全球市場份額已從零竄至近 80%。Android 或許已經贏了智能手機的戰爭,但「Android 的勝利」並不等同於「Google 的勝利」。由於 Android 是開源的,因此它並不屬於 Google,每個人只要有能力都可以開發出一個新版本來。
Windows Phone 和 Blackberry 10 系統在移動市場的掙扎告訴我們,佔有 App 才是王道。Android 裝機量的優勢意味著它是一個海量 App 平台。如果另一玩家基於 Android 開發出一套新操作系統的話,它天然地就會兼容數以百萬計的 App;這個公司只須自建一個應用商店就行了。如果另有一家公司能夠開發出一款比現有 Android 更出色的版本的話,它無疑會對 Google 目前的智能手機老大地位造成威脅。Google 面臨的最大危險就是,半路殺出一個表現卓越的替代版 Android 來。
一些公司正在試圖將 Google 的印跡從 Android 中抹掉,其中最顯眼的要數亞馬遜 Kindle Fire 採用的 Android(Mojito)了。亞馬遜撇掉了其中所有 Google 附件,搭建了自家的應用商店、內容商店、瀏覽器、雲存儲和 e-mail。整個中國市場也過濾掉了 Android 中的 Google 部分,本來大部分的 Google 服務在中國大陸也是失效的。不管怎麼說,這兩種情況下,Google 的 Android 沒有得到任何報償。
一無所有、無所謂失去,Android 一開始就是如此,而當獨占鰲頭時,保持開放、兼容就沒那麼容易了。Android 已然從昔日 Google 的保護傘長成了亟需 Google 保護的移動財產。移動是互聯網的未來,控制世界最大的移動平台好處自不消說。可「開源」就如一隻妖精,一旦放出來讓它回到水晶瓶裡可沒那麼容易,問題終於來了:你將如何控制一個開源項目呢?
Google 一直都對諸多 Android 替代版本保有防範措失。其實人們所認識的 Android 包括兩部分,其一是 AOSP 的開源組件,是為 Android 的基礎,其二為閉源組件 Google 系 App 群。雖然 Google 既不會走向完全開源也不會完全封閉,但它正在竭盡所能在加大對整個開源項目的控制力。該公司的主要方略就是將越來越多的 App 整合在閉源的「Google」保護傘之下。
- 閉源是一場無聲的運動
閉源的 Google App 一直都在。起初它們主要是指 Google 線上服務移動客戶端,如 Gmail、Maps、Talk 和 YouTube。當 Android 沒有任何市場份額時,在這些客戶端基礎上,Google 開放了 Android 的剩餘組件。而現在的 Android 猶如一個移動發電場,它覺得自己應該加強對其開源代碼的控制了。
對一些 App 而言,Google 仍會以開源組件待之,而一旦專有版發布後,AOSP 版本上的 App 也將停止運行。更少的開源代碼意味著 Google 的競爭對手們要做更多的補充工作。雖然你不能滅掉一個開源 App,但你可以透過升級版本的閉源化,使其前任形同虛設。但凡 Google 在 Play Store 中升級或新發一款 App,就意味著又有相應開源版本的終結。
我們從 Search 應用說起,這個例子恰到好處地說明了當 Google 複製 AOSP 功能時的後果。
2010 年 8 月份,Google 推出了Voice Actions服務。與此同時,它將「Google Search」引入了 Android Market,當時流行的版本是 Froyo(Android 2.2)。上圖可見最近版本的 AOSP Search、以及運行在 Android 4.3 版本上的 Google Search。沒錯,AOSP Search 仍停留在 Android 2.2 的水平上,而 Google Search 早已整合了語音、音頻搜索及文字語音切換功能,而且它還整合了私人助手服務 Google Now。AOSP 版本則永遠在 Web 和本地搜索功能上被迫裹足不前了,如此如此。
在 2010 年 Google I/O 大會時,Google 首次展示了其雲音樂服務,無獨有偶,這也恰是 AOSP 版音樂應用被凍結的時刻。時至今日,它還是一款 Froyo 應用。除了 音樂商店和訂閱選項,Play Music 早已接入了 Google 的雲音樂服務,目前已經歷過多次用戶界面改版,且支持 Equalizer 和 Chromecast。很難想像它們竟曾是同一個東西。
Google Calendar 是近來一款進入閉源之列的 Google 應用。Google 對 Android 社群的說辭則饒有興味:新版日曆即將在 Play Store 開放下載了!將會有更多功能!(哦,閉源又來也)
連鍵盤都難逃此劫。幾個月前,Google 為其虛擬鍵盤增加了滑行輸入功能。猜猜它的源代碼在哪兒?反正不在 AOSP 中。上圖可見兩種鍵盤的不同設置選項。Google Keyboard 具備滑動輸入選項,而 AOSP 則不然——Google Keyboard 剛發布,AOSP 版本就被拋棄了。
Camera 和 Gallery 實際上是一個 APK。AOSP 版本稱「allery2.apk」,而 Google 版本叫做「GalleryGoogle.apk」。如圖,Photospheres 實為 Google 版本的專屬功能——這個創新的相機模式 AOSP 也是無緣染指,Google+ 相冊也是如此。正常情況下, 雲端 Google+ 相冊應該置於本地相冊的旁邊。
這裡我們應該表揚下 Google。雖然 AOSP 沒有納入這些新功能,但 Android 4.3 的最新設計元素卻被納入了 Android 源代碼之中。
雖然還未發布,SMS 會是下一個出局的應用。雖然大家普遍歡迎Google Hangouts 整合短信發送功能並與 iMessage 呈競爭之勢,但這也就意味著將 Android 的 SMS 應用搬至閉源 App 中去。一旦 Google 作了 SMS 的整合,很可能 Android 一到兩個版本更新後,SMS 應用就不是默認成員了,這與它為 Chrome 而乾掉之前的瀏覽器是一個道理(雖然 Chrome 還保持開源)。
當 Hangouts 真正整合 SMS 時,AOSP 版的短信應用就會被完全拋棄了,而且短信應用也快要退休了。(自 Android 4.0 版本後它就沒有重大更新)所以這意味著:開源的短信應用也就此終結。
下一塊砧板上的肉應該是開源的 Gallery 了。在 KitKat 的曝光圖片中,有一個叫做「Google Photos」的新圖標。之前我們雖未見過 Google Photos,但其圖標酷似現在「G+ Photos.」,看來 AOSP Gallery 又是難逃一死,只能承受被一個 Google+ 配套閉源應用替代的命運。這就是 Google 新的獨立王國的終極闡釋了。
- 鎖定 OEM 製造商
雖然 Google 已經在千方百計地削弱開源代碼庫的價值,但透過升級 App 並使其閉源化,並非 Google 贏得這場博弈的唯一法門。即使半路突然殺出一個更具威力的 Android 來,它也很難博取廣大製造商的支持。在一個充分競爭的市場中,談妥一個 OEM 廠商並不是難事,但 Google 正讓這變得越來越難。
Google 在移動端的控制力主要源於 App 群—— Gmail、Maps、Google Now、Hangouts、YouTube 和 Play Store。這些都是 Android 的殺手級應用,大大小小的製造商們都希望它們出現在自家的設備上。可這些 App 並非開源的,因此它們須得到 Google 的授權。這讓人自然而然聯想到電影《教父》中的場面,因為「這是一個無法拒絕的邀約」。
雖然這不能算是硬性條款,但加入 Open Handset Alliance(OHA) 而獲得 Google 授權會讓日子好過得多。OHA 是一個與 Android——Google 的 Android 達成協議的公司聯盟,按照協定,未經 Google 允許,各公司皆不得生產相關 Android 設備。一個公司加入 OHA 就等同於簽署了賣身契,其設備也就不能運行其它版本的 Android 系統了。
Acer 就是因為採用了阿里巴巴的阿里雲系統(一個 Android 衍生版本)而受到了懲罰。Google 獲悉後馬上就切斷了它的 Google apps 接入權。為此 Google 甚至發了篇官方部落格文章來解釋:
「雖然 Android 面向所有人開放,但只有兼容 Android 的設備才能從完整的 Android 生態中受益。任何加入 Open Handset Alliance 的成員都應致力於建設一體化的 Android 平台——而非一系列不兼容版本。」
這讓西方世界唯一一個堅挺抗爭的「異端」Android 設備品牌亞馬遜日子很難過。因為 Kindle OS 屬非兼容版本,任何主要的 OEM 廠商都不得為亞馬遜生產 Kindle Fire 。所以亞馬遜尋找其下一個平板生產商時,它不得不自覺地繞過 Acer、Asus、Dell、Foxconn、Fujitsu、HTC、Huawei、Kyocera、Lenovo、LG、Motorola、NEC、Samsung、Sharp、Sony、Toshiba 和 ZTE 這一長串名單。目前,亞馬遜將其 Kindle 設備的訂單一股腦地承包給了 Quanta Computer,一個筆記本電腦生產商。這或許是亞馬遜的無奈選擇吧。
這意味著任何「移情別戀」的 OEM 都會招致死神之吻,被踢出 Android 陣營。跟 Google 一刀兩斷對任何一家 OEM 來說都很可怕,選擇 Google Android 就是一條騎虎難下的不歸路。
任何希望獲得 Google Apps 授權的 OEM 都要接受 Google 所謂「兼容性測試」。兼容保證的是 Play Store 裡的應用都能在特定品牌的設備上運行。「兼容性」對 Google 別有深意,在 Google 內部,工程師們把它稱之為「讓 OEM 言聽計從的一把鎖」。雖然 Google 已經推出了一套自動化工具來檢測設備的「兼容性」,而獲取 Google Apps 的接入權 OEM 仍然需要私下裡與 Google 郵件交流,這些協議大抵都是在幕後達成的。
此外,凡獲取 Google Apps 授權的 OEM 須對其照單全收,如果看上了 Gmail 和 Maps,你也得一併收了 Google Play Services、Google+ 和 Google 認為應該放在套餐裡的東西。
基於位置的 WiFi 服務商 Skyhook 在為 Android 平台開發一款位置服務時就遇到了重重阻力。如果 OEM 設備內置了 Skyhook 的服務,那麼 Google 就無從收集用戶的地理位置數據了。這顯然對 Goolge 不利,所以 Skyhook 就被判為「不兼容」。Skyhook 也因此把 Goolge 告上了法庭,案件至今還沒有說法。
- 影子軟體
對大部分 OEM 而言,脫離 Google 生態系統謀生無異於癡人說夢。一個保持獨立而又不得罪 Google 這個老大的辦法就是額外提供一系列全套的 Google Apps 衍生版本,雖然這常被詬病為「冗餘軟體」。
三星就是一個典型的例子,它有一套自成體系的帳戶系統、雲端同步和應用商店,以及全套的 Google Apps 替代品,比如 Internet、E-mail 和日曆等。這些應用仍基於 AOSP,只是三星長期以來一直為用戶提供自家的升級服務。
一台設備上同時預裝兩個日曆應用似乎又傻氣又累贅,但很多 OEM 卻視之為防範 Goolge App 的 Plan B —— 萬一遭遇不測,好歹有個後路。如果 Google 不按常理出牌致使自己受迫出局的話,公司至少還有拿給潛在消費者看的東西,順便也能收集一些有價值的反饋。何樂不為呢?
雖然這讓用戶感到負擔和困惑,但就某些核心應用而言,也許少數用戶會喜歡 OEM 提供的版本。三星這麼做似乎有隨時跳槽的可能性,但搞出一套影子 App 出來其掙脫 Google 生態系統很有限的動作,Android 真正為 OEM 所看重的部門其實是大量可供選擇的第三方應用。Google 清楚這是自己最大的弱點,因此該公司已經在設法提高整個 App 生態對自己的依附性了。
- 鎖定第三方應用
Play Service 實為 Google 對抗衍生版本 Android 的一大利器。作為 Goolge 的閉源 App,它隨 Google Apps 套餐包一道被授權給 OEM。任何功能由「正常版」Android 移植到 Google Play Services 都意味著由開源走向閉源。這一招不僅想靠獨家壟斷的功能吊用戶的胃口,目的還在於透過 API 的授權牢牢控制住第三方應用開發者。
脫離 Google 的應用生態系統似乎很容易:搭建自己的應用商店、說服開發者在上面投放 App,然後你就可以獨立發展了。可 Google 正在想方設法加大第三方應用對自身平台的依賴性,一方面,選擇在所謂「兼容」設備上開發 App 的開發者生存狀態越來越好了,同時在 Google Android 體系外的開發者狀況越來越糟糕了,其戰略其實是把「Android App Ecosystem」變成了「Google Play Ecosystem」。
如果你使用了任何 Google API 接口,又試圖在 Kindle 或其它 AOSP 版本上運行這個 App:「surprise!你只能眼看著它崩潰了。」
Google Android 佔據了全球 80% 的市場份額,開發者真正關心的是 App 開發流程的簡化,運行的流暢以及能否到達更多用戶。而這些需求 Google API 都能輕鬆解決,美中不足在於你的 App 不得不依賴於 Google Apps 授權的設備。
- Google Maps API
接入 Google Maps 便可獲得 Google 地圖數據的使用權,它為天氣或旅行應用開發提供了很大的便利。唯一的問題在於,這部分 Google 服務並非開源的 Android 服務。選擇 Maps API 內在地意味著選擇 Google 兼容設備作為開發平台。
為此,亞馬遜不得以只好使用諾基亞的授權地圖數據並複製了一套 Google Maps API ,該公司甚至還專門提供了「一張頁面」告訴開發者如何將 App 從 Google Maps 遷移出來。Google 確實擅長優化自身的生態環境,這無形中就加大了外生態的生存難度係數,做為開發者,要在 Kindle 流暢運行你就得兼容兩個不同的地圖 API。
這讓 Android 衍生版本的處境很尷尬,這裡亞馬遜要麼選擇常年向諾基亞支服務付許可費用,要麼就得自立門戶重新開發一套地圖出來。更甚之,亞馬遜還得時時緊跟 Google 的步調調整節奏:亞馬遜的 Maps API 支持的是 Google Maps API v1,但如果某開發者需要用到 Maps v2 API 中的新功能,亞馬遜就有的忙了。
- Google Cloud Messaging
Google Cloud Messaging (GCM) 是 Android 平台通知推送最簡單易用的方式,但它永遠也不會出現在 AOSP 版本上。2013 年 I/O 大會時,它被引入至 Play Services。GCM 的作用主要在於幫開發者跨平台同步推送即時消息。
- Location APIs
Google Maps API 或許僅適用一批小眾應用,但不管出於什麼原因,越來越多的應用都需要嵌入「消息推送功能」。這也是不甘落後的亞馬遜不得不複製過來的新功能。其衍生版本叫做「Amazon Device Messaging」,僅支持亞馬遜設備。跟 Maps API 的情況一樣,亞馬遜仍需追加苦工,但又不得不接受極小規模用戶群體這一現實。而 GCM 的全部功能在 Amazon 版本可能屬於集體缺位的狀態,所以亞馬遜的工作量很大。
2013 年 Google I/O 大會時,Google 改版了 Android Location API 並將其納入了 Google Play Services 服務項目。換句話說,Android 最新的位置服務已屬閉源之列了。如果上述例證足以參考的話,之前的開源地理位置服務只好自生自滅了。新增功能除 Fused Location Provider(據說採用了全新的位置算法)外,還有 Geofencing 和 Activity recognition,前者為用戶提供基於地理位置的活動推薦服務,後者則結合加速計數據和精妙的算法判斷用戶的運動狀態,如步行、騎自行車或開車——皆無需開啟 GPS。
由於 Maps API 和 GCM 皆依托 Google 服務器運行,獨立的 App 完全有理由將其整合進來。但綜觀整個地理位置服務有一種 Google 的大手無處不在的感覺。目前獲得地理位置信息服務有兩種方案,一是從 Google 獲得節能而優質的閉源服務;二是選擇蹩腳的、費電的開源服務。
- App 內購買
Android 上最有效的應用內購買無疑是發生在 Google Play Store。如果某開發者選擇了 Kindle 或在中國做應用開發,他們只好另謀高就了。這又一次證明,如果想要脫離 Google 的 Android,就得不斷複製它的服務,亞馬遜就推出了 Amazon In-App Purchasing API,就連三星也在抗爭,它在兩年前就有了類似的舉動。
- Play Games
Play Games 是另一個能夠為移動開發者解決一系列難題的專屬 API,它允許開發者能簡便地引入用戶帳戶,包括排行榜、積分管理、雲端存檔和多人遊戲機制等模塊。它最大的優點在於跨平台運行,當然,除了 AOSP 的一切平台。
這又是一個第三方應用賴以生存和衍生版 Android 平台不得不複製的 API。亞馬遜有一套叫做「GameCircle」的 API,但它在功能上並不與 Play Games 重合,因此選擇亞馬遜的遊戲開發者還得額外開發一個完全獨立的多人遊戲模塊。
- 通過 iOS 鎖定開發者
Google 頗為詭黠的一點在於其 90% 以上的 API 都支持 iOS 平台。從開發者的角度思量下,你是否會用 Google 的 API -- Google 的解決方案往往在可用性、功能性和易用性上都是一流的;它支持兩大主流平台,這意味著選擇 Google 的 API 就能覆蓋到絕大多數的潛在用戶。它唯一的缺陷就在於不兼容衍生版 Android,但任何衍生版的 Andoid 背後都一小波你在乎的目標設備。
也許大部分開發者都會擁抱 Google API,可也須回答這個問題:他們將如何面對 Kindle 和其他版本的 Android 呢?開發者們完全有自主權選擇其它替代性 API 解決方案,但這個替代品可能會有過期、不兼容、以及功能殘缺等缺陷,專注於產品設計的開發者這時大都會果斷地拋棄這些小眾衍生版 Android,從而也省去了許多無謂的工作量。
- 三星不成大氣候
讓我們解釋下為什麼亞馬遜能夠脫離 Google 獨立生存而三星卻做不到。亞馬遜雖是一個 Google API 複製機器,但三星在這方面卻比它還不如。關於三星脫離 Google 生態的任何猜測都是不成熟的,除非你看到它對外授權了地圖數據或開發出了一套雲端消息推送 API。
亞馬遜的確算得上上進,但這家公司本就出生於互聯網。伺服器和軟體服務是它的看家本領,因此發展出一批雲服務算不得什麼突破。三星則是一家電子產品公司——它並沒有雲端基礎設施和 API 開發的基因。因此亞馬遜能夠在短短幾年內依託其雲端平台做好 Google 的跟班兒,但三星卻還是步履維艱。
三星也算有一點進步,如剛才所說,它推出了自家的應用內購買 SDK 包。有趣的是,它還有一套廣告 SDK 包,但就沒怎麼賺過錢。相反,Google 則支持所括 Android、iOS、衍生版 Android 甚至 Windows Phone 上的所有廣告。
- 可望不可及的開源
任何有心挑戰 Google Android 的公司都得把本文中提到的服務複製一遍。即便如此也不過是貌似與 Google Android 打了個平手。你仍須給用戶一個放棄 Google Android 而投奔你的充分理由。
Google 儼然已經自成體系,它的基礎雲服務和 Maps 皆免費提供。任何有需求的公司都難免會用到 Google 的服務。亞馬遜或是個例外,但比較下:Google 可依托 Maps 銷售廣告掙錢,而亞馬遜卻須替每位用戶常年向諾基亞付錢。這就是任何一個衍生版 Android 所面臨的宭境。
即便哪家公司能拿出一款牛 B 閃閃的衍生版 Andoid 來,但它也得面對幾乎所有的 OEM 都與 Google 簽了賣身契這個事實。對 OEM 來講,脫離 Google 投身另一衍生版 Android 風險要遠大於收益。
雖說 Android 是開源的,不過它是一種「可望而不可及」的開源。所到之處,但凡沒有 Google 的庇護,想要利用 Andoid 都會連連受阻。違反了 Google 的禁令,就只能看著眼前的世界坍塌下來。
(原文出自:ArsTechnica;本文轉載自合作媒體《36 氪》;封面圖片來源:Uncalno, CC Licensed)
Source: techorange.com