侵权投诉
订阅
纠错
加入自媒体

Android阵营内讧:谷歌为何紧急封杀阿里云OS?

2012-09-17 10:59
人在旅途20
关注

  为了规避这一问题,谷歌除了在操作系统核心使用了Linux代码之外,在其他专门为安卓开发的相当一部分代码中,使用了传染性不那么强的开源协议:基于Apache的ASL或者基于BSD的BSD协议。这两种协议的共同点在于对商业应用十分友好,遵循这两种协议的开源代码,商业公司可以拿过去用,而开发出的产品不一定需要也开源,可以视情况打包为闭源商业软件。在安卓系统中,大部分硬件驱动程序,以及谷歌专门为移动设备开发的基本函数库Bionic,都慷慨地采用了BSD或ASL开源协议,其中包括Dalvik虚拟机等安卓运行库(runtime)。(整个安卓操作系统各部分所遵循的版权协议见图)

  对比代码是解答“是否抄袭”的核心

  这里要多说两句,谷歌为什么要允许别人闭源使用自己的开源代码呢,它有啥好处?必须要说明,开源协议的选择体现了软件的价值观,也体现了开发者的商业考量。如果谷歌让整个安卓系统采用GPL协议,看上去所有开发者的进一步开发都会被开源出来,系统创新的速度可能更快;但这样有个更大的副作用,就是很多商业公司就不愿意介入安卓开发了——一介入就被“传染”了要开放自己的源代码了。为了团结其他商业公司,让更多的手机厂商原意采用安卓、更多的软件厂商原意为安卓开发丰富多彩的应用APP,谷歌选择了在Linux核心之外,另行独立开发出安卓的运行环境与函数库,并将这部分以更为自由的BSD和ASL协议发布。这样,开发者基于安卓开发的应用,愿意贡献给社区,就开源;希望保守自己的商业秘密,就闭源。这个策略目前来看相当成功,安卓手机、应用APP这一硬一软两个方面,在这几年突飞猛进地发展,选择了合适的开源协议功不可没(关于谷歌选择开源协议的分析,阮一峰翻译了一篇文章,可以用来作为背景学习)。

  通过安卓的体系设计,我们大概对几种不同的开源协议有了初步认识。现在就来分析阿里云OS。阿里云OS的体系结构如图所示。可以看到,阿里云OS同样基于Linux核心。这就涉及第一个版权问题:这部分代码按照GPL规定已经被“传染”,必须开源。目前为止,在公开报道中,我们还没有找到阿里云OS“部分开源”的消息。

  在这部分代码开源之后,业内人就可以对阿里云和安卓做一个更透彻的比较,看看到底是前者直接使用了后者的代码,还是真的如阿里自己所说,是独立在Linux基础上开发出来的新操作系统。因为谷歌安卓中的Linux核心,与一般的Linux核心还有不同。为了适应移动设备内存小、CPU频率低、对耗电量高度敏感的特点,谷歌将这部分Linux核心做了修改,并依据GPL将修改开源。从这篇文章可以看到,谷歌对Linux核心做了至少两处重大改动:进程间通讯(IPC)模块Binder,和至关重要的电量管理模块。阿里云OS既然也是移动操作系统,必然需要对本来为桌面系统开发的Linux做出相似的处理。这个处理方式,是沿用了谷歌的方式,还是真正的自主开发呢?代码公布后,自然见分晓。

<上一页  1  2  3  4  下一页>  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号