当前位置:Linux教程 - Linux综合 - GNU操作系统与自由软件运动

GNU操作系统与自由软件运动

  最初的软件共享群体    1971年,当我开始在麻省理工学院人工智能(AI)实验室工作时,我成了那里 的软件共享群体的一分子,这个软件共享群体已经存在多年。其实,软件的共享并 不限于我们这一特定的群体,它的历史与计算机一样长久,这两者之间的关系就像 人类很早就交换食谱与烹饪一样。但我们做得比大多数人都做得更多。    AI实验室当时使用了一种称为99vS(Incompatible Timesharing System,非兼 容分时系统)的分时操作系统,这是我们实验室工作人员专为Digital PDP-10(那 个时代的大型计算机)设计的操作系统,而且是用汇编语言开发的。作为这个群体 的成员,我是一个AI实验室的系统黑客,我的工作就是完善这一系统。    当时我们并不把我们的软件称为“自由软件”(free software),因为这个词 语当时还不存在,但事实上那就是自由软件。每当其他大学或者公司的人要求移植 或者使用我们的某个程序时,我们总是应允的。如果你看到某人在使用一个陌生而 且有趣的程序时,你总可以要求查看它的源代码,以便可以读代码、对源代码进行 修改、或者套用原代码的一部分来创作新程序。 群体的崩溃    八十年代年代初,Digital公司停止了对PDP-11系列的开发,那时情况发生了巨 变。以六十年代的标准来看,PDP-11系列的体系结构是精巧和强大的,但无法自然 地适应八十年代的技术所允许的更大寻址空间。这意味着,几乎我们所有的程序, 包括99vS,都一下子报废了。    在这前不久,AI实验室的黑客群体已经分崩离析。1981年,从实验室分离出去 了一个公司,名为“Symbolics”,几乎雇走了所有的黑客,剩下的群体盛况难再。 Steve Levy编写过《黑客》一书,这本著作十分传神地描述了这个群体鼎盛时期的 情况。当AI实验室于1982年购置了一台新的PDP-11机器时,系统管理员决定使用 Digital的非自由分时系统,而不是99vS。    那个时代的流行计算机系统,如VAX和68020,都有自己的操作系统,但这些系 统都不是自由软件:即使为了获得机器码可执行程序的拷贝,也应该签署不公开协 议(nondisclosure agreement)。    这就意味着,你开始使用计算机的第一步就是要保证不帮助你身边的人。相互 协作的群体是被禁止的。专有软件(proprietary software)所有者制订的规则是: “与他人共享软件就是盗版行为;如果你需要对程序作任何修改,磕头央求我们吧。”    专有软件社会系统(即声明用户不能分享或修改软件的系统)的观念是反社会 的、不道德的、完全错误的。这一观点可能会让一些读者惊诧不已。但是,对于一 个基于分裂公众、使用户孤立无援的价值系统,我们还能说些什么呢?对这一观点 感到难以接受的读者,可能早已对专有软件熟视无睹,或者从专有软件工业的角度 出发才作出了这样的判断。这也难怪,因为软件出版商已经长期为此努力工作,以 使人确信对于这一事情只能有一个观察角度。    当软件出版商谈到“确保”他们的“权益”,或“禁止盗版行为”时,他们实 际上所说的东西是次要的。他们在版权声明中真正传递的信息却是他们认为不言自 明的假设,公众似乎应该不加批判地接受之。现在让我们来逐条地检查这些假设。    假设之一,是软件公司具备无可置疑的自然权力占有软件,从而有权凌驾于所 有用户之上。如果这确实是一种自然权力的话,那么无论它对公众有多大的伤害, 我们都无法反对。有趣的是,美国的宪法和司法传统拒绝这种看法;版权并非一种 自然权力,而是一种人为的、由政府强行实施的一种垄断,以限制用户拷贝的自然 权力。    另一种没有挑明的假设是,软件的唯一重要意义在于软件可以允许用户做什么 ——而我们计算机用户不应该关心我们必须接受什么样的社会。    第三种假设是,如果不允许某个公司凌驾于其软件产品的用户之上,我们就不 会有任何可用的软件,或者永远不会有所需要的软件去完成这样或那样的特别任务。 这个假设一度显得颇有道理,但是后来的自由软件运动表明,我们可以创造出足够 多的有用软件,而无须加以一连串的限制。    如果我们拒绝接受上述假设,并将用户置于优先的地位,从普通的、常识性的 道德价值出发审视这些问题,我们就会得到截然不同的结论。计算机用户应该可以 自由地修改程序以适应他们自己的需求,可以自由地共享软件,因为帮助他人是社 会存在的基础。    这里没有足够的篇幅容纳得出这一结论的详细逻辑推理,因此我推荐你阅读我 们的Web主页,http://www.gnu.org/philosophy/why-free.Html。
[1] [2] 下一页 

艰难的道德选择    虽然我原来的群体已经消失,但继往开来并非不可能,只是我面临一个道德选 择。    一条简单的出路是加入专有软件世界,签署不公开协议,并许诺不再帮助我同 事中的黑客。这样做的结果很可能是我也开发软件,而且软件也以不公开协议的形 式发布,从而对其他不愿意背叛同伴的人进一步施加压力。    我有可能由此而发财,而且也从编写代码中获得乐趣。但我明白,在我的职业 生涯结束时,我回过头来看到的景象将是这些年来筑起高墙林立,并将人们分隔开 来,我会觉得自己的一生努力的结果会把这个世界搞得更糟。    在此之前,我已有过接受不公开协议的经验。当时,别人拒绝向M99v人工智能 实验室和我提供我们打印机的控制程序的源代码。该程序缺乏某些功能,打印机的 使用起来极端麻烦。因此,我不能对自己说不公开协议是清白的。他拒绝与我们共 享代码,当时我非常愤怒。我不可能转头对其他每一个人都如法炮制同一作法。    另一种选择,直截了当但令人不快,是离开计算机领域。如果那样,我的技能 就不会被滥用,但我的才能仍然会被浪费掉。我个人不会成为分隔、限制计算机用 户的帮凶,但社会上的分隔和限制依旧在发生。    因此,我要寻求一种解决之道,使我作为一个程序员能够做些好事。我扪心自 问,我是否能写出一个或一些程序,能使我所珍视的群体再生呢?    答案很清楚:最急需的首先是一个操作系统。这是开始使用计算机最至关重要 的软件——有了操作系统,可以做许多事情;没有操作系统,你连计算机都使用不 了。一个自由的操作系统,会使我们可以再度拥有一个相互合作的黑客群体,而且 进一步邀请其他任何人参与进来。每个人都可以安心使用计算机,而无须变成剥夺 自己朋友权益的同谋。    作为操作系统开发人员,我拥有的技能正适合这项工作。因此,尽管我不认为 成功唾手可得,但是我觉得这是我的天赋。我决定将系统设计得与UNIX兼容以便移 植,同时也便于UNIX用户的移民到这一新的操作系统上来。我按照一项黒客的传统 选择了GNU这个名字,GNU是“Gnu's not UNIX”(GNU不是UNIX)的递归同义 词。    操作系统并不仅仅意味着一个恰好只能运行其他程序的内核。在70年代,任何 排得上号的操作系统都包括有命令解释器、汇编器、编译器、解释器、调试器、文 本编辑器和电子邮件软件包等等。99vS包括这些东西,Multics有,VMS有,UNIX有, GNU操作系统也应该含有这些东西。很久之后我看到了以下的诗句,据传来自Hillel*: 如果我不为自己打算,谁会为我考虑? 如果我只为自己打算,我又变成了什么东西? 如果现在不动手,还要等到什么时候? 启动GNU工程的决定,正是基于同样的精神。 * 脚注:作为无神论者,我不盲从任何宗教领袖,但有时我不得不赞赏他们中某些 人的箴言。 Freedom中的自由    “free software”这种术语有时会被误解——事实上它和价格毫无关系。它 的涵义是自由。这是自由软件的定义所决定的。对于你,某个特定的用户来说,如 果某个程序称为自由软件,那么:    你拥有运行该程序的自由,而且可以用于任何目的。    你拥有修改该程序以适应你个人需要的自由。(为了在实践中使这一自由成为 可能,你必须能够获得源代码,因为没有源代码而试图修改程序是极端困难的。)    你拥有再发行拷贝的自由,可以是无偿的,也可以收费。    你拥有发行该程序修改后版本的自由,从而使社团可以从你所作的改进中获益。    因为这里“free”的涵义是自由而非价格,自由软件和销售拷贝之间并没有矛 盾。事实上,销售拷贝的自由是至关重要的:把自由软件收集到CD-ROM上出售对整 个社团都很重要,而销售它们又是为开发自由软件筹集资金的重要手段。因此,如 果人们无法将某个程序自由地收集到这些集合中时,这个软件就不是自由软件。    由于“free”一词具有歧义,人们长久以来都在寻找另外的词来替代它,但直 到现在还没有找到其合适的替代词。英语的单词与单词之间的细微差别比世界上其 他的语言更多,然而它却缺少一个简单明了、没有歧义的单词表示自由(freedom) 中的“free”。“unfettered”(除去镣铐的)也许是词意与之最接近的词了。其 他诸如“liberated”(被解放

(出处:http://www.sheup.com)


上一页 [1] [2] 

   你拥有再发行拷贝的自由,可以是无偿的,也可以收费。    你拥有发行该程序修改后版本的自由,从而使社团可以从你所作的改进中获益。    因为这里“free”的涵义是自由而非价格,自由软件和销售拷贝之间并没有矛 盾。事实上,销售拷贝的自由是至关重要的:把自由软件收集到CD-ROM上出售对整 个社团都很重要,而销售它们又是为开发自由软件筹集资金的重要手段。因此,如 果人们无法将某个程序自由地收集到这些集合中时,这个软件就不是自由软件。    由于“free”一词具有歧义,人们长久以来都在寻找另外的词来替代它,但直 到现在还没有找到其合适的替代词。英语的单词与单词之间的细微差别比世界上其 他的语言更多,然而它却缺少一个简单明了、没有歧义的单词表示自由(freedom) 中的“free”。“unfettered”(除去镣铐的)也许是词意与之最接近的词了。其 他诸如“liberated”(被解放

(出处:http://www.sheup.com)


上一页 [1] [2] [3]