Google對Android的強硬態度:必須嚴格控制開源!
鑑於近日歐盟對Google的50億美元反壟斷罰款事件,我們開始注意到社交媒體上傳播的某個經典Ars故事,而歐盟正遇到了這樣的事件。Google的開源Android戰略和關鍵的專有應用程式服務在近五年內並沒有什麼改變,Google的應用程式已經更新,因此它們可能與本文的截圖不同,但是概述的基本策略大致相同,因此針對歐盟的罰款,我們重新分析一下Google的戰略。
(一)開源應用程式正在融入閉源,甚至直接消失?
雖然Google表明永遠不會閉源Android,但是種種跡象表明,Google很明顯的在有意控制開源,在封閉的“Google”保護傘下引用越來越多的應用程式,將更多的開源程式融入閉源當中,甚至可能直接消失!
Google的閉源應用程式主要是由Google的線上服務客戶組成,如Gmail,地圖,Talk和YouTube。當Google沒有市場份額時,很容易保留這些應用,並將Android的其餘部分構建成開源專案。由於Android已經成為了移動巨頭,Google便認為需要更多的控制公共原始碼。
對於其中一些應用程式,可能仍然存在AOSP,但是當推出專有Google版本時,通常不推薦使用AOSP版本。開原始碼被控制意味著Google的競爭對手需要做更多的工作。雖然無法完全閉掉開源專案,但是可以透過將未來的開發轉移到一個閉源應用程式,來將其變成一個廢棄的軟體。當Google重新設計應用程式並將新的Android版本釋出到Play Store時,通常會顯示源已關閉且AOSP版本已失效。
搜尋
從搜尋開始,這是 Google 複製 AOSP 功能時發生的一個例子
2010年8月,Google推出了Voice Actions,有了它,該公司將“Google搜尋”引入到(當時的)Android Market。上圖顯示了在Android 4.3上執行的最新版AOSP和Google搜尋。正如我們看到的那樣,AOSP Search仍然停留在Froyo(Android 2.2)的時代,Google在啟動其閉源應用程式後,立即放棄了開源版本。
音樂
Google首先在Google I / O 2010上演示了它的雲音樂服務,同時也是AOPS音樂APP解凍的時候。直到今天,它看起來仍然像一個Froyo。
日曆
Google日曆是最近獲得閉原始碼處理的APP之一。投入到Android社群的過程是很有趣的:股票日曆現在可供所有人使用!我們現在可以從Play Store進行更新!還有更多功能!(但是,它現在已經關閉了。)
由於是最近的變動,兩個版本之間沒有太大的變化。Google日曆會在各裝置之間同步通知,並將以一個新的圖示出現。
鍵盤
鍵盤設定時缺少的功能
幾個月前,Google在股票鍵盤上新增了類似Swype的手勢輸入,該鍵盤在Play Store被稱為"Google Keyboard."其原始碼也非基於AOSP,上圖可以看到兩個鍵盤的設定。Google鍵盤具有滑動輸入選項,而AOSP自然不會在Google鍵盤釋出後立即棄用。
相簿 / 攝像機
相機和相簿實際上是一個APK(Android應用程式包檔案)。AOSP版本稱為“Gallery2.apk”,Google版本稱為“GalleryGoogle.apk”。正如上圖顯示的那樣,Photospheres是Google版本獨有的,AOSP上沒有創新的相機模式。開源版本也省略了Google+相簿整合,通常顯示基於雲的Google+相簿以及本地相簿。
不過,我們必須給予Google一些信任,雖然AOSP版本在功能方面沒有跟上,但4.3中引入的新設計已經使其成為Android原始碼。
未來
雖然股票SMS APP還沒有釋出,但是也是勢在必得的事情。雖然人們很是渴望Google Hangouts與簡訊的合成功能,但這也意味著把Android的SMS功能轉移到閉源應用程式中。一旦Google完成了切換,Android版本中的簡訊將作為預設應用消失,就像Google消除了股票網路瀏覽器,支援Chrome一樣(儘管大多數Chrome仍然是開源的)。
當Hangouts整合SMS時,AOSP APP將被徹底拋棄。短息傳送似乎要被淘汰,因為Android 4.0進行了很多的設計更新,但簡訊似乎也沒有什麼太大的更新變化。因此我們推測:開源的簡訊APP會消失!
在外洩的KitKat圖片中,有一個名為“Google Photos.”的新圖示,“Gallery”,按字母順序應該在“E-mail”和“Gmail”之間,但是奇怪的是它消失了。雖然我們從未見過Google的真實照片,但它與現在的Google應用“G+ Photos”公用同一個圖示。因此我們判斷,AOSP Gallery將會消失,取而代之的是一個依賴於Google+的應用程式。這是Google新方案的終極表現。
2018年的AOSP應用程式:
-
Google搜尋已經整合到Android中,在Google裝置上,Google搜尋甚至會顯示在主螢幕和應用抽屜中。
-
iOS首次亮相六個月後,Google的Gboard改進了Android鍵盤,Gboard已經登陸Android系統。在Android上,Gboard取代了預設的鍵盤應用程式,即之前所說的“Google Keyboard.”。
-
開源相簿被Google Photos取代了。
-
Google的Pixels相機附帶專有相機演算法,可以生成高質量的照片。
-
AOSP電子郵件已經停用,有利於Gmail 。
-
Google已經從Hangouts擴充套件到Allo,再到AndroidMessages,不久您可能將無法在AOSP上傳送簡訊。
在2018年,Google應用程式都已更新,但是AOSP卻異常落後(有時甚至被完全拋棄),但專有的Google應用程式卻仍然很強大,我們冥冥之中就感受到了Google似乎在用閉源一點點吞噬開源版的Android。
(二)脫離 Google 生態系統的開發商,生存將成為難題!
雖然Google一直在很努力的控制開源,但消費者型的應用程式並不是公司唯一的攻勢。Google的控制策略目標又進一步鎖定在製造商和第三方應用身上,這裡我們也為那些尋求突破的開發者們十足的捏了一把汗。
鎖定製造商
即使一個公司成功的拆分了AOSP,造出了另一個Google應用程式,成為了Google-Android強硬的競爭對手,但是在製造商構建裝置這一塊就可以足足擋住前進的腳步。Google在移動領域的真正影響力來自於對Google應用的控制——主要是Gmail、Maps、GoogleNow、Hangouts、YouTube和Play Store。這些都是Android的殺手級應用,大小製造商都想在他們的手機上安裝這些應用。但是這些應用程式都不是開源的,需要獲得Google的許可才可以下載。
雖然這不是官方的要求,但是如果你加入Open Handset Alliance(簡稱OHA),獲得Google應用許可或許會輕鬆很多。OHA是一群致力於Android-Google Android的公司,合同上禁止會員構建非Google認可的裝置。要想加入OHA,需要公司簽署關乎公司命運的協議,並保證不會生產Android fork fork(替代Android的、Android分支)裝置。
Acer(宏碁)嘗試在中國執行阿里巴巴Aliyun作業系統的裝置時,便遇到了這一限制。阿里雲便是一個Android fork,Google知道了這個情況之後,告知宏碁必須立馬關閉該專案,否則將失去對Google應用的訪問權。對此Google甚至直接釋出了一篇關於這件事的公開部落格,部落格內容如下:
雖然Android可供任何人免費使用,但只有Android相容裝置才能從整個Android生態系統中獲利。加入OHA的成員都可以貢獻並構建一個Android平臺,但並不是一堆不相容的版本。
亞馬遜(Amazon)是唯一一家在西方銷售Android fork的公司,該公司也確實過得很不輕鬆。由於Kindle OS被認為是Android不相容的版本,所以沒有一家OEM廠商被允許為亞馬遜生產Kindle Fire。因此,當亞馬遜為下一代平板電腦尋找製造商時,它必須將宏碁(Acer)、華碩(Asus)、戴爾(Dell)、富士康(Foxconn)、富士通(Fujitsu)、HTC、華為(Huawei)、京瓷(Kyocera)、聯想(Lenovo)、LG、摩托羅拉(Motorola)、NEC、三星(Samsung)、夏普(Sharp)、索尼(Sony)、東芝(Toshiba)和中興(ZTE)排除在外。目前,亞馬遜將Kindle Fire的生產外包給廣達電腦公司,廣達電腦是一家主要生產膝上型電腦的公司。對於亞馬遜來說,可以選擇的餘地真的很少。
對於OEM,他們禁止從Google的Android過渡到fork。如果他們推出了一款執行了競爭對手的fork裝置,那麼他們也將被徹底逐出Android家庭。
任何希望獲得Google Apps許可的OEM都需要透過Google的“相容性”測試才能獲得資格。相容性可以確保Play Store中所有的應用程式都能在自己的裝置上順利執行。
另外的一個控制點是,Google應用程式都被授權為一個單獨的包。如果你想要Gmail和Maps,那麼你將需要Google的Play Services、Google+和Google想要新增到包中的任何東西。一個叫Skyhook的公司在嘗試開發一個Android競爭定位服務時就違背了這一點。切換到Skyhook的服務意味著Google無法從使用者那裡收集位置資料,這對Google很不利,所以Skyhook被宣佈為“不相容”。對於此事,Skyhoo提起訴訟,目前訴訟仍在審理中。
用Bloatware試水
對於大多數原始製造商而言,離開Google生態系統還會取得成功無非是一個白日夢。
OEM想要嘗試非相容Google Apps並且還想在不招惹Mountain View的情況下,那麼唯一的方法就是開發Google Apps替代版本,也就是我們說的“Bloatware”。Bloatware就像一個嘗試性的練習,嘗試著看看脫離Google控制執行到底有多難。
三星在這方面就做了一個很好的示範,甚至擁有自己的使用者帳戶系統、後端同步和應用商店,同時它還保留了Google應用程式最完整的一組替代方案。還有很多這樣的例子,比如網際網路、電子郵件和日曆,都起源於AOSP,只不過Google放棄了他們,而三星選擇繼續。
很多的OEM將Bloatware視為一個重要的戰略對策,並稱之為“B計劃”!因為這樣即使OEM被迫離開的話,也好有一些東西向潛在使用者交代。
有了如此巨大的替代應用程式列表,三星可以隨時跳槽,但是替代Google應用程式只是擺脫了Google生態系統的一個小小部分,OEM廠商真正想要的是巨大的第三方應用程式。Google知道這是它最大的弱點,並且也有了應對策略。
鎖定第三方應用
我們之前已經探討過 Play Service的更新,它是對抗 Android forks的一個大武器。Play Services是Google的一個閉原始碼APP,並作為Google Apps套件的一部分。您看到的任何一個從“普通”Android到Google Play Services的特性其實都是開源向閉原始碼的轉變。這款APP不僅能夠吸引具有獨家閉源功能的使用者,還能鎖定第三方開發人員使用Google的專有API。
從Google獲取Android應用程式生態系統似乎很簡單,只需啟動執行自己的應用程式商店,說服開發人員將應用程式上傳到其中就可以了。但Play Services附帶的Google API可以透過說服開發人員將對Google的依賴編織到他們的應用中來阻止這種情況。Google的Google Play服務戰略是將“Android應用生態系統”轉變為“Google Play生態系統”,儘可能讓開發人員在Google認可的裝置上輕鬆,在非Google認可的裝置上犯難。
如果你使用任何一個Google API且嘗試在Kindle或任何其他非Google版本的AOSP上執行您的應用,那麼可以直接宣佈你的應用程式壞了!
Google的Android系統在Android市場上佔有很高的比例,開發者只需要關心如何輕鬆製作應用程式,並使其執行良好吸引更多的使用者即可。Google API可以實現這一切,但是前提是您的應用是執行在Google Apps許可的裝置上。
Google Maps API
Google Maps API允許在應用程式中使用Google的地圖資料。這對於地圖上的天氣或旅行應用顯示位置等內容就很方便。唯一的問題是,它屬於Google服務,而並非Android。依賴Maps API意味著您的應用無法在非Google認可的裝置上執行。
為此,亞馬遜被迫授權諾基亞的地圖資料,並建立了Google地圖API的克隆版,甚至還有一個專門從Google地圖遷移到您的應用程式的說明介面。因此,Google的目的無為的就是讓執行在它的生態系統上的應用程式更輕鬆順暢,而在它之外就會極其困難。
對於Android forker來說,這就很棘手了。現在,亞馬遜(Amazon)不得不處理向諾基亞(Nokia)支付許可費的問題,並且亞馬遜還要跟上Google的發展速度,作為一個開發人員來說,確實是難上加難了。
Google雲訊息傳遞
Google雲訊息傳遞(GCM)是在Android上進行推送通知的最簡單方法,但是您可能永遠不會再AOSP上看到它。GCM最近被新增到Play Services at I/O 2013中,它現在不僅包括接收通知,還包括髮送訊息。它新新增了跨裝置同步通知的功能。開發人員可以使用GCM向裝置推送突發新聞,或者通知應用程式有新資料可用,去執行同步。
雖然Google地圖可能會在少量應用程式中使用,但是更多的應用程式需要傳送訊息才能有效。這是亞馬遜被迫複製的另一個功能,以免被遺忘,它的版本稱為“Amazon Device Messaging”,並且只適用於亞馬遜裝置。就像Maps API一樣,您將為一小部分使用者進行額外的工作和測試。 GCM的每個功能可能都不在亞馬遜的版本中,因此需要額外的工作來找出解決方法。
位置API
在Google I / O 2013中,Google修改了Android位置API,並將其作為Google Play Services的一部分發布。也就是說Android的頂級位置服務現在是閉源。種種跡象在表明,開源位置堆疊將消亡!
將Maps API和Google Cloud Messaging放入專有應用程式是完全合理的,因為這些服務依賴於Google伺服器來執行。然而,在整個位置堆疊上移動就像一場Android大規模的力量搶奪,現在有兩種獲取位置的方法,一種是可以執行良好的,低功耗的,閉源的Google方式,另一種的麻煩的,電池昂貴的開源方式。
In-app 購買
Android上最佳的 in-app購買是透過Google Play Store,但是如果開發人員希望他們的應用程式可以在Kindle或中國工作,他們就需要另一種途徑了。
遊戲
Play Games是另一種專有API,可以解決移動開發人員遇到的許多難題。它可以輕鬆訪問使用者賬戶、排行榜、成就榜、雲儲存、反盜版以及多人遊戲,並且,它還可以適用於IOS、Android和網路應用,但AOSP以外的就不支援了。
亞馬遜有一套名為“GameCircle”的遊戲API,但是像亞馬遜地圖API一樣,它不是Play Games的替代品,開發人員必須花時間開發多人遊戲功能。
透過iOS鎖定
Google另外的一個戰略是 iOS上也支援90%的Google API,這個策略就很吸引人了。現在讓我們站在開發人員的角度去思考Google的API,Google的解決方案為我們提供了最佳的可用性和更好的功能。Google同時支援兩個移動平臺,它必將覆蓋大比例的潛在使用者基礎。但是有一個不好的地方就是它不適用於Android fork,而你的目標裝置又肯定會存在一小部分的AOSP fork。
大多數的開發人員可能都會選擇Google API,但問題是他們如何處理Kindle和其他Android forks?如果自己去尋找替代API解決方案,那麼很可能該解決方案已經過時,無法與現有應用程式完美配合。如果不能更好的替代,又要考慮怎樣彌補功能缺失的問題。與目前的iOS + Android使用者群相比,使用者數量相對較少,因此確實需要考慮一下嘗試找出這個獨立的生態系統是否值得的問題。
三星是不會走遠的?
為什麼亞馬遜可以在沒有Google的情況下生存,三星卻不能。雖然亞馬遜是一個GoogleAPI複製機,但是三星現在對依賴Google的第三方開發商沒有什麼更好的解決方案。現在,任何有關三星離開Google生態系統的猜測都可能為時過早,除非你看到它授權使用地圖資料或構建雲訊息API。
亞馬遜是在網際網路上誕生的,在跟隨潮流方面做的很不錯,伺服器和軟體都是該公司的強項,因此構建一些雲服務不能算作一個很大的變化。三星電子(Samsung Electronics)是一家電子公司,正在構建一個雲基礎架構,而一堆API並不是它的DNA。因此,亞馬遜可以藉助其雲服務平臺在幾年內實現這一目標,但三星要面臨的挑戰就很多了。
總結
如果一個公司想要放棄Google,成為一個可行的競爭對手,那麼他必須得突破Google的層層挑戰,即便如此,也只能做到收支平衡,並且還需要一個具有說服力的理由,足以去說服使用者從Google的Android轉移到你的Android fork。假設這個偉大的公司都成功的實現了Android fork,並且也足夠具有吸引力,但是製造商方面又是一個難題,所有的製造商都已經禁止生產執行新作業系統裝置。即使這個新的Android衍生產品很完美,對於一個從Google生態系統中跳出來的OEM來說,他要承受的風險遠遠要大於產品價值。
雖然Android是開源的,但是它只是表現出了一個表象開源,開發商仍然不能夠隨便觸碰。你可以為Android做貢獻,也可以把它當成一種習慣和愛好,但是事實表明,幾乎所有的領域,沒有Google的支援都是站不住腳的!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31542119/viewspace-2158445/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Google通知:Android通知中心風格必須統一GoAndroid
- 測試流程必須嚴格執行嗎?
- 每個 Android 開發者必須知道的資源集錦Android
- 做技術必須有過硬的本事!!!
- Google控制Android開源系統?原因還需從頭道來GoAndroid
- 2017年,身為Android開發的你必須要掌握的熱門開源框架Android框架
- Google要求Android新機必須預裝20餘款自家應用GoAndroid
- Google開源TensorFlow強化學習框架!Go強化學習框架
- 快手嚴厲整治違規商業內容:必須構建平臺良性生態鏈
- Python常用的開源框架,這三個你必須知道!Python框架
- 嚴格模式對parseInt()函式的影響模式函式
- 嚴格模式下對於this指向的影響模式
- 《Google 開源專案風格指南》中文版Go
- 你必須瞭解Spring的生態Spring
- 必須Mark!43個優秀的Swift開源專案推薦Swift
- 深圳率先對“996”出手:自願加班也不行 必須強制休假996
- 擁抱開源——Linux C/C++程式設計師必須熟悉的開源專案LinuxC++程式設計師
- 作為Android開發你必須明白的Gradle基礎AndroidGradle
- 作為Android開發你必須知道的Java反射機制AndroidJava反射
- 嚴格模式下對變數宣告的影響模式變數
- Android:隨筆——Android必須知道的註解AnnotationsAndroid
- Perl開發者必須瞭解的14個資源
- 企業擁抱開源之前,必須瞭解的七件事
- 【轉】33 個 2017 年必須瞭解的 iOS 開源庫iOS
- 簡單好看的Android圓形進度條對話方塊開源庫Android
- 高效Android開發者必須知道的4個工具Android
- Android Application物件必須掌握的七點AndroidAPP物件
- Google X負責人:谷歌必須融入現實世界Go谷歌
- 嚴格模式和非嚴格模式區別模式
- 對資料隱私持開放的態度
- 開發Koa 必須用的外掛
- 電腦必須開啟的設定
- 嚴格模式模式
- iOS 程式設計師必須收藏的資源大全iOS程式設計師
- Github 預測:2018 你必須關注的開源專案Github
- fir.im Weekly - 2017 年必須瞭解的 iOS 開源庫iOS
- 你必須會的 JDK 動態代理和 CGLIB 動態代理JDKCGLib
- 最全的Android開發資源整理--進階必備Android