[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gsrc-commit] /srv/bzr/gsrc/trunk r1561: add some GNU documentation
[Gsrc-commit] /srv/bzr/gsrc/trunk r1561: add some GNU documentation
Sun, 06 Jan 2013 12:03:00 +0100
committer: Brandon Invergo <address@hidden>
branch nick: trunk
timestamp: Sun 2013-01-06 12:03:00 +0100
add some GNU documentation
=== added directory 'doc/GNU'
=== added file 'doc/GNU/GNU'
--- a/doc/GNU/GNU 1970-01-01 00:00:00 +0000
+++ b/doc/GNU/GNU 2013-01-06 11:03:00 +0000
@@ -0,0 +1,544 @@
+Copyright (C) 1985, 1993, 2001-2012 Free Software Foundation, Inc.
+ Permission is granted to anyone to make or distribute verbatim copies
+of this document, in any medium, provided that the copyright notice and
+permission notice are preserved, and that the distributor grants the
+recipient permission for further redistribution as permitted by this
+ Modified versions may not be made.
+The GNU Manifesto
+ The GNU Manifesto which appears below was written by Richard
+ Stallman at the beginning of the GNU project, to ask for
+ participation and support. For the first few years, it was
+ updated in minor ways to account for developments, but now it
+ seems best to leave it unchanged as most people have seen it.
+ Since that time, we have learned about certain common
+ misunderstandings that different wording could help avoid.
+ Footnotes added in 1993 help clarify these points.
+ For up-to-date information about the available GNU software,
+ please see www.gnu.org. For software tasks to work on, see
+ http://savannah.gnu.org/projects/tasklist. For other ways
+ to contribute, see http://www.gnu.org/help.
+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.(1) Several other volunteers are
+helping me. Contributions of time, money, programs and equipment are
+ 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 file names, file version numbers, a crashproof file system,
+file name 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
+ 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.
+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
+ 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.(2)
+ 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 much more educational environment
+by encouraging all students to study and improve the system code.
+Harvard's computer lab used to have the policy that no program could be
+installed on the system if its sources were not on public display, and
+upheld it by actually refusing to install certain programs. I was very
+much inspired by this.
+ Finally, the overhead of considering who owns the system software
+and what one is or is not entitled to do with it will be lifted.
+ Arrangements to make people pay for using a program, including
+licensing of copies, always incur a tremendous cost to society through
+the cumbersome mechanisms necessary to figure out how much (that is,
+which programs) a person must pay for. And only a police state can
+force everyone to obey them. Consider a space station where air must
+be manufactured at great cost: charging each breather per liter of air
+may be fair, but wearing the metered gas mask all day and all night is
+intolerable even if everyone can afford to pay the air bill. And the
+TV cameras everywhere to see if you ever take the mask off are
+outrageous. It's better to support the air plant with a head tax and
+chuck the masks.
+ Copying all or parts of a program is as natural to a programmer as
+breathing, and as productive. It ought to be as free.
+Some Easily Rebutted Objections to GNU's Goals
+ "Nobody will use it if it is free, because that means they can't
+ rely on any support."
+ "You have to charge for the program to pay for providing the
+ If people would rather pay for GNU plus service than get GNU free
+without service, a company to provide just service to people who have
+obtained GNU free ought to be profitable.(3)
+ We must distinguish between support in the form of real programming
+work and mere handholding. The former is something one cannot rely on
+from a software vendor. If your problem is not shared by enough
+people, the vendor will tell you to get lost.
+ If your business needs to be able to rely on support, the only way
+is to have all the necessary sources and tools. Then you can hire any
+available person to fix your problem; you are not at the mercy of any
+individual. With Unix, the price of sources puts this out of
+consideration for most businesses. With GNU this will be easy. It is
+still possible for there to be no available competent person, but this
+problem cannot be blamed on distribution arrangements. GNU does not
+eliminate all the world's problems, only some of them.
+ Meanwhile, the users who know nothing about computers need
+handholding: doing things for them which they could easily do
+themselves but don't know how.
+ Such services could be provided by companies that sell just
+hand-holding and repair service. If it is true that users would rather
+spend money and get a product with service, they will also be willing
+to buy the service having got the product free. The service companies
+will compete in quality and price; users will not be tied to any
+particular one. Meanwhile, those of us who don't need the service
+should be able to use the program without paying for the service.
+ "You cannot reach many people without advertising, and you must
+ charge for the program to support that."
+ "It's no use advertising a program people can get free."
+ There are various forms of free or very cheap publicity that can be
+used to inform numbers of computer users about something like GNU. But
+it may be true that one can reach more microcomputer users with
+advertising. If this is really so, a business which advertises the
+service of copying and mailing GNU for a fee ought to be successful
+enough to pay for its advertising and more. This way, only the users
+who benefit from the advertising pay for it.
+ On the other hand, if many people get GNU from their friends, and
+such companies don't succeed, this will show that advertising was not
+really necessary to spread GNU. Why is it that free market advocates
+don't want to let the free market decide this?(4)
+ "My company needs a proprietary operating system to get a
+ competitive edge."
+ GNU will remove operating system software from the realm of
+competition. You will not be able to get an edge in this area, but
+neither will your competitors be able to get an edge over you. You and
+they will compete in other areas, while benefiting mutually in this
+one. If your business is selling an operating system, you will not
+like GNU, but that's tough on you. If your business is something else,
+GNU can save you from being pushed into the expensive business of
+selling operating systems.
+ I would like to see GNU development supported by gifts from many
+manufacturers and users, reducing the cost to each.(5)
+ "Don't programmers deserve a reward for their creativity?"
+ If anything deserves a reward, it is social contribution.
+Creativity can be a social contribution, but only in so far as society
+is free to use the results. If programmers deserve to be rewarded for
+creating innovative programs, by the same token they deserve to be
+punished if they restrict the use of these programs.
+ "Shouldn't a programmer be able to ask for a reward for his
+ There is nothing wrong with wanting pay for work, or seeking to
+maximize one's income, as long as one does not use means that are
+destructive. But the means customary in the field of software today
+are based on destruction.
+ Extracting money from users of a program by restricting their use of
+it is destructive because the restrictions reduce the amount and the
+ways that the program can be used. This reduces the amount of wealth
+that humanity derives from the program. When there is a deliberate
+choice to restrict, the harmful consequences are deliberate destruction.
+ The reason a good citizen does not use such destructive means to
+become wealthier is that, if everyone did so, we would all become
+poorer from the mutual destructiveness. This is Kantian ethics; or,
+the Golden Rule. Since I do not like the consequences that result if
+everyone hoards information, I am required to consider it wrong for one
+to do so. Specifically, the desire to be rewarded for one's creativity
+does not justify depriving the world in general of all or part of that
+ "Won't programmers starve?"
+ I could answer that nobody is forced to be a programmer. Most of us
+cannot manage to get any money for standing on the street and making
+faces. But we are not, as a result, condemned to spend our lives
+standing on the street making faces, and starving. We do something
+ But that is the wrong answer because it accepts the questioner's
+implicit assumption: that without ownership of software, programmers
+cannot possibly be paid a cent. Supposedly it is all or nothing.
+ The real reason programmers will not starve is that it will still be
+possible for them to get paid for programming; just not paid as much as
+ Restricting copying is not the only basis for business in software.
+It is the most common basis because it brings in the most money. If it
+were prohibited, or rejected by the customer, software business would
+move to other bases of organization which are now used less often.
+There are always numerous ways to organize any kind of business.
+ Probably programming will not be as lucrative on the new basis as it
+is now. But that is not an argument against the change. It is not
+considered an injustice that sales clerks make the salaries that they
+now do. If programmers made the same, that would not be an injustice
+either. (In practice they would still make considerably more than
+ "Don't people have a right to control how their creativity is
+ "Control over the use of one's ideas" really constitutes control over
+other people's lives; and it is usually used to make their lives more
+ People who have studied the issue of intellectual property rights(6)
+carefully (such as lawyers) say that there is no intrinsic right to
+intellectual property. The kinds of supposed intellectual property
+rights that the government recognizes were created by specific acts of
+legislation for specific purposes.
+ For example, the patent system was established to encourage
+inventors to disclose the details of their inventions. Its purpose was
+to help society rather than to help inventors. At the time, the life
+span of 17 years for a patent was short compared with the rate of
+advance of the state of the art. Since patents are an issue only among
+manufacturers, for whom the cost and effort of a license agreement are
+small compared with setting up production, the patents often do not do
+much harm. They do not obstruct most individuals who use patented
+ The idea of copyright did not exist in ancient times, when authors
+frequently copied other authors at length in works of non-fiction. This
+practice was useful, and is the only way many authors' works have
+survived even in part. The copyright system was created expressly for
+the purpose of encouraging authorship. In the domain for which it was
+invented--books, which could be copied economically only on a printing
+press--it did little harm, and did not obstruct most of the individuals
+who read the books.
+ All intellectual property rights are just licenses granted by society
+because it was thought, rightly or wrongly, that society as a whole
+would benefit by granting them. But in any particular situation, we
+have to ask: are we really better off granting such license? What kind
+of act are we licensing a person to do?
+ The case of programs today is very different from that of books a
+hundred years ago. The fact that the easiest way to copy a program is
+from one neighbor to another, the fact that a program has both source
+code and object code which are distinct, and the fact that a program is
+used rather than read and enjoyed, combine to create a situation in
+which a person who enforces a copyright is harming society as a whole
+both materially and spiritually; in which a person should not do so
+regardless of whether the law enables him to.
+ "Competition makes things get done better."
+ The paradigm of competition is a race: by rewarding the winner, we
+encourage everyone to run faster. When capitalism really works this
+way, it does a good job; but its defenders are wrong in assuming it
+always works this way. If the runners forget why the reward is offered
+and become intent on winning, no matter how, they may find other
+strategies--such as, attacking other runners. If the runners get into
+a fist fight, they will all finish late.
+ Proprietary and secret software is the moral equivalent of runners
+in a fist fight. Sad to say, the only referee we've got does not seem
+to object to fights; he just regulates them ("For every ten yards you
+run, you can fire one shot"). He really ought to break them up, and
+penalize runners for even trying to fight.
+ "Won't everyone stop programming without a monetary incentive?"
+ Actually, many people will program with absolutely no monetary
+incentive. Programming has an irresistible fascination for some
+people, usually the people who are best at it. There is no shortage of
+professional musicians who keep at it even though they have no hope of
+making a living that way.
+ But really this question, though commonly asked, is not appropriate
+to the situation. Pay for programmers will not disappear, only become
+less. So the right question is, will anyone program with a reduced
+monetary incentive? My experience shows that they will.
+ For more than ten years, many of the world's best programmers worked
+at the Artificial Intelligence Lab for far less money than they could
+have had anywhere else. They got many kinds of non-monetary rewards:
+fame and appreciation, for example. And creativity is also fun, a
+reward in itself.
+ Then most of them left when offered a chance to do the same
+interesting work for a lot of money.
+ What the facts show is that people will program for reasons other
+than riches; but if given a chance to make a lot of money as well, they
+will come to expect and demand it. Low-paying organizations do poorly
+in competition with high-paying ones, but they do not have to do badly
+if the high-paying ones are banned.
+ "We need the programmers desperately. If they demand that we stop
+ helping our neighbors, we have to obey."
+ You're never so desperate that you have to obey this sort of demand.
+Remember: millions for defense, but not a cent for tribute!
+ "Programmers need to make a living somehow."
+ In the short run, this is true. However, there are plenty of ways
+that programmers could make a living without selling the right to use a
+program. This way is customary now because it brings programmers and
+businessmen the most money, not because it is the only way to make a
+living. It is easy to find other ways if you want to find them. Here
+are a number of examples.
+ A manufacturer introducing a new computer will pay for the porting of
+operating systems onto the new hardware.
+ The sale of teaching, hand-holding and maintenance services could
+also employ programmers.
+ People with new ideas could distribute programs as freeware(7), asking
+for donations from satisfied users, or selling hand-holding services.
+I have met people who are already working this way successfully.
+ Users with related needs can form users' groups, and pay dues. A
+group would contract with programming companies to write programs that
+the group's members would like to use.
+ All sorts of development can be funded with a Software Tax:
+ Suppose everyone who buys a computer has to pay x percent of the
+ price as a software tax. The government gives this to an agency
+ like the NSF to spend on software development.
+ But if the computer buyer makes a donation to software development
+ himself, he can take a credit against the tax. He can donate to
+ the project of his own choosing--often, chosen because he hopes to
+ use the results when it is done. He can take a credit for any
+ amount of donation up to the total tax he had to pay.
+ The total tax rate could be decided by a vote of the payers of the
+ tax, weighted according to the amount they will be taxed on.
+ The consequences:
+ * The computer-using community supports software development.
+ * This community decides what level of support is needed.
+ * Users who care which projects their share is spent on can
+ choose this for themselves.
+ In the long run, making programs free is a step toward the
+post-scarcity world, where nobody will have to work very hard just to
+make a living. People will be free to devote themselves to activities
+that are fun, such as programming, after spending the necessary ten
+hours a week on required tasks such as legislation, family counseling,
+robot repair and asteroid prospecting. There will be no need to be
+able to make a living from programming.
+ We have already greatly reduced the amount of work that the whole
+society must do for its actual productivity, but only a little of this
+has translated itself into leisure for workers because much
+nonproductive activity is required to accompany productive activity.
+The main causes of this are bureaucracy and isometric struggles against
+competition. Free software will greatly reduce these drains in the
+area of software production. We must do this, in order for technical
+gains in productivity to translate into less work for us.
+ ---------- Footnotes ----------
+ (1) The wording here was careless. The intention was that nobody
+would have to pay for *permission* to use the GNU system. But the
+words don't make this clear, and people often interpret them as saying
+that copies of GNU should always be distributed at little or no charge.
+That was never the intent; later on, the manifesto mentions the
+possibility of companies providing the service of distribution for a
+profit. Subsequently I have learned to distinguish carefully between
+"free" in the sense of freedom and "free" in the sense of price. Free
+software is software that users have the freedom to distribute and
+change. Some users may obtain copies at no charge, while others pay to
+obtain copies--and if the funds help support improving the software, so
+much the better. The important thing is that everyone who has a copy
+has the freedom to cooperate with others in using it.
+ (2) This is another place I failed to distinguish carefully between
+the two different meanings of "free". The statement as it stands is
+not false--you can get copies of GNU software at no charge, from your
+friends or over the net. But it does suggest the wrong idea.
+ (3) Several such companies now exist.
+ (4) The Free Software Foundation raised most of its funds for 10
+years from a distribution service, although it is a charity rather
+than a company.
+ (5) A group of computer companies pooled funds around 1991 to
+support maintenance of the GNU C Compiler.
+ (6) In the 80s I had not yet realized how confusing it was to speak
+of "the issue" of "intellectual property". That term is obviously
+biased; more subtle is the fact that it lumps together various
+disparate laws which raise very different issues. Nowadays I urge
+people to reject the term "intellectual property" entirely, lest it
+lead others to suppose that those laws form one coherent issue. The way to be
+clear is to discuss patents, copyrights, and trademarks separately.
+See http://www.gnu.org/philosophy/not-ipr.xhtml for more explanation
+of how this term spreads confusion and bias.
+ (7) Subsequently we have learned to distinguish between "free
+software" and "freeware". The term "freeware" means software you are
+free to redistribute, but usually you are not free to study and change
+the source code, so most of it is not free software. See
+http://www.gnu.org/philosophy/words-to-avoid.html for more
=== added file 'doc/GNU/LINUX-GNU'
--- a/doc/GNU/LINUX-GNU 1970-01-01 00:00:00 +0000
+++ b/doc/GNU/LINUX-GNU 2013-01-06 11:03:00 +0000
@@ -0,0 +1,147 @@
+ Linux and the GNU system
+The GNU project started in 1984 with the goal of developing a complete
+free Unix-like operating system: GNU. "Free" refers to freedom, not
+price; it means you are free to run, copy, distribute, study, change,
+and improve the software.
+A Unix-like system consists of many different programs. We found some
+components already available as free software--for example, X Windows
+and TeX. We obtained other components by helping to convince their
+developers to make them free--for example, the Berkeley network
+utilities. This left many missing components that we had to write in
+order to produce GNU--for example, GNU Emacs, the GNU C compiler, the
+GNU C library, Bash, and Ghostscript. The GNU system consists of all
+these components together.
+The GNU project is not just about developing and distributing some
+useful free software. The heart of the GNU project is an idea: that
+software should be free, that software users should have freedom to
+participate in a community. To run your computer, you need an
+operating system; if it is not free, your freedom has been denied. To
+have freedom, you need a free operating system. We therefore set out
+to write one.
+In the long run, though, we cannot expect to keep the free operating
+system free unless the users are aware of the freedom it gives them,
+and value that freedom. People who do not appreciate their freedom
+will not keep it long. If we want to make freedom last, we need to
+spread awareness of the freedoms they have in free software.
+The GNU project's method is that free software and the idea of users'
+freedom support each other. We develop GNU software, and as people
+encounter GNU programs or the GNU system and start to use them, they
+also think about the GNU idea. The software shows that the idea can
+work in practice. Some of these people come to agree with the idea,
+and then they are more likely to write additional free software.
+Thus, the software embodies the idea, spreads the idea, and grows from
+Early on in the development of GNU, various parts of it became popular
+even though users needed proprietary systems to run them on. Porting
+the system to many systems and maintaining them required a lot of
+work. After that work, most GNU software is easily configured for a
+variety of different platforms.
+By 1991, we had found or written all of the essential major components
+of the system except the kernel, which we were writing. (This kernel
+consists of the Mach microkernel plus the GNU HURD. The first test
+release was made in 1996. Now, in 2002, it is running well, and
+Hurd-based GNU systems are starting to be used.)
+That was the situation when Linux came into being. Linux is a kernel,
+like the kernel of Unix; it was written by Linus Torvalds, who
+released it under the GNU General Public License. He did not write
+this kernel for GNU, but it fit into the gap in GNU. The combination
+of GNU and Linux included all the major essential components of a
+Unix-compatible operating system. Other people, with some work made
+the combination into a usable system. The principal use of Linux, the
+kernel, is as part of this combination.
+The popularity of the GNU/Linux combination is success, in the sense
+of popularity, for GNU. Ironically, the popularity of GNU/Linux
+undermines our method of communicating the ideas of GNU to people who
+When GNU programs were only usable individually on top of another
+operating system, installing and using them meant knowing and
+appreciating these programs, and thus being aware of GNU, which led
+people to think about the philosophical base of GNU. Now users can
+install a unified operating system which is basically GNU, but they
+usually think these are "Linux systems". At first impression, a
+"Linux system" sounds like something completely distinct from the "GNU
+system," and that is what most users think.
+This leads many users to identify themselves as a separate community
+of "Linux users", distinct from the GNU user community. They use more
+than just some GNU programs, they use almost all of the GNU system,
+but they don't think of themselves as GNU users. Often they never
+hear about the GNU idea; if they do, they may not think it relates to
+Most introductions to the "Linux system" acknowledge that GNU software
+components play a role in it, but they don't say that the system as a
+whole is a modified version of the GNU system that the GNU project has
+been developing and compiling since Linus Torvalds was in junior high
+school. They don't say that the main reason this free operating
+exists is that the GNU Project worked persistently to achieve its goal
+As a result, most users don't know these things. They believe that
+the "Linux system" was developed by Linus Torvalds "just for fun", and
+that their freedom is a matter of good fortune rather than the
+dedicated pursuit of freedom. This creates a danger that they will
+leave the survival of free software to fortune as well.
+Since human beings tend to correct their first impressions less than
+called for by additional information they learn later, these users
+will tend to continue to underestimate their connection to GNU even if
+they do learn the facts.
+When we began trying to support the GNU/Linux system, we found this
+widespread misinformation led to a practical problem--it hampered
+cooperation on software maintenance. Normally when users change a GNU
+program to make it work better on a particular system, they send the
+change to the maintainer of that program; then they work with the
+maintainer, explaining the change, arguing for it, and sometimes
+rewriting it for the sake of the overall coherence and maintainability
+of the package, to get the patch installed. But people who thought of
+themselves as "Linux users" showed a tendency to release a forked
+"Linux-only" version of the GNU program and consider the job done. In
+some cases we had to redo their work in order to make GNU programs run
+as released in GNU/Linux systems.
+How should the GNU project encourage its users to cooperate? How
+should we spread the idea that freedom for computer users is
+We must continue to talk about the freedom to share and change
+software--and to teach other users to value these freedoms. If we
+value having a free operating system, it makes sense to think about
+preserving those freedoms for the long term. If we value having a
+variety of free software, it makes sense to think about encouraging
+others to write free software, instead of proprietary software.
+However, it is not enough just to talk about freedom; we must also
+make sure people know the reasons it is worth listening to what we
+Long explanations such as our philosophical articles are one way of
+informing the public, but you may not want to spend so much time on
+the matter. The most effective way you can help with a small amount
+of work is simply by using the terms "Linux-based GNU system" or
+"GNU/Linux system", instead of "Linux system," when you write about or
+mention such a system. Seeing these terms will show many people the
+reason to pay attention to our philosophical articles.
+The system as a whole is more GNU than Linux; the name "GNU/Linux" is
+fair. When you are choosing the name of a distribution or a user
+group, a name with "GNU/Linux" will reflect both roots of the combined
+system, and will bring users into connection with both--including the
+spirit of freedom and community that is the basis and purpose of GNU.
+Copyright 1996, 2002 Richard Stallman
+Verbatim copying and redistribution is permitted
+without royalty as long as this notice is preserved.
=== added file 'doc/GNU/THE-GNU-PROJECT'
--- a/doc/GNU/THE-GNU-PROJECT 1970-01-01 00:00:00 +0000
+++ b/doc/GNU/THE-GNU-PROJECT 2013-01-06 11:03:00 +0000
@@ -0,0 +1,903 @@
+ The GNU Project
+ by Richard Stallman
+ originally published in the book "Open Sources"
+ The first software-sharing community
+ When I started working at the MIT Artificial Intelligence Lab in 1971,
+ I became part of a software-sharing community that had existed for many
+ years. Sharing of software was not limited to our particular community;
+ it is as old as computers, just as sharing of recipes is as old as
+ cooking. But we did it more than most.
+ The AI Lab used a timesharing operating system called ITS (the
+ Incompatible Timesharing System) that the lab's staff hackers (1) had
+ designed and written in assembler language for the Digital PDP-10, one
+ of the large computers of the era. As a member of this community, an AI
+ lab staff system hacker, my job was to improve this system.
+ We did not call our software "free software", because that term did not
+ yet exist; but that is what it was. Whenever people from another
+ university or a company wanted to port and use a program, we gladly let
+ them. If you saw someone using an unfamiliar and interesting program,
+ you could always ask to see the source code, so that you could read it,
+ change it, or cannibalize parts of it to make a new program.
+ (1) The use of "hacker" to mean "security breaker" is a confusion on
+ the part of the mass media. We hackers refuse to recognize that
+ meaning, and continue using the word to mean, "Someone who loves to
+ program and enjoys being clever about it."
+ The collapse of the community
+ The situation changed drastically in the early 1980s when Digital
+ discontinued the PDP-10 series. Its architecture, elegant and powerful
+ in the 60s, could not extend naturally to the larger address spaces
+ that were becoming feasible in the 80s. This meant that nearly all of
+ the programs composing ITS were obsolete.
+ The AI lab hacker community had already collapsed, not long before. In
+ 1981, the spin-off company Symbolics had hired away nearly all of the
+ hackers from the AI lab, and the depopulated community was unable to
+ maintain itself. (The book Hackers, by Steve Levy, describes these
+ events, as well as giving a clear picture of this community in its
+ prime.) When the AI lab bought a new PDP-10 in 1982, its administrators
+ decided to use Digital's non-free timesharing system instead of ITS.
+ The modern computers of the era, such as the VAX or the 68020, had
+ their own operating systems, but none of them were free software: you
+ had to sign a nondisclosure agreement even to get an executable copy.
+ This meant that the first step in using a computer was to promise not
+ to help your neighbor. A cooperating community was forbidden. The rule
+ made by the owners of proprietary software was, "If you share with your
+ neighbor, you are a pirate. If you want any changes, beg us to make
+ The idea that the proprietary-software social system--the system that
+ says you are not allowed to share or change software--is antisocial,
+ that it is unethical, that it is simply wrong, may come as a surprise
+ to some readers. But what else could we say about a system based on
+ dividing the public and keeping users helpless? Readers who find the
+ idea surprising may have taken proprietary-software social system as
+ given, or judged it on the terms suggested by proprietary software
+ businesses. Software publishers have worked long and hard to convince
+ people that there is only one way to look at the issue.
+ When software publishers talk about "enforcing" their "rights" or
+ "stopping piracy", what they actually *say* is secondary. The real
+ message of these statements is in the unstated assumptions they take
+ for granted; the public is supposed to accept them uncritically. So
+ let's examine them.
+ One assumption is that software companies have an unquestionable
+ natural right to own software and thus have power over all its users.
+ (If this were a natural right, then no matter how much harm it does to
+ the public, we could not object.) Interestingly, the US Constitution
+ and legal tradition reject this view; copyright is not a natural right,
+ but an artificial government-imposed monopoly that limits the users'
+ natural right to copy.
+ Another unstated assumption is that the only important thing about
+ software is what jobs it allows you to do--that we computer users
+ should not care what kind of society we are allowed to have.
+ A third assumption is that we would have no usable software (or would
+ never have a program to do this or that particular job) if we did not
+ offer a company power over the users of the program. This assumption
+ may have seemed plausible, before the free software movement
+ demonstrated that we can make plenty of useful software without putting
+ chains on it.
+ If we decline to accept these assumptions, and judge these issues based
+ on ordinary common-sense morality while placing the users first, we
+ arrive at very different conclusions. Computer users should be free to
+ modify programs to fit their needs, and free to share software, because
+ helping other people is the basis of society.
+ There is no room here for an extensive statement of the reasoning
+ behind this conclusion, so I refer the reader to the web page,
+ A stark moral choice.
+ With my community gone, to continue as before was impossible. Instead,
+ I faced a stark moral choice.
+ The easy choice was to join the proprietary software world, signing
+ nondisclosure agreements and promising not to help my fellow hacker.
+ Most likely I would also be developing software that was released under
+ nondisclosure agreements, thus adding to the pressure on other people
+ to betray their fellows too.
+ I could have made money this way, and perhaps amused myself writing
+ code. But I knew that at the end of my career, I would look back on
+ years of building walls to divide people, and feel I had spent my life
+ making the world a worse place.
+ I had already experienced being on the receiving end of a nondisclosure
+ agreement, when someone refused to give me and the MIT AI lab the
+ source code for the control program for our printer. (The lack of
+ certain features in this program made use of the printer extremely
+ frustrating.) So I could not tell myself that nondisclosure agreements
+ were innocent. I was very angry when he refused to share with us; I
+ could not turn around and do the same thing to everyone else.
+ Another choice, straightforward but unpleasant, was to leave the
+ computer field. That way my skills would not be misused, but they would
+ still be wasted. I would not be culpable for dividing and restricting
+ computer users, but it would happen nonetheless.
+ So I looked for a way that a programmer could do something for the
+ good. I asked myself, was there a program or programs that I could
+ write, so as to make a community possible once again?
+ The answer was clear: what was needed first was an operating system.
+ That is the crucial software for starting to use a computer. With an
+ operating system, you can do many things; without one, you cannot run
+ the computer at all. With a free operating system, we could again have
+ a community of cooperating hackers--and invite anyone to join. And
+ anyone would be able to use a computer without starting out by
+ conspiring to deprive his or her friends.
+ As an operating system developer, I had the right skills for this job.
+ So even though I could not take success for granted, I realized that I
+ was elected to do the job. I chose to make the system compatible with
+ Unix so that it would be portable, and so that Unix users could easily
+ switch to it. The name GNU was chosen following a hacker tradition, as
+ a recursive acronym for "GNU's Not Unix."
+ An operating system does not mean just a kernel, barely enough to run
+ other programs. In the 1970s, every operating system worthy of the name
+ included command processors, assemblers, compilers, interpreters,
+ debuggers, text editors, mailers, and much more. ITS had them, Multics
+ had them, VMS had them, and Unix had them. The GNU operating system
+ would include them too.
+ Later I heard these words, attributed to Hillel (1):
+ If I am not for myself, who will be for me?
+ If I am only for myself, what am I?
+ If not now, when?
+ The decision to start the GNU project was based on a similar spirit.
+ (1) As an Atheist, I don't follow any religious leaders, but I
+ sometimes find I admire something one of them has said.
+ Free as in freedom
+ The term "free software" is sometimes misunderstood--it has nothing to
+ do with price. It is about freedom. Here, therefore, is the definition
+ of free software: a program is free software, for you, a particular
+ user, if:
+ * You have the freedom to run the program, for any purpose.
+ * You have the freedom to modify the program to suit your needs. (To
+ make this freedom effective in practice, you must have access to
+ the source code, since making changes in a program without having
+ the source code is exceedingly difficult.)
+ * You have the freedom to redistribute copies, either gratis or for a
+ * You have the freedom to distribute modified versions of the
+ program, so that the community can benefit from your improvements.
+ Since "free" refers to freedom, not to price, there is no contradiction
+ between selling copies and free software. In fact, the freedom to sell
+ copies is crucial: collections of free software sold on CD-ROMs are
+ important for the community, and selling them is an important way to
+ raise funds for free software development. Therefore, a program which
+ people are not free to include on these collections is not free
+ Because of the ambiguity of "free", people have long looked for
+ alternatives, but no one has found a suitable alternative. The English
+ Language has more words and nuances than any other, but it lacks a
+ simple, unambiguous, word that means "free", as in
+ freedom--"unfettered" being the word that comes closest in meaning.
+ Such alternatives as "liberated", "freedom", and "open" have either the
+ wrong meaning or some other disadvantage.
+ GNU software and the GNU system
+ Developing a whole system is a very large project. To bring it into
+ reach, I decided to adapt and use existing pieces of free software
+ wherever that was possible. For example, I decided at the very
+ beginning to use TeX as the principal text formatter; a few years
+ later, I decided to use the X Window System rather than writing another
+ window system for GNU.
+ Because of this decision, the GNU system is not the same as the
+ collection of all GNU software. The GNU system includes programs that
+ are not GNU software, programs that were developed by other people and
+ projects for their own purposes, but which we can use because they are
+ free software.
+ Commencing the project
+ In January 1984 I quit my job at MIT and began writing GNU software.
+ Leaving MIT was necessary so that MIT would not be able to interfere
+ with distributing GNU as free software. If I had remained on the staff,
+ MIT could have claimed to own the work, and could have imposed their
+ own distribution terms, or even turned the work into a proprietary
+ software package. I had no intention of doing a large amount of work
+ only to see it become useless for its intended purpose: creating a new
+ software-sharing community.
+ However, Professor Winston, then the head of the MIT AI Lab, kindly
+ invited me to keep using the lab's facilities.
+ The first steps
+ Shortly before beginning the GNU project, I heard about the Free
+ University Compiler Kit, also known as VUCK. (The Dutch word for "free"
+ is written with a V.) This was a compiler designed to handle multiple
+ languages, including C and Pascal, and to support multiple target
+ machines. I wrote to its author asking if GNU could use it.
+ He responded derisively, stating that the university was free but the
+ compiler was not. I therefore decided that my first program for the GNU
+ project would be a multi-language, multi-platform compiler.
+ Hoping to avoid the need to write the whole compiler myself, I obtained
+ the source code for the Pastel compiler, which was a multi-platform
+ compiler developed at Lawrence Livermore Lab. It supported, and was
+ written in, an extended version of Pascal, designed to be a
+ system-programming language. I added a C front end, and began porting
+ it to the Motorola 68000 computer. But I had to give that up when I
+ discovered that the compiler needed many megabytes of stack space, and
+ the available 68000 Unix system would only allow 64k.
+ I then realized that the Pastel compiler functioned by parsing the
+ entire input file into a syntax tree, converting the whole syntax tree
+ into a chain of "instructions", and then generating the whole output
+ file, without ever freeing any storage. At this point, I concluded I
+ would have to write a new compiler from scratch. That new compiler is
+ now known as GCC; none of the Pastel compiler is used in it, but I
+ managed to adapt and use the C front end that I had written. But that
+ was some years later; first, I worked on GNU Emacs.
+ GNU Emacs
+ I began work on GNU Emacs in September 1984, and in early 1985 it was
+ beginning to be usable. This enabled me to begin using Unix systems to
+ do editing; having no interest in learning to use vi or ed, I had done
+ my editing on other kinds of machines until then.
+ At this point, people began wanting to use GNU Emacs, which raised the
+ question of how to distribute it. Of course, I put it on the anonymous
+ ftp server on the MIT computer that I used. (This computer,
+ prep.ai.mit.edu, thus became the principal GNU ftp distribution site;
+ when it was decommissioned a few years later, we transferred the name
+ to our new ftp server.) But at that time, many of the interested people
+ were not on the Internet and could not get a copy by ftp. So the
+ question was, what would I say to them?
+ I could have said, "Find a friend who is on the net and who will make a
+ copy for you." Or I could have done what I did with the original PDP-10
+ Emacs: tell them, "Mail me a tape and a SASE, and I will mail it back
+ with Emacs on it." But I had no job, and I was looking for ways to make
+ money from free software. So I announced that I would mail a tape to
+ whoever wanted one, for a fee of $150. In this way, I started a free
+ software distribution business, the precursor of the companies that
+ today distribute entire Linux-based GNU systems.
+ Is a program free for every user?
+ If a program is free software when it leaves the hands of its author,
+ this does not necessarily mean it will be free software for everyone
+ who has a copy of it. For example, public domain software (software
+ that is not copyrighted) is free software; but anyone can make a
+ proprietary modified version of it. Likewise, many free programs are
+ copyrighted but distributed under simple permissive licenses which
+ allow proprietary modified versions.
+ The paradigmatic example of this problem is the X Window System.
+ Developed at MIT, and released as free software with a permissive
+ license, it was soon adopted by various computer companies. They added
+ X to their proprietary Unix systems, in binary form only, and covered
+ by the same nondisclosure agreement. These copies of X were no more
+ free software than Unix was.
+ The developers of the X Window System did not consider this a
+ problem--they expected and intended this to happen. Their goal was not
+ freedom, just "success", defined as "having many users." They did not
+ care whether these users had freedom, only that they should be
+ This led to a paradoxical situation where two different ways of
+ counting the amount of freedom gave different answers to the question,
+ "Is this program free?" If you judged based on the freedom provided by
+ the distribution terms of the MIT release, you would say that X was
+ free software. But if you measured the freedom of the average user of
+ X, you would have to say it was proprietary software. Most X users were
+ running the proprietary versions that came with Unix systems, not the
+ free version.
+ Copyleft and the GNU GPL
+ The goal of GNU was to give users freedom, not just to be popular. So
+ we needed to use distribution terms that would prevent GNU software
+ from being turned into proprietary software. The method we use is
+ called "copyleft".(1)
+ Copyleft uses copyright law, but flips it over to serve the opposite of
+ its usual purpose: instead of a means of privatizing software, it
+ becomes a means of keeping software free.
+ The central idea of copyleft is that we give everyone permission to run
+ the program, copy the program, modify the program, and distribute
+ modified versions--but not permission to add restrictions of their own.
+ Thus, the crucial freedoms that define "free software" are guaranteed
+ to everyone who has a copy; they become inalienable rights.
+ For an effective copyleft, modified versions must also be free. This
+ ensures that work based on ours becomes available to our community if
+ it is published. When programmers who have jobs as programmers
+ volunteer to improve GNU software, it is copyleft that prevents their
+ employers from saying, "You can't share those changes, because we are
+ going to use them to make our proprietary version of the program."
+ The requirement that changes must be free is essential if we want to
+ ensure freedom for every user of the program. The companies that
+ privatized the X Window System usually made some changes to port it to
+ their systems and hardware. These changes were small compared with the
+ great extent of X, but they were not trivial. If making changes were an
+ excuse to deny the users freedom, it would be easy for anyone to take
+ advantage of the excuse.
+ A related issue concerns combining a free program with non-free code.
+ Such a combination would inevitably be non-free; whichever freedoms are
+ lacking for the non-free part would be lacking for the whole as well.
+ To permit such combinations would open a hole big enough to sink a
+ ship. Therefore, a crucial requirement for copyleft is to plug this
+ hole: anything added to or combined with a copylefted program must be
+ such that the larger combined version is also free and copylefted.
+ The specific implementation of copyleft that we use for most GNU
+ software is the GNU General Public License, or GNU GPL for short. We
+ have other kinds of copyleft that are used in specific circumstances.
+ GNU manuals are copylefted also, but use a much simpler kind of
+ copyleft, because the complexity of the GNU GPL is not necessary for
+ (1) In 1984 or 1985, Don Hopkins (a very imaginative fellow) mailed me
+ a letter. On the envelope he had written several amusing sayings,
+ including this one: "Copyleft--all rights reversed." I used the word
+ "copyleft" to name the distribution concept I was developing at the
+ (2) We now use the GNU Free Documentation License for documentation.
+ The Free Software Foundation
+ As interest in using Emacs was growing, other people became involved in
+ the GNU project, and we decided that it was time to seek funding once
+ again. So in 1985 we created the Free Software Foundation, a tax-exempt
+ charity for free software development. The FSF also took over the Emacs
+ tape distribution business; later it extended this by adding other free
+ software (both GNU and non-GNU) to the tape, and by selling free
+ manuals as well.
+ The FSF accepts donations, but most of its income has always come from
+ sales--of copies of free software, and of other related services. Today
+ it sells CD-ROMs of source code, CD-ROMs with binaries, nicely printed
+ manuals (all with freedom to redistribute and modify), and Deluxe
+ Distributions (where we build the whole collection of software for your
+ choice of platform).
+ Free Software Foundation employees have written and maintained a number
+ of GNU software packages. Two notable ones are the C library and the
+ shell. The GNU C library is what every program running on a GNU/Linux
+ system uses to communicate with Linux. It was developed by a member of
+ the Free Software Foundation staff, Roland McGrath. The shell used on
+ most GNU/Linux systems is BASH, the Bourne Again Shell(1), which was
+ developed by FSF employee Brian Fox.
+ We funded development of these programs because the GNU project was not
+ just about tools or a development environment. Our goal was a complete
+ operating system, and these programs were needed for that goal.
+ (1) "Bourne again Shell" is a joke on the name ``Bourne Shell'', which
+ was the usual shell on Unix.
+ Free software support
+ The free software philosophy rejects a specific widespread business
+ practice, but it is not against business. When businesses respect the
+ users' freedom, we wish them success.
+ Selling copies of Emacs demonstrates one kind of free software
+ business. When the FSF took over that business, I needed another way to
+ make a living. I found it in selling services relating to the free
+ software I had developed. This included teaching, for subjects such as
+ how to program GNU Emacs and how to customize GCC, and software
+ development, mostly porting GCC to new platforms.
+ Today each of these kinds of free software business is practiced by a
+ number of corporations. Some distribute free software collections on
+ CD-ROM; others sell support at levels ranging from answering user
+ questions, to fixing bugs, to adding major new features. We are even
+ beginning to see free software companies based on launching new free
+ software products.
+ Watch out, though--a number of companies that associate themselves with
+ the term "open source" actually base their business on non-free
+ software that works with free software. These are not free software
+ companies, they are proprietary software companies whose products tempt
+ users away from freedom. They call these "value added", which reflects
+ the values they would like us to adopt: convenience above freedom. If
+ we value freedom more, we should call them "freedom subtracted"
+ Technical goals
+ The principal goal of GNU was to be free software. Even if GNU had no
+ technical advantage over Unix, it would have a social advantage,
+ allowing users to cooperate, and an ethical advantage, respecting the
+ user's freedom.
+ But it was natural to apply the known standards of good practice to the
+ work--for example, dynamically allocating data structures to avoid
+ arbitrary fixed size limits, and handling all the possible 8-bit codes
+ wherever that made sense.
+ In addition, we rejected the Unix focus on small memory size, by
+ deciding not to support 16-bit machines (it was clear that 32-bit
+ machines would be the norm by the time the GNU system was finished),
+ and to make no effort to reduce memory usage unless it exceeded a
+ megabyte. In programs for which handling very large files was not
+ crucial, we encouraged programmers to read an entire input file into
+ core, then scan its contents without having to worry about I/O.
+ These decisions enabled many GNU programs to surpass their Unix
+ counterparts in reliability and speed.
+ Donated computers
+ As the GNU project's reputation grew, people began offering to donate
+ machines running UNIX to the project. These were very useful, because
+ the easiest way to develop components of GNU was to do it on a UNIX
+ system, and replace the components of that system one by one. But they
+ raised an ethical issue: whether it was right for us to have a copy of
+ UNIX at all.
+ UNIX was (and is) proprietary software, and the GNU project's
+ philosophy said that we should not use proprietary software. But,
+ applying the same reasoning that leads to the conclusion that violence
+ in self defense is justified, I concluded that it was legitimate to use
+ a proprietary package when that was crucial for developing a free
+ replacement that would help others stop using the proprietary package.
+ But, even if this was a justifiable evil, it was still an evil. Today
+ we no longer have any copies of Unix, because we have replaced them
+ with free operating systems. If we could not replace a machine's
+ operating system with a free one, we replaced the machine instead.
+ The GNU Task List
+ As the GNU project proceeded, and increasing numbers of system
+ components were found or developed, eventually it became useful to make
+ a list of the remaining gaps. We used it to recruit developers to write
+ the missing pieces. This list became known as the GNU task list. In
+ addition to missing Unix components, we listed added various other
+ useful software and documentation projects that, we thought, a truly
+ complete system ought to have.
+ Today, hardly any Unix components are left in the GNU task list--those
+ jobs have been done, aside from a few inessential ones. But the list is
+ full of projects that some might call "applications". Any program that
+ appeals to more than a narrow class of users would be a useful thing to
+ add to an operating system.
+ Even games are included in the task list--and have been since the
+ beginning. Unix included games, so naturally GNU should too. But
+ compatibility was not an issue for games, so we did not follow the list
+ of games that Unix had. Instead, we listed a spectrum of different
+ kinds of games that users might like.
+ The GNU Library GPL
+ The GNU C library uses a special kind of copyleft called the GNU
+ Library General Public License(1), which gives permission to link
+ proprietary software with the library. Why make this exception?
+ It is not a matter of principle; there is no principle that says
+ proprietary software products are entitled to include our code. (Why
+ contribute to a project predicated on refusing to share with us?) Using
+ the LGPL for the C library, or for any library, is a matter of
+ The C library does a generic job; every proprietary system or compiler
+ comes with a C library. Therefore, to make our C library available only
+ to free software would not have given free software any advantage--it
+ would only have discouraged use of our library.
+ One system is an exception to this: on the GNU system (and this
+ includes GNU/Linux), the GNU C library is the only C library. So the
+ distribution terms of the GNU C library determine whether it is
+ possible to compile a proprietary program for the GNU system. There is
+ no ethical reason to allow proprietary applications on the GNU system,
+ but strategically it seems that disallowing them would do more to
+ discourage use of the GNU system than to encourage development of free
+ That is why using the Library GPL is a good strategy for the C library.
+ For other libraries, the strategic decision needs to be considered on a
+ case-by-case basis. When a library does a special job that can help
+ write certain kinds of programs, then releasing it under the GPL,
+ limiting it to free programs only, is a way of helping other free
+ software developers, giving them an advantage against proprietary
+ Consider GNU Readline, a library that was developed to provide
+ command-line editing for BASH. Readline is released under the ordinary
+ GNU GPL, not the Library GPL. This probably does reduce the amount
+ Readline is used, but that is no loss for us. Meanwhile, at least one
+ useful application has been made free software specifically so it could
+ use Readline, and that is a real gain for the community.
+ Proprietary software developers have the advantages money provides;
+ free software developers need to make advantages for each other. I hope
+ some day we will have a large collection of GPL-covered libraries that
+ have no parallel available to proprietary software, providing useful
+ modules to serve as building blocks in new free software, and adding up
+ to a major advantage for further free software development.
+ (1) This license is now called the GNU Lesser General Public License,
+ to avoid giving the idea that all libraries ought to use it.
+ See http://www.gnu.org/philosophy/why-not-lgpl.html.
+ Scratching an itch?
+ Eric Raymond says that "Every good work of software starts by
+ scratching a developer's personal itch." Maybe that happens sometimes,
+ but many essential pieces of GNU software were developed in order to
+ have a complete free operating system. They come from a vision and a
+ plan, not from impulse.
+ For example, we developed the GNU C library because a Unix-like system
+ needs a C library, the Bourne-Again Shell (bash) because a Unix-like
+ system needs a shell, and GNU tar because a Unix-like system needs a
+ tar program. The same is true for my own programs--the GNU C compiler,
+ GNU Emacs, GDB and GNU Make.
+ Some GNU programs were developed to cope with specific threats to our
+ freedom. Thus, we developed gzip to replace the Compress program, which
+ had been lost to the community because of the LZW patents. We found
+ people to develop LessTif, and more recently started GNOME and Harmony,
+ to address the problems caused by certain proprietary libraries (see
+ below). We are developing the GNU Privacy Guard to replace popular
+ non-free encryption software, because users should not have to choose
+ between privacy and freedom.
+ Of course, the people writing these programs became interested in the
+ work, and many features were added to them by various people for the
+ sake of their own needs and interests. But that is not why the programs
+ Unexpected developments
+ At the beginning of the GNU project, I imagined that we would develop
+ the whole GNU system, then release it as a whole. That is not how it
+ Since each component of the GNU system was implemented on a Unix
+ system, each component could run on Unix systems, long before a
+ complete GNU system existed. Some of these programs became popular, and
+ users began extending them and porting them---to the various
+ incompatible versions of Unix, and sometimes to other systems as well.
+ The process made these programs much more powerful, and attracted both
+ funds and contributors to the GNU project. But it probably also delayed
+ completion of a minimal working system by several years, as GNU
+ developers' time was put into maintaining these ports and adding
+ features to the existing components, rather than moving on to write one
+ missing component after another.
+ The GNU Hurd
+ By 1990, the GNU system was almost complete; the only major missing
+ component was the kernel. We had decided to implement our kernel as a
+ collection of server processes running on top of Mach. Mach is a
+ microkernel developed at Carnegie Mellon University and then at the
+ University of Utah; the GNU HURD is a collection of servers (or ``herd
+ of gnus'') that run on top of Mach, and do the various jobs of the Unix
+ kernel. The start of development was delayed as we waited for Mach to
+ be released as free software, as had been promised.
+ One reason for choosing this design was to avoid what seemed to be the
+ hardest part of the job: debugging a kernel program without a
+ source-level debugger to do it with. This part of the job had been done
+ already, in Mach, and we expected to debug the HURD servers as user
+ programs, with GDB. But it took a long time to make that possible, and
+ the multi-threaded servers that send messages to each other have turned
+ out to be very hard to debug. Making the HURD work solidly has
+ stretched on for many years.
+ The GNU kernel was not originally supposed to be called the HURD. Its
+ original name was Alix--named after the woman who was my sweetheart at
+ the time. She, a Unix system administrator, had pointed out how her
+ name would fit a common naming pattern for Unix system versions; as a
+ joke, she told her friends, "Someone should name a kernel after me." I
+ said nothing, but decided to surprise her with a kernel named Alix.
+ It did not stay that way. Michael Bushnell (now Thomas), the main
+ developer of the kernel, preferred the name HURD, and redefined Alix to
+ refer to a certain part of the kernel--the part that would trap system
+ calls and handle them by sending messages to HURD servers.
+ Ultimately, Alix and I broke up, and she changed her name;
+ independently, the HURD design was changed so that the C library would
+ send messages directly to servers, and this made the Alix component
+ disappear from the design.
+ But before these things happened, a friend of hers came across the name
+ Alix in the HURD source code, and mentioned the name to her. So the
+ name did its job.
+ Linux and GNU/Linux
+ The GNU Hurd is not ready for production use. Fortunately, another
+ kernel is available. In 1991, Linus Torvalds developed a
+ Unix-compatible kernel and called it Linux. Around 1992, combining
+ Linux with the not-quite-complete GNU system resulted in a complete
+ free operating system. (Combining them was a substantial job in itself,
+ of course.) It is due to Linux that we can actually run a version of
+ the GNU system today.
+ We call this system version GNU/Linux, to express its composition as a
+ combination of the GNU system with Linux as the kernel.
+ Challenges in our future
+ We have proved our ability to develop a broad spectrum of free
+ software. This does not mean we are invincible and unstoppable. Several
+ challenges make the future of free software uncertain; meeting them
+ will require steadfast effort and endurance, sometimes lasting for
+ years. It will require the kind of determination that people display
+ when they value their freedom and will not let anyone take it away.
+ The following four sections discuss these challenges.
+ Secret hardware
+ Hardware manufacturers increasingly tend to keep hardware
+ specifications secret. This makes it difficult to write free drivers so
+ that Linux and XFree86 can support new hardware. We have complete free
+ systems today, but we will not have them tomorrow if we cannot support
+ tomorrow's computers.
+ There are two ways to cope with this problem. Programmers can do
+ reverse engineering to figure out how to support the hardware. The rest
+ of us can choose the hardware that is supported by free software; as
+ our numbers increase, secrecy of specifications will become a
+ self-defeating policy.
+ Reverse engineering is a big job; will we have programmers with
+ sufficient determination to undertake it? Yes--if we have built up a
+ strong feeling that free software is a matter of principle, and
+ non-free drivers are intolerable. And will large numbers of us spend
+ extra money, or even a little extra time, so we can use free drivers?
+ Yes, if the determination to have freedom is widespread.
+ Non-free libraries
+ A non-free library that runs on free operating systems acts as a trap
+ for free software developers. The library's attractive features are the
+ bait; if you use the library, you fall into the trap, because your
+ program cannot usefully be part of a free operating system. (Strictly
+ speaking, we could include your program, but it won't run with the
+ library missing.) Even worse, if a program that uses the proprietary
+ library becomes popular, it can lure other unsuspecting programmers
+ into the trap.
+ The first instance of this problem was the Motif toolkit, back in the
+ 80s. Although there were as yet no free operating systems, it was clear
+ what problem Motif would cause for them later on. The GNU Project
+ responded in two ways: by asking individual free software projects to
+ support the free X toolkit widgets as well as Motif, and by asking for
+ someone to write a free replacement for Motif. The job took many years;
+ LessTif, developed by the Hungry Programmers, became powerful enough to
+ support most Motif applications only in 1997.
+ Between 1996 and 1998, another non-free GUI toolkit library, called Qt,
+ was used in a substantial collection of free software, the desktop KDE.
+ Free GNU/Linux systems were unable to use KDE, because we could not use
+ the library. However, some commercial distributors of GNU/Linux systems
+ who were not strict about sticking with free software added KDE to
+ their systems--producing a system with more capabilities, but less
+ freedom. The KDE group was actively encouraging more programmers to use
+ Qt, and millions of new "Linux users" had never been exposed to the
+ idea that there was a problem in this. The situation appeared grim.
+ The free software community responded to the problem in two ways: GNOME
+ and Harmony.
+ GNOME, the GNU Network Object Model Environment, is GNU's desktop
+ project. Started in 1997 by Miguel de Icaza, and developed with the
+ support of Red Hat Software, GNOME set out to provide similar desktop
+ facilities, but using free software exclusively. It has technical
+ advantages as well, such as supporting a variety of languages, not just
+ C++. But its main purpose was freedom: not to require the use of any
+ non-free software.
+ Harmony is a compatible replacement library, designed to make it
+ possible to run KDE software without using Qt.
+ In November 1998, the developers of Qt announced a change of license
+ which, when carried out, should make Qt free software. There is no way
+ to be sure, but I think that this was partly due to the community's
+ firm response to the problem that Qt posed when it was non-free. (The
+ new license is inconvenient and inequitable, so it remains desirable to
+ avoid using Qt.)
+ [Subsequent note: in September 2000, Qt was rereleased under the GNU
+ GPL, which essentially solved this problem.]
+ How will we respond to the next tempting non-free library? Will the
+ whole community understand the need to stay out of the trap? Or will
+ many of us give up freedom for convenience, and produce a major
+ problem? Our future depends on our philosophy.
+ Software patents
+ The worst threat we face comes from software patents, which can put
+ algorithms and features off limits to free software for up to twenty
+ years. The LZW compression algorithm patents were applied for in 1983,
+ and we still cannot release free software to produce proper compressed
+ GIFs. In 1998, a free program to produce MP3 compressed audio was
+ removed from distribution under threat of a patent suit.
+ There are ways to cope with patents: we can search for evidence that a
+ patent is invalid, and we can look for alternative ways to do a job.
+ But each of these methods works only sometimes; when both fail, a
+ patent may force all free software to lack some feature that users
+ want. What will we do when this happens?
+ Those of us who value free software for freedom's sake will stay with
+ free software anyway. We will manage to get work done without the
+ patented features. But those who value free software because they
+ expect it to be technically superior are likely to call it a failure
+ when a patent holds it back. Thus, while it is useful to talk about the
+ practical effectiveness of the "cathedral" model of development (1),
+ and the reliability and power of some free software, we must not stop
+ there. We must talk about freedom and principle.
+ (1) It would have been clearer to write `of the "bazaar" model', since
+ that was the alternative that was new and initially controversial.
+ Free documentation
+ The biggest deficiency in our free operating systems is not in the
+ software--it is the lack of good free manuals that we can include in
+ our systems. Documentation is an essential part of any software
+ package; when an important free software package does not come with a
+ good free manual, that is a major gap. We have many such gaps today.
+ Free documentation, like free software, is a matter of freedom, not
+ price. The criterion for a free manual is pretty much the same as for
+ free software: it is a matter of giving all users certain freedoms.
+ Redistribution (including commercial sale) must be permitted, on-line
+ and on paper, so that the manual can accompany every copy of the
+ Permission for modification is crucial too. As a general rule, I don't
+ believe that it is essential for people to have permission to modify
+ all sorts of articles and books. For example, I don't think you or I
+ are obliged to give permission to modify articles like this one, which
+ describe our actions and our views.
+ But there is a particular reason why the freedom to modify is crucial
+ for documentation for free software. When people exercise their right
+ to modify the software, and add or change its features, if they are
+ conscientious they will change the manual too--so they can provide
+ accurate and usable documentation with the modified program. A manual
+ which does not allow programmers to be conscientious and finish the
+ job, does not fill our community's needs.
+ Some kinds of limits on how modifications are done pose no problem. For
+ example, requirements to preserve the original author's copyright
+ notice, the distribution terms, or the list of authors, are ok. It is
+ also no problem to require modified versions to include notice that
+ they were modified, even to have entire sections that may not be
+ deleted or changed, as long as these sections deal with nontechnical
+ topics. These kinds of restrictions are not a problem because they
+ don't stop the conscientious programmer from adapting the manual to fit
+ the modified program. In other words, they don't block the free
+ software community from making full use of the manual.
+ However, it must be possible to modify all the *technical* content of
+ the manual, and then distribute the result in all the usual media,
+ through all the usual channels; otherwise, the restrictions do obstruct
+ the community, the manual is not free, and we need another manual.
+ Will free software developers have the awareness and determination to
+ produce a full spectrum of free manuals? Once again, our future depends
+ on philosophy.
+ We must talk about freedom
+ Estimates today are that there are ten million users of GNU/Linux
+ systems such as Debian GNU/Linux and Red Hat Linux. Free software has
+ developed such practical advantages that users are flocking to it for
+ purely practical reasons.
+ The good consequences of this are evident: more interest in developing
+ free software, more customers for free software businesses, and more
+ ability to encourage companies to develop commercial free software
+ instead of proprietary software products.
+ But interest in the software is growing faster than awareness of the
+ philosophy it is based on, and this leads to trouble. Our ability to
+ meet the challenges and threats described above depends on the will to
+ stand firm for freedom. To make sure our community has this will, we
+ need to spread the idea to the new users as they come into the
+ But we are failing to do so: the efforts to attract new users into our
+ community are far outstripping the efforts to teach them the civics of
+ our community. We need to do both, and we need to keep the two efforts
+ in balance.
+ "Open Source"
+ Teaching new users about freedom became more difficult in 1998, when a
+ part of the community decided to stop using the term "free software"
+ and say "open source software" instead.
+ Some who favored this term aimed to avoid the confusion of "free" with
+ "gratis"--a valid goal. Others, however, aimed to set aside the spirit
+ of principle that had motivated the free software movement and the GNU
+ project, and to appeal instead to executives and business users, many
+ of whom hold an ideology that places profit above freedom, above
+ community, above principle. Thus, the rhetoric of "open source" focuses
+ on the potential to make high quality, powerful software, but shuns the
+ ideas of freedom, community, and principle.
+ The "Linux" magazines are a clear example of this--they are filled with
+ advertisements for proprietary software that works with GNU/Linux. When
+ the next Motif or Qt appears, will these magazines warn programmers to
+ stay away from it, or will they run ads for it?
+ The support of business can contribute to the community in many ways;
+ all else being equal, it is useful. But winning their support by
+ speaking even less about freedom and principle can be disastrous; it
+ makes the previous imbalance between outreach and civics education even
+ "Free software" and "open source" describe the same category of
+ software, more or less, but say different things about the software,
+ and about values. The GNU Project continues to use the term "free
+ software", to express the idea that freedom, not just technology, is
+ Yoda's philosophy ("There is no `try'") sounds neat, but it doesn't
+ work for me. I have done most of my work while anxious about whether I
+ could do the job, and unsure that it would be enough to achieve the
+ goal if I did. But I tried anyway, because there was no one but me
+ between the enemy and my city. Surprising myself, I have sometimes
+ Sometimes I failed; some of my cities have fallen. Then I found another
+ threatened city, and got ready for another battle. Over time, I've
+ learned to look for threats and put myself between them and my city,
+ calling on other hackers to come and join me.
+ Nowadays, often I'm not the only one. It is a relief and a joy when I
+ see a regiment of hackers digging in to hold the line, and I realize,
+ this city may survive--for now. But the dangers are greater each year,
+ and now Microsoft has explicitly targeted our community. We can't take
+ the future of freedom for granted. Don't take it for granted! If you
+ want to keep your freedom, you must be prepared to defend it.
+ Copyright (C) 1998 Richard Stallman
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
=== added file 'doc/GNU/WHY-FREE'
--- a/doc/GNU/WHY-FREE 1970-01-01 00:00:00 +0000
+++ b/doc/GNU/WHY-FREE 2013-01-06 11:03:00 +0000
@@ -0,0 +1,244 @@
+ Why Software Should Not Have Owners
+ by Richard Stallman
+Digital information technology contributes to the world by making it
+easier to copy and modify information. Computers promise to make this
+easier for all of us.
+Not everyone wants it to be easier. The system of copyright gives
+software programs "owners", most of whom aim to withhold software's
+potential benefit from the rest of the public. They would like to be
+the only ones who can copy and modify the software that we use.
+The copyright system grew up with printing--a technology for mass
+production copying. Copyright fit in well with this technology
+because it restricted only the mass producers of copies. It did not
+take freedom away from readers of books. An ordinary reader, who did
+not own a printing press, could copy books only with pen and ink, and
+few readers were sued for that.
+Digital technology is more flexible than the printing press: when
+information has digital form, you can easily copy it to share it with
+others. This very flexibility makes a bad fit with a system like
+copyright. That's the reason for the increasingly nasty and draconian
+measures now used to enforce software copyright. Consider these four
+practices of the Software Publishers Association (SPA):
+* Massive propaganda saying it is wrong to disobey the owners
+to help your friend.
+* Solicitation for stool pigeons to inform on their coworkers and
+* Raids (with police help) on offices and schools, in which people are
+told they must prove they are innocent of illegal copying.
+* Prosecution (by the US government, at the SPA's request) of people
+such as MIT's David LaMacchia, not for copying software (he is not
+accused of copying any), but merely for leaving copying facilities
+unguarded and failing to censor their use.
+All four practices resemble those used in the former Soviet Union,
+where every copying machine had a guard to prevent forbidden copying,
+and where individuals had to copy information secretly and pass it
+from hand to hand as "samizdat". There is of course a difference: the
+motive for information control in the Soviet Union was political; in
+the US the motive is profit. But it is the actions that affect us,
+not the motive. Any attempt to block the sharing of information, no
+matter why, leads to the same methods and the same harshness.
+Owners make several kinds of arguments for giving them the power
+to control how we use information:
+* Name calling.
+Owners use smear words such as "piracy" and "theft", as well as expert
+terminology such as "intellectual property" and "damage", to suggest a
+certain line of thinking to the public--a simplistic analogy between
+programs and physical objects.
+Our ideas and intuitions about property for material objects are about
+whether it is right to *take an object away* from someone else. They
+don't directly apply to *making a copy* of something. But the owners
+ask us to apply them anyway.
+Owners say that they suffer "harm" or "economic loss" when users copy
+programs themselves. But the copying has no direct effect on the
+owner, and it harms no one. The owner can lose only if the person who
+made the copy would otherwise have paid for one from the owner.
+A little thought shows that most such people would not have bought
+copies. Yet the owners compute their "losses" as if each and every
+one would have bought a copy. That is exaggeration--to put it kindly.
+* The law.
+Owners often describe the current state of the law, and the harsh
+penalties they can threaten us with. Implicit in this approach is the
+suggestion that today's law reflects an unquestionable view of
+morality--yet at the same time, we are urged to regard these penalties
+as facts of nature that can't be blamed on anyone.
+This line of persuasion isn't designed to stand up to critical
+thinking; it's intended to reinforce a habitual mental pathway.
+It's elemental that laws don't decide right and wrong. Every American
+should know that, forty years ago, it was against the law in many
+states for a black person to sit in the front of a bus; but only
+racists would say sitting there was wrong.
+* Natural rights.
+Authors often claim a special connection with programs they have
+written, and go on to assert that, as a result, their desires and
+interests concerning the program simply outweigh those of anyone
+else--or even those of the whole rest of the world. (Typically
+companies, not authors, hold the copyrights on software, but we are
+expected to ignore this discrepancy.)
+To those who propose this as an ethical axiom--the author is more
+important than you--I can only say that I, a notable software author
+myself, call it bunk.
+But people in general are only likely to feel any sympathy with the
+natural rights claims for two reasons.
+One reason is an overstretched analogy with material objects. When I
+cook spaghetti, I do object if someone else takes it and stops me from
+eating it. In this case, that person and I have the same material
+interests at stake, and it's a zero-sum game. The smallest
+distinction between us is enough to tip the ethical balance.
+But whether you run or change a program I wrote affects you directly
+and me only indirectly. Whether you give a copy to your friend
+affects you and your friend much more than it affects me. I shouldn't
+have the power to tell you not to do these things. No one should.
+The second reason is that people have been told that natural rights
+for authors is the accepted and unquestioned tradition of our society.
+As a matter of history, the opposite is true. The idea of natural
+rights of authors was proposed and decisively rejected when the US
+Constitution was drawn up. That's why the Constitution only *permits*
+a system of copyright and does not *require* one; that's why it says
+that copyright must be temporary. It also states that the purpose of
+copyright is to promote progress--not to reward authors. Copyright
+does reward authors somewhat, and publishers more, but that is
+intended as a means of modifying their behavior.
+The real established tradition of our society is that copyright cuts
+into the natural rights of the public--and that this can only be
+justified for the public's sake.
+The final argument made for having owners of software is that this
+leads to production of more software.
+Unlike the others, this argument at least takes a legitimate approach
+to the subject. It is based on a valid goal--satisfying the users of
+software. And it is empirically clear that people will produce more of
+something if they are well paid for doing so.
+But the economic argument has a flaw: it is based on the assumption
+that the difference is only a matter of how much money we have to pay.
+It assumes that "production of software" is what we want, whether the
+software has owners or not.
+People readily accept this assumption because it accords with our
+experiences with material objects. Consider a sandwich, for instance.
+You might well be able to get an equivalent sandwich either free or
+for a price. If so, the amount you pay is the only difference.
+Whether or not you have to buy it, the sandwich has the same taste,
+the same nutritional value, and in either case you can only eat it
+once. Whether you get the sandwich from an owner or not cannot
+directly affect anything but the amount of money you have afterwards.
+This is true for any kind of material object--whether or not it has an
+owner does not directly affect what it *is*, or what you can do with
+it if you acquire it.
+But if a program has an owner, this very much affects what it is, and
+what you can do with a copy if you buy one. The difference is not
+just a matter of money. The system of owners of software encourages
+software owners to produce something--but not what society really
+needs. And it causes intangible ethical pollution that affects us
+What does society need? It needs information that is truly available
+to its citizens--for example, programs that people can read, fix,
+adapt, and improve, not just operate. But what software owners
+typically deliver is a black box that we can't study or change.
+Society also needs freedom. When a program has an owner, the users
+lose freedom to control part of their own lives.
+And above all society needs to encourage the spirit of voluntary
+cooperation in its citizens. When software owners tell us that
+helping our neighbors in a natural way is "piracy", they pollute our
+society's civic spirit.
+This is why we say that free software is a matter of freedom, not
+The economic argument for owners is erroneous, but the economic issue
+is real. Some people write useful software for the pleasure of
+writing it or for admiration and love; but if we want more software
+than those people write, we need to raise funds.
+For ten years now, free software developers have tried various methods
+of finding funds, with some success. There's no need to make anyone
+rich; the median US family income, around $35k, proves to be enough
+incentive for many jobs that are less satisfying than programming.
+For years, until a fellowship made it unnecessary, I made a living
+from custom enhancements of the free software I had written. Each
+enhancement was added to the standard released version and thus
+eventually became available to the general public. Clients paid me so
+that I would work on the enhancements they wanted, rather than on the
+features I would otherwise have considered highest priority.
+The Free Software Foundation, a tax-exempt charity for free software
+development, raises funds by selling CD-ROMs, tapes and manuals (all
+of which users are free to copy and change), as well as from
+donations. It now has a staff of five programmers, plus three
+employees who handle mail orders.
+Some free software developers make money by selling support services.
+Cygnus Support, with around 50 employees, estimates that about 15 per
+cent of its staff activity is free software development--a respectable
+percentage for a software company.
+Companies including Intel, Motorola, Texas Instruments and Analog
+Devices have combined to fund the continued development of the free
+GNU compiler for the language C. Meanwhile, the GNU compiler for the
+Ada language is being funded by the US Air Force, which believes this
+is the most cost-effective way to get a high quality compiler.
+All these examples are small; the free software movement is still
+small, and still young. But the example of listener-supported radio
+in this country shows it's possible to support a large activity
+without forcing each user to pay.
+As a computer user today, you may find yourself using a proprietary
+program. If your friend asks to make a copy, it would be wrong to
+refuse. Cooperation is more important than copyright. But
+underground, closet cooperation does not make for a good society. A
+person should aspire to live an upright life openly with pride, and
+this means saying "No" to proprietary software.
+You deserve to be able to cooperate openly and freely with other
+people who use software. You deserve to be able to learn how the
+software works, and to teach your students with it. You deserve to be
+able to hire your favorite programmer to fix it when it breaks.
+You deserve free software.
+Copyright 1994 Richard Stallman
+Verbatim copying and redistribution is permitted
+without royalty as long as this notice is preserved;
+alteration is not permitted.
|[Prev in Thread]
||[Next in Thread]|
- [Gsrc-commit] /srv/bzr/gsrc/trunk r1561: add some GNU documentation,
Brandon Invergo <=