|

|
|
|

Free
software ,Free willing |
话说Linux与自由软件(I)
|
Linux有两种不同的含义。从严格的技术定义讲,Linux指的是开放源代码的Unix类操作系统的内核。然而,目前大多数人用它来表示以Linux内核为基础的整个操作系统。从这种意义讲,Linux指的是开放源代码的,包含内核、系统工具、完整的开发环境和应用的Unix类操作系统。
自由软件简史
Linux的发展要从自由软件的发展说起。
在计算机工业发展的初期,软件只是硬件的附属品。公司只卖硬件,随系统赠送软件。在这一时期,软件的设计思想,新的算法和软件的源代码在专家、学者和公司研究人员之间自由交流,促进了软件的迅速发展。但是,公司很快认识到软件的价值,对软件实施了版权控制,并限制源代码的发布。许多原本属于公众创造的知识财富现在成为公司的私有财产。软件的开发方式也发生了变化,变成以公司为主体的封闭的开发模式。Unix就是这样的例子。
虽然AT&T开创了Unix的历史,但是Unix的发展与完善却与许多大学的专家、学者的努力分不开。事实上,Unix是在协作基础上开发的。当AT&T在70年代末期对Unix的使用和发布强制实施版权控制后,使早期对Unix发展做出贡献的人们感到沮丧。
部分出于个别公司控制了公共的软件开发项目的原因,自1984年起,麻省理工学院(MIT)开始支持Richard Stallman的努力,即在软件开发团体中发起支持开发自由软件的运动。这就导致了自由软件基金会(Free
Software Foundation,FSF)的建立和GNU项目的产生。Richard Stallman的信念是:计算机系统应该对用户开放,软件应该自由使用。在其他人的协作下,他创作了通用公共许可证(General
Public License,GPL)。这对推动自由软件发展起了重要的作用。 与传统的商业软件许可证不同,GPL保证任何人有共享和修改自由软件的自由。任何人有权取得、修改和重新发布自由软件的源代码。并且规定在不增加附加费用的条件下得到源代码(基本的发布费用除外)。这一规定保证了自由软件总的费用是低的。在使用Internet的情况下,则是免费的。
GPL条款还规定自由软件的衍生作品必须以GPL作为它重新发布的许可证。这一规定保证了自由软件及其衍生作品继续保持自由状态。
GPL条款容许销售自由软件。为公司介入自由软件事业敞开了大门。公司的介入弥补了自由软件的不足,对推动自由软件应用起了很大的作用。
自由软件基金会发起人的主要项目是GNU(GNU's Not Unix,GNU不是Unix)。它的目标是建立可自由发布和可移植的Unix类操作系统。当开始实施GNU项目时,当时没有多少高质量的自由软件可供项目使用。所以,为GNU项目做出贡献的人们先从系统的应用软件和工具入手。因为GPL也是自由软件基金会发表的,所以,GNU操作系统的许多关键组成部分都置于GPL条款的约束下。GNU项目本身产生的主要软件包包括:Emacs编辑软件、gcc编译软件、bash命令解释程序和编程语言,以及gawk(GNU's
awk)等。还有许多操作系统必不可少的工具。
除了按GPL发布的自由软件之外,还有许多按其它许可证发布的自由软件。如X Windows系统、TEX排版系统和Perl语言等就是例子。随着时间的推移,GNU项目将这些软件也包括进来。
这些工作为后来的Linux操作系统迅速发展奠定了坚实的基础。
Linux的发展
1991年,芬兰赫尔辛基大学的学生Linus Torvalds利用Internet发布了他在i386个人计算机上开发的Linux操作系统内核的源代码,开创了Linux操作系统的历史。虽然他在Internet上最早发布的版本受更严格的许可证的约束,但他很快转向GPL。这一步对Linux发展十分重要。在早期赢得了许多专业人员的支持,将GNU项目的许多成果移植到Linux系统上来。后来赢得了许多公司的支持,包括提供技术支持,开发Linux的应用软件,并将Linux系统的应用推向各个方面。在近期,又赢得了大型数据库软件公司的支持,为它进入大型企业Intranet的应用领域奠定了基础。
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发布写成的。从出版物的角度看,围绕Slackware发布的出版物仍然占主导地位。目前,Red
Hat发行版本的安装更容易,应用软件更多,已成为最流行的Linux发行版本;而Caldera则致力于Linux的商业应用,它的发展速度也很快。
这两个发行版本也有相应的成套资料。每种发行版本有各自的优点和弱点,但它们使用的内核和开发工具则是一致的。

|
|