Linux 简介(先简单的介绍一下 Linux)
Linux 是一类 Unix 计算机操作系统的统称. Linux 操作系统的内核的名字也是 "Linux".Linux 操作系统也是自由软件和开放源代码发展中最著名的例子. 严格来讲, Linux 这个词本身只表示 Linux 内核, 但在实际上人们已经习惯了用 Linux 来形容整个基于 Linux 内核, 并且使用 GNU 工程各种工具和数据库的操作系统.
1994 年 3 月, Linux1.0 发布
代码量 17 万行, 当时是按照完全自由免费的协议发布, 完全自由免费的协议代表着自由, 开放, 任何人都可以修改它, 加上自己的代码, 但是这样无疑让 Linux 很难以商用而且不利于传播(这里很难说, 如果不是商业的驱动, 完全的自由开放可能就不会有今天的 Linux 了). 于是随后正式采用 GPL 协议. GPL 协议是一种很强硬的开源协议, 给软件提供版权保护的同时它给你复制, 发布和修改这些软件的法律许可.
如果你修改这些代码并申请专利, 那么请看: 自由软件的再发布者以个人名义获得专利许可证. 事实上, 将软件变为私有. 为防止这一点, 我们必须明确: 任何专利必须以允许每个人自由使用为前提, 否则就不准许有专利.
显然, Android 是一个商业应用, 这样的协议肯定不符合 Google 的利益, 等一下我会介绍 Google 是如何对抗这种协议的.
1995 年 1 月, RedHat(小红帽)诞生
1995 年 1 月, Bob Young 创办了 RedHat(小红帽), 以 GNU/Linux 为核心, 集成了 400 多个源代码开放的程序模块, RedHat Linux, 称为 Linux"发行版", 在市场上出售. 1996 年 6 月, Linux 2.0 内核发布, 此内核有大约 40 万行代码, 并可以支持多个处理器, 此时的 Linux 已经进入了实用阶段, 全球大约有 350 万人使用.
它是一套从 Red Hat Linux 发展出来的免费 Linux 系统. Fedora Core 的前身就是 Red Hat Linux.Fedora 是一个开放的, 创新的, 前瞻性的操作系统和平台, 基于 Linux
1993 年 8 月 13 日, Debian
它的目标是提供一个稳定容错的 Linux 版本. 支持 Debian 的不是某家公司, 而是许多在其改进过程中投入了大量时间的开发人员, 这种改进吸取了早期 Linux 的经验.
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, 但是却无奈 Android 还是太强势, 并且中间发生过不少 Google 和 Android 之间的趣事.
而且随着 Google 越来越强, 开发者和用户想要脱离 Google 就越来越困难, Android 的开源, 是一种可望不可及的开源.
对于 Google 一点看法
其实也不能一昧的批判 Google 的这种做法, 我还是很喜欢 Google 的, 毕竟这是一种商业行为, 但是以开源的名义来闭源, 享受这社区的福利, 却没有做出贡献, 有人批判, 并且将 Android 的代码从 Linux 社区中剔除, 但也有人肯定了它的积极性, 认为它对传播 Linux 作出了贡献.
这也是小编自己有一些了解, 然后搜集资料整理出来的一点东西, 如果大家有什么疑问或者看法, 都可以提出来, 一起讨论, 交流.
另外, 小编有自己的学习交流群 (主要是 Python) 大家如果想要来学习的话, 可以加下: 719+139+688, 不管你是小白还是大牛, 小编都欢迎, 而且小编会在群里面不定期分享干货, 包括小编自己整理的一份 2018 年最新学习资料和零基础入门教程, 欢迎初学和进阶中的小伙伴
Linux 的版本
来源: http://blog.51cto.com/13460911/2105708