历史上,Linux操作系统内核以其不断的发展为特点。它的源代码已经从1991年初次发布的几个C语言文件扩展到2007年的290MB源文件;发布许可也从禁止商业化发布,变为在通用公共许可证GPL下发布。
起源
Unix操作系统在20世纪60年代构思完成并实现,并在1970年首次发布。它因容易获取与可移植性高而广泛被学术机构和工商企业采用、复制和修改。它的设计对其他系统的作者影响很大。
在1983年,理查德·斯托曼创建了一个自由软件,类Unix,与POSIX兼容的操作系统为目标的GNU计划。作为这个计划其中的一部分,他又写了GNU通用公共许可证(GPL)。20世纪90年代初,已经有足够的软件去创建一个完整的操作系统。但因为在1987年时,理查德·斯托曼决定以Mach微内核进行开发,认为可以借此加速操作系统的开发,但因为一直不确定卡内基梅隆大学何时要将核心源代码发布,造成项目三年进展缓慢。GNU的内核,GNU Mach和GNU Hurd没能够充分吸引开发者,这导致了GNU的未能完成。
在20世纪80年代还有另外一个关于自由操作系统的项目,伯克利软件套件。这是由UC Berkeley从AT&T的第六版Unix开发而来的。因为它包含了AT&T所拥有的的Unix代码,所以AT&T在20世纪90年代初对加利福尼亚大学提起了法律诉讼。这严重限制了BSD的发展与应用。
MINIX是安德鲁·斯图尔特·塔能鲍姆在1987年发布一个用于教学的微内核架构的类Unix系统。虽然系统的源代码容易得到,但是对源代码的修改与再发布却受到了限制。另外,MINIX的16位的设计与当时日渐便宜及受欢迎的、个人电脑的Intel 80386架构兼容得不好。
这些因素使得Torvalds开始了他的项目。他曾说过,如果那时候有可用的GNU或者386BSD内核的话,他很可能就不会去写他自己的内核了。
Linux的诞生
1991年,在赫爾辛基,Linus Torvalds开始那个后面成为了Linux内核的项目。最初它只是一个Torvalds用来访问大学裡的大型的Unix服务器的虚拟终端。他专门写了一个用于他当时正在用的硬件的,与操作系统无关的程序,因为他要用他那用80386处理器的新PC机的功能。开发是在Minix上,用至今仍为首选的编译器——GCC——来完成的。
Torvalds在他的书《只为欢乐》中说过,他最后才意识到自己写了一个操作系统内核。1991年8月25日,他在发布到新闻组“comp.os.minix.”的Usenet上发布了这个系统:
名称的由来
Linus Torvalds本要把他的发时叫做Freax——“fread”,“free”和“x”(暗指Unix)的合成词。在开发系统的前半年裡,他把文件以文件名“Freax”存储。Torvalds考虑过Linux这个名字,但是因为觉得它过于自我本位而放弃了使用它。
在版本0.01的备注中,Torvalds列出了运行Linux所需的GNU软件。1992年12月中,他在GNU GPL下发布了0.99版。。Linux和GNU的开发者一起把GNU的部件和Linux集成起来,使它成为一个可运行的自由操作系统。Torvalds说,“把Linux发布在GPL下是我所做过的最好的事。”
关于GNU/Linux命名方式的争议
“Linux”这个名称一开始只被Torvalds用于Linux内核。但是这个内核却常和其他软件一起使用,尤其是GNU计划的软件。这很快就成为最受欢迎的GNU软件。1994年六月,在GNU的期刊中,Linux被称作“自由Unix克隆版”,Debian计划也开始把它的产品叫做“Debian GNU/Linux”。1996年5月,Richard Stallman发布了编辑器Emacs的19.31版本,其中系统的名称从Linux变成了Lignux。这种拼法为的是明确指出GNU和Linux的结合。但是这不久就被“GNU/Linux”所代替了。
对这个名称,不同人有不同的反应。GNU和Debian项目使用那个名字,但是,多数开发者仍然简单地用“Linux”来指代它们的结合。
官方吉祥物
]]
1996年,Torvalds为Linux选定了企鹅作为它的吉祥物。Larry Ewing提供了吉祥物的初稿。现在正在使用的著名的吉祥物就是基于这份初稿的。James Hughes根据“Torvalds's Unix”为它取了名字Tux。
相关公司
虽然是开源项目,但是还是有一些公司从中获取了利益。这些公司大多也是开源发展实验室的成员。它们在Linux的改进与开发中投入了许多资源以使其能够适应不同领域的应用。其中包括驱动程序捐赠的硬件,对开发Linux软件的人员现金的捐赠,以及对Linux程序员的雇用。例如IBM和HP,它们首先在它们的服务器上使用了Linux;又如Red Hat,它维护着它自己的版本。同样,Trolltech通过对Qt的开发和把它GPL许可化,以及启用一些X和KDE开发人员来支持Linux。前者更使得开发KDE成为了可能。
关于Linux的争论
Linux自出现以来就已经引起了反复的争议。
“Linux已经过时”
1992年,著名的计算机科学家,Minix和微核心的作者,安德魯·斯圖爾特·塔能鮑姆在新闻组comp.os.minix上写了一篇题为《Linux已经过时》的文章。这篇文章标志着对Linux内核的著名的大讨论的开始。其中对Linux的批评主要是:
- 该内核是單核心的,因此它是过时的;
- 因使用Intel 386处理器而带来的不可移植性。“写一个与某特定硬件,特别是像Intel这种奇怪的硬件相关的操作系统,在根本上就是错误的。”;
- 没有个人严格控制源代码;
- Linux使用了一系列无用的特色(他认为多线程的文件系统只会使用系统性能低下)。
事实证明,塔能鮑姆认为Linux会在几年之内就会过时并被GNU Hurd取替(他认为GNU Hurd更为现代化)的看法是错误的。Linux已经被移植到所有主流的平台,而且它开放的开发模式引领了一种杰出的开发步伐。相反,GNU Hurd还没有拥有可作为产品服务器的稳定性水平。。
反对开源文件的出版物
来自微软的竞争
虽然Torvalds说过微软感到的来自Linux的威胁与他无关,但是微软和Linux阵营在1997年到2001年间还是有着很多敌对的情况。这种情况在1998年Eric S. Raymond发表《万圣节文件》的时候变得明显起来。这裡由一位微软工程师写的关于寻求解决自由软件对微软的威胁的策略的文章。
SCO
2003年3月,SCO Group指责IBM把UNIX的代码移植到Linux侵犯了他们的版权。SCO声称它们拥有代码的版权并對IBM提起了诉讼。Red Hat又提起了反诉讼,因此SCO又提起了其他相关的诉讼。在这些诉讼进行的同时,SCO开始把Linux的许可权卖给那些不愿意冒受SCO投诉的险的用户。因为Novell也声称拥有UNIX的版权,所以它又对SCO提起了诉讼。接着SCO便宣告破产了。
名称的商标
Linux是Linus Torvalds的注册商标。
商标权
在1994和1995年,有多个来自不同国家的人想把Linux注册为商标,从而一些Linux公司可以从中收取特许使用金。很多Linux的开发人员和用户都不同意此举。Torvalds在Linux国际的帮助下得到了Linux这个商标,然后他把这个商标转让给了Linux国际。对这个商标的保护后来就由一个专门的基金会——非营利性的Linux标识协会——来管理。2000年,Linus Torvalds指定了分配许可权的基本规则。这意味着任何要想以Linux的名义发布产品和服务的人,都要拥有许可证。而许可证要通过购买获得。
大事年表
*1983:Richard Stallman發起以创建一个自由的操作系统为目标的GNU计划。
*1989:Richard Stallman撰写第一版的GNU GPL。
*1991:Linux内核在8月25日由21岁的芬兰学生Linus Benedict Torvalds公开发布。
*1992:在GNU GPL下Linux内核被重新授权使用,产生第一个“Linux发行版本”。
*1993:超过100个开发者致力于Linux内核开发。在他们的努力下,内核逐渐适应GNU的环境,这个为Linux创造巨大的应用空间的广阔环境。Slackware首次发布。后来在同一年,Debian项目设立,现已成为最大的社区发布项目。
*1994: 3月, Torvalds认为内核的所有组件已经完全成熟,他放出了Linux的1.0版本。XFree86项目组提供了一个图形化用户界面(GUI).同年Red Hat公司和SUSE发行他们各自的Linux 1.0分发版本。
*1995: Linux被移植到DEC Alpha和Sun公司的SPARC平台上,而在接下来的几年里它又被广泛地移植到更多的平台上。
*1996: Linux内核2.0版本发布。此时内核已经支持多处理器,因而成为各大公司的绝佳选择。
*1998:很多大公司,诸如IBM、Compaq ,Oracle表示支持Linux系统。另外,一部分程序员开始图形化用户界面KDE的开发。
*1999:一些程序员开始致力于开发图形化环境GNOME,它可以替代依靠Qt工具包才能工作的KDE。在这一年里IBM宣布一项支持Linux的浩大的工程。
*2004: XFree86小组分裂,同现有的X Windows标准组织 共同成立X.Org基金会,促使了X Window ServerLinux版本极其快速而迅猛的发展。
参见
*自由軟件
*自由軟件历史
*linux内核
参考
外部链接
*[http://www.google.com/views?q=linux+view%3Atimeline&btnGt=Search Google的時間表]
评论 (0)