原文出处
Unix 发展过程图
等到 1983 年,贝尔实验室的母公司 AT&T已经被强制拆分为几个小公司,不再受反垄断法的限制。这时,AT&T发布了 Unix 最新版 System V,宣布从此 Unix 只能商业使用,不再开放源代码。AT&T想用 Unix 赚大钱。
BSD 那边受到了很大影响,他们不想急着赚钱,他们想开放源码。没办法,伯克利分校决心把 BSD 当中受到影响的源码重新写过。从伯克利分校出来的几位同学成立了一家公司,专门开发 BSD 项目。直到有一天,他们宣布 BSD 当中再没有最初来自贝尔实验室的源码。AT&T不买账,告你,起诉,打官司。
这是一场漫长的官司,官司尚未打完,Unix 版权就被倒卖了好几次。买版权的好几家公司继续和 BSD 打官司,几家公司相互也打官司。
等到硝烟散尽,BSD 终究推出了完全属于自己的 Unix,因为版权的问题,不能再叫 Unix,只能叫类 Unix 系统。
BSD 的类 Unix 系统是 FreeBSD、MacOS 的前身。今天使用的苹果电脑,iPhone 手机上的操作系统都是从 BSD 这一支上发展而来。
漫长的官司耗尽了人们对 BSD 的热情,也让 BSD 错过了最好的发展机会。后来的 FreeBSD、NetBSD、OpenBSD 都是从 BSD 分化而来,免费,开源,优秀,但再没挽回曾经的荣光,因为已经有了 Linux。
四、斯托曼博士的 GNU 计划
AT&T想靠 Unix 赚钱的时候,不止是 AT&T,很多商业公司都希望通过软件赚钱。不再免费,不再开放源代码,不再相互通过源代码学习研究。
曾经是多么好的时代,怎么现在就变得只认钱了呢切让一个人很不满意。他曾经看到一个系统有问题,想要一份源码拿来帮修改一下,别人冷笑以对。
世风日下,他要向这个令人沮丧的时代挑战,他要还一个开源、免费的系统与人世间。请记住这个人的名字,理查德·斯托曼(Richard Matthew Stallman)博士。
斯托曼博士长头发,大胡子,不修边幅,一直单身。他一心投入自由软件运动,他创建了自由软件基金会(FSF)。他雄心勃勃地提出了一项伟大的计划,GNU(GNU’s not Unix)计划。Not Unix,不是 Unix,是自由的、免费的、开源的、像 Unix 一样好用的系统。

理查德·斯托曼博士
GNU 起初进展很顺利,GLibc、GCC、GDB,这一系列的操作系统必备软件都有条不紊地在进展。所有的“G”来自 Gnu 的首字母。为什么叫“G”,斯托曼博士说当时他觉得好玩,而且他小时候听过一首歌,很喜欢,歌名是《The Gnu》。
完全搞个操作系统看来也并非易事,GNU 完成了一大堆软件的时候才意识到遇到了大麻烦。GNU 系统的内核项目 Hurd 迟迟不能令人满意。内核之于操作系统,就像发动机之于汽车,必不可缺。
五、Linux 出世记
1991 年,Linus Torvalds 尚是芬兰赫尔辛基大学的一名学生,他在学校学操作系统的课程,他也想搞个操作系统玩玩。他当时已经在使用 Gnu 项目的 Bash、GCC 等软件。受 GNU 的影响,把他自己开发的一个简陋的操作系统内核放到了互联 上。
这个内核系统就是 Linux,Linus’s Unix,Linus 的 Unix。名字并非 Linux 所取,他一贯的风格是取个调侃的名字,但当时管理员说 Linux 挺好,名字就这么定了。
Linux 放到 上后引起了很多人的兴趣,他们陆续通过互联 加入到 Linux 开发过程中。1993 年,大约有 100 多名程序员参与了 Linux 内核代码。这时已经是互联 的时代,他们不用相识,不用谋面,通过 络讨论,通过 络协作,推进着 Linux。
1994 年 3 月,Linux1.0 发布,Linux 已经成为一个基本可用的内核。从此 Linux 就一直没有踩过刹车,一步步从幼苗长成参天大树。
Linus 小时候被企鹅攻击过,他给 Linux 定 Logo 的时候选中了企鹅,真不知道这是什么逻辑。长得像企鹅的除了 QQ,还有 Linux。
Linux 开创了一种前所未有的软件开发模式。多人协作,代码随时提交,有问题及时修改,所有参与人员并非精英,而是一群狂热的支持者。前前后后无数人参与了 Linux 项目的开发,组织不太严谨,有很多的争吵和讨论。Linus 经常写代码,偶尔扮演仲裁的角色,而非传统意义上的领导。
后来开源运动的鼓吹手 Eric Raymond 写了一篇文章《大教堂与集市》来分析 Linux 的开发模式。大教堂要设计好图纸,动用优秀的工匠,有序的工程计划才能修筑,闹哄哄无序如菜市场的一拨人能不能修一座大教堂是可以的,因为他们建成了。
Linus 后来坦言,他开发 Linux 时不了解还有 FreeBSD 等项目,如果知道了可能他就不会动手写 Linux 了。那时各种 BSD 系统正在官司的阴影笼罩下,某种程度了也促进了 Linux 的发展。
他们一开始也没什么图纸,一边修建,一边请人参观,出了问题随时修复,有的地方干脆推倒重来。他们没有严密的组织,只有大体的分工。随时有人在使用教堂,给他们提出各种意见。他们建的教堂已经足够好,他们建的教堂一直没有竣工,会一直修建下去。
Eric Raymond 这个人不得不提,早年和斯托曼博士一起共事,还帮斯托曼博士修改过 Emacs 的代码。他比写程序更擅长的是演讲和写文章。《大教堂与集市》是开源文化的抗鼎之作。斯托曼博士是开源运动的精神领袖,Raymond 是开源运动的布道师和理论家。
六、Linux 各种发行版
一边 GNU 项目为内核苦苦挣扎,一边 Linux 内核项目横空出世,这不天作之合么,手快的人来不及同情斯托曼博士的痛苦,把 GNU 一大堆项目和 Linux 攒在一起搞了个新系统,GNU/Linux。
好了,终于大家可以拿去用了,可以用一个完全免费、源码开放的系统了。
今天很多人把使用的系统叫 Linux,很不公平,是对 GNU 工作的漠视。正确的叫法是 GNU/Linux。
有了 GNU/Linux 还不是一切,只能是一个基础的操作系统,要想用得更好还缺很多软件。就像有了 Windows 系统,没有 Word,没有 Excel,没有浏览器,没有游戏,可干的事并不多。
所幸的是 GNU/Linux 诞生的年代,已经有了很多优秀的开源项目,他们和 GNU 无关,有的是个人开发,有的是组织开发,都遵循免费开源的理念。这些开源项目有 Apache、Perl、Python、Vim、TeX 等等。
攒系统的人干脆一股脑攒了起来,就是所谓的 GNU/Linux 的发行版。最早攒 GNU/Linux 系统的公司是 Redhat,后来陆续一大堆 GNU/Linux 的发行版,Slackware、Mandrake、Gentoo、Debian、Ubuntu 等等。有的已经死了,有的还活得挺好。
所谓 GNU/Linux 发行版,就是攒好的一套 GNU/Linux。选用 GNU 项目中的基础软件,加上 Linux 内核,再找一堆开源免费,版权协议许可的软件,最后做个安装程序,就齐活了。更好的发行版大体就是考虑的更周全些,软件包的更新、安装、卸载更方便些。
能不能自己动手攒一个 GNU/Linux 的发行版可以,Linux From Scratch, 上的一个项目,教你一步一步从头打造一个属于自己的 GNU/Linux 发行版。
2002 年,南非商人 Mark Shuttleworth 花了两千万美金,搭乘俄罗斯的宇宙飞船去了一趟太空。次年,他成立了 Canonical 公司,致力于开源文化的推广,推出了 GNU/Linux 发行版 Ubuntu。有钱人办事就是不一样,Ubuntu 做得太好了,GNU/Linux 用户纷纷投靠,Ubuntu 基本一统 GNU/Linux 发行版的江湖。
五、GNU/Linux 和开源文化的背后
GNU/Linux 来了,虽然没成为大多数人电脑里的系统,但每个人都离不开它。诸多互联 公司的服务器里都跑着 GNU/Linux,名单不完全确认,Google、Facebook、淘宝、百度、腾讯、小说阅读 等等。
大多人使用的安卓手机的系统也是基于 Linux 内核。
GNU/Linux 的繁荣有宏伟的规划,有个人的努力,也有很多无形的力量在起着作用。
没有 Unix 就没有 GNU/Linux,是 Unix 给予了伟大的启示。
没有C语言就有没有 GNU/Linux,C语言简单,优雅,介于高级语言和低级语言之间,开发系统软件的首选编程语言。
没有一系列 Unix 标准的制定就没有 GNU/Linux 的繁荣。标准就是“车同轨、书同文、统一度量衡”,秦始皇可算最早的标准制订者。遵循 Posix 标准为 GNU/Linux 发展铺平了道路。
没有互联 就没有 GNU/Linux,GNU/Linux 不是一个人在开发,是全球无数人协作的结果。如果没有互联 实在不可想象。当然,GNU/Linux 也反哺了互联 ,无数互联 公司采用 GNU/Linux 搭建服务器,GNU/Linux 也促进了互联 的繁荣。
没有斯托曼博士的努力,就没有 GNU/Linux。他的功劳不仅是创建 GNU 组织,也不仅是编写 Emacs、GCC、GDB,他的精神感召着无数人为开源运动做贡献。
当然还有 Raymond 的振臂高呼,摇旗呐喊。
还有 GNU/Linux 诞生之前就开发开源项目的人和组织。Larry Wall 因为懒,整天被 表搞得焦头烂额,发布了 Perl 语言;高德纳教授因为对排版工人不满意,十年时间停止重要工作,发明了伟大的排版软件 TeX;Guido 为了打发圣诞节的无聊,编写了新的脚本语言 Python……
GNU/Linux 发布之后,在前辈们的感召下无数人接受了开源的思想和理念,接受了开源文化的洗礼,兴起了开源文化运动。无数为开源项目做出贡献的人和组织,他们发布了 PHP、MySQL、Ruby、Node.js、X.Org、Gnome、KDE……他们丰富了 GNU/Linux,他们进一步推动了开源文化运动,他们继续感召着别人。
KDE(Kool Desktop Environment)的初衷是想开发一套易用的桌面系统。Windows 系统就是一种桌面,使用方便,不是像程序员整天对着黑乎乎的屏幕工作。桌面系统要有浏览器,他们就分了一个小组 KHTML 来开发浏览器。全世界能开发浏览器核心的也没几家,KDE 做到了。后来苹果公司和微软闹别扭,想自己开发浏览器,就是在 KHMTL 的基础之上开发了自己的浏览器 Safari。KHTML 的浏览器核心模块叫 Webkit。Google 推出安卓手机时浏览器也是基于 Webkit 开发的。
今天的 iPhone 手机和安卓手机的浏览器都是 Webkit 内核。
各种版权许可协议的制订也为 GNU/Linux 的发展铺平了道路,其中就有 GNU 的 GPL、LGPL,还有 Apache License、BSD 协议。不可能每个人都有一套自己开源协议项目的版权协议,已经制订好的版权许可协议使得软件更好地传播。
其实开源并非自由,有人说 GPL 是用自由抹杀自由。GPL 许可要求任何含有 GPL 许可的软件发布时必须开放源码。BSD 和 Apache License 相对比较宽松,算是准自由软件。
版本管理软件对 GNU/Linux 的发展和开源文化运动也功不可没。Linux 内核开发起初使用的是商用版本管理软件,某天 Linus Torvalds 先生不开心了,就自己动手搞了一个。他好取自嘲调侃的名字,命名为 Git,意为没什么用的东西。
Git 可不是没什么用,太好用了,Linux 内核源码从此都用 Git 管理。Git 免费、开源,Git 成就了一家伟大的 站 github.com,伟大的源码项目托管 站。很多开源项目纷纷把源码托管到了 Github 上。
GNU/Linux 不朽,开源运动不朽!
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux25309 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!