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