正在阅读:Google正在逐步封闭安卓系统?一派胡言Google正在逐步封闭安卓系统?一派胡言

2012-12-12 18:14 出处:PConline原创 作者:Aimo 责任编辑:censi
1安卓生态正在走向封闭?回顶部

  安卓正在世界范围内刮起一股浪潮,安卓之所以能够成为全球最流行的移动操作系统,和Google奉行的开放性策略不无关系。不过,对于安卓是否是一个完全开放的系统,不少人持有疑问。

安卓真的是一个完全开放的系统?
安卓真的是一个完全开放的系统?

  有观点认为,Google正在利用安卓系统控制移动市场,指定安卓手机的软件和硬件规格,国内某系统因Google施压而流产就是最好的证明。换言之,Google正在将安卓生态异化为需要经过Google许可的、完全为Google利益服务的Google系统,在Google的运作下,安卓正在走向封闭。

  然而事实是否真的是这样?Google是不是真的在打着“开放”的幌子招摇撞骗,当移动设备制造商因看到安卓开放的美艳而上钩后,Google就会收紧渔网,露出怪叔叔的真面目呢?下面我们一起来分析一下安卓的开放究竟是“真心为你”,还是只会给移动设备厂商带来“甜蜜的死亡”。

  安卓生态正在走向封闭?

  我们知道,安卓系统本身是不要钱的,Google从移动市场获利的主要手段是部署于安卓系统的Google服务。在安卓生态中,Google服务担当了同步数据、提供Play商店应用平台以及投放广告等功能——实际上你在很多免费安卓软件中看到的广告,都是由Google提供的。

Android 开放性
Google服务是安卓的重要生财路

  在安卓生态中,Play商店以及广告是Google从安卓平台中获利的途经。Google可以从Play商店中获得开发者收入分成,也能够从安卓软件中获取广告费用。此外,Google也能够通过安卓平台上的Google服务进一步扩张自己的势力范围。安卓平台上的Google服务,的确和Google的利益息息相关。

  有观点称,Google正在让安卓生态成为完全为Google服务的工具,Google服务就是寄生于安卓系统的吸血虫。但是,现在市面上的很多安卓机器都没有附带安卓服务。这虽然不会减少Google在安卓软件中投放广告获得的收入,但是却会在其他方面大大削弱Google的获利。有观点认为,一旦在自己定制的安卓系统去除了Google服务,重新构建新生态,就会受到Google的“封杀”,就像国内流产了的某个云系统。

Android 开放性
Google只许自家服务放火,不许别家生态点灯?

  这种观点毫无疑问是错误的。事实上,Google本来就没有强行要求安卓系统必须附带Google服务。在安卓的开源计划AOSP(Android Open Source Project)中,并不包含Google服务的代码。也就是说,如果你使用Google提供的安卓源代码来开发,那本来就是没有Google服务的。不但如此,如果你要在推出的安卓机中使用Google服务,还得先经过Google同意。

安卓的开源计划AOSP并不包括Google服务
安卓的开源计划AOSP并不包括Google服务

  我们大致可以这样看待Google服务和安卓系统之间的关系:安卓系统是Google免费派送的、人人都可以享受的大饼,你除了能够免费拿到这个大饼外,还能够向Google申请再拿一张Google店里的菜单(Google服务)。Google菜单毫无疑问可以为Google带来更多生意,但是它并不是免费大饼的一部分,你不向Google索取的话,Google也不会给你。如果你硬要说Google菜单是Google派给你的垃圾邮件,不拿就不给你大饼,那未免也太过分。

  结论显而易见,Google从未试图将安卓打造成完全为Google利益服务的系统,安卓只是为Google服务提供了一个平台,Google服务本来就不是安卓生态必须的一部分,Google利用Google服务封闭安卓生态自然也就无从谈起。

2安卓使Linux变得封闭?回顶部

  安卓使Linux变得封闭?

  熟悉安卓系统的朋友应该会知道,安卓使用了Linux Kernel的源代码,Linux拥有自己的开源社区,Linux Kernel的代码由众多的开发者共同维护。然而,在2010年2月份,Linux Kernel开发者Greg Kroah-Hartman突然宣布将安卓代码从Linux Kernel的“状态树”中去除。有人认为这是因为安卓Linux Kernel的开发小组不认可安卓的贡献,两者产生了冲突。

Android 开放性
安卓目前可不在Linux的怀抱中

  于是传言就蜂拥而至。不少人纷纷传说这是由于Google在开发安卓时使用了Linux代码,但却没有对Linux代码进行相应的开源,没有将代码贡献到Linux社区,这让Linux变得更封闭,进而惹怒了Linux社区的开发者。而“安卓让Linux变得封闭”这个流言也从此而出,成为了不少人责问Google的一大理由。

  然而事实是否真的是这样?我们一起来看一下后续发展就清楚了。2010年2月份安卓代码从Linux Kernel的“状态树”去除,仅两个月后,Google就宣布将派遣2名开发人员加入Linux内核社区,以便重返Linux内核。2010年9月,Linux内核开发者Rafael J. Wysocki添加了一个修复程序,使得安卓的“wakelocks”可以轻松地与主线Linux内核合并。而在2011年,Linux之父Linus Torvalds说:“安卓的内核和Linux的内核将最终回归到一起,但可能不会是4-5年。”

Android 开放性
安卓正在努力回到Linux身边

  很明显,Google从未试图刻意将安卓从Linux Kernel中独立出来。与之相反,Google还努力地在维持安卓和Linux Kernel发展的一致性。那么安卓为何会从Linux中分裂?安卓为何会落得一个“封闭了Linux”的名声?这得从开源协议说起。

3安卓没法用Linux的方式开源回顶部

  安卓:我没法用Linux的方式开源

  对开源世界有所研究的朋友会知道,Linux使用了GPL开源协议。GPL是一个十分强硬的开源协议,它的出发点大概就是开源万岁,只要使用了遵循GPL协议的开源代码,那么你的衍生代码就必须开源和免费使用,决不允许作为闭源的商业软件发布和销售。

Android 开放性
GPL协议已经发展到了第三版

  GPL的强硬让它具备了传染性——只要你使用过GPL协议的开源代码,你就不可避免地要让自己的这部分代码遵循GPL开源。由于GPL协议十分强硬,所以它很受开源狂热者的欢迎,也倍受商业公司的诟病。而Google作为一个商业公司,想要安卓系统为更多的商业公司接受,那么如何避免GPL污染,就成为了开发安卓系统时不可忽视的一个重大课题。

  大家可以想像一下,如果安卓也使用了GPL开源协议,那么第三方如果使用了安卓的代码,那么你自己改造过的安卓系统也不可避免地要开源——三星会要开源TouchWiz和一票特色应用,HTC要开源Sense,Moto要开源Blur——老天啊,大家都是来赚钱的不是来搞慈善的,我辛辛苦苦自己大价钱雇程序员憋出来的代码公诸天下人人能抄那还得了?换言之,如果安卓使用了GPL开源协议,那么安卓绝然不可能成为一个人见人爱的系统。

  于是,Google在开发安卓的时候大量去除了Linux Kernel的代码,安卓砍掉了Linux的驱动,自己构建了一个硬件虚拟层。此外,安卓也在4.0以后的版本不再使用Linux对音频架构ALSA(Advanced Linux Sound Architecture),此类改造数不胜数——有人甚至说,安卓和Linux的距离比iOS和Unix的距离还要遥远。

Android 开放性
安卓拥有自己的硬件虚拟层

  安卓砍掉了Linux Kernel的大量代码,这可不是一个轻松活,而且重建的代码也未必比之前更出色——然而这一切都不得不做。安卓使用了Linux代码的部分依然按照GPL协议开源,其他部分则选择了ASL开源协议。ASL开源协议比GPL宽松很多,你可以使用ASL开源协议的任何源代码,而且使用后不必再开源,只需要标明出处就可以了。

  ASL无疑更适合商业公司的使用,各种大厂小厂山寨厂一拥而上,先把安卓的源代码抄了个遍再说,至于标明出处嘛……反正我也不需要开源,我就说这是我自主研发的具有自己知识产权的系统,没我源代码你来查啊,你咬我啊。什么,Google你竟敢说我使用的是安卓,不承认不许开卖?分明就是你Google丧心病狂想要封闭安卓!

Android 开放性
我就是不承认用过你的代码,还要反咬你一口,你也来咬我啊

  总而言之,安卓和Linux之所以会分裂很大一部分原因是Google避免GPL污染所致的,说安卓封闭Linux代码根本就是无稽之谈。此外,Google避免GPL污染,转而使用ASL开源协议从而取得商业的成功的行为,也得到了Linux开源社区的赞赏。Linux之父Linus亲口称赞安卓正在吸引主流用户使用Linux,网络效应将使更多新用户选择安卓。那些中伤Google和Linux社区矛盾重重的人,估计怀有一些不可告人的目的吧?

4Google并没有完全开源安卓?回顶部

  Google并没有完全开源安卓?

  前面我们说到,安卓在使用Linux代码的部分使用了GPL协议开源,而其他部分则使用了ASL协议开源。但是有人又说,安卓还有很多部分没有公开源代码,安卓开源计划AOSP中的代码远不足以让安卓系统在硬件中运行起来——而这,又成为了人们指责安卓封闭的一大理由。

  很遗憾,Google的确没有公布足以让安卓运行起来的源代码。在安卓开源计划AOSP中,我们没法找到市面上大部分硬件的驱动程序。此外,安卓的评估流程也不如Linux开源社区那样开放,所有的安卓代码评估者都是Google自家的员工,而安卓的私有分支也不会随时公布,只会提前提供给几个需要知道的合作伙伴。

Android 开放性
AOSP提供的安卓代码没法直接在硬件上运行

  然而,我们不能忘记Google始终是一个商业公司,Google没法做到像众多开源社区那样自由。和大家熟悉的桌面DIY电脑不同,在移动领域,硬件方案可不向DIY硬件那样零散销售。移动设备生产商通常会和上游的芯片提供商签署长期的供需协议,而以高通为代表的上游芯片提供商会为移动设备生产商提供一整套的硬件解决方案,其中就包括了安卓的驱动程序。

  移动芯片可是战略级别的物资,在竞争异常激烈的今天哪个芯片提供商都不想将自家的芯片驱动外泄——如果芯片提供商都公布了芯片驱动,那你的驱动再也卖不了钱了,也没法从下游厂商那里获取丰厚的利润,并将下游厂商绑在同一条船上。如果人人都能开发相应的设备,想要统合上下游供应渠道、建立什么大一统的高通帝国就难喽。下游厂商敢私自把驱动程序放出?呵呵,你以后别想在我这儿买到货了,你预付的钱就当违约赔偿金吧。

Android 开放性
ARM芯片提供商对下游控制得很严格

  无论是高通还是三星还是其他芯片提供商,都会和合作伙伴签订严密的驱动程序保密协议,Google自然也没法将相应的安卓驱动放出。而Google封闭评估安卓代码也是出于类似的考虑,如果Google随时将安卓代码公布并允许他人私建分支,将会大大损害合作伙伴的利益。还是那句,Google是一个商业公司而不是什么慈善组织,Google想要随心所欲地公布代码,恐怕要等5万Google员工全部归隐山林的时候才能办到。

Android 开放性
人在江湖身不由己,安卓没可能完全开放

  作为一个商业公司,Google已经尽可能在不伤害合作伙伴的前提下保持开放性,我们不该以此指责Google封闭了部分代码。相反,Google能够在保持和合作伙伴有说有笑的前提下,开放了安卓系统的大部分源代码,这是一件令人惊叹的事情。

  后话

  安卓系统已经走过了四个春秋,世界正因安卓系统而慢慢改变,甚至连触屏手机大潮的引领者iOS也向安卓学习了下拉菜单等元素。然而,Google并没有因为越来越多人被安卓所吸引而开始封闭安卓,圈地收钱。Google一直以“不作恶”自省,我们也希望Google能够一直保持自己的原则,在物欲横流的商界中,能让人们看到一盏明灯。

相关阅读:

连iPhone都羡慕?安卓小白点工具箱试用

//pcedu.pconline.com.cn/android/1212/3104706.html

你真了解吗?细数人们对安卓的误解之处

//pcedu.pconline.com.cn/android/1211/3086325.html

就这样也想和iOS斗?安卓4.2已知问题汇总

//pcedu.pconline.com.cn/android/1211/3084294.html

关注我们

最新资讯离线随时看 聊天吐槽赢奖品