(mark-diary-entries): Move some constant variables outside the
[emacs.git] / doc / emacs / gnu.texi
blob8640612dbb4dfd022d93d45451b2bf7d55169b99
1 @c This is part of the Emacs manual.
2 @c Copyright (C) 1985, 1986, 1987, 1993, 1995, 2001, 2002, 2003, 2004,
3 @c   2005, 2006, 2007, 2008  Free Software Foundation, Inc.
4 @ifclear justgnu
5 @node Manifesto,, Microsoft Windows, Top
6 @unnumbered The GNU Manifesto
7 @end ifclear
8 @ifset justgnu
9 Copyright @copyright{} 1985, 1993, 2001, 2002, 2003, 2004,
10 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
12 Permission is granted to copy, distribute and/or modify this document
13 under the terms of the GNU Free Documentation License, Version 1.2 or
14 any later version published by the Free Software Foundation; with no
15 Invariant Sections, with the Front-Cover texts being ``A GNU
16 Manual'', and with the Back-Cover Texts as in (a) below.  A copy of the
17 license is included in the section entitled ``GNU Free Documentation
18 License'' in the Emacs manual.
20 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
21 this GNU Manual, like GNU software.  Copies published by the Free
22 Software Foundation raise funds for GNU development.''
24 This document is part of a collection distributed under the GNU Free
25 Documentation License.  If you want to distribute this document
26 separately from the collection, you can do so by adding a copy of the
27 license to the document, as described in section 6 of the license.
29 @node Top
30 @top The GNU Manifesto
31 @end ifset
33 @quotation
34 The GNU Manifesto which appears below was written by Richard Stallman at
35 the beginning of the GNU project, to ask for participation and support.
36 For the first few years, it was updated in minor ways to account for
37 developments, but now it seems best to leave it unchanged as most people
38 have seen it.
40 Since that time, we have learned about certain common misunderstandings
41 that different wording could help avoid.  Footnotes added in 1993 help
42 clarify these points.
44 For up-to-date information about available GNU software, please see
45 our web site, @uref{http://www.gnu.org}.  For software tasks and other
46 ways to contribute, see @uref{http://www.gnu.org/help}.
47 @end quotation
49 @unnumberedsec What's GNU?  Gnu's Not Unix!
51 GNU, which stands for Gnu's Not Unix, is the name for the complete
52 Unix-compatible software system which I am writing so that I can give it
53 away free to everyone who can use it.@footnote{The wording here was
54 careless.  The intention was that nobody would have to pay for
55 @emph{permission} to use the GNU system.  But the words don't make this
56 clear, and people often interpret them as saying that copies of GNU
57 should always be distributed at little or no charge.  That was never the
58 intent; later on, the manifesto mentions the possibility of companies
59 providing the service of distribution for a profit.  Subsequently I have
60 learned to distinguish carefully between ``free'' in the sense of
61 freedom and ``free'' in the sense of price.  Free software is software
62 that users have the freedom to distribute and change.  Some users may
63 obtain copies at no charge, while others pay to obtain copies---and if
64 the funds help support improving the software, so much the better.  The
65 important thing is that everyone who has a copy has the freedom to
66 cooperate with others in using it.} Several other volunteers are helping
67 me.  Contributions of time, money, programs and equipment are greatly
68 needed.
70 So far we have an Emacs text editor with Lisp for writing editor commands,
71 a source level debugger, a yacc-compatible parser generator, a linker, and
72 around 35 utilities.  A shell (command interpreter) is nearly completed.  A
73 new portable optimizing C compiler has compiled itself and may be released
74 this year.  An initial kernel exists but many more features are needed to
75 emulate Unix.  When the kernel and compiler are finished, it will be
76 possible to distribute a GNU system suitable for program development.  We
77 will use @TeX{} as our text formatter, but an nroff is being worked on.  We
78 will use the free, portable X window system as well.  After this we will
79 add a portable Common Lisp, an Empire game, a spreadsheet, and hundreds of
80 other things, plus on-line documentation.  We hope to supply, eventually,
81 everything useful that normally comes with a Unix system, and more.
83 GNU will be able to run Unix programs, but will not be identical to Unix.
84 We will make all improvements that are convenient, based on our experience
85 with other operating systems.  In particular, we plan to have longer
86 file names, file version numbers, a crashproof file system, file name
87 completion perhaps, terminal-independent display support, and perhaps
88 eventually a Lisp-based window system through which several Lisp programs
89 and ordinary Unix programs can share a screen.  Both C and Lisp will be
90 available as system programming languages.  We will try to support UUCP,
91 MIT Chaosnet, and Internet protocols for communication.
93 GNU is aimed initially at machines in the 68000/16000 class with virtual
94 memory, because they are the easiest machines to make it run on.  The extra
95 effort to make it run on smaller machines will be left to someone who wants
96 to use it on them.
98 To avoid horrible confusion, please pronounce the `G' in the word `GNU'
99 when it is the name of this project.
101 @unnumberedsec Why I Must Write GNU
103 I consider that the golden rule requires that if I like a program I must
104 share it with other people who like it.  Software sellers want to divide
105 the users and conquer them, making each user agree not to share with
106 others.  I refuse to break solidarity with other users in this way.  I
107 cannot in good conscience sign a nondisclosure agreement or a software
108 license agreement.  For years I worked within the Artificial Intelligence
109 Lab to resist such tendencies and other inhospitalities, but eventually
110 they had gone too far: I could not remain in an institution where such
111 things are done for me against my will.
113 So that I can continue to use computers without dishonor, I have decided to
114 put together a sufficient body of free software so that I will be able to
115 get along without any software that is not free.  I have resigned from the
116 AI lab to deny MIT any legal excuse to prevent me from giving GNU away.
118 @unnumberedsec Why GNU Will Be Compatible with Unix
120 Unix is not my ideal system, but it is not too bad.  The essential features
121 of Unix seem to be good ones, and I think I can fill in what Unix lacks
122 without spoiling them.  And a system compatible with Unix would be
123 convenient for many other people to adopt.
125 @unnumberedsec How GNU Will Be Available
127 GNU is not in the public domain.  Everyone will be permitted to modify and
128 redistribute GNU, but no distributor will be allowed to restrict its
129 further redistribution.  That is to say, proprietary modifications will not
130 be allowed.  I want to make sure that all versions of GNU remain free.
132 @unnumberedsec Why Many Other Programmers Want to Help
134 I have found many other programmers who are excited about GNU and want to
135 help.
137 Many programmers are unhappy about the commercialization of system
138 software.  It may enable them to make more money, but it requires them to
139 feel in conflict with other programmers in general rather than feel as
140 comrades.  The fundamental act of friendship among programmers is the
141 sharing of programs; marketing arrangements now typically used essentially
142 forbid programmers to treat others as friends.  The purchaser of software
143 must choose between friendship and obeying the law.  Naturally, many decide
144 that friendship is more important.  But those who believe in law often do
145 not feel at ease with either choice.  They become cynical and think that
146 programming is just a way of making money.
148 By working on and using GNU rather than proprietary programs, we can be
149 hospitable to everyone and obey the law.  In addition, GNU serves as an
150 example to inspire and a banner to rally others to join us in sharing.
151 This can give us a feeling of harmony which is impossible if we use
152 software that is not free.  For about half the programmers I talk to, this
153 is an important happiness that money cannot replace.
155 @unnumberedsec How You Can Contribute
157 I am asking computer manufacturers for donations of machines and money.
158 I'm asking individuals for donations of programs and work.
160 One consequence you can expect if you donate machines is that GNU will run
161 on them at an early date.  The machines should be complete, ready to use
162 systems, approved for use in a residential area, and not in need of
163 sophisticated cooling or power.
165 I have found very many programmers eager to contribute part-time work for
166 GNU.  For most projects, such part-time distributed work would be very hard
167 to coordinate; the independently-written parts would not work together.
168 But for the particular task of replacing Unix, this problem is absent.  A
169 complete Unix system contains hundreds of utility programs, each of which
170 is documented separately.  Most interface specifications are fixed by Unix
171 compatibility.  If each contributor can write a compatible replacement for
172 a single Unix utility, and make it work properly in place of the original
173 on a Unix system, then these utilities will work right when put together.
174 Even allowing for Murphy to create a few unexpected problems, assembling
175 these components will be a feasible task.  (The kernel will require closer
176 communication and will be worked on by a small, tight group.)
178 If I get donations of money, I may be able to hire a few people full or
179 part time.  The salary won't be high by programmers' standards, but I'm
180 looking for people for whom building community spirit is as important as
181 making money.  I view this as a way of enabling dedicated people to devote
182 their full energies to working on GNU by sparing them the need to make a
183 living in another way.
185 @unnumberedsec Why All Computer Users Will Benefit
187 Once GNU is written, everyone will be able to obtain good system
188 software free, just like air.@footnote{This is another place I failed to
189 distinguish carefully between the two different meanings of ``free.''
190 The statement as it stands is not false---you can get copies of GNU
191 software at no charge, from your friends or over the net.  But it does
192 suggest the wrong idea.}
194 This means much more than just saving everyone the price of a Unix license.
195 It means that much wasteful duplication of system programming effort will
196 be avoided.  This effort can go instead into advancing the state of the
197 art.
199 Complete system sources will be available to everyone.  As a result, a user
200 who needs changes in the system will always be free to make them himself,
201 or hire any available programmer or company to make them for him.  Users
202 will no longer be at the mercy of one programmer or company which owns the
203 sources and is in sole position to make changes.
205 Schools will be able to provide a much more educational environment by
206 encouraging all students to study and improve the system code.  Harvard's
207 computer lab used to have the policy that no program could be installed on
208 the system if its sources were not on public display, and upheld it by
209 actually refusing to install certain programs.  I was very much inspired by
210 this.
212 Finally, the overhead of considering who owns the system software and what
213 one is or is not entitled to do with it will be lifted.
215 Arrangements to make people pay for using a program, including licensing of
216 copies, always incur a tremendous cost to society through the cumbersome
217 mechanisms necessary to figure out how much (that is, which programs) a
218 person must pay for.  And only a police state can force everyone to obey
219 them.  Consider a space station where air must be manufactured at great
220 cost: charging each breather per liter of air may be fair, but wearing the
221 metered gas mask all day and all night is intolerable even if everyone can
222 afford to pay the air bill.  And the TV cameras everywhere to see if you
223 ever take the mask off are outrageous.  It's better to support the air
224 plant with a head tax and chuck the masks.
226 Copying all or parts of a program is as natural to a programmer as
227 breathing, and as productive.  It ought to be as free.
229 @unnumberedsec Some Easily Rebutted Objections to GNU's Goals
231 @quotation
232 ``Nobody will use it if it is free, because that means they can't rely
233 on any support.''
235 ``You have to charge for the program to pay for providing the
236 support.''
237 @end quotation
239 If people would rather pay for GNU plus service than get GNU free without
240 service, a company to provide just service to people who have obtained GNU
241 free ought to be profitable.@footnote{Several such companies now exist.}
243 We must distinguish between support in the form of real programming work
244 and mere handholding.  The former is something one cannot rely on from a
245 software vendor.  If your problem is not shared by enough people, the
246 vendor will tell you to get lost.
248 If your business needs to be able to rely on support, the only way is to
249 have all the necessary sources and tools.  Then you can hire any available
250 person to fix your problem; you are not at the mercy of any individual.
251 With Unix, the price of sources puts this out of consideration for most
252 businesses.  With GNU this will be easy.  It is still possible for there to
253 be no available competent person, but this problem cannot be blamed on
254 distribution arrangements.  GNU does not eliminate all the world's problems,
255 only some of them.
257 Meanwhile, the users who know nothing about computers need handholding:
258 doing things for them which they could easily do themselves but don't know
259 how.
261 Such services could be provided by companies that sell just hand-holding
262 and repair service.  If it is true that users would rather spend money and
263 get a product with service, they will also be willing to buy the service
264 having got the product free.  The service companies will compete in quality
265 and price; users will not be tied to any particular one.  Meanwhile, those
266 of us who don't need the service should be able to use the program without
267 paying for the service.
269 @quotation
270 ``You cannot reach many people without advertising,
271 and you must charge for the program to support that.''
273 ``It's no use advertising a program people can get free.''
274 @end quotation
276 There are various forms of free or very cheap publicity that can be used to
277 inform numbers of computer users about something like GNU.  But it may be
278 true that one can reach more microcomputer users with advertising.  If this
279 is really so, a business which advertises the service of copying and
280 mailing GNU for a fee ought to be successful enough to pay for its
281 advertising and more.  This way, only the users who benefit from the
282 advertising pay for it.
284 On the other hand, if many people get GNU from their friends, and such
285 companies don't succeed, this will show that advertising was not really
286 necessary to spread GNU.  Why is it that free market advocates don't
287 want to let the free market decide this?@footnote{The Free Software
288 Foundation raises most of its funds from a distribution service,
289 although it is a charity rather than a company.  If @emph{no one}
290 chooses to obtain copies by ordering from the FSF, it will be unable
291 to do its work.  But this does not mean that proprietary restrictions
292 are justified to force every user to pay.  If a small fraction of all
293 the users order copies from the FSF, that is sufficient to keep the FSF
294 afloat.  So we ask users to choose to support us in this way.  Have you
295 done your part?}
297 @quotation
298 ``My company needs a proprietary operating system
299 to get a competitive edge.''
300 @end quotation
302 GNU will remove operating system software from the realm of competition.
303 You will not be able to get an edge in this area, but neither will your
304 competitors be able to get an edge over you.  You and they will compete in
305 other areas, while benefiting mutually in this one.  If your business is
306 selling an operating system, you will not like GNU, but that's tough on
307 you.  If your business is something else, GNU can save you from being
308 pushed into the expensive business of selling operating systems.
310 I would like to see GNU development supported by gifts from many
311 manufacturers and users, reducing the cost to each.@footnote{A group of
312 computer companies recently pooled funds to support maintenance of the
313 GNU C Compiler.}
315 @quotation
316 ``Don't programmers deserve a reward for their creativity?''
317 @end quotation
319 If anything deserves a reward, it is social contribution.  Creativity can
320 be a social contribution, but only in so far as society is free to use the
321 results.  If programmers deserve to be rewarded for creating innovative
322 programs, by the same token they deserve to be punished if they restrict
323 the use of these programs.
325 @quotation
326 ``Shouldn't a programmer be able to ask for a reward for his creativity?''
327 @end quotation
329 There is nothing wrong with wanting pay for work, or seeking to maximize
330 one's income, as long as one does not use means that are destructive.  But
331 the means customary in the field of software today are based on
332 destruction.
334 Extracting money from users of a program by restricting their use of it is
335 destructive because the restrictions reduce the amount and the ways that
336 the program can be used.  This reduces the amount of wealth that humanity
337 derives from the program.  When there is a deliberate choice to restrict,
338 the harmful consequences are deliberate destruction.
340 The reason a good citizen does not use such destructive means to become
341 wealthier is that, if everyone did so, we would all become poorer from the
342 mutual destructiveness.  This is Kantian ethics; or, the Golden Rule.
343 Since I do not like the consequences that result if everyone hoards
344 information, I am required to consider it wrong for one to do so.
345 Specifically, the desire to be rewarded for one's creativity does not
346 justify depriving the world in general of all or part of that creativity.
348 @quotation
349 ``Won't programmers starve?''
350 @end quotation
352 I could answer that nobody is forced to be a programmer.  Most of us cannot
353 manage to get any money for standing on the street and making faces.  But
354 we are not, as a result, condemned to spend our lives standing on the
355 street making faces, and starving.  We do something else.
357 But that is the wrong answer because it accepts the questioner's implicit
358 assumption: that without ownership of software, programmers cannot possibly
359 be paid a cent.  Supposedly it is all or nothing.
361 The real reason programmers will not starve is that it will still be
362 possible for them to get paid for programming; just not paid as much as
363 now.
365 Restricting copying is not the only basis for business in software.  It is
366 the most common basis because it brings in the most money.  If it were
367 prohibited, or rejected by the customer, software business would move to
368 other bases of organization which are now used less often.  There are
369 always numerous ways to organize any kind of business.
371 Probably programming will not be as lucrative on the new basis as it is
372 now.  But that is not an argument against the change.  It is not considered
373 an injustice that sales clerks make the salaries that they now do.  If
374 programmers made the same, that would not be an injustice either.  (In
375 practice they would still make considerably more than that.)
377 @quotation
378 ``Don't people have a right to control how their creativity is used?''
379 @end quotation
381 ``Control over the use of one's ideas'' really constitutes control over
382 other people's lives; and it is usually used to make their lives more
383 difficult.
385 People who have studied the issue of intellectual property
386 rights@footnote{In the 80s I had not yet realized how confusing it was
387 to speak of ``the issue'' of ``intellectual property.''  That term is
388 obviously biased; more subtle is the fact that it lumps together
389 various disparate laws which raise very different issues.  Nowadays I
390 urge people to reject the term ``intellectual property'' entirely,
391 lest it lead others to suppose that those laws form one coherent
392 issue.  The way to be clear is to discuss patents, copyrights, and
393 trademarks separately.  See
394 @uref{http://www.gnu.org/philosophy/not-ipr.xhtml} for more
395 explanation of how this term spreads confusion and bias.} carefully
396 (such as lawyers) say that there is no intrinsic right to intellectual
397 property.  The kinds of supposed intellectual property rights that the
398 government recognizes were created by specific acts of legislation for
399 specific purposes.
401 For example, the patent system was established to encourage inventors to
402 disclose the details of their inventions.  Its purpose was to help society
403 rather than to help inventors.  At the time, the life span of 17 years for
404 a patent was short compared with the rate of advance of the state of the
405 art.  Since patents are an issue only among manufacturers, for whom the
406 cost and effort of a license agreement are small compared with setting up
407 production, the patents often do not do much harm.  They do not obstruct
408 most individuals who use patented products.
410 The idea of copyright did not exist in ancient times, when authors
411 frequently copied other authors at length in works of non-fiction.  This
412 practice was useful, and is the only way many authors' works have survived
413 even in part.  The copyright system was created expressly for the purpose
414 of encouraging authorship.  In the domain for which it was
415 invented---books, which could be copied economically only on a printing
416 press---it did little harm, and did not obstruct most of the individuals
417 who read the books.
419 All intellectual property rights are just licenses granted by society
420 because it was thought, rightly or wrongly, that society as a whole would
421 benefit by granting them.  But in any particular situation, we have to ask:
422 are we really better off granting such license?  What kind of act are we
423 licensing a person to do?
425 The case of programs today is very different from that of books a hundred
426 years ago.  The fact that the easiest way to copy a program is from one
427 neighbor to another, the fact that a program has both source code and
428 object code which are distinct, and the fact that a program is used rather
429 than read and enjoyed, combine to create a situation in which a person who
430 enforces a copyright is harming society as a whole both materially and
431 spiritually; in which a person should not do so regardless of whether the
432 law enables him to.
434 @quotation
435 ``Competition makes things get done better.''
436 @end quotation
438 The paradigm of competition is a race: by rewarding the winner, we
439 encourage everyone to run faster.  When capitalism really works this way,
440 it does a good job; but its defenders are wrong in assuming it always works
441 this way.  If the runners forget why the reward is offered and become
442 intent on winning, no matter how, they may find other strategies---such as,
443 attacking other runners.  If the runners get into a fist fight, they will
444 all finish late.
446 Proprietary and secret software is the moral equivalent of runners in a
447 fist fight.  Sad to say, the only referee we've got does not seem to
448 object to fights; he just regulates them (``For every ten yards you run,
449 you can fire one shot'').  He really ought to break them up, and penalize
450 runners for even trying to fight.
452 @quotation
453 ``Won't everyone stop programming without a monetary incentive?''
454 @end quotation
456 Actually, many people will program with absolutely no monetary incentive.
457 Programming has an irresistible fascination for some people, usually the
458 people who are best at it.  There is no shortage of professional musicians
459 who keep at it even though they have no hope of making a living that way.
461 But really this question, though commonly asked, is not appropriate to the
462 situation.  Pay for programmers will not disappear, only become less.  So
463 the right question is, will anyone program with a reduced monetary
464 incentive?  My experience shows that they will.
466 For more than ten years, many of the world's best programmers worked at the
467 Artificial Intelligence Lab for far less money than they could have had
468 anywhere else.  They got many kinds of non-monetary rewards: fame and
469 appreciation, for example.  And creativity is also fun, a reward in itself.
471 Then most of them left when offered a chance to do the same interesting
472 work for a lot of money.
474 What the facts show is that people will program for reasons other than
475 riches; but if given a chance to make a lot of money as well, they will
476 come to expect and demand it.  Low-paying organizations do poorly in
477 competition with high-paying ones, but they do not have to do badly if the
478 high-paying ones are banned.
480 @quotation
481 ``We need the programmers desperately.  If they demand that we
482 stop helping our neighbors, we have to obey.''
483 @end quotation
485 You're never so desperate that you have to obey this sort of demand.
486 Remember: millions for defense, but not a cent for tribute!
488 @quotation
489 ``Programmers need to make a living somehow.''
490 @end quotation
492 In the short run, this is true.  However, there are plenty of ways that
493 programmers could make a living without selling the right to use a program.
494 This way is customary now because it brings programmers and businessmen the
495 most money, not because it is the only way to make a living.  It is easy to
496 find other ways if you want to find them.  Here are a number of examples.
498 A manufacturer introducing a new computer will pay for the porting of
499 operating systems onto the new hardware.
501 The sale of teaching, hand-holding and maintenance services could also
502 employ programmers.
504 People with new ideas could distribute programs as
505 freeware@footnote{Subsequently we have discovered the need to
506 distinguish between ``free software'' and ``freeware''.  The term
507 ``freeware'' means software you are free to redistribute, but usually
508 you are not free to study and change the source code, so most of it is
509 not free software.  See
510 @uref{http://www.gnu.org/philosophy/words-to-avoid.html} for more
511 explanation.}, asking for donations from satisfied users, or selling
512 hand-holding services.  I have met people who are already working this
513 way successfully.
515 Users with related needs can form users' groups, and pay dues.  A group
516 would contract with programming companies to write programs that the
517 group's members would like to use.
519 All sorts of development can be funded with a Software Tax:
521 @quotation
522 Suppose everyone who buys a computer has to pay x percent of
523 the price as a software tax.  The government gives this to
524 an agency like the NSF to spend on software development.
526 But if the computer buyer makes a donation to software development
527 himself, he can take a credit against the tax.  He can donate to
528 the project of his own choosing---often, chosen because he hopes to
529 use the results when it is done.  He can take a credit for any amount
530 of donation up to the total tax he had to pay.
532 The total tax rate could be decided by a vote of the payers of
533 the tax, weighted according to the amount they will be taxed on.
535 The consequences:
537 @itemize @bullet
538 @item
539 The computer-using community supports software development.
540 @item
541 This community decides what level of support is needed.
542 @item
543 Users who care which projects their share is spent on
544 can choose this for themselves.
545 @end itemize
546 @end quotation
548 In the long run, making programs free is a step toward the post-scarcity
549 world, where nobody will have to work very hard just to make a living.
550 People will be free to devote themselves to activities that are fun, such
551 as programming, after spending the necessary ten hours a week on required
552 tasks such as legislation, family counseling, robot repair and asteroid
553 prospecting.  There will be no need to be able to make a living from
554 programming.
556 We have already greatly reduced the amount of work that the whole society
557 must do for its actual productivity, but only a little of this has
558 translated itself into leisure for workers because much nonproductive
559 activity is required to accompany productive activity.  The main causes of
560 this are bureaucracy and isometric struggles against competition.  Free
561 software will greatly reduce these drains in the area of software
562 production.  We must do this, in order for technical gains in productivity
563 to translate into less work for us.
565 @ignore
566    arch-tag: 21eb38f8-6fa0-480a-91cd-f3dab7148542
567 @end ignore