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 >
Text File  |  1990-12-26  |  24KB  |  476 lines

  1.             The GNU Manifesto
  2.  
  3. Copyright (C) 1985 Richard M. Stallman
  4.   (Copying permission notice at the end.)
  5.  
  6. What's GNU?  Gnu's Not Unix!
  7.  
  8. GNU, which stands for Gnu's Not Unix, is the name for the complete
  9. Unix-compatible software system which I am writing so that I can give it
  10. away free to everyone who can use it.  Several other volunteers are helping
  11. me.  Contributions of time, money, programs and equipment are greatly
  12. needed.
  13.  
  14. So far we have an Emacs text editor with Lisp for writing editor commands,
  15. a source level debugger, a yacc-compatible parser generator, a linker, and
  16. around 35 utilities.  A shell (command interpreter) is nearly completed.  A
  17. new portable optimizing C compiler has compiled itself and may be released
  18. this year.  An initial kernel exists but many more features are needed to
  19. emulate Unix.  When the kernel and compiler are finished, it will be
  20. possible to distribute a GNU system suitable for program development.  We
  21. will use @TeX{} as our text formatter, but an nroff is being worked on.  We
  22. will use the free, portable X window system as well.  After this we will
  23. add a portable Common Lisp, an Empire game, a spreadsheet, and hundreds of
  24. other things, plus on-line documentation.  We hope to supply, eventually,
  25. everything useful that normally comes with a Unix system, and more.
  26.  
  27. GNU will be able to run Unix programs, but will not be identical to Unix.
  28. We will make all improvements that are convenient, based on our experience
  29. with other operating systems.  In particular, we plan to have longer
  30. filenames, file version numbers, a crashproof file system, filename
  31. completion perhaps, terminal-independent display support, and perhaps
  32. eventually a Lisp-based window system through which several Lisp programs
  33. and ordinary Unix programs can share a screen.  Both C and Lisp will be
  34. available as system programming languages.  We will try to support UUCP,
  35. MIT Chaosnet, and Internet protocols for communication.
  36.  
  37. GNU is aimed initially at machines in the 68000/16000 class with virtual
  38. memory, because they are the easiest machines to make it run on.  The extra
  39. effort to make it run on smaller machines will be left to someone who wants
  40. to use it on them.
  41.  
  42. To avoid horrible confusion, please pronounce the `G' in the word `GNU'
  43. when it is the name of this project.
  44.  
  45.  
  46. Who Am I?
  47.  
  48. I am Richard Stallman, inventor of the original much-imitated EMACS editor,
  49. formerly at the Artificial Intelligence Lab at MIT.  I have worked
  50. extensively on compilers, editors, debuggers, command interpreters, the
  51. Incompatible Timesharing System and the Lisp Machine operating system.  I
  52. pioneered terminal-independent display support in ITS.  Since then I have
  53. implemented one crashproof file system and two window systems for Lisp
  54. machines, and designed a third window system now being implemented; this
  55. one will be ported to many systems including use in GNU.  [Historical note:
  56. The window system project was not completed; GNU now plans to use the
  57. X window system.]
  58.  
  59.  
  60. Why I Must Write GNU
  61.  
  62. I consider that the golden rule requires that if I like a program I must
  63. share it with other people who like it.  Software sellers want to divide
  64. the users and conquer them, making each user agree not to share with
  65. others.  I refuse to break solidarity with other users in this way.  I
  66. cannot in good conscience sign a nondisclosure agreement or a software
  67. license agreement.  For years I worked within the Artificial Intelligence
  68. Lab to resist such tendencies and other inhospitalities, but eventually
  69. they had gone too far: I could not remain in an institution where such
  70. things are done for me against my will.
  71.  
  72. So that I can continue to use computers without dishonor, I have decided to
  73. put together a sufficient body of free software so that I will be able to
  74. get along without any software that is not free.  I have resigned from the
  75. AI lab to deny MIT any legal excuse to prevent me from giving GNU away.
  76.  
  77.  
  78. Why GNU Will Be Compatible with Unix
  79.  
  80. Unix is not my ideal system, but it is not too bad.  The essential features
  81. of Unix seem to be good ones, and I think I can fill in what Unix lacks
  82. without spoiling them.  And a system compatible with Unix would be
  83. convenient for many other people to adopt.
  84.  
  85.  
  86. How GNU Will Be Available
  87.  
  88. GNU is not in the public domain.  Everyone will be permitted to modify and
  89. redistribute GNU, but no distributor will be allowed to restrict its
  90. further redistribution.  That is to say, proprietary modifications will not
  91. be allowed.  I want to make sure that all versions of GNU remain free.
  92.  
  93.  
  94. Why Many Other Programmers Want to Help
  95.  
  96. I have found many other programmers who are excited about GNU and want to
  97. help.
  98.  
  99. Many programmers are unhappy about the commercialization of system
  100. software.  It may enable them to make more money, but it requires them to
  101. feel in conflict with other programmers in general rather than feel as
  102. comrades.  The fundamental act of friendship among programmers is the
  103. sharing of programs; marketing arrangements now typically used essentially
  104. forbid programmers to treat others as friends.  The purchaser of software
  105. must choose between friendship and obeying the law.  Naturally, many decide
  106. that friendship is more important.  But those who believe in law often do
  107. not feel at ease with either choice.  They become cynical and think that
  108. programming is just a way of making money.
  109.  
  110. By working on and using GNU rather than proprietary programs, we can be
  111. hospitable to everyone and obey the law.  In addition, GNU serves as an
  112. example to inspire and a banner to rally others to join us in sharing.
  113. This can give us a feeling of harmony which is impossible if we use
  114. software that is not free.  For about half the programmers I talk to, this
  115. is an important happiness that money cannot replace.
  116.  
  117.  
  118. How You Can Contribute
  119.  
  120. I am asking computer manufacturers for donations of machines and money.
  121. I'm asking individuals for donations of programs and work.
  122.  
  123. One consequence you can expect if you donate machines is that GNU will run
  124. on them at an early date.  The machines should be complete, ready to use
  125. systems, approved for use in a residential area, and not in need of
  126. sophisticated cooling or power.
  127.  
  128. I have found very many programmers eager to contribute part-time work for
  129. GNU.  For most projects, such part-time distributed work would be very hard
  130. to coordinate; the independently-written parts would not work together.
  131. But for the particular task of replacing Unix, this problem is absent.  A
  132. complete Unix system contains hundreds of utility programs, each of which
  133. is documented separately.  Most interface specifications are fixed by Unix
  134. compatibility.  If each contributor can write a compatible replacement for
  135. a single Unix utility, and make it work properly in place of the original
  136. on a Unix system, then these utilities will work right when put together.
  137. Even allowing for Murphy to create a few unexpected problems, assembling
  138. these components will be a feasible task.  (The kernel will require closer
  139. communication and will be worked on by a small, tight group.)
  140.  
  141. If I get donations of money, I may be able to hire a few people full or
  142. part time.  The salary won't be high by programmers' standards, but I'm
  143. looking for people for whom building community spirit is as important as
  144. making money.  I view this as a way of enabling dedicated people to devote
  145. their full energies to working on GNU by sparing them the need to make a
  146. living in another way.
  147.  
  148.  
  149. Why All Computer Users Will Benefit
  150.  
  151. Once GNU is written, everyone will be able to obtain good system software
  152. free, just like air.
  153.  
  154. This means much more than just saving everyone the price of a Unix license.
  155. It means that much wasteful duplication of system programming effort will
  156. be avoided.  This effort can go instead into advancing the state of the
  157. art.
  158.  
  159. Complete system sources will be available to everyone.  As a result, a user
  160. who needs changes in the system will always be free to make them himself,
  161. or hire any available programmer or company to make them for him.  Users
  162. will no longer be at the mercy of one programmer or company which owns the
  163. sources and is in sole position to make changes.
  164.  
  165. Schools will be able to provide a mu