1.1 GNU与Linux的成长
GNU是自由软件之父 Richard
Stallman在1984年组织开发的一个完全基于自由软件的软件体系,与此相应的有一分通用公共许可证(General Public License,简称GPL)。Linux以及与她有关的大量软件是在GPL的推动下开发和发布的。
自由软件之父 Stallman像一个神态庄严的传教士一样喋喋不休地到处传播自由软件的福音,阐述他创立GNU的梦想:“自由的思想,而不是免费的午餐”。这位自由软件的“顶级神甫”为自己的梦想付出了大半生的努力,他不但自己创作了许多自由软件如GCC和GDB,在他的倡导下,目前人们熟悉的一些软件如BIND、Perl、Apache、TCP/IP等都成了自由软件的经典之作。
如果说Stallman创立并推动了自由软件的发展,那么,Linus毫不犹豫奉献给GNU的Linux,则把自由软件的发展带入到一个全新的境界。
实际上,Linus是一个理想主义者,但他又非常脚踏实际。当Linux的第一个“产品”版Linux1.0问世的时候,是按完全自由扩散版权进行扩散的。他要求Linux内核的所有源代码必须公开,而且任何人均不得从Linux交易中获利。他这种纯粹的自由软件的理想实际上妨碍了Linux的扩散和发展,因为这限制了Linux以磁盘拷贝或者CD-ROM等媒体形式发行的可能,也限制了一些商业公司参与Linux的进一步开发并提供技术支持的良好愿望。于是Linus决定转向GPL版权,这一版权除了规定自由软件的各项许可权之外,还允许用户出售自己的程序拷贝。
这一版权上的转变对Linux的进一步发展可谓至关重要。从此以后,便有很多家技术力量雄厚又善于市场运做的商业软件公司,加入到了原先完全由业余爱好者和网络黑客所参与的这场自由软件运动,开发出了多种Linux的发行版本,磨光了纯粹自由软件许多不平的棱角,增加了更易于用户使用的图形用户界面和众多的软件开发工具,这极大地拓展了Linux的全球用户基础。
Linux内核的功能以及它和GPL的结合,使许多软件开发人员相信这是有前途的项目,开始参加内核的开发工作。并将GNU项目的C库、gcc、Emacs、bash等很快移植到Linux内核上来。可以说,Linux项目一开始就和GNU项目紧密结合在一起,系统的许多重要组成部分直接来自GNU项目。Linux操作系统的另一些重要组成部分则来自加利福尼亚大学Berkeley分校的BSD Unix和麻省理工学院的X Windows系统项目。这些都是经过长期考验的成果。
正是Linux内核与GNU项目、BSD Unix以及MIT的X11的结合,才使整个Linux操作系统得以很快形成,而且建立在稳固的基础上。
当Linux走向成熟时,一些人开始建立软件包来简化新用户安装和使用Linux。这些软件包称为Linux发布或Linux发行版本。发行Linux不是某个个人或组织的事。任何人都可以将Linux内核和操作系统其它组成部分组合在一起进行分布。在早期众多的Linux发行版本中,最有影响的要数Slackware发布。当时它是最容易安装的Linux发行版本,在推广Linux的应用中,起了很大的作用。Linux文档项目(LDP)是围绕Slackware发布写成的。目前,Red Hat发行版本的安装更容易,应用软件更多,已成为最流行的Linux发行版本;而Caldera则致力于Linux的商业应用,它的发展速度也很快。这两个发行版本也有相应的成套资料。在中文的Linux发行版本方面,国内已经有众多的Linux厂商,如红旗Linux,BluePoint Linux,中软Linux等。每种发行版本有各自的优点和弱点,但它们使用的内核和开发工具则是一致的。