谷歌为什么要对Android的开源严防死守?
编译 | 覃云
本文是对外媒文章的编译,原英文链接为:
https://arstechnica.com/gadgets/2018/07/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary/
上周,沸沸扬扬的 Android 垄断案把 Google 又一次推向了风口浪尖,在这次的垄断案中,Google 被欧盟起诉赔偿 50 亿美元,被起诉的其中一个原因是 Google 对外宣称 Android 是开放的,但其实他们只是开源了一部分代码,很多重要的代码都是闭源的。
从这些年 Google 对 Android 的态度来看,他们正以各种手段控制开源,这与 Android 开放的口号是否相悖?Google 又为何这样做?首先,我们从 Android 发家史说起。
Android 发家史
2007 年 11 月,Google 推出了 Android 开源项目(AOSP),在此的几个月前,第一代 iPhone 发布,开创了智能手机的时代,当时 Google 还是苹果的应用程序合作伙伴,那时,Google 预料他们在移动市场上的未来将会是这样的:
如果 Google 不立即采取行动,未来我们将面临严峻的形式:一个客户、一个公司、一个运营商将是我们唯一的选择。
从上面这句话可以看出,当时 Google 十分害怕苹果会在未来统治移动领域,所以,当时,在移动领域还没有站住脚的 Google,为了对抗苹果,只好将 Android 作为一个开源项目推出。
此后,Android 在早期智能手机市场上的份额一路飙升。
今天,Android 在智能手机市场的份额从零增长到2018年初的 86%,单从市场份额来看,可以说Android 赢了苹果。但“Android 获胜”和“Google 获胜”并不一定是同一回事。由于 Android 是开源的,因此它并不是真正完全属于 Google。任何人都可以自由地使用它,克隆源代码,并创建自己的 fork 或备用版本。
众所周知,在移动市场上,抛开操作系统,App 才是一切。Android 在各种品牌的手机上得到大量安装,也意味着它将拥有大量的应用程序。如果一家公司 fork Android,加上 Android 已经兼容上万个应用,这家公司只需建立自己的应用商店并上传所有的内容即可。但是如果有公司开发出比 Android 更好的操作系统,那么将会严重威胁 Google 目前的地位。
Google 明白移动是互联网的未来,控制世界上最大的移动平台有很多的好处,但是又不可能收回开源的承诺,所以就引出了一个问题:如何控制开源项目?
众所周知,“Android”分为两个部分,第一部分是 Android 开源项目(AOSP)的开放部分,它是 Android 的基础,封闭的部分是 Google 旗下的应用程序,虽然 Google 并不会完全关闭 Android 开源项目,但是他们正在竭尽所能地利用现有的开源项目,主要的方法是:在封闭的 Google 保护伞下引入越来越多的应用程序。
Google 的闭源之路
谷歌闭源的应用程序一直存在着。起初,这些闭源的应用主要是 Gmail、Google 地图、Talk 和 YouTube。那时 Android 还没有那么大的市场份额时,谷歌觉得控制这些应用就足够了,所以将 Android 的其余部分变为开源项目。但是随着 Android 已经成为移动领域的巨头,谷歌决定对开放的源代码逐渐实行严格地把控。
较少的开源代码意味着 Google 的竞争对手需要付出更多努力。虽然 Google 无法杀死一个开源应用程序,但他可以将升级版本闭源化使原来的应用形同虚设,从而让这个应用“报废”。当谷歌重新设计应用程序或将新的 Android 版本发布到 Play 商店时,通常会显示已闭源,同时 AOSP 版本的应用也会失效。
Google 还做了哪些工作?
控制 OEM
对 Google 来说,只拥有面向消费者的应用程序的控制权还不够,Google 还需要控制手机厂家。
如果某个公司设法 fork AOSP,克隆谷歌应用程序,并成为 Android 的竞争对手,这也是徒劳的,因为他很难找到手机厂商搭载他们的应用。
对一个开放的市场来说,说服一个 Android OEM 放弃 Google 而与他们合作是很容易的,但是 Google 对此早有防范。因为 Google 在移动领域真正的实力来自于对谷歌应用的控制上,主要包括 Gmail、地图、YouTube 和 Play 商店等,无论是大型还是小型的手机厂商都希望在手机上获得这些应用,由于这些应用程序不是开源的,因此需要从 Google 那里获得许可。那么 Google 肯定会在许可协议上附加一些要求,控制那些手机厂商,防止“叛变”。
此时,Google 推出了一个 OHA(开放手机联盟),加入 OHA 的 OEM 将得到 Google App 更多的授权。而加入 OHA 的 OEM 必须得签署一份协议:禁止构建非 Google 认证的设备,并禁止和模仿 Android 操作系统的企业合作。
早在 2012 年时,宏碁想在中国生产运行阿里巴巴的 Aliyun OS 的设备时,宏碁就收到谷歌的通知,若新产品上搭载阿里云操作系统,Google 将会解除与其 Android 产品的合作和相关技术授权,后来手机发布会也被迫取消了。
控制第三方应用
Google Play 的战略是将“Android 应用生态系统”变成“Google Play 生态系统”,让那些应用在 Google 认可的设备上轻松运行,在非谷歌认证的设备上寸步难行。
Play Services 是 Google 闭源的应用程序,它不仅吸引用户使用闭源的应用,还能通过 Google 的专有 API 控制第三方开发人员。
如果你使用了 Google API 并将你的应用运行在 Kindle 或任何其他非 Google 版本的 AOSP 上,结果是:恭喜,你的应用程序坏了!
在这一点上,Google 的想法是:Android 在移动市场上占有很高的比例,开发人员只需构建应用程序,使其运行良好,让广泛的用户受益即可。而 Google API 能帮助他们实现所有的这一切,但副作用是你的应用需要永久地依赖于拥有 Google Apps 许可证的设备。
总而言之,虽然 Android 是“开放”的,但是它是以“可远观而不可亵玩焉”的方式在开放着,只要你高兴,你可以将其用在任何领域,但前提是你需要得到 Google 的“祝福”,换句话说,如果你想对 Android 动歪心思,触犯了 Google 的底线,它可能会让你崩溃。
更多对 Android 解读,可查看 keso 的分析。
谷歌为什么要对Android的开源严防死守?相关推荐
- 得到谷歌认证的《Android UI框架进阶解密》开源了,亮瞎我的钛合金
根据调查显示,,iOS与Android的市场份额差距正越来越大.Android设备正在成为手机应用市场的主力军.如何从设计层面创造一个优美的App界面来吸引用户已然成为广大App开发者们必做的功课之一 ...
- [转]收集android上开源的酷炫的交互动画和视觉效果:Interactive-animation
原文链接:http://www.open-open.com/lib/view/open1411443332703.html 描述:收集android上开源的酷炫的交互动画和视觉效果. 1.交互篇 2. ...
- Android第三方开源FloatingActionButton(com.getbase.floatingactionbutton)【1】
Android第三方开源FloatingActionButton(com.getbase.floatingactionbutton)[1] 由于FloatingActionButton在用户体验 ...
- Github-Client(ANDROID)开源之旅(二) ------ 浅析ActionBarSherkLock
接上篇博文:Github-Client(ANDROID)开源之旅(一) ------ 初探GitHub 其中提到了Github-Client用到了很多开源的第三方库 首单其冲的便是ActionBarS ...
- 微信被指监听用户,腾讯回应;谷歌意外推送 Android 11 Beta 更新;Linux 5.7 发布 | 极客头条...
整理 | 屠敏 头图 | CSDN 下载自视觉中国 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客 ...
- Android,开源还是封闭?VS 关于 Linux “踢出” Android
http://www.ruanyifeng.com/blog/2010/02/open_android_or_not.html http://www.cnliufeng.com/blog/2010/0 ...
- Android开发开源源代码
Android经典的开源项目其实非常多,把自己熟悉的一些开源项目整理起来,希望能对Android开发同学们有所帮助 项目篇: 1.Apollo音乐播放器 就一个很好的播放器,但是实现的特别好!!! 地 ...
- 字节小组长无意得知手下有35K,自己却只有28K;谷歌推出Go版Android 11;Deepin v20正式发布!...
点击"开发者技术前线",选择"星标????" 让一部分开发者看到未来 来自:程序员头条参考:开源中国.脉脉 新浪科技.IT之家等 0.字节小组长无意中得知自己 ...
- 各种Android UI开源框架 开源库
各种Android UI开源框架 开源库 转 https://blog.csdn.net/zhangdi_gdk2016/article/details/84643668 自己总结的Android开源 ...
最新文章
- VMware宋家瑜:U2VL要趁早
- c++中的STL的常用算法---3(排序算法,拷贝和替换算法,算术生成算法,集合算法)
- @scheduled注解配置时间_Java开发重写Spring Boot定时任务,支持可动态调整执行时间...
- Java 面向对象:封装详解
- 直播丨墨天轮邂逅MySQL之父,腾讯云CDB/CynosDB技术揭秘之自主可控、前沿探索
- 我花了一年时间研究不确定性估算,写下了这份最全指南
- 安徽大学高等数学习题册(上)(第一章)
- 怎么用python实现序列比对_生信学习笔记——Python+Mafft实现批量化多序列比对
- 温暖和暖和的区别Java_国内冬天哪里比较暖和 冬天暖和的城市排名
- java随机不重复点名_怎样用java做一个点名器,除重复,并且用键盘输入
- luogu P1357 花园
- SPI Flash是什么?
- 《设计模式》之策略模式
- 启发式算法(通俗解释)
- Git三板斧【linux环境】
- navicat中选择utf-8时的困惑
- 为什么需要传递HINSTANCE给CreateWindow?
- 海康工业相机两种打开方式
- css type属性的buttom和submit区别
- 埃克森美孚和保时捷拓展赛车运动技术合作,进军Formula E电动方程式
热门文章
- Gson源码解析之-toJson
- 爬虫实战操作(3)—— 获取列表下的新闻、诗词
- 计算机财务函数pmt,5个财务函数FV、PV、PMT、NPER与RATE
- 马云个人名义捐款华为_中国富豪慈善捐款排行:第一名【马云】
- 使用计算机时一面用键盘,一种计算机教学用键盘的制作方法
- 清华大学霸榜计算机学科第一!2022 USNews 世界大学排名出炉,计算机前50中国占19个...
- Code Style Guide之正交设计浅析
- JavaScript弹出框
- linux控制台 远程关机,ubuntu关机命令合集
- 【原创】基于Jsp+Servlet的茶叶商城(在线商城毕业设计源代码)