Make some files in etc obsolete
These are old copies of online information that is not Emacs-specific. * etc/CENSORSHIP, etc/GNU, etc/LINUX-GNU, etc/THE-GNU-PROJECT, etc/WHY-FREE: Replace contents with pointers to www.gnu.org or emacs.info, mark obsolete. * src/callproc.c (init_callproc): In etc, look for NEWS rather than GNU. * lisp/startup.el (fancy-startup-text): * lisp/help.el (describe-gnu-project): Visit online info about GNU project. * doc/emacs/help.texi (Help Files): Update C-h g description. * doc/misc/efaq.texi (Informational files for Emacs): Do not mention etc/GNU. * admin/notes/copyright: Remove references to these files. * etc/MACHINES, etc/NEWS.19: Replace references to these files.
This commit is contained in:
parent
10211d43fa
commit
00156f9549
18 changed files with 60 additions and 1934 deletions
|
@ -161,13 +161,6 @@ etc/letter.pbm,letter.xpm
|
|||
etc/FTP, ORDERS
|
||||
- trivial (at time of writing), no license needed
|
||||
|
||||
etc/GNU, INTERVIEW, LINUX-GNU, MOTIVATION, SERVICE, THE-GNU-PROJECT,
|
||||
WHY-FREE
|
||||
rms: "These are statements of opinion or testimony. Their licenses
|
||||
should permit verbatim copying only. Please don't change the
|
||||
licenses that they have. They are distributed with Emacs but they
|
||||
are not part of Emacs."
|
||||
|
||||
etc/HELLO
|
||||
standard notices. Just a note that although the file itself is not
|
||||
really copyrightable, in the wider context of it being part of
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2014-03-22 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* help.texi (Help Files): Update C-h g description.
|
||||
|
||||
2014-03-16 Dmitry Gutov <dgutov@yandex.ru>
|
||||
|
||||
* programs.texi (Matching): Update the missed spot. (Bug#17008)
|
||||
|
|
|
@ -605,7 +605,8 @@ Display information about where to get external packages
|
|||
@item C-h C-f
|
||||
Display the Emacs frequently-answered-questions list (@code{view-emacs-FAQ}).
|
||||
@item C-h g
|
||||
Display information about the GNU Project (@code{describe-gnu-project}).
|
||||
Visit a @uref{http://www.gnu.org} page with information about the GNU
|
||||
Project (@code{describe-gnu-project}).
|
||||
@item C-h C-m
|
||||
Display information about ordering printed copies of Emacs manuals
|
||||
(@code{view-order-manuals}).
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2014-03-22 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* efaq.texi (Informational files for Emacs): Do not mention etc/GNU.
|
||||
|
||||
2014-03-21 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* ede.texi (ede-linux):
|
||||
|
|
|
@ -883,9 +883,6 @@ GNU General Public License
|
|||
@item DISTRIB
|
||||
Emacs Availability Information
|
||||
|
||||
@item GNU
|
||||
The GNU Manifesto
|
||||
|
||||
@item MACHINES
|
||||
Status of Emacs on Various Machines and Systems
|
||||
|
||||
|
|
|
@ -1,87 +1,8 @@
|
|||
Censoring my Software
|
||||
Richard Stallman
|
||||
[From Datamation, 1 March 1996]
|
||||
Censoring my Software
|
||||
|
||||
Note added March 2014:
|
||||
|
||||
Last summer, a few clever legislators proposed a bill to "prohibit
|
||||
pornography" on the Internet. Last fall, right-wing Christians made
|
||||
this cause their own. Last week, President Clinton signed the bill,
|
||||
and we lost the freedom of the press for the public library of the
|
||||
future. This week, I'm censoring GNU Emacs.
|
||||
This file is obsolete and will be removed in future.
|
||||
Please update any references to use
|
||||
|
||||
No, GNU Emacs does not contain pornography. It is a software package,
|
||||
an award-winning extensible and programmable text editor. But the law
|
||||
that was passed applies to far more than pornography. It prohibits
|
||||
"indecent" speech, which can include anything from famous poems, to
|
||||
masterpieces hanging in the Louvre, to advice about safe sex...to
|
||||
software.
|
||||
|
||||
Naturally, there was a lot of opposition to this bill. Not only from
|
||||
people who use the Internet, and people who appreciate erotica, but
|
||||
from everyone who cares about freedom of the press.
|
||||
|
||||
But every time we tried to tell the public what was at stake, the
|
||||
forces of censorship responded with a lie: they told the public that
|
||||
the issue was simply pornography. By embedding this lie as a
|
||||
presupposition in their statements about the issue, they succeeded in
|
||||
misinforming the public. So here I am, censoring my software.
|
||||
|
||||
You see, Emacs contains a version of the famous "doctor program",
|
||||
a.k.a. Eliza, originally developed by Professor Weizenbaum at MIT.
|
||||
This is the program that imitates a Rogerian psychotherapist. The
|
||||
user talks to the program, and the program responds--by playing back
|
||||
the user's own statements, and by recognizing a long list of
|
||||
particular words.
|
||||
|
||||
The Emacs doctor program was set up to recognize many common curse
|
||||
words, and respond with an appropriately cute message such as, "Would
|
||||
you please watch your tongue?" or "Let's not be vulgar." In order to
|
||||
do this, it had to have a list of curse words. That means the source
|
||||
code for the program was indecent.
|
||||
|
||||
Because of the censorship law, I had to remove this feature. (I
|
||||
replaced it with a message announcing that the program has been
|
||||
censored for your protection.) The new version of the doctor doesn't
|
||||
recognize the indecent words. If you curse at it, it curses right
|
||||
back to you--for lack of knowing better.
|
||||
|
||||
Now that people are facing the threat of two years in prison for
|
||||
indecent network postings, it would be helpful if they could access
|
||||
precise rules via the Internet for how to avoid imprisonment.
|
||||
However, this is impossible. The rules would have to mention the
|
||||
forbidden words, so posting them on the Internet would be against the
|
||||
rules.
|
||||
|
||||
Of course, I'm making an assumption about just what "indecent" means.
|
||||
I have to do this, because nobody knows for sure. The most obvious
|
||||
possible meaning is the meaning it has for television, so I'm using
|
||||
that as a tentative assumption. However, there is a good chance that
|
||||
our courts will reject that interpretation of the law as
|
||||
unconstitutional.
|
||||
|
||||
We can hope that the courts will recognize the Internet as a medium of
|
||||
publication like books and magazines. If they do, they will entirely
|
||||
reject any law prohibiting "indecent" publications on the Internet.
|
||||
|
||||
What really worries me is that the courts might take a muddled
|
||||
in-between escape route--by choosing another interpretation of
|
||||
"indecent", one that permits the doctor program or a statement of the
|
||||
decency rules, but prohibits some of the books that children can
|
||||
browse through in the public library and the bookstore. Over the
|
||||
years, as the Internet replaces the public library and the bookstore,
|
||||
some of our freedom of the press will be lost.
|
||||
|
||||
Just a few weeks ago, another country imposed censorship on the
|
||||
Internet. That was China. We don't think well of China in this
|
||||
country--its government doesn't respect basic freedoms. But how well
|
||||
does our government respect them? And do you care enough to preserve
|
||||
them here?
|
||||
|
||||
If you care, stay in touch with the Voters Telecommunications Watch.
|
||||
Look in their Web site http://www.vtw.org/ for background information
|
||||
and political action recommendations. Censorship won in February, but
|
||||
we can beat it in November.
|
||||
|
||||
Copyright 1996 Richard Stallman
|
||||
Verbatim copying and distribution is permitted in any medium
|
||||
provided this notice is preserved.
|
||||
<http://www.gnu.org/philosophy/censoring-emacs.html>
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2014-03-22 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* CENSORSHIP, GNU, LINUX-GNU, THE-GNU-PROJECT, WHY-FREE: Replace
|
||||
contents with pointers to www.gnu.org or emacs.info, mark obsolete.
|
||||
|
||||
2014-03-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
|
||||
|
||||
* tutorials/TUTORIAL.de: Adapt to recent changes in TUTORIAL.
|
||||
|
|
546
etc/GNU
546
etc/GNU
|
@ -1,544 +1,8 @@
|
|||
Copyright (C) 1985, 1993, 2001-2014 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
|
||||
notice.
|
||||
|
||||
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.
|
||||
Note added March 2014:
|
||||
|
||||
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
|
||||
greatly needed.
|
||||
|
||||
So far we have an Emacs text editor with Lisp for writing editor
|
||||
commands, a source level debugger, a yacc-compatible parser generator,
|
||||
a linker, and around 35 utilities. A shell (command interpreter) is
|
||||
nearly completed. A new portable optimizing C compiler has compiled
|
||||
itself and may be released this year. An initial kernel exists but
|
||||
many more features are needed to emulate Unix. When the kernel and
|
||||
compiler are finished, it will be possible to distribute a GNU system
|
||||
suitable for program development. We will use TeX as our text
|
||||
formatter, but an nroff is being worked on. We will use the free,
|
||||
portable X window system as well. After this we will add a portable
|
||||
Common Lisp, an Empire game, a spreadsheet, and hundreds of other
|
||||
things, plus on-line documentation. We hope to supply, eventually,
|
||||
everything useful that normally comes with a Unix system, and more.
|
||||
|
||||
GNU will be able to run Unix programs, but will not be identical to
|
||||
Unix. We will make all improvements that are convenient, based on our
|
||||
experience with other operating systems. In particular, we plan to
|
||||
have longer 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
|
||||
communication.
|
||||
|
||||
GNU is aimed initially at machines in the 68000/16000 class with
|
||||
virtual memory, because they are the easiest machines to make it run
|
||||
on. The extra effort to make it run on smaller machines will be left
|
||||
to someone who wants to use it on them.
|
||||
|
||||
To avoid horrible confusion, please pronounce the `G' in the word
|
||||
`GNU' when it is the name of this project.
|
||||
|
||||
Why I Must Write GNU
|
||||
====================
|
||||
|
||||
I consider that the golden rule requires that if I like a program I
|
||||
must share it with other people who like it. Software sellers want to
|
||||
divide the users and conquer them, making each user agree not to share
|
||||
with others. I refuse to break solidarity with other users in this
|
||||
way. I cannot in good conscience sign a nondisclosure agreement or a
|
||||
software license agreement. For years I worked within the Artificial
|
||||
Intelligence Lab to resist such tendencies and other inhospitalities,
|
||||
but eventually they had gone too far: I could not remain in an
|
||||
institution where such things are done for me against my will.
|
||||
|
||||
So that I can continue to use computers without dishonor, I have
|
||||
decided to put together a sufficient body of free software so that I
|
||||
will be able to get along without any software that is not free. I
|
||||
have resigned from the AI lab to deny MIT any legal excuse to prevent
|
||||
me from giving GNU away.
|
||||
|
||||
Why GNU Will Be Compatible with Unix
|
||||
====================================
|
||||
|
||||
Unix is not my ideal system, but it is not too bad. The essential
|
||||
features of Unix seem to be good ones, and I think I can fill in what
|
||||
Unix lacks without spoiling them. And a system compatible with Unix
|
||||
would be convenient for many other people to adopt.
|
||||
|
||||
How GNU Will Be Available
|
||||
=========================
|
||||
|
||||
GNU is not in the public domain. Everyone will be permitted to
|
||||
modify and redistribute GNU, but no distributor will be allowed to
|
||||
restrict its further redistribution. That is to say, proprietary
|
||||
modifications will not be allowed. I want to make sure that all
|
||||
versions of GNU remain free.
|
||||
|
||||
Why Many Other Programmers Want to Help
|
||||
=======================================
|
||||
|
||||
I have found many other programmers who are excited about GNU and
|
||||
want to help.
|
||||
|
||||
Many programmers are unhappy about the commercialization of system
|
||||
software. It may enable them to make more money, but it requires them
|
||||
to feel in conflict with other programmers in general rather than feel
|
||||
as comrades. The fundamental act of friendship among programmers is the
|
||||
sharing of programs; marketing arrangements now typically used
|
||||
essentially forbid programmers to treat others as friends. The
|
||||
purchaser of software must choose between friendship and obeying the
|
||||
law. Naturally, many decide that friendship is more important. But
|
||||
those who believe in law often do not feel at ease with either choice.
|
||||
They become cynical and think that programming is just a way of making
|
||||
money.
|
||||
|
||||
By working on and using GNU rather than proprietary programs, we can
|
||||
be hospitable to everyone and obey the law. In addition, GNU serves as
|
||||
an example to inspire and a banner to rally others to join us in
|
||||
sharing. This can give us a feeling of harmony which is impossible if
|
||||
we use software that is not free. For about half the programmers I
|
||||
talk to, this is an important happiness that money cannot replace.
|
||||
|
||||
How You Can Contribute
|
||||
======================
|
||||
|
||||
I am asking computer manufacturers for donations of machines and
|
||||
money. I'm asking individuals for donations of programs and work.
|
||||
|
||||
One consequence you can expect if you donate machines is that GNU
|
||||
will run on them at an early date. The machines should be complete,
|
||||
ready to use systems, approved for use in a residential area, and not
|
||||
in need of sophisticated cooling or power.
|
||||
|
||||
I have found very many programmers eager to contribute part-time
|
||||
work for GNU. For most projects, such part-time distributed work would
|
||||
be very hard to coordinate; the independently-written parts would not
|
||||
work together. But for the particular task of replacing Unix, this
|
||||
problem is absent. A complete Unix system contains hundreds of utility
|
||||
programs, each of which is documented separately. Most interface
|
||||
specifications are fixed by Unix compatibility. If each contributor
|
||||
can write a compatible replacement for a single Unix utility, and make
|
||||
it work properly in place of the original on a Unix system, then these
|
||||
utilities will work right when put together. Even allowing for Murphy
|
||||
to create a few unexpected problems, assembling these components will
|
||||
be a feasible task. (The kernel will require closer communication and
|
||||
will be worked on by a small, tight group.)
|
||||
|
||||
If I get donations of money, I may be able to hire a few people full
|
||||
or part time. The salary won't be high by programmers' standards, but
|
||||
I'm looking for people for whom building community spirit is as
|
||||
important as making money. I view this as a way of enabling dedicated
|
||||
people to devote their full energies to working on GNU by sparing them
|
||||
the need to make a living in another way.
|
||||
|
||||
Why All Computer Users Will Benefit
|
||||
===================================
|
||||
|
||||
Once GNU is written, everyone will be able to obtain good system
|
||||
software free, just like air.(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
|
||||
support."
|
||||
|
||||
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
|
||||
creativity?"
|
||||
|
||||
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
|
||||
creativity.
|
||||
|
||||
"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
|
||||
else.
|
||||
|
||||
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
|
||||
now.
|
||||
|
||||
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
|
||||
that.)
|
||||
|
||||
"Don't people have a right to control how their creativity is
|
||||
used?"
|
||||
|
||||
"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
|
||||
difficult.
|
||||
|
||||
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
|
||||
products.
|
||||
|
||||
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
|
||||
explanation.
|
||||
This file is obsolete and will be removed in future.
|
||||
Please update any references to use
|
||||
info node `(emacs)Manifesto'
|
||||
instead.
|
||||
|
|
149
etc/LINUX-GNU
149
etc/LINUX-GNU
|
@ -1,147 +1,8 @@
|
|||
Linux and the GNU system
|
||||
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.
|
||||
Note added March 2014:
|
||||
|
||||
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
|
||||
the idea.
|
||||
|
||||
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
|
||||
use GNU.
|
||||
|
||||
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
|
||||
them.
|
||||
|
||||
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
|
||||
of freedom.
|
||||
|
||||
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
|
||||
important?
|
||||
|
||||
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
|
||||
say.
|
||||
|
||||
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.
|
||||
This file is obsolete and will be removed in future.
|
||||
Please update any references to use
|
||||
|
||||
<http://www.gnu.org/gnu/linux-and-gnu.html>
|
||||
|
|
|
@ -39,8 +39,8 @@ the list at the end of this file.
|
|||
The GNU project wants users of GNU/Linux systems to be aware of how
|
||||
these systems relate to the GNU project, because that will help
|
||||
spread the GNU idea that software should be free--and thus encourage
|
||||
people to write more free software. See the file LINUX-GNU in this
|
||||
directory for more explanation.
|
||||
people to write more free software. For more information, see
|
||||
<http://www.gnu.org/gnu/linux-and-gnu.html>.
|
||||
|
||||
*** 64-bit GNU/Linux
|
||||
|
||||
|
|
|
@ -614,7 +614,7 @@ be different.
|
|||
It is generally recommended to use `system-configuration' rather
|
||||
than `system-type'.
|
||||
|
||||
See the file LINUX-GNU in this directory for more about this.
|
||||
See <http://www.gnu.org/gnu/linux-and-gnu.html> for more about this.
|
||||
|
||||
** The functions shell-command and dired-call-process
|
||||
now run file name handlers for default-directory, if it has them.
|
||||
|
|
|
@ -1,903 +1,8 @@
|
|||
The GNU Project
|
||||
The GNU Project
|
||||
|
||||
by Richard Stallman
|
||||
Note added March 2014:
|
||||
|
||||
originally published in the book "Open Sources"
|
||||
This file is obsolete and will be removed in future.
|
||||
Please update any references to use
|
||||
|
||||
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
|
||||
them."
|
||||
|
||||
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,
|
||||
http://www.gnu.org/philosophy/why-free.html.
|
||||
|
||||
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
|
||||
fee.
|
||||
* 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
|
||||
software.
|
||||
|
||||
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
|
||||
numerous.
|
||||
|
||||
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
|
||||
manuals.(2)
|
||||
|
||||
(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
|
||||
time.
|
||||
|
||||
(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"
|
||||
products.
|
||||
|
||||
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
|
||||
strategy.
|
||||
|
||||
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
|
||||
applications.
|
||||
|
||||
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
|
||||
software.
|
||||
|
||||
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
|
||||
exist.
|
||||
|
||||
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
|
||||
happened.
|
||||
|
||||
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.
|
||||
|
||||
Alix
|
||||
|
||||
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
|
||||
program.
|
||||
|
||||
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
|
||||
community.
|
||||
|
||||
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
|
||||
worse.
|
||||
|
||||
"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
|
||||
important.
|
||||
|
||||
Try!
|
||||
|
||||
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
|
||||
succeeded.
|
||||
|
||||
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.
|
||||
<http://www.gnu.org/gnu/thegnuproject.html>
|
||||
|
|
246
etc/WHY-FREE
246
etc/WHY-FREE
|
@ -1,244 +1,8 @@
|
|||
Why Software Should Not Have Owners
|
||||
Why Software Should Not Have Owners
|
||||
|
||||
by Richard Stallman
|
||||
Note added March 2014:
|
||||
|
||||
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.
|
||||
This file is obsolete and will be removed in future.
|
||||
Please update any references to use
|
||||
|
||||
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
|
||||
colleagues.
|
||||
|
||||
* 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.
|
||||
|
||||
* Exaggeration.
|
||||
|
||||
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.
|
||||
|
||||
* Economics.
|
||||
|
||||
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
|
||||
all.
|
||||
|
||||
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
|
||||
price.
|
||||
|
||||
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.
|
||||
<http://www.gnu.org/philosophy/why-free.html>
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
2014-03-22 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* startup.el (fancy-startup-text):
|
||||
* help.el (describe-gnu-project): Visit online info about GNU project.
|
||||
|
||||
* help-fns.el (help-fns--interactive-only): New function.
|
||||
(help-fns-describe-function-functions): Add the above function.
|
||||
* simple.el (beginning-of-buffer, end-of-buffer, insert-buffer)
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
;;; help.el --- help commands for Emacs
|
||||
|
||||
;; Copyright (C) 1985-1986, 1993-1994, 1998-2014 Free Software
|
||||
;; Foundation, Inc.
|
||||
;; Copyright (C) 1985-1986, 1993-1994, 1998-2014 Free Software Foundation, Inc.
|
||||
|
||||
;; Maintainer: emacs-devel@gnu.org
|
||||
;; Keywords: help, internal
|
||||
|
@ -293,10 +292,11 @@ If that doesn't give a function, return nil."
|
|||
(interactive)
|
||||
(view-help-file "COPYING"))
|
||||
|
||||
;; Maybe this command should just be removed.
|
||||
(defun describe-gnu-project ()
|
||||
"Display info on the GNU project."
|
||||
"Browse online information on the GNU project."
|
||||
(interactive)
|
||||
(view-help-file "THE-GNU-PROJECT"))
|
||||
(browse-url "http://www.gnu.org/gnu/thegnuproject.html"))
|
||||
|
||||
(define-obsolete-function-alias 'describe-project 'describe-gnu-project "22.2")
|
||||
|
||||
|
|
|
@ -1400,8 +1400,9 @@ If this is nil, no message will be displayed."
|
|||
`("GNU/Linux"
|
||||
,(lambda (_button) (browse-url "http://www.gnu.org/gnu/linux-and-gnu.html"))
|
||||
"Browse http://www.gnu.org/gnu/linux-and-gnu.html")
|
||||
`("GNU" ,(lambda (_button) (describe-gnu-project))
|
||||
"Display info on the GNU project")))
|
||||
`("GNU" ,(lambda (_button)
|
||||
(browse-url "http://www.gnu.org/gnu/thegnuproject.html"))
|
||||
"Browse http://www.gnu.org/gnu/thegnuproject.html")))
|
||||
" operating system.\n\n"
|
||||
:face variable-pitch
|
||||
:link ("Emacs Tutorial" ,(lambda (_button) (help-with-tutorial)))
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
2014-03-22 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* callproc.c (init_callproc): In etc, look for NEWS rather than GNU.
|
||||
|
||||
2014-03-22 Daniel Colascione <dancol@dancol.org>
|
||||
|
||||
* process.c (conv_sockaddr_to_lisp): When extracting the string
|
||||
names of AF_LOCAL sockets, stop before reading uninitialized
|
||||
memory.
|
||||
names of AF_LOCAL sockets, stop before reading uninitialized memory.
|
||||
|
||||
2014-03-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
|
|
|
@ -1617,13 +1617,13 @@ init_callproc (void)
|
|||
|
||||
srcdir = Fexpand_file_name (build_string ("../src/"), lispdir);
|
||||
|
||||
tem = Fexpand_file_name (build_string ("GNU"), Vdata_directory);
|
||||
tem = Fexpand_file_name (build_string ("NEWS"), Vdata_directory);
|
||||
tem1 = Ffile_exists_p (tem);
|
||||
if (!NILP (Fequal (srcdir, Vinvocation_directory)) || NILP (tem1))
|
||||
{
|
||||
Lisp_Object newdir;
|
||||
newdir = Fexpand_file_name (build_string ("../etc/"), lispdir);
|
||||
tem = Fexpand_file_name (build_string ("GNU"), newdir);
|
||||
tem = Fexpand_file_name (build_string ("NEWS"), newdir);
|
||||
tem1 = Ffile_exists_p (tem);
|
||||
if (!NILP (tem1))
|
||||
Vdata_directory = newdir;
|
||||
|
|
Loading…
Add table
Reference in a new issue