GNU's Bulletin, vol. 1 no. 6
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 `sort'.
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', and `sed'.
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 notice.
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 appreciated.
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 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 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.
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.
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 with theirs.
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 information.
-
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 documentation.
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
rms@wheaties.ai.mit.edu
or send mail to Richard Stallman c/o the
Free Software Foundation if you are interested.
-
Office space (lent or donated) in or around Kendall Square.
-
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 job.
-
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.
by Doug Lea
[This article is reproduced from a posting to the info-g++
and info-gcc
mailing lists and does not necessarily represent the
opinions of the Free Software Foundation.--- Editor]
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 i.
(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
detail.
-
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 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 features include:
-
Associating property lists with portions of the text in a buffer.
-
Using the properties to control which text is visible.
-
Different visibility conditions for many windows showing one buffer.
-
Incremental syntax analysis for various programming languages.
-
An object-oriented graphics-drawing extension.
-
Hooks to be run if point moves outside a certain range.
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.
-
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 its way.
-
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 completion.
-
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 us.
-
Compiler-related programs
-
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:
-
to serve as a previewer for multi-page files.
-
to serve other X clients by drawing on their windows.
-
to improve both the performance and the visual quality of the output.
-
more fonts.
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).
-
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 information.
-
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.
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.
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.
-
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
Software Foundation.
-
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 using Texinfo.
-
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.
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++
, an
object-oriented language that is upward compatible with C. Since
G++
depends on GCC, it can only be used with the corresponding
version of GCC.
libg++ (the GNU C++
library) is a collection of C++ classes
and support tools for use with G++
.
OOPS (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 C++
programming.
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 previewers.
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 updates.
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 from.
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 cover.
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 responses.
These Internet sites have some GNU programs available for anonymous FTP:
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:
hao!scicom!qetzal!upba!ugn!nepa!denny, arnold@skeeve.UUCP,
uunet!hutch!barber, hqda-ai!merlin, acornrc!bob,
ames!killer!wisner, mit-eddie!bloom-beacon!ht!spt!gz,
sun!nosun!illian!darylm, or postmaster@uunet.uu.net.
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 Kleinpaste karl@tut.cis.ohio-state.edu
or ...!osu-cis!karl
; or Bob Sutterfield (substitute bob
for karl
in the above addresses).
Information on obtaining floppy disks of GNU Emacs for the AT&T Unix PC
(aka 3B1 or PC7300) is available via electronic mail from:
brant@manta.pha.pa.us
.
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 distribution tapes.
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 |
| |
-------
This document was generated on 7 May 1998 using the
texi2html
translator version 1.52.
Return to GNU's home page.
Please send FSF & GNU inquiries & questions to
gnu@gnu.org.
There are also other ways to
contact the FSF.
Please send comments on these web pages to
webmasters@www.gnu.org,
send other questions to
gnu@gnu.org.
Copyright (C) 1989 Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110, USA
Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.