首页 >

安卓系统是开源的,是全球程序员的共同劳动成果,为什么总有人认为谷歌可以禁用安卓? – 网络|

手机怎么看gps信号,网站怎么转码,为什么要初始化css安卓系统是开源的,是全球程序员的共同劳动成果,为什么总有人认为谷歌可以禁用安卓? - 网络|安卓系统是开源的,是全球程序员的共同劳动成果,为什么总有人认为谷歌可以禁用安卓

首先说说安卓系统和Linux的渊源。

学生时代的Linux之父林纳斯.托瓦兹,一点看不出酷炫狂拽的样子。


安卓是基于Linux系统开发的,而Linux是一款免费的操作系统(有GNUGPL授权证约束,要求免费),任何人可以免费获得,并参与修改,从这个角度说Linux是全球程序员的共同劳动成果没错,但这么说安卓就不对。

安卓的系统架构有四层,分别为应用程序层、应用程序框架层、系统运行库层和Linux内核层。从这里可以看出,安卓是以Linux为地基搞出的新操作系统,有Linux的基因,但已经不是Linux。打个简单的比方,孩子有父亲/母亲的基因,但孩子不等于其父亲/母亲。道理就是这么简单。

说过安卓和Linux的渊源,再来说说安卓为什么是开源的。

Linux的开源和其创造者林纳斯.托瓦兹有直接关系。托瓦兹是芬兰人,这人讨厌知识产权,喜欢在演讲中脏话连篇,甚至竖……中……指,总之是一个个性突出,优点和缺点都很明显的人。

林纳斯.托瓦兹本人,如假包换,不时在演讲时表现酷炫狂拽。


读芬兰赫尔辛基大学二年级时,托瓦兹把自己耗时两个月编写的操作系统Linux发布到互联网,并在1991年9月公布源代码,同时选择了GNUGPL授权许可协议,允许所有人自由使用、修改及分享。

可以说,Linux的开源是托瓦兹性格和价值观共同推动的结果。

但是,安卓的开源则不同,完全是出于市场竞争的需要。

2007年夏天,安卓系统已经有了第一款样机,但和后来发布的iPhone相比,软硬件都有很大差距,相比苹果的iOS,是一个不折不扣的弱势操作系统,而且谷歌既没有做手机的经验,也没有做手机的兴趣(利润太低),不可能像乔布斯那样将安卓打造成软硬件一体的封闭系统。

安卓收费也行不通,毕竟谷歌是移动操作系统的新人,手机行业的门外汉,同样是花钱,手机大厂们更愿意选诺基亚的塞班系统。

于是谷歌决定不走苹果的产业链通吃的商业模式,改学微软的横吃整个市场,为迅速占领市场,手机厂商可以免费使用安卓系统。不花钱,大家自然愿意用,加上谷歌不断推出新版本消除BUG,安卓很快就打败塞班,超越iOS,成为市场份额最大的手机操作系统。

从这里可以看出,安卓的开源和Linux的开源有本质不同:Linux允许修改底层代码,所以版本众多,而安卓没有达到这个程度,更多的是改良,即联合手机厂商优化软硬件,最核心的东西还是掌握在谷歌手中,所以安卓系统才会每隔一段时间推出新版本。


有网友在评论区留言认为,Linux不是操作系统,是内核。这位网友的意思是,内核和系统不是一回事。

说Linux是内核,这点没错,但操作系统内核就不是操作系统了?这相当于”白马非马“了。

大家来看Linux内核的主要模块:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等,具备一款完整操作系统的主要功能,已经超出了狭义的操作系统定义范畴。

市面上多种Linux操作系统版本,是加了外围实用程序,以适应不同硬件环境:

一些组织或厂家,将Linux系统的内核与外围实用程序(Utilities)软件和文档包装起来,并提供一些系统安装界面和系统配置、设定与管理工具,就构成了一种发行版本(distribution),Linux的发行版本其实就是Linux核心再加上外围的实用程序组成的一个大软件包而已。

如果说Linux内核不是操作系统,那么加上外围程序也跑不起来。

安卓采用Linux内核,但做了较大改动,用Bionic取代Glibc,Skia取代Cairo,opencore取代FFmpeg等等,把被GNUGPL授权证所约束的部份统统移除了,以方便商业应用。

最后总结一下,Linux确实是操作系统。


安卓系统是开源的,是全球程序员的共同劳动成果,为什么总有人认为谷歌可以禁用安卓? - 网络|
  • 本人三本毕业,0计算机基础,想学java,做程序员。报培训班靠谱吗? - 网络|
  • 本人三本毕业,0计算机基础,想学java,做程序员。报培训班靠谱吗? - 网络| | 本人三本毕业,0计算机基础,想学java,做程序员。报培训班靠谱吗? - 网络| ...

    安卓系统是开源的,是全球程序员的共同劳动成果,为什么总有人认为谷歌可以禁用安卓? - 网络|
  • 程序员每天除了写代码之外,其它必做的事情应该有哪些? - 网络|
  • 程序员每天除了写代码之外,其它必做的事情应该有哪些? - 网络| | 程序员每天除了写代码之外,其它必做的事情应该有哪些? - 网络| ...

    安卓系统是开源的,是全球程序员的共同劳动成果,为什么总有人认为谷歌可以禁用安卓? - 网络|
  • 以后想从事互联网行业,但不想做程序员,对代码编程无兴趣,该不该学计算机科学与技术专业? - 网络|
  • 以后想从事互联网行业,但不想做程序员,对代码编程无兴趣,该不该学计算机科学与技术专业? - 网络| | 以后想从事互联网行业,但不想做程序员,对代码编程无兴趣,该不该学计算机科学与技术专业? - 网络| ...