GNU's Bulletin, vol. 1 no. 6, January, 1989
Table of Contents
This page is blank so the numbering come out right.
Randy Smith has joined us as a full-time programmer. He
is currently maintaining and extending GDB. Our summer people,
Pete TerMaat, Phil Nelson, and Mike Haertel,
have returned to school--to study or to teach. Pete worked on
GDB, Phil on the GNU versions of `cpio' and `dbm', and Mike, who
continues to work for us part time, on `diff', `egrep' and
Joe Arceneaux spent a couple of weeks with us this fall
making Emacs version 19 work with X windows version 11.
Nobuyuki and Mieko Hikichi continue with
us on loan from Software Research Associates in Tokyo. At FSF,
Nobu is extending GDB with a C interpreter that he is writing.
Mieko is helping user-test GNU documentation and is translating
some of it into Japanese. Diane Barlow Close, our first
full-time technical writer, is writing the documentation for all
of the small Unix utilities that have been completed for us,
while living in San Diego, CA.
Meanwhile, Brian Fox is still working for us at UC
Santa Barbara. He recently completed GNU's version of `sh', the
`Bourne Again Shell', that incorporates features found in the
Korn and C shells. Jay Fenlason is writing a spreadsheet
program for the project and maintaining the GNU assembler, `tar',
Opus Goldstein is our jack-of-all-trades office staff.
If you call our office, she is the one who answers. She fills the
orders, and handles the day-to-day operations of the Foundation.
Robert Chassell is our Treasurer. Besides dealing with
corporate issues not related to programming, he is working on an
elementary introduction to programming in Emacs Lisp.
Richard Stallman continues to do countless tasks,
including refining the C compiler, GNU Emacs, etc. and their
documentation. Paul Rubin is writing a graphic editing
extension for GNU Emacs. Finally, Len Tower continues as
our electronic JOAT (jack-of-all-trades), handling mailing lists,
information requests, system mothering et al.
Copyright (C) 1989 Free Software Foundation, Inc.
Written by: Randy Smith, Paul Rubin, Robert Chassell,
Leonard H. Tower Jr., Richard Stallman and Opus Goldstein
Illustrations: Etienne Suvasa
Permission is granted to anyone to make or distribute
verbatim copies of this document as received, 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
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 called "GNU" (GNU's Not Unix) that will be upward
compatible with Unix. Some large parts of this system are already
working and we are distributing them now.
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, building toward 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 willing).
The Foundation also maintains a Service Directory: a list of
people who offer service for pay to individual users of GNU
programs and systems. 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.
After we create our programs, we continually update and
improve them. We release between 2 and 20 updates a year, for
various programs. 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 always
What Is Copyleft?
In the article "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 bad citizens can also 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
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 we
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.) A copy of the complete license is
included in all GNU source code distributions and many manuals,
and we will send you a printed copy on request.
GNU in Japan
by Mieko Hikichi
The GNU Project was described in a seminar at the Unix Fair in
Tokyo last December This seminar was the first official
introduction of GNU in Japan.
I had translated the GNU's Bulletin into Japanese and 500
copies were distributed. Mr. Yoshitaka Tokugawa talked about what
is GNU, how to get GNU software and about the GNU license. This
was followed by a talk about the Japanese version of GNU Emacs by
Mr. Handa Ken'ichi.
The General Public License as a Subroutine
We are about to make a sweeping, revolutionary change in the
General Public License. The terms for copying will be essentially
unchanged, but the architecture of the legalbol framework used to
embody them will make a quantum leap.
In the past, each copylefted program had to have its own copy
of the General Public License contained in it. Often it was
necessary to modify the license to mention the name of the
program it applied to. Other people who wanted to copyleft
programs had to modify the text even more, to replace our name
To make it easier to copyleft programs, we have been improving
on the legalbol architecture of the General Public License to
produce a new version that serves as a general-purpose
subroutine: it can apply to any program without modification, no
matter who is publishing it. All that's needed is a brief notice
in the program itself, to say that the General Public License
applies. Directions on doing this accompany the General Public
License, so you can easily copyleft your programs.
We've also taken the opportunity to make it explicit that any
subsequent changes in future versions the General Public License
cannot take away the rights you were previously given, if you
have a program that you received under an earlier version.
The new version will appear soon; new GNU programs and new
versions of existing GNU software will refer to it to specify
their copying conditions.
- Donation from Hewlett-Packard As part of their
program to make their machines more attractive to academic
users, Hewlett-Packard is giving us $100,000. This money was
given to us to make sure that we have funds to rent office
space for several years. Of course, if someone were to give us
office space, we could use the money to hire more people. In
addition, the company is supporting Michael Tiemann's work at
Stanford to port G
++ to the Spectrum.
- New Machines Since the last GNUs Bull in June 1988,
we have received three new machines on loan and three as gifts.
Thinking Machine, Inc. has loaned us a Sun 4/110, and Intel has
loaned us an Intel 386. K. Richard Magill has given us an
AT&T Unix PC and Hewlett-Packard is giving us three
Spectrums in addition to the funds mentioned above. This makes
for a total of 13 machines given or loaned to FSF.
- Some parts of BSD are becoming free After years of
urging from us and others, the people who maintain Berkeley
Unix have decided to release various parts of it (those which
don't contain AT&T code) separately as free software. This
includes substantial programs which we hope to use in GNU, such
as TCP/IP support and possibly the C-shell. The files freed in
the 4.3 BSD-Tahoe distribution are now on the beta test tape.
Also, the next release of Berkeley Unix may contain the Make,
AWK, and `sh' from the GNU Project instead of those from Unix.
The reason is that the people at Berkeley would like to have
improvements in these programs like those in system V.3, but
they find the new restrictions on V.3 licenses unpalatable.
Both we and they hope they never get a V.3 license. We may help
them avoid it by providing alternative software. GNU Make
already supports the system V features, as does GAWK. Both
programs are in beta test.
- The Bison manual is here Dick Karpinski of UCSF
offered a prize of $1000 for a usable draft of a manual for
Bison (our species of Yacc). Chuck Donnelly responded with a
draft which we have turned into a final version. Texinfo source
comes on both the release and beta test tapes. Hardcopy may be
ordered directly from the Foundation.
- Ghostscript status Ghostscript, the free Postscript
for GNU, is being distributed. It is now in beta test.
- NeXT, Inc. is using GNU software on their machines
NeXT has decided to use GNU Emacs, GCC, GAS and GDB as part of
their standard operating system; they are the first computer
manufacturer to do so. Other manufacturers have expressed an
interest; we are awaiting developments.
- Distribution of 80386 Floppies on hold We are
holding investigating distribution of floppies for 80386
machines until we have a working library. Since system V on the
80386 usually comes with no library as well as no C compiler,
no assembler and no linker, we don't think this distribution
medium will be worth while until we can supply all of them.
This is being worked on, but it will not be ready very soon. We
will announce on the
info-gnu mailing list and
gnu.announce newsgroup when we have more
- texi2roff Beverly Erlebacher of Toronto, Canada
wrote `texi2roff'. This program translates GNU Texinfo files
into a format that can be printed by the Unix `[nt]roff'
programs utilizing the `mm', `ms' or `me' macro packages.
Though we won't be maintaining this program, we include it on
our tapes to allow people without TeX to print out our
GNU Wish List
Wishes for this issue are for:
- Volunteers to help write utilities and documentation. One
important programming project is writing a Fortran compiler
front end for GCC; documentation particularly needed includes
manuals for Ghostscript and FLEX.
- FSF is looking to hire additional full-time people to work
on Project GNU both as programmers and as technical writers. We
are looking for a few good entities (male or female, carbon or
silicon based) to work for an activist wage. You must either be
in Cambridge, Mass or be able to maintain good electronic
communication with us. Contact
firstname.lastname@example.org or send mail to Richard
Stallman c/o the Free Software Foundation if you are
- Office space (lent or donated) in or around Kendall
- Professors who might be interested in sponsoring research
assistantships with full or partial FSF support to do GNU
development, or hosting FSF employees.
- Money, as always. Please remember, donations are
tax-deductible. With the latest donations, we have been able to
expand our staff. 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 for many people it can qualify
as a business expense.
- Someone skilled in compiler maintenance who could take over
GCC maintenance for RMS. This would probably be be a full-time
- Interesting, fun GNU graphics. Ghostscript source or
otherwise. See GNU "Clip Art" Contest later in
this issue for more details.
- Copies of newspaper and journal articles mentioning the GNU
Project. Send these to the addresses on the front cover.
My Thoughts on the GNU License
by Doug Lea
[This article is reproduced from a posting to the
info-gcc mailing lists and
does not necessarily represent the opinions of the Free Software
I have not participated publicly in the recent discussions
about the legal ramifications of the GNU License Agreement until
now because (1) I am not a lawyer and (2) I find myself in
agreement with Stallman's decision to proceed very carefully in
deciding whether and how to modify the Agreement to accommodate
people who would like to sell works that may or may not be
considered as `derived' from GNU software, depending on what
`derived' is defined to mean.
However, the recent proposal by Gilmore and others appears to
demand a personal response from me (not RMS or FSF) as the author
of most of GNU `libg
++'. I would like to briefly
outline why I support FSF goals, and specifically, the Agreement,
in a way that bears only indirectly on legal principles.
I am, primarily, a teacher in a liberal arts college. As such,
I stand for the `free' dissemination of ideas. Historically,
(please forgive any botching of historical facts to suit my
needs, but that's what history is for!) the main tool by which
intellectual property has been allowed to be widely disseminated
(read `taught') while at the same time both crediting
originators, and protecting the works from corruption,
mis--attribution, and so on, has been the notion of Copyright.
For these reasons, the introduction of copyright laws is widely
considered to have been an important step in accelerating
intellectual and scientific progress.
Sadly, in the science of computing, this solution has not
stood up well. While, in many disciplines, the price of a
copyrighted work to be used for study is well within the reach of
those who could best benefit from it (e.g., a copy of "War and
Peace" might be $5, or even $50, but not $50,000), the economics
of computing have, for the most part, priced copyrighted software
out of the reach of students (and most others). Most readers
would agree that the study of high-quality existing programs is
among the better methods for learning about the art of
programming. These days, one cannot legally show, discuss, and
teach from, say, Unix or Lotus source code.
I believe that Stallman's notion that the economics of
copyright can be separated from its role in the protection and
propagation of intellectual property is as good a solution to
this dilemma as we are likely to get. There are many of us,
especially those of us in academe, who are actually very pleased
to devote some time and effort to writing software without any
direct monetyary compensation. For all sorts of reasons. (For
example, in my case, with `libg
++', as a means to
further investigate the pragmatics of object-oriented programming
and so on. Or maybe it's just incorrigible hacking. Whatever.
Now I, and many others, I suspect, are not terribly worried
about maintaining proper authorship credit, etc., of such work.
The reason that the GNU License Agreement is attractive is mainly
that it keeps accessible the work that I intended to be
accessible, but also generally offers all other benefits that
Copyright engenders, but that the mere act of placing work in the
`public domain' would not.
It is an unfortunate fact that the GNU Agreement currently
stands in the way of such work being used in honest ways by
honest programmers who do have to worry about the economic
ramifications. I personally hope that exactly the right
accommodations are made to allow fair and sensible use while
maintaining the ideals that make the GNU solution work. There are
many sticky legalistic points involved in doing so. I do hope
that Stallman is able to find such a solution soon enough to make
alternative approaches less attractive, but not so hastily as to
compromise the goals of FSF (which I am sure he will not do).
Software distributed as part of the GNU system always comes
with sources for both on-line documentation and printable
manuals. On-line documentation is provided because printed
documentation is often misplaced or is being read by someone else
when you want it; and because, in many situations, it is easier
to find the piece of information that you need in an interactive
on-line help system. At the same time, printed documentation is
provided because it is often easier to read or preferred.
When GNU documentation is printed, it is produced as a typeset
book with chapters, indices, cross references and the like. The
on-line documentation is a menu-driven system which also uses
indices and cross references.
However, instead of writing two different documents, one for
the on-line documentation and the other for the printed manual,
GNU documentation uses a single Texinfo source file for both
purposes. This saves the effort of writing two different
documents and means that when the system is revised, only one
source file has to be revised.
Since the single Texinfo source file is used for a dual
task--to create both the on-line documentation and the printed
manual--it must be written in a special format so that the
chapters and sections of the printed manual will correspond to
the nodes of the on-line documentation and the indices and cross
references will correspond to various menus.
To make the printed manual, the Texinfo source file is
processed through the TeX typesetting program. To make the
on-line documentation, using GNU Emacs, the Texinfo source file
is processed with the M-x texinfo-format-buffer
command; the resulting Info file is installed in the
`info' directory which you reach by typing C-h
(Non-GNU software distributed by the Free Software Foundation
does not always have Texinfo documentation, although we encourage
everyone to document with it.)
All of the following manuals, which we are currently
distributing on our tapes, are also available in hardcopy from
the Foundation; see the order form on the inside back cover.
- Emacs Manual The Emacs Manual describes
how to use GNU Emacs. The manual not only explains Emacs'
editing features, but it also explains advanced features, such
as outline mode and regular expression search. The manual tells
how to use the special modes for programming in languages sucha
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 make other elementary customizations.
- Texinfo Manual The Texinfo Manual
describes how to write documents in Texinfo source code. It
describes the markup language used to create both an Info file
and a printed document from the same source file: how to make
tables and lists, how to make chapters and nodes, how to make
indices and cross references. The manual also describe how to
use Texinfo Mode in GNU Emacs and how to catch mistakes.
- Termcap Manual The Termcap Manual is
often described as "Twice as much as you ever wanted to know
about Termcap". The manual describes the format of the Termcap
data base, the definitions of terminal capabilities and how to
find and interrogate a terminal description. This manual is
primarily for programmers.
- Bison Manual The Bison Manual describes
how to write a grammar description that Bison can convert into
a C program that can parse that grammar. It describes the
concepts and then provides a series of increasingly complex
examples before describing what goes on in considerable
- GDB Manual The GDB Manual explains how
to use the GNU DeBugger. It describes how to run your program
under control of the debugger, how to examine and alter data
within the program, and how to modify the flow of control
within the program. It also explains how to use GDB through GNU
Emacs, with auto-display of source lines.
- GAWK Manual The GAWK Manual describes
how to use the GNU implementation of AWK. It is written for
someone who has never used AWK before, and describes all the
features of this powerful string manipulating language.
- Make Manual The Make Manual describes
the GNU Make utility, a program used to recompile parts of
other programs when and as needed. The manual tells how to
write a Makefile, which describes how to recompile the parts of
your program and how they depend on each other.
GNU Project Status Report
GNU Emacs GNU Emacs 18 is now being distributed. It is
in wide use on several kinds of BSD 4.2 and 4.3 systems and
on system V, VMS and Apollo Domain. Version 18.52, the
current version, adds support for the 80386, the Sun 4, the
Convex, the IRIS 4D and the HP 9000 series 800; also support
for system V.3. Berkeley is distributing GNU Emacs with the
4.3 distribution, DEC is distributing it with Unix systems on
Vaxes, and NeXT is shipping it. Emacs 18 maintenance is about
to be finished, and version 19 is being worked on. New
features so far include multiple X windows, scroll bars,
per-buffer redefinition of mouse commands, support for
European character sets, source-level debugging for Emacs
Lisp, and floating point numbers. Planned possible new
Once I get time to work on it, it will take several
months of work to do this, so don't ask when Emacs 19 will be
available for beta test. We will announce it.
- Associating property lists with portions of the text in
- Using the properties to control which text is
- Different visibility conditions for many windows
showing one buffer.
- Incremental syntax analysis for various programming
- An object-oriented graphics-drawing extension.
- Hooks to be run if point moves outside a certain
- Improved GAWK available David Trueman has written
the new System V extensions to GAWK and the results are now
available on the beta tape. Meanwhile, a manual for GAWK is on
- Shells Brian Fox has now completed GNU's version of
`sh', called the `Bourne Again Shell'. In addition to Korn
shell features, it now has job control and both Emacs-style and
`csh'-style command history. There is a good chance that the C
Shell from BSD will be declared free software by Berkeley, so
we won't need to write that.
- Kernel We hope to use the MACH message-passing
kernel being developed at CMU. The current version of MACH is
not free, and cannot be, because it contains the file system
code from BSD. However, the MACH developers say that all this
will be replaced with free code, or at least moved into user
processes, and MACH will be free then. This version of MACH is
supposed to be released in a few months (as of December 1988).
If MACH does not become available, then we will probably
develop the GNU kernel starting with either MIT's TRIX kernel
or Berkeley's Sprite system. TRIX is a remote procedure call
kernel that runs and supports basic Unix compatibility at about
the level of version 7. So it needs a lot of additional
features. Sprite is mostly at the architectural level of BSD
Unix, but with a fancy distributed file system and process
migration. One thing we are considering is adapting the file
system from Berkeley's Sprite kernel for use in MACH. This file
system was designed from the beginning to work in a distributed
manner. The file system is the largest part of MACH that needs
replacement, now that the Berkeley TCP/IP code, also used in
MACH, has been declared free.
- GNU DeBugger The GNU source-level C debugger, GDB,
is now being distributed along with Emacs version 18. Currently
it runs under BSD 4.2 and 4.3 on Vaxes and Suns. It can also
run stand-alone so we can use it to debug the kernel. An
over-the-ethernet debugging mode may be added. Work is being
done on debugging of multiple process parallel programs. GDB
support for the 32000 is in the current version. GDB can now
read COFF executables, and it is just starting to work on
system V. GDB 3.0, recently released for testing, can read
symbol tables incrementally; this results in much faster
startup and much less memory use. It also has C
support and can run on the 80386 and the Sun 4, as well as on
some Gould machines. Future versions of GDB may support
watchpoints, and command editing with identifier
- C Compiler The GNU C Compiler GCC is now nearly
reliable. It supports the May 1988 draft of ANSI C. People are
still reporting bugs, but they also say they think there are
fewer bugs than in commercial compilers. Some of these bugs
were uncovered by John Gilmore, who has been compiling all of
BSD Unix with GNU C. A review comparing GCC with two commercial
C compilers appeared in the March, 1988 issue of Unix Review
magazine. The compiler performs automatic register allocation,
common subexpression elimination, invariant code motion from
loops, induction variable optimizations, constant propagation
and copy propagation, delaying popping of function call
arguments, tail recursion elimination, plus many local
optimizations that are automatically deduced from the machine
description. CPUs supported include the 680x0, Vax, 32x32,
80386, Sparc (Sun 4), SPUR and Alliant. Ports for the Convex,
the IBM 370, the IBM PC/RT, the 3b2, some sort of Gould
machine, the HP Spectrum, the AMD 29000, the MIPS RISC chips,
and the Motorola 88000 are on their way. GCC makes shorter and
faster 68020 code than the new Sun compiler with -O. The new
Sun compiler can't beat GCC despite taking 3 times as long. As
of version 1.31, GCC also wins on the Sun 4. GCC makes shorter
Vax code than the Tartan C compiler with -O4, but we haven't
been able to compare the running speed of that code. A National
32000 port done by Michael Tiemann on a Sequent 32000 system is
said to be more reliable than Sequent's compiler and yields a
40% speedup for several programs including a Prolog
interpreter. In the future, if we have time, we would like to
implement some more language extensions, plus facilities for
precompilation of header files to save time when the headers
are large and the source files are small. We might also do some
other language front ends, but there seems to be enough
interest among remote GNUers in doing this that we might as
well leave it to them. Enough internal documentation is
included for people interested in retargeting the compiler to
other CPUs to do so.
- GNU C for VMS Fed up with the deficiencies of the
VMS C compiler, David Kashtan from SRI decided to spend a
couple of weeks and make GNU C run on VMS. After making
considerable changes to satisfy the VMS C compiler, he got it
running and was able to take most of the changes out. The VMS
support code is now part of the regular compiler distribution.
The ordinary VMS C compiler (even if you have it) has bugs and
therefore cannot compile GNU C: you need an executable of GNU
C. We offer mag tapes containing VMS binaries of GNU C (as well
as sources) so you can get started. Other GNU programs
currently working on VMS include GNU Emacs and Bison. Please
don't ask us to devote effort to additional VMS support,
because it is peripheral to the GNU project. We merge in and
support VMS ports that users do, because it is hard to refuse
to pass along work that other people have done. But even when
the changes are clean, this drains considerable effort from our
real goal, which is to produce a complete integrated system.
(When they aren't clean, we summon up the courage to ignore
them.) Merging VMS GNU Emacs and reorganizing the changes to
ease future maintenance consumed several weeks even though the
"real work" was done by others. We hope we have learned not to
let this happen again.
- COFF support It is now possible to run the entire
suite of GNU software tools on system V, replacing COFF
entirely. First you install the GNU compiler, assembler, linker
and other utilities. Then you use the program
`Robotussin'---COFF medicine for your computer--to convert the
system libraries from COFF format to GNU (i.e. BSD) format.
When you compile programs, you will get ordinary GNU/BSD object
files. Linking these with the GNU linker will produce GNU/BSD
executables with a small amount of COFF header material to
encapsulate them so that the kernel can run them. The other GNU
utilities such as `size', `nm' and `strip' know how to operate
on these encapsulated files. We can't afford to take the time
to implement or even maintain actual COFF support in these
utilities. Completing the GNU system is more important to
Preliminary Ghostscript available We have just started
to distribute Ghostscript, the free GNU software that
provides nearly all the facilities of a Postscript
interpreter. It supports X version 11. Peter Deutsch is still
doing some work on it. 5~ Right now, Ghostscript will accept
commands in Postscript and execute them by drawing on an X
window. It needs enhancement:
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 please 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).
- to serve as a previewer for multi-page files.
- to serve other X clients by drawing on their
- to improve both the performance and the visual quality
of the output.
- more fonts.
- Finger We will have a daemon-based Finger program
soon. The daemon polls a selected set of hosts and thus is able
to tell you where each person is logged in.
- Send We are now trying out a Send program for
sending immediate messages to other users on the same machine
or other machines.
- GNU mailer Landon Noll and Ronald Karr of Amdahl are
writing a mail queuing and delivery system, called `smail'.
This project will be a supported part of the Amdahl UTS
system--and it will be available on exactly the same terms as
GNU Emacs! We may use this mailer for the GNU system, or
another mailer, `zmailer', that Rayan Zachariasen is writing,
or a combination of the two.
- Window system We plan to use the X window system
written at MIT. This system is already available free.
- Other utilities The GNU `ls', AWK, Make and `ld' are
in regular use. Our free replacement for Yacc is called Bison.
We also have `cron'. We now have the world's fastest
`grep'/`egrep' and the world's fastest `diff'. A new fast
`sort' has just been finished. A "fast lex" called FLEX
recently became available; we are now distributing it.
- Documentation system We now have a truly compatible
pair of programs which can convert a file of Texinfo format
documentation into either a printed manual or an Info file. See
GNU Documentation earlier in this issue for more
- Possible target machines The GNU Operating System
will require a CPU that uses 32-bit addresses and integers and
addresses to the 8-bit byte. 1 megabyte of core should be
enough, though 2 meg would probably make a noticeable
improvement in performance. Running some of the system in 1/2
meg may be possible, but certainly not GNU Emacs. GNU Emacs
requires more than a megabyte of addressable memory. We expect
that virtual memory will be required. A hard disk will be
essential; at least 20 meg will be needed to hold a minimal
system. Plus more space for the user's files, of course. We
recommend at least 80 meg for a personal GNU system. This is
not to say that it will be impossible to adapt some or all of
GNU for other kinds of machines; but it may be difficult, and
We don't consider it part of our job to try to reduce that
difficulty. We have nothing to say about any specific models of
microcomputer, as we do not follow hardware products.
- Porting It is too early to inquire about porting GNU
(except GNU Emacs and GNU C). First, we have to finish it.
GNU "Clip Art" Contest
We are looking for freely redistributable art work and
graphics to enhance our publications. The art should be about the
GNU Project or the free software movement. We offer a GNU Manual
of the artist choice, for each piece of art work which we
publish. Ghostscript source or more traditional media welcome.
Send submissions to one of the addresses on the front cover. Our
thanks to the Icon Project at the University of Arizona for the
idea of running this contest.
GNU Software Available Now
We now offer three 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 "Release" or
"Emacs" tape) contains GNU Emacs as well as various other
well-tested programs that we consider reliable. The second ("Beta
test" or "Compiler") tape contains the GNU C compiler and related
utilities, and other new programs that are less thoroughly
tested. The third ("X11") tape contains the X11 distribution from
the MIT X consortium. Until recently, this software had been
provided on the Beta test tape, but the third release of the X11
distribution is too big to fit on this tape. See the order form
for details about media, etc.
Contents of Release tape
- GNU Emacs In 1975, Richard Stallman developed the
first Emacs: the 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, versions 10 and 11, which makes redisplay very
fast. The current version is GNU Emacs 18.52; version 18.53
should be released by the time this bulletin sees press. 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 good features and easier
extensibility. GNU Emacs (as of version 18.52) has run on many
kinds of Unix systems: those made by Alliant (system releases 1
to 4), Altos 3068, Amdahl (UTS), Apollo, AT&T (3b machines
and 7300 pc), CCI 5/32 and 6/32, Celerity, Convex, Digital
(Vax, not PDP-11; BSD, and SysV), Dual, Elxsi 6400, Encore (DPC
and APC), Gould, HP (9000 series 200, 300 or 800 (Spectrum) but
not series 500), HLH Orion 1/05, IBM (RT/PC running 4.2 and
AIX), Integrated Solutions (Optimum V with 68020 and VMEbus),
Intel 80386 (BSD, SysV, and Xenix), Iris (2500, 2500 Turbo and
4D), LMI (Nu), Masscomp, Megatest, MIPS, NCR (Tower 32),
Nixdorf Targon 31, Plexus, Pyramid, Sequent Balance, SONY News,
Stride (system release 2), Sun (any kind), Tahoe, Tektronix
(NS16000 system & 4300), Texas Instruments (Nu), VAX (BSD,
SysV, VMS) and Whitechapel (MG1). GNU Emacs use is described by
the GNU Emacs Manual, which comes as a Texinfo file with the
software. You can read it on-line in Info form or print out
your own copy. Typeset manuals are also available from the Free
- Texinfo Texinfo is the documentation system used for
all GNU manuals. Documents are written in a simple formatting
language that can produce either printed manuals using a
special set of TeX macros, or on-line structured documentation
that can be read using the Info browser. Included with Texinfo
is a newly expanded tutorial manual on how to write documents
- GDB GDB (the GNU Debugger) is the source-level C
debugger written for the GNU project in 1986. It offers many
features not usually found in debuggers on Unix, such as a
history that records all values examined within the debugger
for concise later reference, multi-line user-defined commands,
and a strong self-documentation capability. It currently runs
on Vaxes under 4.2 and 4.3bsd, on Sun 3 under systems version 2
and 3 and 4, on the SPARC (Sun 4) under systems version 3.2 and
4.0, HP9K320, ISI, Merlin, Sony NEWS, Gould NPL and PN, i386,
and on some 32000 systems. On-line help and a users' manual for
GDB comes with the software; the printed version of the manual
is also available from the Foundation.
- Bison Bison is an upward-compatible replacement
parser generator for Yacc, with additional features. It has
been in use for several years. Bison is used for compiling GNU
C, so it is included on the GNU CC beta tape as well. A users'
manual for Bison comes with the software; the printed version
is also available from the Foundation.
- X Window System Version 10 of X Windows is
distributed on the GNU Emacs tape; version 11 (which is totally
incompatible) is distributed on the X11 tape. Emacs version
18.52 supports both versions 10 and 11.
- MIT Scheme Scheme is a simplified, lexically scoped
dialect of Lisp, designed at MIT and other universities for two
purposes: teaching students of programming, and researching new
parallel programming constructs and compilation techniques. MIT
Scheme is written in C and runs on many kinds of 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 distribution.
- T 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 running speeds of
programs written in conventional languages. It runs on BSD
Vaxes and a few types of 68020 systems. T is written in itself
and cannot be bootstrapped without a binary (included), but it
is great if you can use it. Some documentation files are
included in the distribution.
- GNU Chess and Hack GNU Chess is a chess program
written in C by John Stanback and Stuart Cracraft. It includes
an extensive opening book and was recently rated by USCF Senior
Master IM Larry Kaufman at around USCF 1950 (close to expert
level) when run on a Sun 3 workstation. On a Sun 4, it should
play at nearly master level. Hack is a display oriented
adventure game similar to Rogue.
Contents of Beta Test Tape
The programs on this tape are all recent releases and can be
considered to be at various stages of user testing. As always, we
solicit your comments and bug reports. This tape is also known as
the Compiler tape.
- GNU CC The GNU C compiler is a fairly portable
optimizing compiler. It generates good code for the 32000,
680x0, 80386, Alliant, SPARC, SPUR, and Vax CPUs. Machines
using these CPUs include the Encore NS32000, Genix NS32000,
Sequent NS32000, AT&T 3b1, HP-UX 68000/68020, ISI
68000/68020, Sony NEWS, All Sun's, Intel 386, Sequent Intel
386, Alliant FX/8, and Vax machines. It supports full ANSI C as
of the latest draft standard. Included with the compiler are
the GNU assembler GAS, Make, Bison (also on the Emacs release
tape), and the perfect-hash hash-table generating utility, plus
the object file utilities `ld', `nm', `size', `strip', `ar',
`ranlib' and `gprof' and the Texinfo source of The GCC
Manual (for people interested in extending or
retargeting the compiler).
- GAWK and FLEX GAWK is GNU's version of the Unix AWK
utility. FLEX is a mostly-compatible replacement for the Unix
`lex' scanner generator written by Vern Paxson of the Lawrence
Berkeley Laboratory. FLEX generates far more efficient scanners
than `lex' does.
- `tar' GNU tar includes multivolume support,
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 and games, as well
as library routines and partial sources for many others.
- `diff' and `grep' These programs are GNU's versions
of the Unix programs of the same name. They are much faster
than their Unix counterparts.
- Ghostscript, `gnuplot' and `texi2roff' Ghostscript
is GNU's graphics language. It is almost fully compatible with
the postscript language. It supports X version 11. `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. However,
we are now distributing it. `texi2roff' translates GNU Texinfo
files into a format that can be printed by the Unix [nt]roff
programs utilizing the mm, ms or me macro packages. It is
included so that people who don't have a copy of TeX can print
out GNU documentation.
- `g++', `libg++' and `oops' G
++ is a
front-end for GCC, that compiles C
object-oriented language that is upward compatible with C.
++ depends on GCC, it can only be used with
the corresponding version of GCC. libg++ (the GNU
++ library) is a collection of C++ classes and
support tools for use with G
(Object-Oriented Program Support) class library is a portable
collection of classes similar to those in Smalltalk-80 that has
been developed by Keith Gorlen of NIH, using the
Contents of X11 Tape.
X is a portable, network transparent window system for bitmap
displays written at MIT and DEC. It runs Sun, DEC VAXstation, and
various other current bitmap displays. X supports overlapping
windows and fully recursive subwindows, and provides hooks for
several different styles of user interface. Applications include
a terminal emulator, bitmap editor, several window managers,
clock, window dump and undump programs, and several typesetting
The X11 tape contains Version 11, Release 3 of the MIT/DEC X
window system. X11 is more powerful than, but incompatible with,
the no-longer-supported version 10. MIT no longer labels Version
11 `beta test' but is still releasing frequent patches and
VMS Emacs and Compiler Tapes
We offer a VMS backup tape of the GNU Emacs editor, and a
separate tape containing the beta-test 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
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 a copy of GNU software is
from someone else who has it. Just copy it from them.
If you have access to the Internet, you can get the latest
software from the host `prep.ai.mit.edu'. For more
information, read the file
`/u2/emacs/GETTING.GNU.SOFTWARE' on that host.
If you cannot get the software from a friend or over the net,
or if you would feel more confident getting copies straight from
us, or if you would like to contribute some funds to our efforts,
the Free Software Foundation distributes tapes for a copying and
distribution fee. See the order form on the inside back
If you do not have net access, and your computers cannot use
the media we distribute on, you must get our software from third
party groups--people and organizations that do not work with us,
but have our software in other forms. For your convenience, other
groups that are helping to spread GNU software 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
These Internet sites have some GNU programs available for
louie.udel.edu, scam.berkeley.edu, spam.istc.sri.com,
bu-it.bu.edu, uunet.uu.net, nic.nyser.net,
wsmr-simtel20.army.mil (under `PD:<Unix.GNU>'),
and cc.utah.edu (VMS GNU Emacs).
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:
uunet!hutch!barber, hqda-ai!merlin, acornrc!bob,
sun!nosun!illian!darylm, or email@example.com.
Ohio State also makes GNU programs available via UUCP. They
post their instructions monthly to newsgroup
comp.sources.d on USENET. Current details from Karl
...!osu-cis!karl; or Bob Sutterfield (substitute
karl in the above
Information on obtaining floppy disks of GNU Emacs for the
AT&T Unix PC (aka 3B1 or PC7300) is available via electronic
Thanks to all those mentioned in GNUsworthy Flashes and the
GNU Project Status Report.
Thanks to Hewlett-Packard for their very large cash donation
and two Spectrum workstations.
Thanks to the MIT Laboratory for Computer Science, and its
director, Professor Michael Dertouzos. LCS has provided
FSF with the loan of a Microvax for program development.
Thanks to the MIT Artificial Intelligence Laboratory for
invaluable assistance of many kinds.
Thanks to Dr. T. Smith, Dave Probert, and the CS
Department at UCSB for giving GNU staffer Brian Fox resources and
space, and special personal thanks from Brian to Matt
Wette for invaluable aid and support.
Thanks to Brewster Kahle of Thinking Machines, Inc. for
the loan of a Sun 4/110.
Thanks to K. Richard Magill for his donation of an
AT&T Unix PC.
Thanks to Arnold Robbins and Dave Trueman for
their work on GAWK and the GAWK manual.
Thanks to Barry Kleinman and Andre Mesarovic of
Index Technology for copying Sun cartridge tapes and to Mark
Nahabedian of Phoenix Technologies Ltd. for copying Sun
cartridge tapes at the 11th hour.
Thanks to John Klensin of the INFOODS Project at MIT
for making our VMS master tapes.
Thanks to Sony Corp. and to Software Research Associates,
Inc., both of Tokyo, for sending us Sony workstations. SRA has
also given us a cash donation and lent us a full-time staff
programmer and a technical writer.
Thanks to NeXT, Inc., for their cash donation.
Thanks to the Mach Project in the Department of Computer
Science at Carnegie Mellon University, for lending us a Sun 3/60
and 300 MB disk 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 Emacs manuals and
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 |