GNU 宣言

理查德·斯多尔曼
 
      GNU网站编者按:GNU 宣言'' 是由 Richard Stallman  GNU
      工程启动之初所写下的,旨在呼吁人们的参与与支持。在最初的几年里,由于情况的发展变化,它曾数度被稍作修改,但是现在由于它已经广为人知, 就不再作任何改动了。从那时以来,我们意识到不同的措辞有助于避免一些误解。在 1993 年所加的脚注有助于澄清这些疑点。
     有关 GNU 软件的最新信息,请参见我们的 web 网站 ,或直接参见 软件清单 。)

GNU 是什么? Gnu 不是 Unix(Gnu's Not Unix)

GNU, Gnu's Not Unix Gnu 不是 Unix)的缩写,是我正在编写的一个与 unix 完全兼容的软件系统的名称,为的是可以自由地送给任何可以使用 GNU 的人。 (注释1) 有几个志愿者正在协助我。我们亟需时间、资金、程序和设备的捐献。

迄今为止,我们已经有了:一个带有 LISP 语言编辑命令功能的 Emacs 文本编辑器, 一个源代码调试器,一个和 yacc 兼容的语法分析器,一个目标代码连接器和大约 35 个实用程序, 一个 shell(命令解释程序)也即将完成,一个可移植的,具有代码优化功能的 C 编译器已经实现了自我编译,估计将于年底推出,也已经有了一个初步的内核程序, 还需要添加更多的功能去模拟 Unix 。一旦完成了内核和编译器,就有可能发布一个适合程序开发的 GNU 系统。我们将来会采用 Tex 作为文本格式化程序,现在正在开发 nroff

GNU 能够运行 UNIX 程序,但不会等同于 UNIX。根据从其他操作系统获得的经验, 我们将改进所有可以改进的地方,我们计划有更长的文件名,文件版本号,具有崩溃保护功能的文件系统,可能还有文件名自动补齐,与终端无关的显示支持,最终可能还有一个基于 LISP 的视窗系统, 通过此系统,几个 LISP 程序和普通 UNIX 程序能够共享一个屏幕。作为系统的编程语言,C LISP 两者将都可使用。我们将设法支持 UUCPMIT Chaosnet,和 Internet 通讯协议。

GNU 的初始目标定位在有虚拟内存的 68000/16000 级的机器,因为它很容易在这些机器上运行。 要让 GNU 可以在更小机器上运行,还需要额外的工作,这些工作将留给要在这类机器上使用它的人去完成。

为避免严重的混淆,作为 GNU 工程的名字,读这个词时请读出 “G'' 的发音

为什么我一定要写 GNU

我认为,金箴'' 所要求的就是:如果我喜欢一个软件,那么我必须与其他喜欢这一软件的人一同分享。 软件销售商想分割用户并征服他们,让各个用户承诺互不分享。 我拒绝用这种方法破坏与其他用户的良好关系。我的良心使我不能签署一纸保密协议或一个软件授权合同。 我在人工智能实验室工作的几年里,就抵制这种趋势和其他的冷漠无情,但最后这些东西发展得太厉害了, 竟至我不能留在一个行事如此违背我意志的研究机构里。

在没有失去信誉时,我还可以使用实验室的计算机。我已经决定汇集一批足够的自由软件, 以便将来在没有任何非自由软件的时候也能继续研究。为拒绝麻省理工以任何法律理由禁止我把 GNU 送予他人,我辞去了人工智能实验室的工作。

为什么 GNU 要与 UNIX 兼容

UNIX 不是我理想中的系统,但它也不是太差。UNIX 的基本特性看来是些好东西, 我认为我能够修补 UNIX 的不足而且不会损害到它们的功能。而且一个与 UNIX 兼容的系统, 将会方便其他很多人的选用。

如何获得 GNU

GNU 不在公域(public domain)中(译注:在软件版权领域中,public domain这个短语通常指放弃版权,或因过了保护期而解除了版权限制的,在这个围内,由于软件没有版权限制,这个范围也就成为公共领域)。人人都将被准许修改和再发布 GNU 但不允许任何分发者限制它的进一步再发布。也就是说, 私有 修改是不允许的。我要确保GNU的全部版本始终是自由的。

为什么很多程序员会提供帮助

我已经发现很多程序员为GNU所鼓舞并且想要提供帮助。

很多程序员对系统软件的商业化感到不快。商业化也许能使他们赚更多的钱,但这会使他们感到与其他程序员不是伙伴的关系,而更多的是冲突。程序员之间友谊的基本表现是程序的共享;而现今典型的市场规则根本上禁止程序员们待同行以朋友之道。软件购买者不得不在朋友和守法两者间选择。很多人选择了以友谊为重。但那些迷信法律的人经常对两种选择都感到难受。他们变得玩世不恭并认为编写程序只不过是一条挣钱之路。

通过开发与使用GNU而不是私权程序,我们可以既对每个人热情友好又遵规守法。此外,GNU树立了一面旗帜,鼓舞与召集其他人与我们共享。这能给我们一种融洽的感觉,如果我们使用非自由的软件,就不可能有这种感觉。对于大约半数与我交谈过的程序员来说,这是一个重要的、金钱无法替代的快乐。

你如何作出贡献

我正在呼吁电脑厂家捐献机器和资金,个人捐献程序和精力。

如果你捐献机器并期望GNU可以尽快在上面运行,机器应该是完好的,现成可用的系统,可以在居民区使用而且不需要复杂的冷却与电源系统。

我已经发现非常多的程序员渴望通过兼职工作来为GNU作贡献。对于大多数工程,这种兼职的分散工作很难协调,那些独立编写的部分往往不能合在一起工作。但对替换UNIX中某些特定实用程序的任务而言,没有这个问题。一个完整的UNIX系统包括数百个实用程序,其中每一个都是以独立的文件存在。多数的接口规范都被UNIX的兼容性所确定。如果各个贡献者能够针对一个单独的UNIX实用程序编写一个兼容的替代品,并且在顶替了UNIX系统中原来的程序后能够正常工作,那么,这些实用程序在汇集起来后也将可以正常工作。即使墨菲法则''会产生个别出乎意料的问题,将这些程序部件组装起来也是切实可行的。(内核部分要求开发者更密切的沟通,将由一个紧密的小组来完成)。

如果得到资金的捐献,我或许能够聘几个全职或兼职的人。依照程序员的标准,薪金不会很高。但我正在寻找这样的人,对他们来说,建立社域精神和挣钱同样重要。我会尽力满足献身进来的人以另外一种方式生活的必需,从而使他们把全部精力投入GNU的开发。

为什么所有的计算机用户都将受益

一旦完成了GNU,每个人都将能够自由地得到优良的系统软件,就象得到空气一样。(注释2)

这不仅意味着人们可以省去购买Unix使用许可的钱,更会避免非常浪费的重复编程工作。编程工作会变得更象一门艺术。

完整的系统源代码将对任何人公开。因此,如果一个用户需要修改系统,他可以自由地去修改,或是雇请任何胜任的程序员或公司来完成。用户再也不会乞求那些拥有源代码的程序员或公司来做这些事,而是处于一个主动的地位进行修改。

学校通过鼓励学生研究改进系统代码,可以提供更富教育意义的教学环境。哈佛的计算机实验室有这样一个条例:系统中不可以安装没有公开源代码的软件。根据此条例,他们已经拒绝了某些软件的安装。这令我很受鼓舞。

最终,决定谁有权拥有系统软件和确定某人能否被授权使用它这种管理特权(overhead)都将被取消。

定出来让人们有偿使用程序的规则,包括复制许可授权,会造成巨大的社会成本。因为要通过笨拙的机制来计算出某人需要为某个程序支付多少钱。只有警察政府才能强迫每个人都遵守这些规则。设想在一个太空站中,空气的制造非常昂贵,每一个呼吸者为每一升空气付费也许是公平的。但是,即使人人都有能力支付空气帐单,白天黑夜地穿戴着用来计量空气的面罩,也会令人无法忍受。无处不在的电视摄象机更加可恶,它们监视着你,看你是否把面罩取下来。最好还是扔掉那些面罩,用人头税来支撑空气制造厂。

复制一个程序的全部或部分,对于程序员来说,就象呼吸和生产一样的自然。它应该是自由和免费的。

一些常见的反驳GNU的观点。

没有人会使用免费软件,因为他们得不到任何技术支持。''

你必须对程序收费来支付提供支持的费用''

如果人们宁愿使用付费的GNU软件和服务,而不愿意使用免费但没有服务的GNU软件,那么一个对免费GNU软件提供技术服务的公司来说,应该会很赚钱。(注释3)

我们必须区分两种形式上的支持:真正地编写代码和简单地指导。前者是软件销售商无法作到的。如果没有足够多的人出现过和你同样的问题,软件商是不会理会你的。

如果你的业务需要依赖技术支持,唯一的方法是获得源代码和相应工具。然后你可以雇请任何胜任的人来解决你遇到的问题;你不需要去央求任何人。Unix源代码的高价是大多数公司不敢考虑的。使用GNU将使一切都很简单。可能你找不到有能力修改源代码的人,但这不应该归罪于软件的发布规则。GNU当然无法解决世界上所有的问题,只能解决其中的一些。

那些对计算机一点都不懂的用户需要手把手地指导,指导他们做很容易做到的事情,但他们不会懂得其中的原理。

这样的服务可以由那些仅销售初级指导和维修服务的公司提供。如果用户确实愿意花钱得到一个带有服务的产品,他们当然也愿意花钱为免费获得的产品购买服务。那些提供服务的公司之间的竞争将取决于他们的服务质量和价格;用户不会被困到任何一家公司上。当然,那些不需要服务的用户可以完全免费地使用软件。

没有广告就不会有很多人知道你,所以你必须对程序收费来支付广告费用。''

为一个人们能够免费获得的软件做广告是没有意义的。''

有很多免费或非常便宜的方法可以让大量的计算机用户了解GNU。做广告可能确实能够让更多的微机用户所知。真是这样的话,对于一个提供拷贝和邮寄GNU服务的业务来说,所赚的钱支付这样的广告应该绰绰有余。实际上,广告的费用是由那些从广告获益的用户支付的。

另一方面,如果很多人从他们的朋友那里获得了GNU,而这种(打广告提供复制与邮寄的)公司又没有成功,那么,这将表明广告宣传不是推广GNU所真正需要的。为什么自由市场的鼓吹者不想让自由市场来决定这类事情呢?(注释4)

我的公司为获得竞争优势,需要一个私权的(proprietary)操作系统

GNU会把操作系统软件从竞争领域中除去。你将不能凭借操作系统获得优势,但是你的竞争对手也不能以此获得对你的优势。你和竞争对手将在其他方面进行竞争,而同时都在操作系统方面获益。如果你做销售操作系统的生意,你不会喜欢GNU,那的确是你的不幸。如果你的生意是其他方面,GNU可以让你不会去被迫从事昂贵的销售操作系统的生意。

我希望看到GNU的开发是由很多的厂商和用户的杰出天赋来支持,并且减少所有人的开发成本。(注释5)

难道程序员不应该为他们的创造获得回报么?''

如果有什么应该回报的东西,那就只能是社会贡献。创造可以是一种社会贡献,但只有在社会自由地享用到其成果之时才真正是贡献。如果程序员为所写的创新程序得到了回报,那么基于同样理由,如果他们限制这些程序的使用,就该受到惩罚。

难道程序员不应该有权为他的创造要求回报吗?''

要求为工作付酬,或寻求自己的收入最大化,都没有什么错误的,只要他不采用破坏性的手段。但是,今天软件领域中的习惯手段是以破坏为基础的。

通过限制某一程序的使用来挤榨金钱,就是破坏性的,因为这种限制减少了该程序能被使用的范围和方向。这减少了人类可从该程序中获得的财富。如果是故意限制,其伤害结果则是蓄意破坏。

一个好公民不使用这种破坏手段来致富的理由是,若人人都照此行事,我们全部都将因相互限制而变成穷人。这就是康德伦理学的道德规范,或者说是「金箴」。既然我不喜欢因人人都囤积信息而导致的结果,那我就得认为这样做是错的。为创造而要求回报,并不是剥夺世上的全部或部分创造的正当理由。

程序员不会饿死么?''

我认为没人被迫去当一名程序员。我们中大多数人不可能去站在大街上靠做怪相来挣钱。但别人也不会谴责我们耗费一生站在大街上做怪相而后饿死。我们做的不是这样的事。

可惜,这是一种错误的回答,因为它接受了提问者暗含的假设,即没有软件私权,程序员们不可能拿到一分钱。总之,预设的情况是要么全部、要么全无。

程序员不会饿死的真正理由是他仍然可以通过编程而获得报酬,只是没有现在这样多。

对软件生意来说,限制复制不是它唯一的基础。限制复制之所以成为最普遍的基本方式,是因为它带来最多的钱。假设它被禁止,或被消费者拒绝,软件生意将转到其他目前不太常用的开展生意的方式上去。总是有着很多办法去开展各种生意。

可能在将来编写程序不会象现在这样利润丰厚了。但是那不是反对这种变化的理由。售货员挣现在的薪水并不被认为是件不公平的事。就算程序员和售货员挣同样多的钱,那也将不是什么不公平的事。(实际上他们仍将比售货员挣更多的钱。)

难道人们没有权利来控制如何使用自己的创造成果?''

控制自己创意的运用''的实质是控制他人的生活;而且它通常使得他人的生活更困难。

仔细研究过知识产权的人(如律师们)都发现,知识产权并不是固有的(intrinsic)权利。政府认可的所谓的知识产权是为了特定的目的,通过特别的立法而被创造的。

比方说,建立专利系统的目的是为了鼓励发明者去披露发明的细节。它的目的与其说帮助发明者,不如说是帮助社会。在时间上,一项专利17年的保护期,比起工艺方面的发展进度来,是很短的。既然专利只是限于制造业的问题,对制造业者来说,一个授权许可协议的成本与精力耗费,都比开创产品少,因此,专利常常不造成更多的危害。它们并不妨碍大多数使用有专利的产品的个人。

版权思想在古代并不存在,当时作者们常常详细复制其他作者的非文学类作品。这种风气曾是有益的,并且是很多作者的作品,即或只是部分,被挽救下来的唯一方式。版权体系明显是为了鼓励著述而被建立的。在版权被发明出来的领域中――在这个领域中,书籍只有在印刷所里才能被经济地复制——几乎不造成什么伤害,也不妨碍大多数阅读这些书的个人。

所有知识产权权利都只是被社会批准的授权,因为据认为——无论正确与否,通过批准这种授权,社会作为整体应该获得利益。但在任何特定的情形中,我们都不得不发问:我们批准这一授权后,状况真的更好了吗?我们正授予某人采取何种行为的权利呢?

在今天,程序的情况跟一百年前书籍的情势大不相同。新的情势是这样的:复制程序最简便的方式就是从一个邻居到另一个邻居;在程序中具有明确区分开的源代码和目标代码;一个程序被用来运行而不是用来阅读和欣赏的;综合这些情势,一个坚持要有版权的人,就是在物质上和精神上伤害作为一个整体的社会;在这样的情势中,不管法律是否允许,他都不应该去做这种事。

竞争让事情完成得更好''

竞争的一个范例是赛跑:通过奖励赢家,我们鼓励每个人跑得更快。当资本主义真正按这种方式运行时,它干得很好;但它的拥护者们错误地假设它总是按这种方式运行。如果那些赛跑者忘记了奖励的原因,只知道无论如何都拼命要获胜,他们可能会找出别的法子,例如攻击其他赛跑者。如果赛跑者们陷入一场挥拳斗殴,那他们就全都会晚到终点。

私有权和保密软件就是陷入这种斗殴的道德等价物。可悲的是,我们现有的唯一的裁判,看来似乎不反对斗殴;他只是调节他们("在你跑过的每十码中,你可以打上一拳")。其实他真正该做的是驱散他们,并处罚那些企图斗殴的赛跑者。

"没有金钱激励,人们不是都会停止编程吗?"

实际上,完全没有金钱激励,很多人也会编程。编程对有些人有种不可抗拒的魅力,而这种人大多都最精于编程。不乏这样的职业音乐家,即使按那种方式没有希望谋生,他们也执着于音乐。

这个问题尽管普遍地被提出来,但不符合实情。程序员的报酬不会消失,只是会变少。因此正确的提问应该是:钱少了,还会有人编程吗?我的经验表明,他们会。

10多年中,来自世界各地最优秀的程序设计师,以远低于他们在其他任何地方所能获得的报酬,在麻省理工学院的人工智能实验室里工作着。他们得到了很多种非金钱的回报:例如,名声和赞誉。而创造也是乐趣,自得其乐就是一种回报。

后来,在得到同样有趣但更多的报酬的机会时,他们中的大多数都离去了。

这事实表明了人们会为理性而非为致富去编程;但如果被给予一个机会同时也可挣大钱,他们会受激发而去企求它。低报酬机构在跟高报酬机构的竞争中做得较差,但如果高报酬机构被禁止的话,低报酬机构并非一定做得很糟。

我们火燎眉毛般地急需程序员。如果他们要求我们停止帮助邻居,我们不得不同意。''

你绝不会绝望到竟然得屈从这类要求。记住:宁花千万自卫,不拿分文逢迎。

但不管怎样,程序员需要维持生活啊。''

短期看来这是实情。但是,除了出售程序使用许可,程序员们可以有很多方式维持生活。这个出售使用许可的方式现在是惯例了,因为它带给程序员和商人最多的金钱,而非因为它是唯一维持生活的方式。如果你想去找,找到其他的方式是容易的。这里有些例子。

制造商要生产一种新的计算机,需要花钱定做适合新硬件的操作系统。

有偿的教学培训,使用指导和保养维护服务等,也会雇请程序员。

有创意的人免费分发程序,可以向满意的用户请求捐赠,或销售使用指导服务。我遇到过按此方式工作并成功的人。

有相同需求的用户可以组成用户团体,并支付一定的费用。用户团体可以与软件开发公司签约,以按照该团体的具体需求开发相应的程序。

所有种类的开发可以由软件税的形式来获得资助。

设想每个购买了电脑的人必需支付其电脑价格的一定的百分比作为软件税。政府把软件税的支配权授予象NSF(国家科学基金会)那样的代理机构,用于软件开发。

但如果电脑购买者本人对软件开发作了捐赠,他可以获得一定的抵扣软件税的信用额度。他可以对他自己感兴趣的项目作捐赠——通常,他选择该项目是因为希望在其完成时使用其成果。他可以因任何数量的捐赠而获得一笔相应的免税额——直至抵消他必需缴付的总税额。

总税率可以通过该税种纳税人的表决来决定,税率的加权调整将按照他们的上税总额来确定。

结论:

·              计算机用户社域支持软件发展。

·              这个社域决定所需支持的等级。

·              用户可以选择他们关心的项目进行资助。

从长远来看,让程序免费是迈向后短缺世界(post-scarcityworld)的一步,在这样的世界里,将没有人为谋生而被迫非常艰辛地工作。在每周花费十小时去做了那些必要的工作,如参与立法、家庭谘询、修理机器人和探寻小行星等等之后,就去专心从事一些有趣的活动,例如编写程序。编写程序将不再是为了谋生。

虽然我们已经极大地减少了整个社会为其实际生产必需付出的工作量,但是至今只有很少一点将其自身转化为工作者的闲暇,因为很多非生产的行为被要求着去伴随生产性的活动。其最主要的原因是官僚主义和等量抵消的不良竞争(isometricstrugglesagainstcompetition)。自由软件将极大地在软件生产范围中减少这种损耗。为了把生产中获得的技术进步转化为我们更少的工作,我们必需这样做。


脚注(这是原作者1993年加的注释--译者)

(1)此处说得不很清楚。其本意为:没有人必须为GNU系统的使用*许可*而付费。但此处并没将本意表达清楚,人们时常理解为分发 GNU 的拷贝始终应该是几乎免费或完全免费。这并不是本意。稍后, 此宣言就提到了一些公司为获利而提供分发服务的可能性。随后,我认识到在 “free'' 在这里的本意是自由而不是免费。自由软件是用户可以自由去分发与修改的软件。 有些用户免费获得了拷贝, 而同时其他一些用户则通过付费获得了拷贝——如果这些资金用来帮助支持改进软件的话,那就更好。 重要的是,每个拥有拷贝的人都可以在使用该拷贝的过程中与其他人协作。

(2) 这是另一个我没有清楚区分 “free'' 的两个不同意思的地方。 作为既有形式的陈述并不错 —— 从朋友或网上,你能够免费得NU 软件的复制品。 但是它确实暗示了错误的想法。

(3) 现在确实存在着几个这样的公司。

(4)自由软件基金会''从分发服务中筹集它的大多数资金,尽管它主要是一个慈善团体而不是一般的公司。如果没有人通过从FSF订购拷贝,它将无法维持运转。但是,这不意味着私有软件就可以正当地强迫每个用户付费。如果用户中的一小部分从FSF订购拷贝,那就足以维持FSF运营。因此,我们吁请用户选择以这种方式支持我们。你是否尽了自己的一份力呢?

(5)最近,一个由多家计算机公司组成的集团共同出资来支持“GNUC编译器''的维护费用。


本文可以自由复制、传播,但不得被修改。

翻译:李极光
   
校审:贾星客
    GNU
中译成员:白若玉、刘昭宏
   
根据2002316546时更新版本翻译