home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 4
/
FreshFish_May-June1994.bin
/
bbs
/
gnu
/
emacs-18.59-bin.lha
/
lib
/
emacs
/
18.59
/
etc
/
GNU
< prev
next >
Wrap
Text File
|
1990-12-26
|
24KB
|
476 lines
The GNU Manifesto
Copyright (C) 1985 Richard M. Stallman
(Copying permission notice at the end.)
What's GNU? Gnu's Not Unix!
GNU, which stands for Gnu's Not Unix, is the name for the complete
Unix-compatible software system which I am writing so that I can give it
away free to everyone who can use it. Several other volunteers are helping
me. Contributions of time, money, programs and equipment are greatly
needed.
So far we have an Emacs text editor with Lisp for writing editor commands,
a source level debugger, a yacc-compatible parser generator, a linker, and
around 35 utilities. A shell (command interpreter) is nearly completed. A
new portable optimizing C compiler has compiled itself and may be released
this year. An initial kernel exists but many more features are needed to
emulate Unix. When the kernel and compiler are finished, it will be
possible to distribute a GNU system suitable for program development. We
will use @TeX{} as our text formatter, but an nroff is being worked on. We
will use the free, portable X window system as well. After this we will
add a portable Common Lisp, an Empire game, a spreadsheet, and hundreds of
other things, plus on-line documentation. We hope to supply, eventually,
everything useful that normally comes with a Unix system, and more.
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 perhaps
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 try to support UUCP,
MIT Chaosnet, and Internet protocols for communication.
GNU is aimed initially at machines in the 68000/16000 class with virtual
memory, because they are the easiest machines to make it run on. The extra
effort to make it run on smaller machines will be left to someone who wants
to use it on them.
To avoid horrible confusion, please pronounce the `G' in the word `GNU'
when it is the name of this project.
Who Am I?
I am Richard Stallman, inventor of the original much-imitated EMACS editor,
formerly 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. Since then I have
implemented one crashproof file system and two window systems for Lisp
machines, and designed a third window system now being implemented; this
one will be ported to many systems including use in GNU. [Historical note:
The window system project was not completed; GNU now plans to use the
X window system.]
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. Software sellers want to divide
the users and conquer them, making each user agree not to share with
others. I refuse to break solidarity with other users in this way. I
cannot in good conscience sign a nondisclosure agreement or a software
license agreement. For years I worked within the Artificial Intelligence
Lab to resist such tendencies and other inhospitalities, but eventually
they had gone too far: I could not remain in an institution where such
things are done for me against my will.
So that I can continue to use computers without dishonor, 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. I have resigned from the
AI lab to deny MIT any legal excuse to prevent me from giving GNU away.
Why GNU Will Be Compatible with Unix
Unix is not my ideal system, but it is not too bad. The essential features
of Unix seem to be good ones, and I think I can fill in what Unix lacks
without spoiling them. And a system compatible with Unix would be
convenient for many other people to adopt.
How GNU Will Be Available
GNU is not in the public domain. Everyone will be permitted to modify and
redistribute GNU, but no distributor will be allowed to restrict its
further redistribution. That is to say, proprietary modifications will not
be allowed. I want to make sure that all versions of GNU remain free.
Why Many Other Programmers Want to Help
I have found many other programmers who are excited about GNU and want to
help.
Many programmers are unhappy about the commercialization of system
software. It may enable them to make more money, but it requires them to
feel in conflict with other programmers in general rather than feel as
comrades. The fundamental act of friendship among programmers is the
sharing of programs; marketing arrangements now typically used essentially
forbid programmers to treat others as friends. The purchaser of software
must choose between friendship and obeying the law. Naturally, many decide
that friendship is more important. But those who believe in law often do
not feel at ease with either choice. They become cynical and think that
programming is just a way of making money.
By working on and using GNU rather than proprietary programs, we can be
hospitable to everyone and obey the law. In addition, GNU serves as an
example to inspire and a banner to rally others to join us in sharing.
This can give us a feeling of harmony which is impossible if we use
software that is not free. For about half the programmers I talk to, this
is an important happiness that money cannot replace.
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 consequence you can expect if you donate machines is that GNU will run
on them at an early date. The machines should be complete, ready to use
systems, approved for use in a residential area, and not in need of
sophisticated cooling or power.
I have found very many programmers eager to contribute part-time work for
GNU. 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. A
complete Unix system contains hundreds of utility programs, each of which
is documented separately. Most interface specifications are fixed by Unix
compatibility. If each contributor can write a compatible replacement for
a single Unix utility, and make it work properly in place of the original
on a Unix system, then these utilities will work right when put together.
Even allowing for Murphy to create a few unexpected problems, assembling
these components will be a feasible task. (The kernel will require closer
communication and will be worked on by a small, tight group.)
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 by programmers' standards, but I'm
looking for people for whom building community spirit is as important as
making 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.
Why All Computer Users Will Benefit
Once GNU is written, everyone will be able to obtain good system software
free, just like air.
This means much more than just saving everyone the price of a Unix license.
It means that much wasteful duplication of system programming effort will
be avoided. This effort can go instead into advancing the state of the
art.
Complete system sources will be available to everyone. As a result, a user
who needs changes in the system will always be free to make them himself,
or hire any available programmer or company to make them for him. Users
will no longer be at the mercy of one programmer or company which owns the
sources and is in sole position to make changes.
Schools will be able to provide a mu