初始声明
这是GNU工程的初始声明,于1983年9月27日由Richard Stallman提出。
GNU工程的实际历史和这个初始声明有各种不同。比如,其实际开始日期晚至1984年1月。多个关于自由软件的哲学概念直到几年之后才得以澄清。
自由的Unix!
从这个感恩节开始,我将编写一个完全和Unix兼容的软件系统,它叫做GNU(意思是Gnu's Not Unix,GNU并非Unix),并且我会将它分发给能够使用的人,供他们自由 [1]使用。我迫切需要大家贡献时间、金钱、程序和设备。
一开始,GNU会有一个内核加上一系列编写和运行C程序所需要的应用:编辑器、shell、C编译器、连接器、汇编器以及一些其他程序。此后,我们会加入文本排版工具、YACC、帝国游戏、电子表格和数百个其他应用。最终,我们希望能够提供通常一个Unix系统带有的所有有用的东西,此外还有Unix不带的所有其他有用的东西,包括在线和实质的文档。
GNU将能够运行Unix程序,但是它将不完全和Unix一样。根据我们在其他操作系统上的体验,我们会在GNU上实现所有我们觉得方便的改进。特别地,我们的计划中包括更长的文件名、文件版本号、防崩溃的文件系统、文件名自动完成(可能的话)、终端无关的显示支持,以及最终实现一个基于Lisp的窗口系统,它支持Lisp程序和普通Unix程序分享一个屏幕。C和Lisp都可以作为系统编程语言。我们将会有基于MIT chaosnet协议的网络软件,这远比UUCP要优越。我们也许也会有一些和UUCP兼容的程序。
我是谁?
我叫Richard Stallman,是那个被到处模仿的EMACS编辑器的原始发明者,我现在在麻省理工学院的人工智能实验室。我一直专注于编译器、编辑器、调试器、命令解释器、ITS(不兼容分时系统)和Lisp Machine操作系统的工作。我是ITS系统上终端无关显示支持的开拓者。此外,我在Lisp machine上实现了一个防崩溃的文件系统和两个窗口管理系统。
为什么我必须编写GNU
我信奉的金科玉律是如果我喜欢一个程序,那么我必须要和其他喜欢该程序的人分享。签署保密协议或软件许可证协议会使我的良心不安。
我决定组合一系列充分的自由软件来让我摆脱非自由软件的限制,这样我就可以在不违背自己的原则的情况下继续使用电脑。
你该如何做贡献
我请求计算机制造商捐赠设备和金钱。我请求个人捐赠程序和作品。
有一家计算机制造商已经要提供一台机器,但是我们需要更多。如果你捐赠了机器,那么你可以预期GNU会早一点在你的机器上运行。这些机器最好能在居民区操作,而不是要求复杂的冷却或供电设施。
独立的程序员可以编写并贡献一些和Unix应用兼容的原样复制程序,你们可以把它交给我。对大多数项目来说,这种业余时间进行的分散式工作很难协调;这些独立编写的部件可能无法一起工作。但是对于替代Unix应用的这部分特定任务,没有问题。其中,大多数接口规格由Unix的兼容性决定。如果每个人的贡献都能在Unix上工作,那么它极可能也在GNU上工作。
如果有了金钱上的捐助,我可能会雇佣一些全职或兼职的人。薪水不高,但是我要找的人要明白他们的工作是在帮助人类,这和金钱一样重要。我认为这是在为那些愿意全身心投入到GNU工作中的人们提供一个不用再寻找其他谋生手段的机会。
如需更多信息,请联系我。
Arpanet mail:RMS@MIT-MC.ARPA Usenet:
...!mit-eddie!RMS@OZ
...!mit-vax!RMS@OZ US Snail:
Richard Stallman
166 Prospect St
Cambridge, MA 02139
原始消息
为了完整,原始的邮件列在下面,并且保留原始的格式。
From CSvax:pur-ee:inuxc!ixn5c!ihnp4!houxm!mhuxi!eagle!mit-vax!mit-eddie!RMS@MIT-OZ From: RMS%MIT-OZ@mit-eddie Newsgroups: net.unix-wizards,net.usoft Subject: new Unix implementation Date: Tue, 27-Sep-83 12:35:59 EST Organization: MIT AI Lab, Cambridge, MA Free Unix! Starting this Thanksgiving I am going to write a complete Unix-compatible software system called GNU (for Gnu's Not Unix), and give it away free [1] to everyone who can use it. Contributions of time, money, programs and equipment are greatly needed. To begin with, GNU will be a kernel plus all the utilities needed to write and run C programs: editor, shell, C compiler, linker, assembler, and a few other things. After this we will add a text formatter, a YACC, an Empire game, a spreadsheet, and hundreds of other things. We hope to supply, eventually, everything useful that normally comes with a Unix system, and anything else useful, including on-line and hardcopy documentation. GNU will be able to run Unix programs, but will not be identical to Unix. We will make all improvements that are convenient, based on our experience with other operating systems. In particular, we plan to have longer filenames, file version numbers, a crashproof file system, filename completion perhaps, terminal-independent display support, and eventually a Lisp-based window system through which several Lisp programs and ordinary Unix programs can share a screen. Both C and Lisp will be available as system programming languages. We will have network software based on MIT's chaosnet protocol, far superior to UUCP. We may also have something compatible with UUCP. Who Am I? I am Richard Stallman, inventor of the original much-imitated EMACS editor, now at the Artificial Intelligence Lab at MIT. I have worked extensively on compilers, editors, debuggers, command interpreters, the Incompatible Timesharing System and the Lisp Machine operating system. I pioneered terminal-independent display support in ITS. In addition I have implemented one crashproof file system and two window systems for Lisp machines. Why I Must Write GNU I consider that the golden rule requires that if I like a program I must share it with other people who like it. I cannot in good conscience sign a nondisclosure agreement or a software license agreement. So that I can continue to use computers without violating my principles, I have decided to put together a sufficient body of free software so that I will be able to get along without any software that is not free. How You Can Contribute I am asking computer manufacturers for donations of machines and money. I'm asking individuals for donations of programs and work. One computer manufacturer has already offered to provide a machine. But we could use more. One consequence you can expect if you donate machines is that GNU will run on them at an early date. The machine had better be able to operate in a residential area, and not require sophisticated cooling or power. Individual programmers can contribute by writing a compatible duplicate of some Unix utility and giving it to me. For most projects, such part-time distributed work would be very hard to coordinate; the independently-written parts would not work together. But for the particular task of replacing Unix, this problem is absent. Most interface specifications are fixed by Unix compatibility. If each contribution works with the rest of Unix, it will probably work with the rest of GNU. If I get donations of money, I may be able to hire a few people full or part time. The salary won't be high, but I'm looking for people for whom knowing they are helping humanity is as important as money. I view this as a way of enabling dedicated people to devote their full energies to working on GNU by sparing them the need to make a living in another way. For more information, contact me. Arpanet mail: RMS@MIT-MC.ARPA Usenet: ...!mit-eddie!RMS@OZ ...!mit-vax!RMS@OZ US Snail: Richard Stallman 166 Prospect St Cambridge, MA 02139
脚注
-
当时的用词并不是特别小心。项目的初衷是人们不必非得为 许可 付费才能使用 GNU 系统。但是用词并没有明确这个初衷,而人们经常会认为这个声明就是说 GNU 复制版本总是应该免费分发或者收费很低。这绝不是初衷。后来,我意识到要在 “free” 的自由之意和 “free” 的价格之意间做认真的区分。自由软件是用户有自由分发和修改的软件。有些用户也许拿到了没有花钱的复制版本,也有用户会付费获得复制版本——如果这个资金对改进自由软件有助,当然越多越好。重点是每个拥有复制版本的人都有自由和其他人合作使用该软件。
“给予” 一词是另一个说明我还没有清楚地区分自由和价格问题的表现。现在我们建议在谈论自由软件时避免这些用法。请参看 “造成混淆的词语” 了解更多解释。