Linux version type, is Google's Android really open source? Android is farther away from Linux

Introduction to Linux
Linux is a general term for a class of Unix computer operating systems. The name of the kernel of the Linux operating system is also "Linux". The Linux operating system is also the most famous example of free software and open source development. Strictly speaking, the word Linux itself only refers to the Linux kernel, but in fact, people have become accustomed to using Linux to describe the entire operating system based on the Linux kernel and using various tools and databases of the GNU Project.

In March 1994, Linux 1.0 was released
The amount of code is 170,000 lines, and it was released under a completely free and free agreement at the time. The completely free and free agreement represents freedom and openness. Anyone can modify it and add their own code, but this undoubtedly makes it difficult for Linux to be commercially available. Conducive to dissemination (it is hard to say here, if it is not driven by commercial, completely free and open may not have today's Linux). Then the GPL agreement was officially adopted. The GPL agreement is a strong open source agreement that provides copyright protection for software and gives you legal permission to copy, distribute and modify these software.
If you modify the code and apply for a patent, then see this: redistributors of free software obtain patent licenses in their own right. In effect, make the software private. To prevent this, we must be clear: any patent must be free for everyone to use the premise, otherwise no patent is allowed.
Obviously, if Android is a commercial application, such an agreement is definitely not in Google's interest, and I will describe how Google is fighting this agreement in a moment.

In January 1995, RedHat (Little Red Riding Hood) was born
1995年1月,Bob Young创办了RedHat(小红帽),以GNU/Linux为核心,集成了400多个源代码开放的程序模块,RedHat Linux,称为Linux“发行版”,在市场上出售。1996年6月,Linux 2.0内核发布,此内核有大约40万行代码,并可以支持多个处理器,此时的Linux 已经进入了实用阶段,全球大约有350万人使用。

2003年11月16日,Fedora Core(自第七版直接更名为Fedora)发布
它是一套从Red Hat Linux发展出来的免费Linux系统。Fedora Core 的前身就是Red Hat Linux。Fedora是一个开放的、创新的、前瞻性的操作系统和平台,基于Linux

1993年8月13日, Debian
它的目标是提供一个稳定容错的Linux版本。支持Debian的不是某家公司,而是许多在其改进过程中投入了大量时间的开发人员,这种改进吸取了早期Linux的经验。

2004年10月20日发布首个以Debian为开发蓝本版本Ubuntu4.10
Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。而且在每年的6月份都会发布一个新版本。

2014年初,CentOS宣布加入Red Hat
CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。每个版本的 CentOS都会获得十年的支持。新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。
所以在学习的时候我们一般使用Ubuntu,而在企业开发的过程中一般使用CentOS。

只介绍了一些,如果还想要了解Linux的各种版本,顺着看,在文章后面就可以看到我盗来的几张图(总结的很完善,所有也希望给大家分享一下)

Google的Android“真的”是开源的吗?
我们首先得明白,Android是Google的一种商业性应用,所以说,肯定不能完全遵守前面所说过的GPL开源协议,不然别人就可以做自己的操作系统了,为什么要用Android呢,不是吗?
先看看Android和正常的Linux的区别在什么地方(详情请看图)
本质上来说,Android还是一个Linux系统,只是外面套了一层虚拟机(Dalvik/ART),而且只使用了Kernel(Linux内核),但是,很多人都说Linux离Android的距离比离iOS还远。这是为什么?
因为Google对它进行了定制改造,和我们自己去定制Linux到镶入式设备上差不多,只不过Google对它做的改动更大而已,而且作为一个商业行为,这里面耍了不少花招。
躲避GPL协议,一个商业行为的第一步
一个完美的商业行为,Google肯定不愿意去开源的。Linux kernel 的版权是 GPL,而一个硬件厂商,希望自己的硬件运行在Linux kernel上,那么必须有相应的驱动程序,但是如果公布了相应的驱动程序的代码,就等于硬件规格也公开得差不多了。
Google肯定不希望这样,而且这只是第一步,于是在外部有了一个虚拟机,Google采用了一些手法来绕过这问题。他们把驱动程序移到 "userspace",也就是在Linux kernel上开了一个小门,把本来是和Linux kernel一起跑的驱动变成了在Linux kernel上面跑的东西,成功避开了GPL协议。
现在看来也就是对于硬件厂商有些好处,所以给Google也带来了好处,但是为什么要说是否是真的开源?我继续来分析。


”开源“变”闭源“的Android
刚开始的时候,Android确实算是开源的,但现在你说闭源估计也没人反对了。
很多人这样说Android," Google自己的网站,与微软的网站一样封闭。它开源出来的东西,都是根据GPL许可证不得不开源的。"
锁定OEM制造商
通过使用APP的升级来闭源,Google在移动端的控制力主要源于app群—— Gmail、Maps、Google Now、Hangouts、YouTube和Play Store,这些都是Android的杀手级应用,很多手机厂商都希望运行在自己的设备上。于是需要获得Google的授权,授权也没有什么,就是需要加入Open Handset Alliance(OHA)而获得Google授权,加入意味着什么,意味着其设备就不能运行其他版本的Android系统了。
亚马逊作为一个异端Android版本,当它寻找其下一个生产商时,它不得不自觉地绕过Acer、Asus、Dell、Foxconn、Fujitsu、HTC、Huawei、Kyocera、Lenovo、LG、Motorola、NEC、Samsung、Sharp、Sony、Toshiba和 ZTE这一长串名单。目前,亚马逊将其Kindle设备的订单一股脑地承包给了Quanta Computer,一个笔记本电脑生产商。这或许是亚马逊的无奈选择吧。
锁定开发者,便捷的API
单纯是几个应用肯定是不足以让那些硬件厂商卖身的,那么Google又做了什么呢?
Play Service为Google对抗衍生版本Android的一大利器,Google大力加强第三方应用对于自身的依赖性,Google提供了多个为开发者定制的API,使用这些API让开发者的软件兼容性越来越好,而不使用的则日子越来越艰难。 战略其实是把“Android App Ecosystem”变成了“Google Play Ecosystem”,Google对于Android也是又爱又恨,因为Google希望大家依赖的是Google而不是Android,并且中间发生过不少Google和Android之间的趣事。
而且随着Google越来越强,开发者和用户想要脱离Google就越来越困难,Android的开源,是一种可望不可及的开源。
对于Google一点看法
其实也不能一昧的批判Google的这种做法,我还是很喜欢Google的,毕竟是一种商业行为,但是以开源的名义来闭源,享受这社区的福利,却没有做出贡献,有人批判,并且将Android的代码从Linux社区中剔除,但也有人肯定了它的积极性。

这也是小编自己有一些了解,然后搜集资料整理出来的一点东西,如果大家有什么疑问或者看法,都可以提出来,一起讨论、交流。
另外,小编有自己的学习交流群(主要是Python)大家如果想要来学习的话,可以加下:719+139+688,不管你是小白还是大牛,小编都欢迎,而且小编会在群里面不定期分享干货,包括小编自己整理的一份2018年最新学习资料和零基础入门教程,欢迎初学和进阶中的小伙伴

Linux的版本

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324588532&siteId=291194637