初始声明

这是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

“free”一词选得不好。

这里的用词不太严谨。其初衷是人们不必支付费用来获得使用GNU系统的许可。但是此处用词没有明确这一点,而且人们通常会理解成这是在说GNU的拷贝总是廉价或不花钱的。原意绝不是这样的。

原始消息

为了完整,原始的邮件列在下面,并且保留原始的格式。



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