GNU's Bulletin, vol. 1 no. 10, January, 1991
Table of Contents
The GNU's Bulletin is the semi-annual newsletter of the
Free Software Foundation, bringing you news about the GNU Project.
Free Software Foundation, Inc. Telephone: (617) 876-3296
675 Massachusetts Avenue Electronic mail: email@example.com
Cambridge, MA 02139 USA
Joseph Arceneaux is implementing active regions for a future Emacs
release. Roland McGrath has returned as a full-time
employee after finishing school. He is polishing up the C library
and maintains GNU make. Michael Bushnell is working on
kernel related projects. Jim Blandy is preparing the
Emacs 19 release and planning an X-based desktop.
Brian Fox is maintaining various programs that he has written,
readline library, the
makeinfo and Info
programs, BASH, and the new GNU
finger. Jay Fenlason
continues with the GNU spreadsheet, Oleo, as well as maintaining
sed and the GNU assembler.
Mike Haertel continues work on the C interpreter; he is also
maintaining and improving the "bin" utilities and species of
grep. Kathy Hargreaves and Karl Berry are
working on Ghostscript, making fonts and various utilities for dealing
with them. Amy Gorin is writing the manual for
S. Opus Goldstein does a great job running our office.
Miria Brigid is answering phone calls, handling
correspondence, and making distribution tapes. Robert J.
Chassell, our Treasurer, has been working on the new edition of
the Texinfo Manual, in addition to many other Foundation issues. He now
hopes to complete his introduction to programming in Emacs Lisp.
Joe Turner is our part-time system administrator.
Richard Stallman continues as a volunteer who does countless tasks,
including refining the C compiler, GNU Emacs, etc., and their
documentation. Finally, volunteer Len Tower remains our
electronic JOAT (jack-of-all-trades), handling mailing lists and
gnUSENET, information requests, and the like.
Copyright (C) 1991 Free Software Foundation, Inc.
Written by: Michael Bushnell, Robert J. Chassell, Richard Stallman,
and Leonard H. Tower Jr.
Illustrations: Etienne Suvasa
Japanese Edition: Mieko Hikichi and Nobuyuki Hikichi
This page is licensed under a Creative
Commons Attribution-NoDerivs 3.0 United States License.
What Is the Free Software Foundation?
The Free Software Foundation is dedicated to eliminating restrictions on
copying, redistribution, understanding, and modification of computer
programs. We do this by promoting the development and use of free
software in all areas of computer use. Specifically, we are putting
together a complete integrated software system named "GNU" (GNU's Not
Unix) that will be upwardly compatible with Unix. Some large parts of
this system are already working, and we are distributing them
The word "free" in our name refers to two specific freedoms: first,
the freedom to copy a program and give it away to your friends and
co-workers; second, the freedom to change a program as you wish, by
having full access to source code. Furthermore, you can study the
source and learn how such programs are written. You may then be able to
port it, improve it, and share your changes with others.
Other organizations distribute whatever free software happens to be
available. By contrast, FSF concentrates on development of new free
software, working towards a GNU system complete enough to eliminate the
need to purchase a proprietary system.
Besides developing GNU, the Foundation has secondary functions:
producing tapes and printed manuals of GNU software, carrying out
distribution, and accepting gifts to support GNU development. We are
tax exempt; you can deduct donations to us on your tax returns. Our
development effort is funded partly from donations and partly from
distribution fees. Note that the distribution fees purchase just the
service of distribution: you never have to pay anyone license fees to
use GNU software, and you always have the freedom to make your copy from
a friend's computer at no charge (provided your friend is
The Foundation also maintains a Service Directory: a list of people who
offer service for pay to users of GNU programs and systems. The Service
Directory is located in file `etc/SERVICE' in the GNU Emacs
distribution. Service can mean answering questions for new users,
customizing programs, porting to new systems, or anything else. Contact
us if you want to be listed or wish a copy.
After we create our programs, we continually update and improve them.
We release between 2 and 20 updates a year for each program. Doing this
while developing new programs takes a lot of work, so any donations of
pertinent source code and documentation, machines, labor, or money are
The board of the Foundation is: Richard Stallman, President; Robert J.
Chassell, Treasurer; Gerald J. Sussman, Harold Abelson and Leonard H.
Tower Jr., Directors.
What Is Copyleft?
In the previous section entitled "What Is the Free Software
Foundation?" we state that "you never have to pay anyone license fees
to use GNU software, and you always have the freedom to make your copy
from a friend's computer at no charge." What exactly do we mean by
this, and how do we make sure that it stays true?
The simplest way to make a program free is to put it in the public
domain. Then people who get it from sharers can share it with
others. But this also allows bad citizens to do what they like to do:
sell binary-only versions under typical
don't-share-with-your-neighbor licenses. They would thus enjoy the
benefits of the freeness of the original program while withholding these
benefits from the users. It could easily come about that most users get
the program this way, and our goal of making the program free for
all users would have been undermined.
To prevent this from happening, we don't normally place GNU programs in
the public domain. Instead, we protect them by what we call
copylefts. A copyleft is a legal instrument that makes everybody
free to copy a program as long as the person getting the copy gets with
it the freedom to distribute further copies, and the freedom to modify
their copy (which means that they must get access to the source code).
Typical software companies use copyrights to take away these freedoms;
now software sharers use copylefts to preserve these freedoms.
The copyleft used by the GNU Project is made from a combination of a
copyright notice and the GNU General Public License. The
copyright notice is the usual kind. The General Public License is a
copying license which basically says that you have the freedoms we want
you to have and that you can't take these freedoms away from anyone
else. (The actual document consists of several pages of rather
complicated legalbol that our lawyer said we needed.) The complete
license is included in all GNU source code distributions and many
manuals. We will send you a copy on request.
We encourage others to copyleft their programs using the General Public
License; basically programs only need to include a few sentences stating
that the license applies to them. Specifics on using the License
accompany it, so refer there for details.
"As we enjoy great advantages from the inventions of others, we
should be glad of an opportunity to serve others by any invention of
Prices going up on GNU tapes and documentation
We are raising prices for the first time. We hope to keep our prices
stable and reasonable, but our costs have gone up since 1985. The new
prices become effective on February 1, 1991.
New library license
We should by now have finished a new alternative General Public License
for certain GNU libraries. This license permits linking the libraries
into proprietary executables under certain conditions.
The new library license actually represents a strategic retreat. We
would prefer to insist as much as possible that programs based on GNU
software must themselves be free. However, in the case of libraries, we
found that insisting they be used only in free software tended to
discourage use of the libraries, rather than encourage free
So, while we hope the new library license will help promote the
development of free libraries, we have to regret that it was
We will also be releasing a version 2 of the ordinary GPL. There are no
real changes in its policies, but we hope to clarify points that have
led to misunderstanding and sometimes unnecessary worry.
Donation from Hewlett-Packard
We want to thank Hewlett-Packard for a new donation of $75,000 as well
as several machines and printers. As always, loans or donations of
equipment are greatly appreciated.
We still hope to have a kernel on top of Mach. We are waiting for CMU's
lawyers to approve distribution conditions which will allow us to
distribute the code.
It may be possible to use the BSD kernel as a short term solution, while
we wait on CMU, as it has become progressively more free over the past
few years. It currently runs on the 386/486 and the HP 9000/300.
The GNU implementation of Postscript, written by Peter Deutsch and
maintained by FSF staff members Kathryn Hargreaves and Karl Berry is now
in its second major version.
The C library is in pre-release testing. We hope to have a beta test
available as soon as possible. The library is POSIX.1 compliant and has
most of the functionality of POSIX.2 draft 10. It is upwardly
compatible with the 4.3 BSD C library and includes many System V
Fortran front end for GCC
A Fortran front end for GCC, written by Craig Burley, is being
integrated. Progress is being made by leaps and bounds. It already
compiles short simple programs. Please don't ask for more information,
until we announce its release.
Free Software Support
The Free Software Foundation develops and distributes freely available
software. Our goal is to help computer users as a community. We
envision a world in which software is freely redistributable. This
means software will be sold at a competitive market price rather than a
monopoly established price; often it will be given away. We see
programmers as providing a service, much as doctors and lawyers now
do--both medical knowledge and the law are freely redistributable
entities for which the practitioners charge a distribution and service
We maintain a list of people who offer support and other consulting
services, called the GNU Service Directory. This list is contained
in the file `etc/SERVICE' in the GNU Emacs distribution. Contact
us if you would like a copy or wish to be listed in it.
Most of the listings in the GNU Service Directory are for individuals,
but one is for Cygnus Support, which is the first for-profit corporation
that we know of that provides support only for free software.
Their address is
firstname.lastname@example.org or Cygnus Support, 814
University Ave., Palo Alto, CA 94301. FSF is not affiliated with Cygnus
Support, but we hope that it is a harbinger of the future.
If you find a deficiency in any GNU software, we want to know. We
maintain a considerable number of Internet mailing lists for making
announcements, reporting bugs and for asking questions. These
mailing lists are also gatewayed into USENET news as the
newsgroups. The Emacs and GCC Manuals have chapters explaining where to
send bug reports and what information to include.
If you don't have Internet access, you can receive mail and USENET news
with a UUCP connection. Contact either a system administrator at a
local UUCP site, or UUNET Communications, which can set up a UUCP
connection for a modest fee. (UUNET is a non-profit organization that
provides network connections.) You can contact UUNET by e-mail at
email@example.com or by paper mail at:
UUNET Communications Services,
3110 Fairview Park Drive - Suite 570,
Falls Church, VA 22042
Phone: (703) 876-5050
When we receive a bug report, we will usually try to fix the problem in
order to make the software better. While our bug fixes may seem like
individual assistance, they are not. Our task is so large that we must
focus on that which helps the community as a whole, such as developing
and maintaining software and documentation. We don't have the resources
to help individuals. Even if we don't solve your problem, one of the
other users may. Otherwise, please consult the Services
So, do tell us how an installation script doesn't work or where the
documentation is unclear--but please don't ask us to help you install
the software or figure out how to use it.If your bug report does
not evoke a solution from us, you may still get one from the many other
users who read our bug reporting mailing lists. Otherwise, use the
Protect Your Freedom to Write Programs
by Richard Stallman
Ten years ago, programmers were allowed to write programs using all the
techniques they knew, and providing whatever features they felt were
useful. This is no longer the case. The new monopolies, software
patents and interface copyrights, have taken away our freedom.
"Look and feel" lawsuits attempt to monopolize well-known command
languages; some have succeeded. Copyrights on command languages enforce
gratuitous incompatibility, close opportunities for competition, and
stifle incremental improvements.
Software patents are even more dangerous; they make every design
decision in the development of a program carry a risk of a lawsuit. It
is difficult and expensive to find out whether the techniques you use
are patented; it is impossible to find out whether they will be patented
in the future.
The League for Programming Freedom is a grass-roots organization of
professors, students, businessmen, programmers and users dedicated to
bringing back the freedom to write programs. If you are offended that
you might be sued for patent infringement when you make computer systems
that use X Windows or
compress, if you are offended that you
aren't allowed to support the commands most users know when you write a
spreadsheet, don't just grumble--do something about it! You can help
abolish the new monopolies by joining the League.
The League for Programming Freedom works to abolish the new monopolies
by publishing articles, talking with public officials, boycotting
egregious offenders, and possibly in the future by intervening in court
cases. On May 24, 1989, the League picketed Lotus headquarters on
account of their lawsuits, and then again on August 2, 1990. These
marches stimulated widespread media coverage for the issue.
Convincing Congress is a big job. To impress public officials, the
League needs more members: both activist members and members who only
pay their dues. Additional corporate members are also needed. The dues
are $42 for professionals, $21 for others, except students whose dues
are $10.50. To join, mail your check, name and address to:
League for Programming Freedom
1 Kendall Square #143
Cambridge, MA 02139
Please also send your phone number and email address, and mention
anything noteworthy you have done, especially in business or
For more information, please phone the League at (617) 243-4091, send
Internet mail to
firstname.lastname@example.org, or write to the
Note: The League for Programming Freedom is not an organization
for free software, and it does not endorse the GNU project or the Free
Software Foundation. Most League members write proprietary software,
and some have founded companies that do so.
However, the FSF endorses the League strongly--perhaps desperately
would be a better word. Patents are especially devastating for free
software. The patent holders can read our source code to see what
techniques we use, and we can't afford to license patents. (Not to
mention the fact that if we agree to pay even one cent per copy made of
a program, that program can't be free any more.)
In a few years, it very likely will be illegal to distribute a complete
free operating system in the United States, because too many important
parts would infringe patents. The result may be that future GNU
software is released for distribution only outside the United
If you are reading this, there is a good chance that you appreciate the
GNU project and would like it to produce more software. If you can do
only one thing to help the GNU project, joining the League is the most
important thing you can do.
GNU Project Status Report
GNU Emacs 18.56 has just been released. This version fixes several
bugs. Also, the undo facility has been completely rewritten and now
holds unlimited data temporarily, and a user-specified amount for the
Berkeley is distributing GNU Emacs with the 4.3 BSD distribution, and
numerous companies distribute it also.
Emacs 18 maintenance continues for simple bug fixes. Version 19
approaches release, counting among its new features: before and
after change hooks, source-level Lisp debugging, X selection
processing, including clipboard selections, scrollbars, support for
European character sets, floating point numbers, per-buffer mouse
commands, interfacing with the X resource manager, mouse-tracking,
Lisp-level binding of function keys, and multiple X windows (`screens'
Thanks go to Alan Carroll and the people who worked on Epoch for
generating initial feedback to a multi-windowed Emacs. Emacs 19
supports two styles of multiple windows, one with a separate screen for
the minibuffer, and another with a minibuffer attached to each
A couple of other features of Emacs 19 are buffer allocation, which uses
a new mechanism capable of returning storage to the system when a buffer
is killed, and a new input system--all input now arrives in the form of
Other features being considered for later releases of Emacs 19 include:
associating property lists with regions of text in a buffer; multiple
font, color, and pixmaps defined by those properties; different
visibility conditions for the regions, and for various windows showing
one buffer; hooks to be run if point or mouse moves outside a certain
range; incrementally saving undo history in a file; static menu bars;
and better pop-up menus.
Brian Fox has completed the Bourne Again shell (BASH), an imitation of
the Korn shell. It now has job control and both Emacs-style and
csh-style command history.
There is a good chance that the
csh from BSD will be declared
free software by Berkeley, so we won't need to write that. In any case,
BASH rather than
csh will be the default shell in the GNU
We are still interested in a multi-process kernel running on top of
Mach. The CMU lawyers are currently deciding if they can release Mach
with distribution conditions that will enable us to distribute it. If
they decide to do so, then we will probably start work. CMU has
available under the same terms as Mach a single-server partial Unix
emulator named Poe; it is rather slow and provides minimal
functionality. We would probably begin by extending Poe to provide full
functionality. Later we hope to have a modular emulator divided into
The GNU source-level C debugger, GDB, is now being distributed along
with the GNU C Compiler as GDB Version 3.5. Version 2.8, which used to
be distributed on the Emacs tape, is now obsolete, and has been replaced
by version 3.5.
John Gilmore is steadily improving GDB, particularly its kernel
debugging facilities. He has added watchpoints, cross-debugging between
dissimilar CPU types, and a host of minor features. He plans to add
over-the-Ethernet debugging before the initial release of Version
The GNU C compiler (GCC) version 1 is now quite reliable. It supports
ANSI standard C. NeXT builds its entire system, including its port of
the Mach kernel and NFS, with GCC. The Open Software Foundation uses
GCC as the compiler in their operating system, Data General uses it for
their Aviion 88000 based workstation, Intel uses it for their 960
microprocessor, and Berkeley is adding it to the BSD distribution. We
have also been told that GCC successfully compiled a System V.3 kernel.
GCC has compiled all of the BSD source tree including the kernel, and
work is in progress to enable it to compile the kernel as well.
GCC performs automatic register allocation, invariant code motion from
loops, common subexpression elimination, induction variable
optimizations, constant propagation and copy propagation, delaying
popping of function call arguments, tail recursion elimination, and many
local optimizations that are automatically deduced from the machine
While version 1 is being maintained solely to fix bugs, new work is
being done in version 2. It now has instruction scheduling, a certain
amount of CSE between basic blocks, and a new feature for classifying
instructions. Function-wide CSE is being finished up, as is loop
Version 2 can generate code for the IBM PC/RT, the IBM RS/6000, the
Motorola 88000, the AMD 29000 and the TRON. Ports for the IBM 370, the
HP Spectrum, and the NCUBE are on their way. More general calling
conventions are supported, so on the Sparc, GCC can now use the standard
conventions for structure arguments and values. Not all of the existing
version 1 machine descriptions have been updated yet; some do not work,
and others need work to take full advantage of instruction scheduling
and delay slots.
Version 2 supports both C
++ and Objective C on the same basis as
C itself: the name of the source file selects the language. Michael
Tiemann of Cygnus Support has written the C
++ front end for GCC
(which is available in version 1 as G
++). The front end for
compiling Objective C programs has been donated by NeXT.
Please don't call for more information on version 2 until it's
Front ends for Modula-2 and Modula-3, Fortran, and Pascal are being
developed by volunteers. There are rumors about various other
languages. So far, no one has volunteered to write Ada or Cobol.
Roland McGrath and others continue to work on the C Library. The C
library currently contains all of the ANSI C and POSIX.1 functions, and
work is in progress on POSIX.2 and Unix features. This means that the
library will have not only all of ANSI, POSIX 1003.1, and POSIX 1003.2,
but almost everything found in BSD and System V. Mike Haertel has
written an impressively fast
malloc. The GNU regular-expression
regex) now mostly conform to the POSIX.2
Ghostscript provides nearly all the facilities of a Postscript
interpreter. Peter Deutsch, the primary author and maintainer of
Ghostscript, has released a new version of that program, together with
FSF staff members Kathryn Hargreaves and Karl Berry. Karl and Kathy are
also working on producing free fonts. Highlights of this release
Right now, Ghostscript will accept commands in Postscript and execute
them by drawing on an X window or writing a file that can be transferred
directly to a printer. It needs enhancement: to serve as a previewer
for multi-page files, to serve other X clients by drawing on their
windows, and to improve both the performance and the visual quality of
the output. It needs more fonts.
Version 2.1 will be released soon. It fixes the bugs that have been
reported. It is also much faster; the X interface in particular has
been sped up several times over. It should include support for the
extended color operators (CMYK color model, and colorimage) and a
contributed driver for the HP PaintJet, which a lot of people have asked
Ghostscript also includes a C-callable graphics library (for client
programs that don't want to deal with the Postscript language), and also
supports IBM PCs and compatibles with EGA graphics (but don't ask the
FSF staff any questions about this; we don't use PCs and don't have time
to learn anything about them).
Drivers for the HP DeskJet, HP LaserJet, and Epson LX-800 printers (all
in low density mode). You can build with multiple drivers and choose a
driver at run time.
Search paths for fonts and for the Ghostscript library files.
Support for Adobe Type 1 font representation (though hints are
A set of scalable fonts for all the standard Postscript fonts (plus a
few more) algorithmically derived from the X11 BDF fonts. The
conversion program is also included so you can convert other
The ability to render into a bitmap in memory, and then write the bitmap
out in PPM format (or any other format you program).
Jay Fenlason is writing a spreadsheet named Oleo (which is better for
you than the more expensive spreadsheet). Oleo is in alpha test right
now; we do not know when it will be available. Jay says that "really
brave" people can contact him about being alpha testers.
Oleo currently reads and writes SC and Multiplan SYLK files, but
teaching it new formats is fairly simple. It has a full set of
expressions and mathematical, financial, and string functions. Keys may
all be rebound and Oleo also has primitive macro support.
Oleo uses the
curses library and an X11 interface is planned.
Right now it runs on BSD Unix machines as well as IBM PCs and
James Clark has released groff--GNU troff and related programs. So
far, it includes
-man macros, drivers for Postscript and typewriter-like devices,
and a driver producing TeX
dvi format. Also included is a
version of the Berkeley
-me macros, and an enhanced version of
the MIT X11R4 previewer
xditview. He is currently working on the
-ms macros and
refer. Groff is written in C
Useful additions would be the
-mm macros and the
Help Keep Government Software Free
by Richard Stallman
For 200 years, the US copyright system has placed everything written by
the federal government in the public domain. This makes sense: we have
all paid for it, so we should all own it.
Now there is a move to change this. If it succeeds, quite a lot of
software that would be free today will be sold instead. We will pay to
develop the software, and then we'll have to pay again to use it. And
the GNU system won't be able to use it, since it won't be free.
We think this is scandalous. If you agree, please help prevent it, by
writing to Congress:
House Subcommittee on Intellectual Property
2137 Rayburn Building
Washington, DC 20515
GNU is dedicated to having quality, easy-to-use on-line and printed
documentation. GNU manuals are intended to explain the underlying
concepts, describe how to use all the features of each program, and give
examples of command use.
GNU documentation is distributed as Texinfo source files, which yield
both typeset hardcopy and on-line presentation via the menu-driven Info
The following manuals, provided with our software, are also available in
hardcopy; see the order form on the inside back cover.
The Emacs Manual describes the use of GNU Emacs. It also explains
advanced features, such as outline mode and regular expression search.
The manual tells how to use special modes for programming in languages
such as C and Lisp, how to use the tags utility, and how to compile and
correct code. It also describes how to make your own keybindings and
other elementary customizations.
The Emacs Lisp Reference Manual covers the GNU Emacs Lisp
programming language in great depth. It goes into data types, control
structures, functions, macros, byte compilation, keymaps, windows,
markers, searching and matching, modes, syntax tables, operating system
The Texinfo Manual explains the markup language used to create both
an Info file and a printed document from the same source file. This
tells you how to make tables, lists, chapters, nodes, indices, and cross
references. It also describes how to use Texinfo mode in GNU Emacs and
The Termcap Manual is often described as "Twice as much as you ever
wanted to know about Termcap." It describes the format of the Termcap
database, the definitions of terminal capabilities, and the process of
interrogating a terminal description. This manual is primarily for
The Bison Manual covers writing grammar descriptions that can be
converted into C coded parsers. It assumes no prior knowledge of
parser generators. This manual describes the concepts and then provides
a series of increasingly complex examples before describing what
happens in considerable detail.
The GAWK Manual describes how to use the GNU implementation of AWK.
It is written for someone who has never used AWK, and describes all the
features of this powerful string manipulating language.
The Make Manual describes the GNU Make utility, a program used to
rebuild parts of other programs when and as needed. It covers makefile
writing, which specifies how a program is to be compiled and what each
part of the program depends on.
The GDB Manual explains how to use the GNU Debugger. It describes
running your program under debugger control, how to examine and alter
data as well as modify the flow of control within the program, and how
to use GDB through GNU Emacs, with auto-display of source lines.
GNU Wish List
Wishes for this issue are for:
Volunteers to help write utilities and documentation. Send mail to
email@example.com for the task list and coding
Full-time staff to work on Project GNU both as programmers and as
technical writers. You must either be in Cambridge, Mass or be able to
maintain good electronic communication with us. We also like to find a
programmer who would also serve as volunteer coordinator. Contact
firstname.lastname@example.org or send mail to Richard Stallman c/o the
Free Software Foundation if you are interested.
Companies to lend us capable programmers and technical writers for at
least six months. True wizards may be welcome for shorter periods, but
we have found that six months is the minimum time for a good programmer
to finish a worthwhile project.
A 300 MB disk drive for an IBM/RT and a QIC-150 tape drive for a Sun.
We also need machines to be donated or loaned for FSF programmers and
documenters who are not near our offices in Cambridge.
Professors who might be interested in sponsoring or hosting research
assistants to do GNU development, with FSF support.
Speech and character recognition software (if the devices aren't too
weird), with the device drivers (if possible). This would help the
productivity of at least one partially disabled programmer we
Grammar checking software for English and other natural
Copies of newspaper and journal articles mentioning the GNU Project or
GNU software. Send these to the address on the front cover, or send a
Money, as always. Please remember, donations are tax-deductible. With
the latest donations, we have been able to expand our staff again. With
the increased staff we have an even greater need for donations.
One way to give us a small amount of money is to order a distribution
tape or two. This may not count as a donation for tax purposes, but it
can qualify as a business expense.
GNU Software Available Now
We offer Unix software source distribution tapes, plus VMS tapes for GNU
Emacs and GNU C that include sources and VMS executables.
The first Unix tape, called the "Emacs" tape contains GNU Emacs as
well as various other well-tested programs. The second Unix tape,
called the "Compiler" tape, contains the GNU C compiler, related
utilities, and other new programs. The third and fourth Unix tapes
(called the "X11" tapes) contain the X11 distribution from the MIT X
See the order form on the inside back cover for details about media,
etc. Note that the contents of the 1600bpi 9-track tapes and the QIC-24
DC300XLP 1/4 inch cartridge tapes for Unix systems are the same. It is
only the media that are different.
Contents of the Emacs Tape
The software on this release tape is considered fairly stable, but as
always, we welcome your bug reports.
In 1975, Richard Stallman developed the first Emacs, an extensible,
customizable real-time display editor. GNU Emacs is his second
implementation of Emacs. It's the first Emacs available on Unix
systems that offers true Lisp--smoothly integrated into the
editor--for writing extensions. It also provides a special interface
to MIT's free X window system. The current version of Emacs is
GNU Emacs has been in widespread use since 1985 and often displaces
proprietary implementations of Emacs because of its greater reliability
as well as its additional features and easier extensibility. DEC,
Berkeley, and NeXT are all distributing Emacs with their systems.
GNU Emacs (as of version 18.56) runs on many Unix systems: Alliant,
Altos 3068, Amdahl (UTS), Apollo, AT&T (3B machines & 7300 PC), CCI 5/32
& 6/32, Celerity, Convex, Digital (DECstation 3100; DECstation 5000; Vax
running BSD, System V, or VMS), Motorola Delta (running System V/68
release 3), Dual, Elxsi 6400, Encore (DPC, APC, & XPC), Gould, HP (9000
series 200, 300 or 800 (Spectrum) but not series 500), HLH Orion 1/05,
IBM (RT/PC running 4.2 & AIX; PS/2 or RS/6000 running AIX), Integrated
Solutions (Optimum V with 68020 & VMEbus), Intel 80386 (BSD, Microport,
System V, & Xenix; not MS-DOS), Iris (2500, 2500 Turbo, & 4D), LMI (Nu),
Masscomp, Megatest, MIPS, NCR (Tower 32), Nixdorf Targon 31, Plexus,
Prime EXL, Pyramid, Sequent (Balance & Symmetry), SONY News, Stride
(system release 2), Sun (1, 2, 3, 4, SparcStation, & 386i), Tahoe,
Tektronix (NS32000 & 4300), Stardent 1500 or 3000, Titan P2 or P3, Pmax,
Texas Instruments (Nu), & Whitechapel (MG1).
GNU Emacs is described by the GNU Emacs Manual, which comes with
the software in Texinfo form; see "GNU Documentation" above. Also,
since GDB is the only debugger that can debug Emacs without getting
confused, it is included on this tape as well as the Compiler
GNU Emacs Lisp Reference Manual
This manual describes the GNU Emacs Lisp programming language in detail
and is for anyone who is interested in writing programs in GNU Emacs
Lisp (see "GNU Documentation" above).
Bison is an upwardly compatible replacement for the parser generator
Yacc, with additional features. It has been in use for several years.
It is used for compiling GNU C, so it is also on the GNU Compiler tape.
The Bison Manual comes with the software in Texinfo form; see
"GNU Documentation" above.
Scheme is a simplified, lexically scoped dialect of Lisp. It was
designed at MIT and other universities to teach students programming and
to research new parallel programming constructs and compilation
techniques. MIT Scheme is written in C and runs on many Unix systems.
It now conforms to the "Revised^3 Report On The Algorithmic Language
Scheme" (MIT AI Lab Memo 848a), for which TeX source is included in the
A variant of Scheme developed at Yale University, T is intended for
production use in program development. T contains a native-code
optimizing compiler that produces code that runs at speeds comparable to
the speeds of programs written in conventional languages. It runs on
BSD Vaxes, 680x0 systems, Sparc workstations, MIPS R2000 workstations
(including the Decstation 3100 PMAX), and NS32000 machines (including
the Encore Multimax). T is written in itself and cannot be bootstrapped
without a binary (included), but it is great if you can use it. Some
documentation is included.
texi2roff, written by Beverly Erlebacher, translates GNU Texinfo
files so that it can be printed by the Unix
me macro packages. It is
included on all Unix tapes so people who don't have a copy of TeX can
print out GNU documentation.
Data Compression Software
Some of the contents of our tape distribution is compressed; these are
currently indicated by a `.Z' suffix. We include software on the
tapes to compress/decompress these files. Currently, we use the
compress program, but it appears that its algorithm is patented.
We hope to switch to another program that stands a chance of not being
patented. Whatever program is on your tape will uncompress the
compressed files on it.
GNU Chess and NetHack
GNU Chess is a chess program, now at version 3.1. It has text-only and
X display interfaces. NetHack is a display--oriented adventure game
similar to Rogue. We distribute NetHack Version 2.3.
Contents of the Compiler Tape
The programs on this tape are becoming stable. The exception is
Ghostscript, but we are carrying it on this tape as a convenience. As
always, we solicit your comments and bug reports. This tape used to be
known as the "Pre-Release" or "Beta Test" tape.
The GNU C compiler is a fairly portable optimizing compiler. It
generates good code for the 32000, 680x0, 80386, Alliant, Convex, Tahoe,
and Vax CPUs, and for these RISC CPUs: i860, Pyramid, Sparc, and SPUR.
The MIPS RISC CPU is also supported. Machines using these CPUs include
386 running AIX, Alliant FX/8, Altos 3068, Apollo 68000/68020 running
Aegis, AT&T 3B1, Convex C1 and C2, DECstation 3100, DECstation 5000, DEC
VAX, Encore MultiMax (NS32000), Genix NS32000, Harris HCX-7 and HCX-9,
HP-UX 68000/68020, HP running BSD, IBM PS/2 running AIX, Intel 386
(System V, Xenix, BSD, but not MS-DOS), Iris MIPS machine, ISI
68000/68020, MIPS, NeXT, Pyramid, Sequent Balance (NS32000), Sequent
Symmetry (i386), SONY News, Sun 2, Sun 3 (optionally with FPA), Sun 4,
SparcStation, and Sun386i. The current version is 1.39. It supports
full ANSI C. Please refer to the "GNU Project Status Report" for more
detail on GCC.
A good programmer will be able to make a cross compiler on most of these
systems to cross-compile to most of these architectures. Most of the
work will be with the compiler support tools, not GCC itself.
Included with the compiler are Bison (also on the Emacs release tape),
the perfect hash-table generating utility (Gperf), and the Texinfo
source of the GCC Manual. This manual describes how to run and
install the GNU C compiler, and how to port it to new processors. It
describes new features and incompatibilities of the compiler, but people
not familiar with C will also need a good book on C. (We are not yet
publishing this manual on paper. It's changing too fast.)
Assembler and Object File Utilities
The GNU assembler (GAS) is a fairly portable, one pass assembler that is
almost twice as fast as Unix
as. It is now at version 1.39 and
works for 32x32, 680x0, 80386, Sparc (Sun 4), and Vax.
We have free versions of
ranlib. The GNU linker
is fast and is the only one that will give you source-line numbered
error messages for multiply-defined symbols and undefined
We also now distribute a dynamic linker,
dld, written by W.
Wilson Ho. This is a library which you link with your program which
then enables it to dynamically load object files into the running
It is possible to run the entire suite of GNU software tools on System
V, replacing COFF entirely. The GNU tools can operate on BSD object
files with a COFF header the System V kernel will accept.
robotussin is supplied for converting standard libraries to this
make includes almost all the features from the BSD, System V,
and POSIX versions of make, as well many of our own extensions. These
extensions include parallelism, conditional execution, and text
manipulation. Version 3.59 of GNU make is fairly stable. Work on
Version 4--which will include many functional improvements--is in
progress. Texinfo source for the GNU make manual is provided; see "GNU
Version 3.5 of GDB, the GNU debugger, runs under BSD 4.2 and 4.3 on
Vaxes and Suns (2, 3, and 4), Convex, HP 9000/300's under BSD, HP
9000/320's under HP/UX, System V 386 machines (with either GNU or native
object file format), ISI Optimum V, Merlin under Utek 2.1, SONY News,
Gould NPL and PN machines, Pyramid, Sequent Symmetry (a 386 based
machine), Altos, and Encore under Umax 4.2.
GDB features incremental reading of symbol tables (for fast startup and
less memory use), command-line editing, the ability to call functions in
the program being debugged, remote debugging over a serial line, a value
history, and user-defined commands. It can be used to debug C,
++, and FORTRAN programs. It comes with a Texinfo manual (see
"GNU Documentation" above).
The GNU Shell, BASH (for Bourne Again SHell), provides compatibility
with the Unix
sh and provides many extensions found in
ksh. It has job control,
csh-style command history,
and command-line editing (with Emacs and vi modes built-in and the
ability to rebind keys).
GAWK is GNU's version of the Unix AWK utility; it comes with a Texinfo
manual (see "GNU Documentation" above).
flex is a
mostly-compatible replacement for the Unix
lex scanner generator
written by Vern Paxson of the Lawrence Berkeley Laboratory.
generates far more efficient scanners than
lex does. GNU
tar includes multivolume support, the ability to archive sparse
files, automatic compression and decompression of archives, remote
archives, and special features to allow
tar to be used for
incremental and full backups of file systems.
Freed Files from the U.C. Berkeley 4.3-tahoe Release
These files have been declared by Berkeley to be free of AT&T code, and
may be freely redistributed. They include complete sources for some
utility programs, games, and library routines; and partial sources for
We are not yet distributing the files marked free on the 4.3-reno
release. Berkeley plans to release a revised tape of free software in
late January or early February. When this happens we will begin
distributing all those files instead of the 4.3-tahoe files. Note that
much more will be free on that tape than currently on the 4.3-tahoe
RCS and CVS
The Revision Control System is used for version control and management
of large software projects. This is the latest version: 5.5.
CVS, the Concurrent Version System, manages software revision and
release control in a multi-developer, multi-directory, multi-group
environment. It works best on top of RCS Versions 4 and above, but will
parse older RCS formats with the loss of CVS's fancier features. For
more details, see Berliner, Brian, CVS-II: Parallelizing Software
Development, Proceedings of the Winter 1990 USENIX Association
These programs are GNU's versions of the Unix programs of the same name.
They are much faster than their Unix counterparts.
Ghostscript is GNU's graphics language that is almost fully compatible
with Postscript. See the section in the "GNU Project Status
gnuplot is an interactive program for plotting mathematical
expressions and data. Oddly enough, the program was neither done for
nor named for the GNU Project--the name is a coincidence.
libg++, and NIH Class Library
++ is a set of changes for GCC that compiles C
well-known object-oriented language. In so far as is possible,
++ is kept compatible with the evolving draft ANSI standard.
Source code is accompanied by the GNU G
++ Users Guide.
(We are not yet publishing this manual on paper because it is changing
too fast.) G
++ compiles source quickly, provides good error
messages, and works well with GDB. Since G
++ depends on GCC, it
must be used with the correspondingly numbered version of GCC. GDB
Version 3 includes support for debugging C
++ code, which merges
in the functionality of the old program GDB
libg++ (the GNU C
++ library) is an extensive and
documented collection of C
++ classes and support tools for use
The NIH Class Library (formerly known as OOPS (Object-Oriented Program
Support)) is a portable collection of classes similar to those in
Smalltalk-80 that has been developed by Keith Gorlen of NIH, using the
++ programming language.
Note that Interviews has been dropped from this tape since it appears on
the "optional" X tape (See "Contents of the X11 Tapes"
File Utilities and Miscellaneous
The file utilities are now included here. GNU
indent has been
added to this tape as well. We also include
perl (version 3.0),
c-perf (version 2.0),
f2c (a FORTRAN to C translator), and GnuGo (the game of Go
(Wei-Chi)) on this tape.
Contents of the X11 Tapes
The two X11 tapes contain Version 11, Release 4 of the MIT X window
system. X11 is more powerful than, but incompatible with, the
no-longer-supported or available Version 10.
The first FSF tape contains the contents of both tape one and tape two
from the MIT X Consortium: the core software and documentation, and the
contributed clients. FSF refers to its first tape as the `required' X
tape since it is necessary for running X or GNU Emacs under X. (The
Consortium refers to its first two tapes as the `required/recommended'
The second, `optional' FSF tape contains the contents of tapes three and
four from the MIT X Consortium: contributed libraries and other
toolkits, the Andrew software, games, etc. (The Consortium refers to
its last two tapes as `optional' tapes.)
VMS Emacs and Compiler Tapes
We offer a VMS tape of the GNU Emacs editor, and a separate VMS tape
containing the GNU C compiler. The VMS compiler tape also contains
Bison (needed to compile GCC), GAS (needed to assemble GCC's output),
and some library and include files. Both VMS tapes include executables
that you can bootstrap from, because the DEC VMS C compiler has bugs and
thus cannot compile GNU C.
Please don't ask us to devote effort to additional VMS support, because
it is peripheral to the GNU Project.
How to Get GNU Software
All the software and publications from the Free Software Foundation are
distributed with permission to copy and redistribute. The easiest way
to get GNU software is to copy it from someone else who has it.
If you have access to the Internet, you can get the latest software from
prep.ai.mit.edu (the Internet address is
188.8.131.52). For more information, get the file
If you cannot get the software one of these ways, or if you would like
to contribute some funds to our efforts and receive the latest versions,
we distribute tapes for a copying and distribution fee. See the order
There are also third party groups that distribute our software: they do
not work with us, but have our software in other forms. For your
convenience, some of them are listed below. Please note that the Free
Software Foundation is not affiliated with them in any way, and is
not responsible for either the currency of their versions or the
swiftness of their responses.
These TCP/IP Internet sites provide GNU software via anonymous
ftp (use your
ftp program, user name:
scam.berkeley.edu, itstd.sri.com, wuarchive.wustl.edu,
wsmr-simtel20.army.mil (under `PD:<Unix.GNU>'),
louie.udel.edu, nic.nyser.net, ftp.cs.titech.ac.jp,
funic.funet.fi, sunic.sunet.se, freja.diku.dk,
gatekeeper.dec.com, mango.miami.edu (VMS G
cc.utah.edu (VMS GNU Emacs), labrea.stanford.edu,
jaguar.utah.edu, and uunet.uu.net.
Those on the SPAN network can ask rdss::corbet.
Information on how to obtain some GNU programs using UUCP is available
via electronic mail from the following people. Ohio State also posts
their UUCP instructions regularly to newsgroup
acornrc!bob, uunet!hutch!barber, sun!nosun!illian!darylm,
oli-stl!root, bigtex!james, email@example.com, and
Free Software for MS-DOS
GNUish MS-DOS project
Some GNU software has been ported to MS-DOS, but the FSF avoids
involvment in this effort, because it is peripheral to the GNU
project. Contact Thorsten Ohl,
firstname.lastname@example.org, who is
organizing distribution of such ports. More information is in
`/pub/gnu/MSDOS', obtainable via anonymous
Freemacs, an Extensible Editor for MS-DOS
email@example.com, has written a
small but programmable editor for MS-DOS that is somewhat compatible
with GNU Emacs. The .EXE file is only 21K because it only contains a
language interpreter and text editor primitives. Most of the
programming is done in MINT, a string-oriented language.
You may freely copy this software. Russ asks only that you return
improvements to him for incorporation into the package for the rest of
The distribution is available from these sources:
mail a message consisting only of `help' to (for UUCP)
sun.soe.clarkson.edu!archive-server or (for Bitnet)
archive-server%sun.soe@omnigate, the mailer can reply to any
address with an `@' in it, except
ftp `/e/freemacs' from
wsmr-simtel20.army.mil (under `PD:<MSDOS.FREEMACS>');
CUHUG BBS: (315)268-6667 1200/2400 8N1, 24 hrs,
pub/msdos/freemacs, no registration required to download Freemacs;
send $15 (copying fee) to Russ Nelson, 11 Grant St., Potsdam, NY 13676,
Phone: (315) 268-6455, specify floppy format:
Please do not contact the Free Software Foundation about Freemacs. We
do not maintain it, and we have no information on it other than the
GNU in Japan
firstname.lastname@example.org, & Noboyuki Hikichi,
email@example.com, continue to work on the GNU Project in
Japan. They translate GNU information, write columns, request
donations and consult with people about GNU. They are looking for a
lawyer volunteer to review their Japanese translation of the GNU Library
General Public License. They held a GNU BOF at the JUS Symposium in
December 1990. Many groups in Japan are redistributing GNU software,
including JUG (a PC user group), Nikkei Business Publications and ASCII
(publishers), Fujitsu FM Towns, and the Japan Unix Society. Anonymous
UUCP is also now available in Japan.
Thanks to all those mentioned above in "GNUs Flashes", the "GNU
Project Status Report" and "GNU Software Available Now".
Thanks to the Artificial Intelligence Laboratory
and the Laboratory for Computer Science at
MIT for their invaluable assistance of many kinds.
Thanks to Shawn Keller for making tapes, to Devon
McCullough for technical assistance, to Carol
Botteron for proofreading and other assistance, and to
Mieko and Nobuyuki Hikichi for their invaluable
help raising both funds and consciousness in Japan.
Thanks to Chet Ramey for his continuing work on improving
Thanks to the University of Minnesota
Department of Computer Science for
allowing Mike Haertel to use their computers.
Thanks to Cliff Lasser of Thinking Machines, Inc. for
the help with upgrading to SunOS 4.0.
Thanks to Village Center Inc of Japan for their gift.
Thanks to Information Systems and the Whitaker
College Computing Facility at MIT for
use of their machines to make our VMS master tapes.
Thanks to the Open Software Foundation for the
Thanks go out to all those who have either lent or donated machines,
including Hewlett-Packard for six 68030 workstations, two
80486 machines, and four Spectrum workstations, Brewster Kahle
of Thinking Machines Corp. for the Sun 4/110, K. Richard
Pixley for the AT&T Unix PC, Doug Blewett of AT&T Bell Labs
for two Convergent Miniframes, CMU's Mach Project for
the Sun 3/60, Intel Corp. for their 386/i860 workstation,
NeXT for a NeXT workstation, the MIT Media
Laboratory for the Hewlett-Packard 68020 machine, SONY
Corp. and Software Research
Associates, Inc., both of Tokyo, for three SONY News
workstations, the MIT Laboratory of
Computer Science for the DEC Microvax, and Delta
Microsystems for an Exabyte tape drive.
Thanks to all those who have contributed ports and extensions, as well
as those who have contributed other source code, documentation, and good
bug reports. Thanks to those who sent money and offered help. Thanks
also to those who support us by ordering manuals and distribution
The creation of this bulletin is our way of thanking all who have
expressed interest in what we are doing.
Free Software Foundation, Inc. | stamp |
675 Massachusetts Avenue | |
Cambridge, MA 02139 USA | here |