写点什么

谷歌为什么要对 Android 的开源严防死守?

  • 2018-07-27
  • 本文字数:2286 字

    阅读完需:约 8 分钟

上周,沸沸扬扬的 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 在智能手机市场的份额从零增长到现在的80%还多,单从市场份额来看,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 的底线,它可能会让你崩溃。

查看英文参考原文: https://arstechnica.com/gadgets/2018/07/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary/

2018-07-27 07:172744
用户头像

发布了 83 篇内容, 共 49.1 次阅读, 收获喜欢 187 次。

关注

评论

发布
暂无评论
发现更多内容

我用这份10w字的Java面经,暑假在家闭关7749天成功拿下美团offer!

程序员小呆

Java 程序员 面试 架构师 java面试

我一口气面试6家大厂,已拿下5家offer,分享经验和Java资料,其实大厂没有你想象中难!

程序员小呆

Java 程序员 面试 架构师 java面试

1688 商家基于 HarmonyOS 的多屏协同直播技术方案

阿里巴巴终端技术

ios android 客户端开发 HarmonyOS 直播技术

5G NR 网络类型移动开发小记

阿里巴巴终端技术

ios android 5G 移动开发 移动网络

「ANR」Android SIGQUIT(3) 信号拦截与处理

阿里巴巴终端技术

android 信号量 anr

区块链底层平台如何实现国密改造?

旺链科技

区块链 国密改造

肝不爆我不停!这套阿里10月最新面试手册(题+视频)爆砍55K+16薪Offer!

Java架构追梦

Java 阿里巴巴 后端 java面试 offer

什么样的云管平台才是企业需要的?他们的真正诉求是什么?

行云管家

云计算 云管平台 云资源 云成本

北冥多样性计算融合架构系列解读之 一文读懂华为昇思科学计算

Geek_32c4d0

解决外卖配送最后一公里:外卖柜存在哪些问题

石头IT视角

和12岁小同志搞创客开发:如何驱动LED数码管?

不脱发的程序猿

少儿编程 DIY 创客开发 LED数码管

回顾|鉴释梁宇宁在嵌入式技术大会发表WASM安全性演讲

鉴释

操作系统 嵌入式 Wasm

Stratifyd创始人汪晓宇:从战略层建立数据驱动型客户体验策略

让GitHub低头!这份阿里内部的10W字Java面试手册到底有多强?

程序员小呆

Java 程序员 面试 架构师 java面试

北冥多样性计算融合架构系列解读之 一文读懂华为多瑙统一调度器

Geek_32c4d0

uni-app技术分享| 用uni-app实现拖动的诀窍

anyRTC开发者

uni-app 音视频 WebRTC 移动开发 视频通话

融云 x 微脉:让互联网医疗服务更长远、更连续

融云 RongCloud

通信云 医疗信息化

二级等保测评通过需要多少分?去哪里找等保测评机构?

行云管家

网络安全 等级保护 等保测评 等保2.0

北冥多样性计算融合架构系列解读之 一文读懂华为MindStudio统一工具链 多样性计算系统下的开发挑战

Geek_32c4d0

算力 多样性计算 北冥

怒肝半月!Python 学习路线+资源大汇总

程序员鱼皮

Python 人工智能 大数据 算法 数据分析

宇宙条一面:十道经典面试题解析

编程 架构 面试 后端 计算机

把Github“炸”翻了!的100万字高级面试总结,惨遭多家大厂威胁下架

程序员小呆

Java 程序员 面试 架构师 java面试

从一盏路灯,看亿万级物联网联接的智能之路

华为云开发者联盟

物联网 IoT 华为云 LiteOS NB- IoT

WICC · 广州开启报名!包揽最「in」社交、泛娱乐、出海话题

融云 RongCloud

开发者 游戏 通信云 社交 泛娱乐

阿里技术官手码23W字Java面试,在Github上爆火,惨遭多家大厂威胁下架

程序员小呆

Java 程序员 面试 架构师 java面试

把Github“炸”翻了!的阿里面试总结,惨遭多家大厂威胁下架!

程序员小呆

Java 程序员 面试 架构师 java面试

出神入化!字节技术小组耗时99天打造Java零基础到中高级核心手册

Java 程序员 架构 面试 后端

猛攻一线大厂,Java架构面试点+技术点标准手册完整版来了!

Java 程序员 架构 面试 后端

在Github找的一份面试资料,看了感觉直接啥也不是

程序员小呆

程序员 面试 架构师 java

北冥多样性计算融合架构系列解读之 一文读懂北冥基础使能:毕昇C++编译器及北冥融合加速库

Geek_32c4d0

阿里大牛把算法面试必问的排序、递归、链表、栈、队列、二叉树、动态规划撸完了

编程 程序员 架构 面试 算法

谷歌为什么要对Android的开源严防死守?_Android/iOS_覃云_InfoQ精选文章