---------------------------------------------------------------------


GNU's Bulletin						 January, 1994


	   The GNU's Bulletin is the semi-annual newsletter of the
     Free Software Foundation, bringing you news about the GNU Project.

Free Software Foundation, Inc.		      Telephone: +1-617-876-3296
675 Massachusetts Avenue		      FAX: +1-617-492-9057
Cambridge, MA	02139-3309		      FAX (in Japan):
USA						  0031-13-2473 (KDD)
Electronic mail: `gnu@prep.ai.mit.edu'		  0066-3382-0158 (IDC)


Contents
--------

	GNU's Who
	GNU's Bulletin
	What Is the Free Software Foundation?
	What Is Copyleft?
	Donations Translate Into Free Software
	Cygnus Matches Donations!
	GNUs Flashes
	What Is the LPF?
	News from the LPF
	Free Software Support
	Project GNU Wish List
	Towards a New Strategy of OS Design
	   Part 1: A More Usable Approach to OS Design
	      The Translator Mechanism
	      Generic Services
	      Clever Filesystem Pictures
	      What The User Can Do
	      Why This Is So Different
	   Part 2: A Look at Some of the Hurd's Beasts
	      The Authentication Server
	      The Process Server
	      Transparent FTP
	      Filesystems
	      Terminals
	      Executing Programs
	      New Processes
	      Asynchronous Messages
	      Making It Look Like Unix
	      Network Protocols
	Second Annual GNU Seminar in Japan
	GNU and other Free Software in Japan
	Freely Available Texts
	OCEAN Integrated-Circuit Design System
	Hundred Acre Consulting Expands
	Project GNU Status Report
	GNU Documentation
	GNU Software Available Now
	   Contents of the Emacs Tape
	   Contents of the Languages Tape
	   Contents of the Utilities Tape
	   Contents of the Scheme Tape
	   Contents of the X11 Tapes
	   Berkeley Networking 2 Tape
	   VMS Emacs and VMS Compiler Tapes
	Source Code CD-ROM
	Compiler Tools Binaries CD-ROM
	Tape & CD-ROM Subscription Service
	How to Get GNU Software
	The Deluxe Distribution
	MS-DOS Distribution
	   Contents of the Demacs diskettes
	   Contents of the DJGPP diskettes
	   Contents of the Selected Utilities diskettes
	   Contents of the Windows diskette
	Free Software for Microcomputers
	FSF T-shirt
	Thank GNUs
	Free Software Foundation Order Form



GNU's Who
*********

Michael Bushnell continues to work on the Hurd, while also maintaining `tar'.
Roland McGrath maintains `make' and the GNU C library, helps with Emacs 19,
and is now working on the Hurd.	 Jan Brittenson is working on the Hurd
network server.

Noah Friedman is our system ambiguator, release coordinator, and maintains a
few programs in his copious spare time.	 Carl Hoffman is our fundraiser and
conference organizer.

Lisa `Opus' Goldstein is our Treasurer.	 Robert J. Chassell is writing an
`Introduction to Programming in Emacs Lisp' and remains on our Board of
Directors.  Larissa Carlson is Lisa's office assistant.	 Charles Hannum works
on typesetting and many other jobs.

Jim Blandy has left to pursue academic interests.  Melissa Weisshaus and
Tom Lord have also left the FSF.  All three still volunteer part-time.

Richard Stallman continues as a volunteer who does countless tasks, such as
Emacs maintenance.  Volunteer Len Tower remains our on-line JOAT
(jack-of-all-trades), handling mailing lists and gnUSENET, information
requests, etc.



GNU's Bulletin
**************

Written and Edited by: Jan Brittenson, Noah S. Friedman,
  and Leonard H. Tower Jr.

Illustrations by: Etienne Suvasa and Jamal Hannah

Japanese Edition by: Mieko Hikichi and Nobuyuki Hikichi

The GNU's Bulletin is published at the end of January and June of each year.
Please note that there is no postal mailing list.  To get a copy, send your
name and address with your request to the address on the front page.
Enclosing a business sized self-addressed stamped envelope ($0.52) and/or a
donation of a few dollars is appreciated but not required.  If you're from
outside the USA, sending a mailing label rather than an envelope and enough
International Reply Coupons for a package of about 100 grams is appreciated
but not required.  (Including a few extra International Reply Coupons for
copying costs is also appreciated.)

Copyright (C) 1994 Free Software Foundation, Inc.

Permission is granted to anyone to make or distribute verbatim copies of this
document, in any medium, provided that the copyright notice and permission
notice are preserved and that the distributor grants the recipient permission
for further redistribution as permitted by this notice.



What Is the Free Software Foundation?
*************************************

The Free Software Foundation is dedicated to eliminating restrictions on
people's right to use, copy, modify, and redistribute computer programs.  We
promote the development and use of free software in all areas using
computers.  Specifically, we are putting together a complete, integrated
software system named "GNU" ("GNU's Not Unix", pronounced "guh-new") that
will be upwardly compatible with Unix.	Most parts of this system are already
being used and distributed.

The word "free" in our name refers to freedom, not price.  You may or may not
pay money to get GNU software, but regardless you have two specific freedoms
once you get it: first, the freedom to copy a program and give it away to
your friends and co-workers; and second, the freedom to change a program as
you wish, by having full access to source code.	 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.	 If you redistribute GNU
software you may charge a distribution fee or give it away.

Other organizations distribute whatever free software happens to be
available.  By contrast, the Free Software Foundation concentrates on the
development of new free software, working towards a GNU system complete
enough to eliminate the need to purchase a proprietary system.

Besides developing GNU, the FSF distributes GNU software and manuals for a
distribution fee and accepts gifts (tax-deductible in the U.S.) to support
GNU development.  Most of the FSF's funds come from this distribution service.

The Officers of the Foundation are: Richard M. Stallman, President, and
Lisa Goldstein, Treasurer/Secretary.  The Foundation Board of Directors are:
Richard M. Stallman, Gerald J. Sussman, Harold Abelson, Robert J. Chassell,
and Leonard H. Tower Jr.



What Is Copyleft?
*****************

The simplest way to make a program free is to put it in the public domain,
uncopyrighted.	But this permits proprietary modifications, denying others
the freedom to use and redistribute improvements; it is contrary to the
intent of increasing the total amount of free software.	 To prevent this,
"copyleft" uses copyrights in a novel manner.  Typically copyrights take away
freedoms; copyleft preserves them.  It is a legal instrument that requires
those who pass on a program to include the rights to use, modify, and
redistribute the code; the code and rights become legally inseparable.

The copyleft used by the GNU Project is made from the combination of a
regular copyright notice and the "GNU General Public License" (GPL).  The GPL
is a copying license which basically says that you have the aforementioned
freedoms.  An alternate form, the "GNU Library General Public License"
(LGPL), applies to a few GNU libraries.	 This license permits linking the
libraries into proprietary executables under certain conditions.  The
appropriate license is included in all GNU source code distributions and many
manuals.  Printed copies are available upon request.

We strongly encourage you to copyleft your programs and documentation, and we
have made it as simple as possible for you to do so.  The details on how to
apply either license appear at the end of each license.



Donations Translate Into Free Software
**************************************

If you appreciate Emacs, GNU CC, Ghostscript, and other free software, you
may wish to help us make sure there is more in the future-remember,
*donations translate into more free software!*

Your donation to us is tax-deductible in the United States.  We gladly accept
*all* currencies, although the U.S. dollar is the most convenient.

If your employer has a matching gifts program for charitable donations,
please arrange to have your donation matched by your employer (or in some
cases by Cygnus Support, see "Cygnus Matched Donations!").  If you do not
know, please ask your personnel department.  Also try and get the FSF listed
on the any list of organziations for the matching gifts program.

	$500	 $250	  $100	   $50	   other $________

	Other currency:________

Circle the amount you are donating, cut out this form, and send it with your
donation to:

	Free Software Foundation
	675 Massachusetts Avenue
	Cambridge, MA	02139-3309
	USA

You can also charge a donation to either Visa, Mastercard, JCB, Diner's Club,
or Carte Blanche.  Charges may also be emailed to `gnu@prep.ai.mit.edu' or
faxed to +1-617-492-9057; in Japan fax to: 0031-13-2473 (KDD) or
0066-3382-0158 (IDC)

     Card type: __________________  Expiration Date: _____________

     Account Number: _____________________________________________

     Your Signature: _____________________________________________



Cygnus Matches Donations!
*************************

To encourage cash donations to the Free Software Foundation, Cygnus Support
will continue to contribute corporate funds to FSF to accompany gifts by its
employees, and by its customers and their employees.

Donations payable to the Free Software Foundation should be sent by eligible
persons to Cygnus Support, which will add its gifts and forward the total to
the FSF each quarter.  The FSF will provide the contributor with a receipt to
recognize the contribution (which is tax-deductible on U.S.  tax returns).
For more information, please contact Cygnus at `info@cygnus.com.'



GNUs Flashes
************

   * Compiler Tools Binaries CD-ROM

     We are now offering a CD-ROM that contains executables for the GNU
     compiler tools for some systems for which vendors ship their operating
     system without a compiler.	 This will allow users of those systems to
     compile GNU and other free software without having to buy a proprietary
     compiler.	See "Compiler Tools Binaries CD-ROM" for more details.

     We hope to have more systems included with each update of this CD-ROM.
     If you can help build binaries for new systems, or have a system to
     suggest, please contact us at either address on the front cover.

   * FSF Distributing on DAT Cassettes

     We are now offering our software on 4mm DAT cassette tapes.  For more
     information, see "Free Software Foundation Order Form".

   * Source CD-ROM subscriptions

     We are now offering a subscription service for the Source CD-ROM, in
     addition to our tape subscription service.	 For the price of 3 CD-ROMs
     you get the next 4 that we make.  Presently we make two updates a year,
     but we may go to more frequent updates.  See the article "Tape & CD-ROM
     Subscription Service".

   * FSF accepts credit cards

     FSF takes these credit cards: Visa, Mastercard, Diner's Club, JCB, and
     Carte Blanche.  Note that we are charged about 5% of an order's total
     amount in credit card processing fees.  Please consider paying by check
     instead, or adding on a 5% donation to make up the difference.

   * FSF accepts orders and donations via FAX

     You can now send orders and donations to FSF by fax.  Please fax in a
     completed order form, including credit card information, since orders
     must be prepaid.  We do *not* accept purchase orders.  The number is
     +1-617-492-9057 in the US and everywhere else except Japan.  In Japan
     the FAX numbers are toll-free: 0031-13-2473 (KDD) and
     0066-3382-0158 (IDC).

   * FSF T-shirts improved!

     We have just added a copy of the GNU General Public License to the back
     of our t-shirt, which use to be blank.  See the article "FSF T-shirt"

   * Informal "GCC Consortium"

     A group of companies including Intel, Motorola, Texas Instruments, and
     Analog Devices have pooled funds to support central maintenance of
     GNU CC, which is now done by Richard Kenner of New York University.

     The task of central maintenance is to take responsibility for fixing
     bugs, integrating and cleaning up contributions, making releases and
     writing high priority improvements.

     Richard Stallman hopes this will enable him to undertake a new project.

   * GCC 2 is released, GCC/G++/libg++ 1 Dropped

     Since version 2.5.7, the GNU C Compiler has been out of beta test.	 G++
     and GCC Version 1 are no longer being maintained or distributed by the
     FSF.  Also, libg++ Version 1 has been dropped.

   * Free Software Bundled with Hardware

     Field Technology, Inc. of Wilton, CT is selling "Linux machines" using
     only copylefted & public domain software.	The Unix-compatible systems
     are shipped ready to run, with popular programs such as TeX, Emacs, GNU
     C/C`++', the X Window System, & TCP/IP networking.	 Field Technology
     makes a donation to the Free Software Foundation for each system sold.
     Contact `info@fieldtech.com' or +1-203-761-9363 for more information.

   * Experimental Tape Takes A Recess

     We are not currently distributing the Experimental Tape because most of
     programs that were on it are now stable.  GCC, GAS, Binutils, libg++ &
     the GNU C Library have moved to the Languages Tape, replacing prior
     releases.	Oleo & GNU Graphics are now on the Utilities Tape.

   * SNePS Now Free Software

     The current release, 2.1, of the Semantic Network Processing System
     (SNePS), is publicly available under the terms of the GNU General Public
     License.  Previously it was available for a licensing fee.

     SNePS is the implementation of a fully intensional theory of
     propositional knowledge representation and reasoning.  SNePS 2.1
     requires Common-Lisp and runs on SPARCs with SunOS 4, as well as the
     TI Explorer I/II.	Previous versions ran on Symbolics CL, AKCL, and
     VAX Common-Lisp, but the current release remains untested on these
     systems.  SNePS can be obtained by anonymous FTP from
     `ftp.cs.buffalo.edu' in `/pub/sneps'.

   * Lisp Class Library for C++ Programmers

     Lily is a C`++' class library providing Lisp-like functionality,
     including automatic garbage collection.  Lily is available by anonymous
     FTP from `sunsite.unc.edu'.  For more info, write
     `sheldon@kong.gsfc.nasa.gov'.

   * Free Widget Foundation Announces Widgets

     The Free Widget Foundation (FWF) is a grass-roots, all volunteer effort
     to create a set of powerful, flexible, freely-accessible X graphical
     user-interface modules (widgets).	Since its start in 1990, the FWF
     release has grown to over 40 widgets, now used in several popular X
     applications.  The FWF is not related to the Free Software Foundation,
     but it shares our goal of making high-quality software freely
     redistributable.

     For information or to volunteer, get `/pub/FWF/README' via anonymous FTP
     to `a.cs.uiuc.edu', write `free-widgets-info@flute.cs.uiuc.edu', or
     write:

	     The Free Widget Foundation
	     c/o Brian Totty
	     Department of Computer Science
	     University of Illinois -- Urbana
	     1304 W. Springfield Avenue
	     Urbana, IL	  61801
	     USA



What Is the LPF?
****************

The League for Programming Freedom (LPF) aims to protect the freedom to write
software.  This freedom is threatened by "look-and-feel" interface copyright
lawsuits and by software patents.  The LPF does not endorse free software or
the FSF.

The League's members include programmers, entrepreneurs, students,
professors, and even software companies.

>From the League membership form:

     The League for Programming Freedom is a grass-roots organization of
     professors, students, business people, programmers, and users dedicated
     to bringing back the freedom to write programs.  The League is not
     opposed to the legal system that Congress intended--copyright on
     individual programs.  Our aim is to reverse the recent changes made by
     judges in response to special interests.

     Membership dues in the League are $42 per year for programmers, managers
     and professionals; $10.50 for students; $21 for others.

To join, please send a check and the following information:

	* Your name and phone numbers (home, work, or both).

	* The address to use for League mailings, a few each year (please
	  indicate whether it is your home address or your work address).

	* The company you work for, and your position.

	* Your email address, so the League can contact you for political
	  action.  (If you don't want to be contacted for this, please say
	  so, but please provide your email address anyway.)

	* Please mention anything about you which would enable your
	  endorsement of LPF to impress the public.

	* Please say whether you would like to help with LPF activities.

The League is not connected with the Free Software Foundation and is not
itself a free software organization.  The FSF supports the LPF because, like
any software developer smaller than IBM, it is endangered by software
patents.  You are in danger too!  It would be easy to ignore the problem
until you or your employer is sued, but it is more prudent to organize before
that happens.

If you haven't made up your mind yet, write to LPF for more information:

     League for Programming Freedom
     1 Kendall Square - #143
     P.O. Box 9171
     Cambridge, MA   02139
     USA
     Phone: +1-617-243-4091
     Email: `lpf@uunet.uu.net'



News from the LPF
*****************

  by Christian D.. Hofstader, `cdh@prep.ai.mit.edu'

The US Patent and Trademark Office (PTO) will hold hearings early in 1994 on
the topic of software patents.	The PTO is recognizing that something is very
wrong with the current policy and is looking for input on how to correct
matters.  The LPF is trying to get a representative invited to testify, and
will call for members and others concerned with these issues to write letters
to the PTO.  Contact `lpf@uunet.uu.net' for details.

For the last few months, the LPF has been working on an amicus (friend of the
court) brief which was presented to the appeal court in the appeal of Lotus
v. Borland.  The brief was directed solely at the Lotus claim to copyright
over the macro language in `123' which was allowed by Judge Keeton in the
lower court.  The brief was filed on behalf of over 20 prominent computer
scientists in the First Circuit Court on December 14, 1993.

The group that the LPF organized to sign the brief included such major
contributors to computer science as Marvin Minsky, John McCarthy, and Robert
Boyer.	Bob Kohn, Borland VP and General Counsel, stated, "With this group
the LPF should be able to change the course of intellectual property law.
Never has such an impressive group of computer scientists been assembled."

The LPF will be making a supplemental filing in this case.  If you are
interested in signing or know someone who you feel would like to join the
list, please forward the appropriate information to the LPF.



Free Software Support
*********************

The Free Software Foundation does not provide any technical support.
Although we create software, we leave it to others to earn a living providing
support.  We see programmers as providing a service, much as doctors and
lawyers now do; both medical and legal knowledge are freely redistributable
entities for which the practitioners charge a distribution and service fee.

We maintain a list of people who offer support and other consulting services,
called the GNU Service Directory.  It is in the file `etc/SERVICE' in the GNU
Emacs distribution, `SERVICE' in the GCC distribution and
`/pub/gnu/GNUinfo/SERVICE' on anonymous FTP host `prep.ai.mit.edu'.  Contact
us if you would like a printed copy or wish to be listed in it.

If you find a deficiency in any GNU software, we want to know.	We have many
Internet mailing lists for bug reports, announcements and questions.  They
are also gatewayed into USENET news as the `gnu.*' newsgroups.	You can
request a list of the mailing lists from either address on the front cover.

When we receive a bug report, we usually try to fix the problem.  While our
bug fixes may seem like individual assistance, they are not.  Our task is so
large that we must focus on that which helps the community as a whole; we do
not have the resources to help individuals.  We may send you a patch for a
bug that helps us test the fix and ensure its quality.	If your bug report
does not evoke a solution from us, you may still get one from another user
who reads our bug report mailing lists.	 Otherwise, use the Service Directory.

Please do not ask us to help you install software or figure out how to use
it--but do tell us how an installation script does not work or where
documentation is unclear.

If you have no Internet access, you can get mail and USENET news via UUCP.
Contact a local UUCP site, or a commercial UUCP site such as:

	UUNET Communications Services
	3110 Fairview Park Drive - Suite 570
	Falls Church, VA   22042
	USA
	Phone: 1-800-4UUNET4 or (703) 204-8000
	Fax: (703) 204-8001
	E-mail: `info@uunet.uu.net'

A long list of commercial UUCP and Internet service providers is posted
periodically to USENET in the newsgroup `news.announce.newusers' with
`Subject: How to become a USENET site'.

When choosing a service provider, ask those you are considering how much they
do to assist free software development, e.g. by contributing money to free
software development projects or by writing free software improvements
themselves for general use.  By basing your decision partially on this
factor, you can help encourage those who profit from free software to
contribute to its growth.



Project GNU Wish List
*********************

Wishes for this issue are for:

   * Volunteers to distribute this Bulletin at technical conferences, trade
     shows, local and national user group meetings, etc.  Please phone the
     number on the front cover or e-mail `gnu@prep.ai.mit.edu' to make
     arrangements.

   * Oleo extensions and other free software for business, such as
     bookkeeping.

   * 600+ megabyte SCSI disks to give us more space to develop software.

   * A 386 or 486 PC compatible with 200+ MB of disk and an Ethernet card.

   * A 4mm DAT tape drive, an 8mm Exabyte tape drive, a Sun SPARCstation and a
     Sun-3/60 or 4/110.

   * Companies to lend us capable programmers and technical writers for at
     least six months.	True wizards may be welcome for shorter periods, but
     we have found that six months is the minimum time for a good programmer
     to finish a worthwhile project.

   * Volunteers to help write programs and documentation.  Send mail to
     `gnu@prep.ai.mit.edu' for the task list and coding standards.

   * Volunteers to build binaries for systems not yet on the Compile Tools
     Binaries CD-ROM (especially for systems that don't come with a C
     compiler).	 Please contact us at either address on the front cover.

   * Professors who might be interested in sponsoring or hosting research
     assistants to do GNU development, with FSF support.

   * Speech and character recognition software and systems (if the devices
     aren't too weird), with the device drivers if possible.  This would help
     the productivity of partially disabled people (including a few we know).

   * New quotes and ideas for articles in the GNU's Bulletin.  We particularly
     like to highlight organizations involved with free information exchanges,
     software that uses the GNU General Public License, and companies
     providing free software support as a primary business.

   * Copies of newspaper and journal articles mentioning the GNU Project or
     GNU software.  Send these to the address on the front cover, or send a
     citation to `gnu@prep.ai.mit.edu'.

   * Money.  If you use and appreciate our software, please send a donation.
     One way to give us a small amount of money is to order a distribution
     tape diskette, or CD-ROM.	A way to give us a larger amount of money is
     to order a Deluxe Distribution.  These may not count as a donation for
     tax purposes, but they can qualify as a business expense.	This is
     especially helpful if you work for a business where the word "donation"
     is anathema.



Towards a New Strategy of OS Design
***********************************

This article explains why FSF is developing a new operating system named the
Hurd, which will be a foundation of the whole GNU system.  The Hurd is built
on top of CMU's Mach 3.0 kernel and uses Mach's virtual memory management and
message-passing facilities.  The GNU C Library will provide the Unix system
call interface, and will call the Hurd for needed services it can't provide
itself.	 The design and implementation of the Hurd is being lead by Michael
Bushnell, with assistance from Richard Stallman, Roland McGrath,
Jan Brittenson, and others.



Part 1: A More Usable Approach to OS Design
-------------------------------------------

The fundamental purpose of an operating system (OS) is to enable a variety of
programs to share a single computer efficiently and productively.  This
demands memory protection, preemptively scheduled timesharing, coordinated
access to I/O peripherals, and other services.	In addition, an OS can allow
several users to share a computer.  In this case, efficiency demands services
that protect users from harming each other, enable them to share without
prior arrangement, and mediate access to physical devices.

On today's computer systems, programmers usually implement these goals
through a large program called the kernel.  Since this program must be
accessible to all user programs, it is the natural place to add functionality
to the system.	Since the only model for process interaction is that of
specific, individual services provided by the kernel, no one creates other
places to add functionality.  As time goes by, more and more is added to the
kernel.

A traditional system allows users to add components to a kernel only if they
both understand most of it and have a privileged status within the system.
Testing new components requires a much more painful edit-compile-debug cycle
than testing other programs.  It cannot be done while others are using the
system.	 Bugs usually cause fatal system crashes, further disrupting others'
use of the system.  The entire kernel is usually non-pageable.	(There are
systems with pageable kernels, but deciding what can be paged is difficult
and error prone.  Usually the mechanisms are complex, making them difficult
to use even when adding simple extensions.)

Because of these restrictions, functionality which properly belongs *behind*
the wall of a traditional kernel is usually left out of systems unless it is
absolutely mandatory.  Many good ideas, best done with an open/read/write
interface cannot be implemented because of the problems inherent in the
monolithic nature of a traditional system.  Further, even among those with
the endurance to implement new ideas, only those who are privileged users of
their computers can do so.  The software copyright system darkens the mire by
preventing unlicensed people from even reading the kernel source.

Some systems have tried to addressed these difficulties.  Smalltalk-80 and
the Lisp Machine both represented one method of getting around the problem.
System code is not distinguished from user code; all of the system is
accessible to the user and can be changed as need be.  Both systems were
built around languages that facilitated such easy replacement and extension,
and were moderately successful.	 But they both were fairly poor at insulating
users and programs from each other, failing one of the principal goals of OS
design.

Most projects that use the Mach 3.0 kernel carry on the hard-to-change
tradition of OS design.	 The internal structure is different, but the same
heavy barrier between user and system remains.	The single-servers, while
fairly easy to construct, inherit all the deficiencies of the monolithic
kernels.

A multi-server divides the kernel functionality up into logical blocks with
well-defined interfaces.  Properly done, it is easier to make changes and add
functionality.	So most multi-server projects do somewhat better.  Much more
of the system is pageable.  You can debug the system more easily.  You can
test new system components without interfering with other users.  But the
wall between user and system remains; no user can cross it without special
privilege.

The GNU Hurd, by contrast, is designed to make the area of *system* code as
limited as possible.  Programs are required to communicate only with a few
essential parts of the kernel; the rest of the system is replaceable
dynamically.  Users can use whatever parts of the remainder of the system
they want, and can easily add components themselves for other users to take
advantage of.  No mutual trust need exist in advance for users to use each
other's services, nor does the system become vulnerable by trusting the
services of arbitrary users.

This has been done by identifying those system components which users *must*
use in order to communicate with each other.  One of these is responsible for
identifying users' identities and is called the *authentication server*.  In
order to establish each other's identities, programs must communicate, each
with an authentication server they trust.  Another component establishes
control over system components by the superuser, provides global bookkeeping
operations, and is called the *process server*.

Not all user programs need to communicate with the process server; it is only
necessary for programs which require its services.  Likewise, the
authentication server is only necessary for programs that wish to communicate
their identity to another.  None of the remaining services carry any special
status; not the network implementation, the filesystems, the program
execution mechanism (including setuid), or any others.



The Translator Mechanism
.........................

The Hurd uses Mach ports primarily as methods for communicating between users
and servers.  (A Mach port is a communication point on a Mach task where
messages are sent and received.)  Each port implements a particular set of
protocols, representing operations that can be undertaken on the underlying
object represented by the port.	 Some of the protocols specified by the Hurd
are the I/O protocol, used for generic I/O operations; the file protocol,
used for filesystem operations; the socket protocol, used for network
operations; and the process protocol, used for manipulating processes et al.

Most servers are accessed by opening files.  Normally, when you open a file,
you create a a port associated with that file that is owned by the server
that owns the directory containing the file.  For example, a disk-based
filesystem will normally serve a large number of ports, each of which
represents an open file or directory.  When a file is opened, the server
creates a new port, associates it with the file, and returns the port to the
calling program.

However, a file can have a *translator* associated with it.  In this case,
rather than return its own port which refers to the contents of the file, the
server executes a translator program associated with that file.	 This
translator is given a port to the actual contents of the file, and is then
asked to return a port to the original user to complete the open operation.

This mechanism is used for `mount' by having a translator associated with
each mount point.  When a program opens the mount point, the translator (in
this case, a program which understands the disk format of the mounted
filesystem) is executed and returns a port to the program.  After the
translator is started, it need not be run again unless it dies; the parent
filesystem retains a port to the translator to use in further requests.

The owner of a file can associate a translator with it without special
permission.  This means that any program can be specified as a translator.
Obviously the system will not work properly if the translator does not
implement the file protocol correctly.	However, the Hurd is constructed so
that the worst possible consequence is an interruptible hang.

One way to use translators is to access hierarchically structured data using
the file protocol.  For example, all the complexity of the user interface to
the `ftp' program is removed.  Users need only know that a particular
directory represents FTP and can use all the standard file manipulation
commands (e.g `ls' or `cp') to access the remote system, rather than learning
a new set.  Similarly, a simple translator could ease the complexity of `tar'
or `gzip'.  (Such transparent access would have some added cost, but it would
be convenient.)



Generic Services
.................

With translators, the filesystem can act as a rendezvous for interfaces which
are not similar to files.  Consider a service which implements some version
of the X protocol, using Mach messages as an underlying transport.  For each
X display, a file can be created with the appropriate program as its
translator.  X clients would open that file.  At that point, few file
operations would be useful (read and write, for example, would be useless),
but new operations (`XCreateWindow' or `XDrawText') might become meaningful.
In this case, the filesystem protocol is used only to manipulate
characteristics of the node used for the rendezvous.  The node need not
support I/O operations, though it should reply to any such messages with a
`message_not_understood' return code.

This translator technique is used to contact most of the services in the Hurd
that are not structured like hierarchical filesystems.	For example, the
password server, which hands out authorization tags in exchange for
passwords, is contacted this way.  Network protocol servers are also
contacted in this fashion.  Roland McGrath thought up this use of translators.



Clever Filesystem Pictures
...........................

In the Hurd, translators can also be used to present a filesystem-like view
of another part of the filesystem, with some semantics changed.	 For example,
it would be nice to have a filesystem that cannot itself be changed, but
nonetheless records changed versions of its files elsewhere.  (This could be
useful for source code management.)

The Hurd will have a translator which creates a directory which is a
conceptual union of other directories, with collision resolution rules of
various sorts.	This can be used to present a single directory to users that
contains all the programs they would want to execute.  There are other useful
variations on this theme.



What The User Can Do
.....................

No translator gains extra privilege by virtue of being hooked into the
filesystem.  Translators run with the uid of the owner of the file being
translated, and can only be set or changed by that owner.  The I/O and
filesystem protocols are carefully designed to allow their use by mutually
untrusting clients and servers.	 Indeed, translators are just ordinary
programs.  The GNU C library has a variety of facilities to make common sorts
of translators easier to write.

Some translators may need special privileges, such as the password server or
translators which allow setuid execution.  These translators could be run by
anyone, but only if they are set on a root-owned node would they be able to
provide all their services successfully.  This is analogous to letting any
user call the `reboot' system call, but only honoring it if that user is root.



Why This Is So Different
.........................

What this design provides is completely novel to the Unix world.  Until now,
OSs have kept huge portions of their functionality in the realm of system
code, thus preventing its modification and extension except in extreme need.
Users cannot replace parts of the system in their programs no matter how much
easier that would make their task, and system managers are loath to install
random tweaks off the net into their kernels.

In the Hurd, users can change almost all of the things that are decided for
them in advance by traditional systems.	 In combination with the tremendous
control given by the Mach kernel over task address spaces and properties, the
Hurd provides a system in which users will, for the first time, be able to
replace parts of the system they dislike, without disrupting other users.

Most Mach-based OSs to date have mostly implemented a wider set of the *same
old* Unix semantics in a new environment.  In contrast, GNU is extending
those semantics to allow users to improve, bypass, or replace them.



Part 2: A Look at Some of the Hurd's Beasts
-------------------------------------------



The Authentication Server
..........................

One of the Hurd's more central servers is the authentication server.  Each
port to this server identifies a user and is associated by this server with
an *id block*.	Each id block contains sets of user and group ids.  Either
set may be empty.  This server is not the same as the password server
referred to above.

The authentication server exports three services.  First, it provides simple
boolean operations on authentication ports: given two authentication ports,
this server will provide a third port representing the union of the two sets
of uids and gids.  Second,  this server allows any user with a uid of zero to
create an arbitrary authentication port.  Finally, this server provides RPCs
(Remote Procedure Calls between different programs and possibly different
hosts) which allow mutually untrusting clients and servers to establish their
identities and pass initial information on each other.	This is crucial to
the security of the filesystem and I/O protocols.

Any user could write a program which implements the authentication protocol;
this does not violate the system's security.  When a service needs to
authenticate a user, it communicates with its trusted authentication server.
If that user is using a different authentication server, the transaction will
fail and the server can refuse to communicate further.	Because, in effect,
this forces all programs on the system to use the same authentication server,
we have designed its interface to make any safe operation possible, and to
include no extraneous operations.  (This is why there is a separate password
server.)



The Process Server
...................

The process server acts as an information categorization repository.  There
are four main services supported by this server.  First, the process server
keeps track of generic host-level information not handled by the Mach kernel.
For example, the hostname, the hostid, and the system version are maintained
by the process server.	Second, this server maintains the Posix notions of
sessions and process groups, to help out programs that wish to use Posix
features.

Third, the process server maintains a one-to-one mapping between Mach tasks
and Hurd processes.  Every task is assigned a pid.  Processes can register a
message port with this server, which can then be given out to any program
which requests it.  This server makes no attempt to keep these message ports
private, so user programs are expected to implement whatever security they
need themselves.  (The GNU C Library provides convenient functions for all
this.) Processes can tell the process server their current `argv' and `envp'
values; this server will then provide, on request, these vectors of arguments
and environment.  This is useful for writing `ps'-like programs and also
makes it easier to hide or change this information.  None of these features
are mandatory.	Programs are free to disregard all of this and never register
themselves with the process server at all.  They will, however, still have a
pid assigned.

Finally, the process server implements *process collections*, which are used
to collect a number of process message ports at the same time.	Also,
facilities are provided for converting between pids, process server ports,
and Mach task ports, while ensuring the security of the ports managed.

It is important to stress that the process server is optional.	Because of
restrictions in Mach, programs must run as root in order to identify all the
tasks in the system.  But given that, multiple process servers could
co-exist, each with their own clients, giving their own model of the
universe.  Those process server features which do not require root privileges
to be implemented could be done as per-user servers.  The user's hands are
not tied.



Transparent FTP
................

Transparent FTP is an intriguing idea whose time has come.  The popular
`ange-ftp' package available for GNU Emacs makes access to FTP files
virtually transparent to all the Emacs file manipulation functions.
Transparent FTP does the same thing, but in a system wide fashion.  This
server is not yet written; the details remain to be fleshed out, and will
doubtless change with experience.

In a BSD kernel, a transparent FTP filesystem would be no harder to write
than in the Hurd.  But mention the idea to a BSD kernel hacker, and the
response is that "such a thing doesn't belong in the kernel".  In a sense,
this is correct.  It violates all the layering principles of such systems to
place such things in the kernel.  The unfortunate side effect, however, is
that the design methodology (which is based on preventing users from changing
things they don't like) is being used to prevent system designers from making
things better.	(Recent BSD kernels make it possible to write a user program
that provides transparent FTP.	An example is `alex', but it needs to run
with full root privileges.)

In the Hurd, there are no obstacles to doing transparent FTP.  A translator
will be provided for the node `/ftp'.  The contents of `/ftp' will probably
not be directly listable, though further subdirectories will be.  There will
be a variety of possible formats.  For example, to access files on uunet, one
could `cd /ftp/ftp.uu.net:anonymous:mib@gnu'.  Or to access files on a remote
account, one might `cd /ftp/gnu.ai.mit.edu:mib:passwd'.	 Parts of this
command could be left out and the transparent FTP program would read them
from a user's `.netrc' file.  In the last case, one might just
`cd /ftp/gnu.ai.mit.edu'; when the rest of the data is already in `.netrc'.

There is no need to do a `cd' first--use any file command.  To find out about
RFC 1097 (the Telnet Subliminal Message Option), just type
`more /ftp/ftp.uu.net/inet/rfc/rfc1097'.  A copy command to a local disk
could be used if the RFC would be read frequently.



Filesystems
............

Ordinary filesystems are also being implemented.  The initial release of the
Hurd will contain a filesystem upwardly compatible with the BSD 4.4 Fast File
System.	 In addition to the ordinary semantics, it will provide means to
record translators, offer thirty-two bit user ids and group ids, and supply a
new id per file, called the *author* of the file, which can be set by the
owner arbitrarily.  In addition, because users in the Hurd can have multiple
uids (or even none), there is an additional set of permission bits providing
access control for *unknown user* (no uids) as distinct from *known but
arbitrary user* (some uids: the existing *world* category of file
permissions).

The Network File System protocol will be implemented using 4.4 BSD as a
starting point.	 A log-structured filesystem will also be implemented using
the same ideas as in Sprite, but probably not the same format.	A GNU network
file protocol may be designed in time, or NFS may be extended to remove its
deficiencies.  There will also be various "little" filesystems, such as the
MS-DOS filesystem, to help people move files between GNU and other OSs.



Terminals
..........

An I/O server will provide the terminal semantics of Posix.  The GNU C
Library has features for keeping track of the controlling terminal and for
arranging to have proper job control signals sent at the proper times, as
well as features for obeying keyboard and hangup signals.

Programs will be able to insert a terminal driver into communications
channels in a variety of ways.	Servers like `rlogind' will be able to insert
the terminal protocol onto their network communication port.
Pseudo-terminals will not be necessary, though they will be provided for
backward compatibility with older programs.  No programs in GNU will depend
on them.

Nothing about a terminal driver is forced upon users.  A terminal driver
allows a user to get at the underlying communications channel easily, to
bypass itself on an as-needed basis or altogether, or to substitute a
different terminal driver-like program.	 In the last case, provided the
alternate program implements the necessary interfaces, it will be used by the
C Library exactly as if it were the ordinary terminal driver.

Because of this flexibility, the original terminal driver will not provide
complex line editing features, restricting itself to the behavior found in
Posix and BSD.	In time, there will be a `readline'-based terminal driver,
which will provide complex line-editing features for those users who want
them.

The terminal driver will probably not provide good support for the
high-volume, rapid data transmission required by UUCP or SLIP.	Those
programs do not need any of its features.  Instead they will be use the
underlying Mach device ports for terminals, which support moving large
amounts of data efficiently.



Executing Programs
...................

The implementation of the `execve' call is spread across three programs.  The
library marshals the argument and environment vectors.	It then sends a
message to the file server that holds the file to be executed.	The file
server checks execute permissions and makes whatever changes it desires in
the exec call.	For example, if the file is marked setuid and the fileserver
has the ability, it will change the user identification of the new image.
The file server also decides if programs which had access to the old task
should continue to have access to the new task.	 If the file server is
augmenting permissions, or executing an unreadable image, then the exec needs
to take place in a new Mach task to maintain security.

After deciding the policy associated with the new image, the filesystem calls
the exec server to load the task.  This server, using the BFD (Binary File
Descriptor) library, loads the image.  BFD supports a large number of object
file formats; almost any supported format will be executable.  This server
also handles scripts starting with `#!', running them through the indicated
program.

The standard exec server also looks at the environment of the new image; if
it contains a variable `EXECSERVERS' then it uses the programs specified
there as exec servers instead of the system default.  (This is, of course,
not done for execs that the file server has requested be kept secure.)

The new image starts running in the GNU C Library, which sends a message to
the exec server to get the arguments, environment, umask, current directory,
etc.  None of this additional state is special to the file or exec servers;
if programs wish, they can use it in a different manner than the Library.



New Processes
..............

The `fork' call is implemented almost entirely in the GNU C Library.  The new
task is created by Mach kernel calls.  The C Library arranges to have its
image inherited properly.  The new task is registered with the process server
(though this is not mandatory).	 The C Library provides vectors of functions
to be called at fork time: one vector to be called before the fork, one after
in the parent, and one after in the child.  (These features should not be
used to replace the normal fork-calling sequence; it is intended for
libraries which need to close ports or clean up before a fork occurs.)	The C
library will implement both fork calls specified by the draft Posix.4a (the
proposed standard dealing with the threads extension to the real-time
extension).

Nothing forces the user to create new tasks this way.  If a program wants to
use almost the normal fork, but with some special characteristics, then it
can do so.  Hooks will be provided by the C Library, or the function can even
be completely replaced.	 None of this is possible in a traditional Unix
system.



Asynchronous Messages
......................

As mentioned above, the process server maintains a "message port" for each
task registered with it.  These ports are public, and are used to send
asynchronous messages to the task.  Signals, for example, are sent to the
message port.  The signal message also provides a port as an indication that
the sender should be trusted to send the signal.  The GNU C Library lists a
variety of ports in a table, each of which identifies a set of signals that
can be sent by anyone who possesses that port.	For example, if the user
possesses the task's kernel port, it is allowed to send any signal.  If the
user possesses a special "terminal id" port, it is allowed to send the
keyboard and hangup signals.  Users can add arbitrary new entries into the C
library's signal permissions table.

When a process's process group changes, the process server will send it a
message indicating the new process group.  In this case, the process server
proves its authority by providing the task's kernel port.

The C library also has messages to add and delete uids currently used by the
process.  If new uids are sent to the program, the library adds them to its
current set, and then exchanges messages with all the I/O servers it knows
about, proving to them its new authorization.  Similarly, a message can
delete uids.  In the latter case, the caller must provide the process's task
port.  (You can't harm a process by giving it extra permission, but you can
harm it by taking permission away.)  The Hurd will provide user programs to
send these messages to processes.  For example, the `su' command will be able
to cause all the programs in your current login session, to gain a new uid,
rather than spawn a subshell.

The C library will allow programs to add asynchronous messages they wish to
recognize, as well as prevent recognition of the standard set.



Making It Look Like Unix
.........................

The C Library will implement all of the calls from BSD and Posix as well as
some obvious extensions to them.  This enables users to replace those calls
they dislike or bypass them entirely, whereas in Unix the calls must be used
"as they come" with no alternatives possible.

In some environments binary compatibility will also be supported.  This works
by building a special version of the library which is then loaded somewhere
in the address space of the process.  (For example, on a VAX, it would be
tucked in above the stack.)  A feature of Mach, called system call
redirection, is then used to trap Unix system calls and turn them into jumps
into this special version of the library.  (On almost all machines, the cost
of such a redirection is very small; this is a highly optimized path in Mach.
On a 386 it's about two dozen instructions.  This is little worse than a
simple procedure call.)

Many features of Unix, such as signal masks and vectors, are handled
completely by the library.  This makes such features significantly cheaper
than in Unix.  It is now reasonable to use `sigblock' extensively to protect
critical sections, rather than seeking out some other, less expensive method.



Network Protocols
..................

The Hurd will have a library that will make it very easy to port 4.4 BSD
protocol stacks into the Hurd.	This will enable operation, virtually for
free, of all the protocols supported by BSD.  Currently, this includes the
CCITT protocols, the TCP/IP protocols, the Xerox NS protocols, and the ISO
protocols.

For optimal performance some work would be necessary to take advantage of
Hurd features that provide for very high speed I/O.  For most protocols this
will require some thought, but not too much time.  The Hurd will run the
TCP/IP protocols as efficiently as possible.

As an interesting example of the flexibility of the Hurd design, consider the
case of IP trailers, used extensively in BSD for performance.  While the Hurd
will be willing to send and receive trailers, it will gain fairly little
advantage in doing so because there is no requirement that data be copied and
avoiding copies for page-aligned data is irrelevant.



Second Annual GNU Seminar in Japan
**********************************

Wingnut and the FSF sponsored the second GNU Technical Seminar in Tokyo on
December 1 and 2, 1993.	 Richard Stallman spoke on the GNU Project and the
FSF.  Jim Blandy then spoke on GNU Emacs 19.  Finally Manabu Higashida spoke
on Demacs (see "Free Software for Microcomputers").  Bob Myers and
David Littleboy translated the English lectures into Japanese.
Software Research Associates, Inc. (SRA), the SRA/Wingnut project and their
staff provided help in countless ways for this seminar and the entire trip to
Japan.	About 70 people attended the seminar, and several Japanese
publications interviewed Richard Stallman.  The FSF also premiered the new
edition of it's Source Code CD-ROM.

Seminars were also held at Sendai on Dec 6th, where Richard Stallman spoke;
The University of Aizu on Dec 7th, where Richard Stallman and Jim Blandy
spoke; and Osaka on Dec 13th where Richard Stallman and Manabu Higashida
spoke.	We thank all the people and organizations who helped make these
seminars a reality, including the organizers, hosts, and interpreters.

The Japan Unix Society gave the FSF a booth at Unix Fair '93 in Yokohama.  We
thank all the volunteers and organizations who helped the FSF run this booth.

Our success at the seminars and trade shows exceeded our expectations.	We
received many unsolicited donations from individual supporters and users'
groups, and are thankful for the number of enthusiastic volunteers who helped
us.  In the future we hope to appear at even more Unix events both in Japan
and elsewhere.	If you would like to host a seminar, or need a speaker for a
conference, please contact either address on the front cover.



GNU and other Free Software in Japan
************************************

Mieko (`h-mieko@sra.co.jp') and Nobuyuki Hikichi (`hikichi@sra.co.jp')
continue to volunteer for the GNU Project in Japan.  They translate each
issue of this Bulletin into Japanese and distribute it widely, along with
their translation of the GNU General Public License Version 2.	This
translation of the GPL is authorized by the FSF and is available by anonymous
FTP from `srawgw.sra.co.jp' in `/pub/gnu/local-fix/GPL2-j'.  They are working
on a formal translation of the GNU Library General Public License.  In
addition, they also solicit donations and offer GNU software consulting.

Japanese versions of Epoch (`nepoch') and MULE are available and widely used
in Japan.  MULE (the MULtilingual Enhancement of GNU Emacs) can handle many
character sets at once.	 Eventually its features will be merged into the
FSF's version of Emacs.	 The FSF does not distribute `nepoch', but MULE is
available (see "Source Code CD-ROM").  You can also FTP it from
`sh.wide.ad.jp' in `/JAPAN/mule' or `etlport.etl.go.jp' in `/pub/mule'.

The Village Center, Inc. prints a Japanese translation of the `GNU Emacs Lisp
Reference Manual' and uploads the Texinfo source to various bulletin boards.
They have also published a copylefted book, Nobuyuki's and Mieko's `Think
GNU'.  This appears to be the first non-FSF copylefted publication in Japan.
Part of the profits are donated to the FSF.  Their address is:

	Village Center, Inc.
	2-2-12, Fujimi-Cho, Choufu city
	Tokyo 182,  Japan

Addison Wesley Publishers Japan has printed a Japanese translation of the
`GNU Make Manual' and `GAWK Manual'.  Their address is:

	Addison Wesley Publishers Japan
	Nichibou Bldg. 2F
	1-2-2 Sarugaku-cho, Chiyoda-ku
	Tokyo 101, Japan

ICOT (Institute for Next Generation Computer Technology) is distributing the
fifth-generation software produced by their research efforts as free
software.  This includes over 70 megabytes of programs for symbol processing,
knowledge representation, problem solving and inference, and natural language
processing.  For more information, contact `irpr@icot.or.jp'.

Many groups in Japan now distribute GNU software.  They include JUG, a PC
user group; ASCII, a periodical and book publisher; the Fujitsu FM Towns
users group; and SRA's GNU support special group, called Wingnut, who also
purchased the first Deluxe package in Japan.  (Since then, there have been
several other anonymous purchases of the Deluxe package in Japan.)  Anonymous
UUCP is also available; for more info, contact `toku@dit.co.jp'.

It is also easy to place orders directly with the FSF from Japan, helping us
to fund new code.  We have an FSF Order Form written in Japanese, ask
`japan-fsf-orders@prep.ai.mit.edu' for a copy of the order form.  There are
also two toll-free facsimile numbers for use in Japan (see the front cover).
We encourage you to buy tapes: every 150 tape orders allows FSF to hire a
programmer for a year to write more free software.



Freely Available Texts
**********************

Freely redistributable information isn't just software.	 Here are a few
groups providing various books, historical documents, and more.

   * FreeLore

     One goal of John Goodwin's FreeLore project is to create a core of
     useful, copylefted textbooks.  He is currently testing a prototype
     curriculum, written in Texinfo, for junior-high school through early
     college.  To volunteer, contact him at `jgoodwin@adcalc.fnal.gov'.

   * The Online Book Initiative

     The Online Book Initiative focuses on freely redistributable books,
     conference proceedings, reference material, catalogues, etc. OBI has
     about 200MB of (mostly compressed) text online, ranging from poetry to
     standards documents to novels.  Anonymous FTP it from `obi.std.com'.
     You can also dial `world.std.com' with a modem (617-739-9753, 8N1) and
     create an account to access this information (login as `new').  Accounts
     on `world' are charged for their connect time (ask
     `office@world.std.com' for details).

   * Project Gutenberg

     Project Gutenberg is the brainchild of Michael Hart.  Professor Hart's
     hope for success derives from the nature of what he calls `Replicator
     Technology'.  Once anything is stored in a computer, it can be reproduced
     indefinitely, making it available to all who want it.  Texts from
     Project Gutenberg are available at a number of FTP sites, including
     `mrcnext.cso.uiuc.edu' in file `/etext' and `oes.orst.edu' in file
     `/pub/almanac/etext'.  For instructions on how to obtain text from
     Bitnet, send the word `HELP' in the body of a message to `BITFTP@PUCC'
     (`BITFTP%PUCC.BITNET@mitvma.mit.edu' on the Internet).  Or look at
     `bit.listserv.gutnberg', a USENET newsgroup.



OCEAN Integrated-Circuit Design System
**************************************

Delft University of Technology, the Netherlands, has developed OCEAN, a
comprehensive chip design package.  It includes a full set of powerful tools
for synthesis and verification of semi-custom sea-of-gates and gate-array
chips.	OCEAN covers the back-end of the design trajectory--from circuit
level, down to layout and a working chip.

OCEAN provides interactive tools for placement, routing, simulation and
extraction, either automatically or manually guided.  It is available as free
software, with full source code, and is known to run on Linux, HP and Sun
workstations under the X Window System.	 For import and export of data, it
knows about EDIF, BLIF, SLS, GDSII, CIF, SPICE and LDM.

You can obtain OCEAN by anonymous FTP from `donau.et.tudelft.nl'.  For more
information, contact `patrick@donau.et.tudelft.nl' on the Internet.



Hundred Acre Consulting Expands
*******************************

Hundred Acre Consulting continues to provide support and development
services, with its specialty being the GNU C and C++ compilers.	 It continues
its policy of donating a percentage of its profit to the FSF.  Their address
is:

	Hundred Acre Consulting
	5301 Longley Lane, Suite D-144
	Reno, NV   89511
	USA
	Phone: (702) 829-9700 or +1-800-245-2885
	Fax: (702) 829-9926
	E-mail: `info@pooh.com'



Project GNU Status Report
*************************

   * GNU Software Configuration Scheme

     We are using a uniform scheme for configuring GNU software packages in
     order to compile them.  All GNU software supports the same alternatives
     for naming machine and system types.  This makes it possible to
     configure any and all GNU software in the same manner.

     The configuration scheme also supports configuring a directory
     containing several GNU packages with one command.	When the operating
     system is completed, it will be possible to configure the entire system
     at once, eliminating the need to separately configure each of the
     individual packages that make up the GNU system.

     The configuration scheme can also specify both the host and target
     system, so you can easily configure and build cross-compilation tools.

   * The Hurd

     We are developing the GNU Hurd, a set of servers that run on top of Mach
     (for more information, see "Towards a New Strategy of Operating System
     Design").	Mach is a free message-passing kernel being developed at CMU.
     The Hurd servers, working with the GNU C Library, will provide Unix-like
     functionality.  They are the last major components necessary for a
     complete GNU system.

     Currently there are free ports of the Mach kernel to the 386 PC, the DEC
     PMAX workstation, and several other machines, with more in progress.
     Contact CMU c/o `mach@cs.cmu.edu' if you want to help with one of those
     or start your own.	 Porting the GNU Hurd and GNU C Library is easy
     (easier than porting GNU Emacs, certainly easier than porting GCC) once
     a Mach port to a particular kind of hardware exists.

     Significant progress has been made recently: the filesystem is coming up
     and several other servers are running.  There are significant projects
     relating to the Hurd for which we need volunteers.	 Experienced system
     programmers who are interested should send mail to `gnu@prep.ai.mit.edu'.

   * GNU Emacs	   (also see "GNU Software Available Now")

     Emacs is the extensible, customizable, self-documenting real-time
     display editor.  The current version is GNU Emacs 19.22.

     A number of volunteers have been especially helpful on Emacs 19.  Thanks
     to Alan Carroll and the people who worked on Epoch for generating initial
     feedback to a multi-windowed Emacs, to Lucid, Inc. for implementing X
     Selections, faces, the optimizing byte compiler, and the default menu
     bar, to Eric Raymond who has evaluated 460 out of 851 possible new Lisp
     libraries, and to Stephen Gildea for making the Emacs 19 reference card.

     Features planned for later releases of Emacs include: different
     visibility conditions for regions, and for various windows showing one
     buffer; incrementally saving the undo history in a file, so that
     `recover-file' also reinstalls the buffer's undo history; support for
     variable-width fonts; support for wide character sets including all the
     world's major languages; and support for display using an X toolkit.

   * GNU Fortran (`g77')

     GNU Fortran is in "private" alpha test (testing by a small group of
     experts) and is not yet publicly released.	 Until `g77' is fully
     released to the public, we ask people to use `f2c' (a Fortran-to-C
     translator) with `gcc' (the GNU C compiler).  As `g77' uses a lot of
     these tools (the `f2c' libraries and the `gcc' back end), using them and
     reporting any problems you find will help speed the release of `g77'.
     For more information on `f2c' and `gcc', see "GNU Software Available
     Now."

     The primary focus of the alpha test is to test the `g77' front end,
     since that has most of the new code.  The secondary focus of the alpha
     test is to test the integration between the front end and the back end.
     Currently, this is where most of the bugs seem to be.  The tertiary
     focus is the quality of code generated by the GNU back end for Fortran.

     We hope to have a `g77' beta release in early spring 1994, as part of
     the regular compiler distribution.

     A mailing list exists for announcements about `g77'.  To subscribe, ask
     `info-gnu-fortran-request@prep.ai.mit.edu'.  To contact the author and
     maintainer of `g77', write to `fortran@prep.ai.mit.edu'.

   * C Compiler	    (also see "GNU Software Available Now")

     Version 2 of the GNU C Compiler has been released.	 We are no longer
     distributing or maintaining version 1 of GCC, G++, or libg++.  GCC2
     supports both ANSI and traditional C, as well as some GNU C extensions.
     There are front ends for C++ and Objective C too.

     New front ends are being developed, but they are not yet part of GCC.  A
     front end for Fortran is now in alpha test and is approaching completion,
     and a front end for Ada (GNAT: The GNU Ada Translator) is available via
     anonymous FTP from `cs.nyu.edu' in `ftp/pub/gnat', though it is not yet
     stable.  Volunteers are also developing a Pascal front end.

     For more information about GCC, see "GNU Software Available Now."

   * C Interpreter

     The FSF is working to add interpreter facilities to the GNU compiler and
     debugger.	This task is partly finished.  The compiler now generates
     byte code (for all supported languages, not just C) and another package
     interprets it.

     To make this work usable, we need to add features to GDB to dynamically
     load the byte code.  We also would like C compiler support for compiling
     just a specified few functions in a file.	Due to limited resources, the
     FSF cannot fund this.  Interested volunteers should contact
     `gnu@prep.ai.mit.edu'.

   * Binutils	  (also see "GNU Software Available Now")

     Steve Chamberlain, Per Bothner, and others at Cygnus Support have
     rewritten the binary utilities (including the linker).  Version 2 is
     based on the same Binary File Descriptor (BFD) library used by GDB.  All
     the tools can be run on a host that differs from the target (e.g.
     cross-linking is supported).  Various forms of COFF and other object
     file formats are supported.  A tool can now deal with object files in
     multiple formats simultaneously.  E.g., the linker can read object files
     using many different formats, and write the output in a third format.
     The linker interprets a superset of the AT&T Linker Command Language,
     which allows general control over where segments are placed in memory.

   * GNU C Library     (also see "GNU Software Available Now")

     Roland McGrath continues work on the GNU C Library.  It now supports all
     requirements of the ANSI C-1989 and POSIX 1003.1-1990 standards, most
     facilities of POSIX 1003.2, and many additional BSD and System V
     functions.

     The C Library will perform many functions of the UNIX system calls in
     the Hurd.	Mike Haertel has written a fast `malloc' which wastes less
     memory than the old GNU version.  The GNU regular-expression functions
     (`regex') now nearly conform to the POSIX 1003.2 standard.

     GNU `stdio' lets you define new kinds of streams, just by writing a few
     C functions.  The `fmemopen' function uses this to open a stream on a
     string, which can grow as necessary.  You can define your own `printf'
     formats to use a C function you have written.  For example, you can
     safely use format strings from user input to implement a `printf'-like
     function for another programming language.	 Extended `getopt' functions
     are already used to parse options, including long options, in many GNU
     utilities.

     Version 1.06 of the GNU C Library is just out and 1.07 is in the works.
     Version 1.06 includes the relocating allocator used in Emacs 19, as well
     as new ports to Dynix on Sequent Symmetry, SCO & SVR4 on i386, & Solaris
     2 on SPARC.  Texinfo source of the `GNU C Library Reference Manual' is
     included.	For more info, see "GNU Software Available Now."

   * indent	(also see "GNU Software Available Now")

     We now have a version of `indent' which supports the GNU indentation
     conventions for C code.  It is more robust and also has handy options
     for the most common style combinations.

     A companion program to examine a C source file and find the indentation
     parameters used therein is almost ready for release, but needs someone to
     finish it.	 Please contact `gnu@prep.ai.mit.edu' to volunteer.

   * `make'	(also see "GNU Software Available Now")

     GNU `make' version 3.70 is released.  Error reporting is improved and
     many bugs have been fixed.	 GNU `make' fully complies with the POSIX.2
     standard.	It also supports long options, parallel command execution,
     flexible implicit pattern rules, conditional execution and powerful text
     manipulation functions.  Version 3.64 added support for the popular `+='
     syntax for appending more text to a variable's definition.	 For those
     with no vendor-supplied `make' utility at all, GNU `make' comes with a
     shell script called `build.sh' for the initial build.  See "GNU Software
     Available Now."

   * Oleo     (also see "GNU Software Available Now")

     Oleo is a spreadsheet program that can be run either as an X client or
     using curses.  The current version is 1.5.	 Support has recently been
     added both for `gnuplot' and for generating embedded Postscript.

     If you would like to write the Texinfo manual for Oleo, contact Tom Lord,
     `lord+@andrew.cmu.edu'.  Please send bug reports regarding Oleo to
     `bug-oleo@prep.ai.mit.edu'.  See "GNU Software Available Now."

   * Ghostscript     (also see "GNU Software Available Now")

     The current version of Ghostscript is 2.6.1.  New features include the
     ability to use the fonts provided by the platform on which Ghostscript
     runs (X Window System and Microsoft Windows), resulting in much
     better-looking screen displays; improved text file printing (like
     `enscript'); a utility to extract the text from a Postscript document; a
     much more reliable (and faster) Microsoft Windows implementation;
     support for Microsoft C/C++ 7.0; drivers for many new printers,
     including the SPARCprinter, and for TIFF/F (fax) file format; many more
     Postscript Level 2 facilities, including most of the color space
     facilities (but not patterns), and the ability to switch between Level 1
     and Level 2 dynamically.

     Ghostscript accepts commands in Postscript and executes them by writing
     directly to a printer, drawing on an X window, or writing to a file that
     you can print later (or to a bitmap file that you can manipulate with
     other graphics programs).	Tim Theisen, `ghostview@cs.wisc.edu', has
     created Ghostview, a previewer for multi-page files that runs on top of
     Ghostscript.  Russell Lang, `rjl@monu1.cc.monash.edu.au', has created
     Ghostview for Windows, a similar previewer that runs on Microsoft
     Windows.

     Ghostscript includes a C-callable graphics library (for client programs
     that do not want to deal with the Postscript language).  It also supports
     IBM PCs and compatibles with EGA, VGA, or SuperVGA graphics (but please
     do *not* ask the FSF staff any questions about this; we do not use PCs).

     The next planned Ghostscript release is 3.0, hopefully available in early
     1994.  It will implement the full Postscript Level 2 language except for
     LZW compression, which can't be freely implemented because of software
     patents.  Prohibitions like this on programming is what the League for
     Programming Freedom is fighting.  See "What is the LPF?" for details.

   * Smalltalk	   (also see "GNU Software Available Now")

     GNU Smalltalk implements the traditional features of the Smalltalk
     language, but not yet the graphics and window features.  Recently someone
     implemented these and they will appear in a future release.

   * `groff'	 (also see "GNU Software Available Now")

     James Clark has completed `groff' (GNU `troff' and related programs).
     Written in C++, they can be compiled with GNU C++ Version 2.3 or later.

     Bugs in `groff' will be fixed, but no major new developments are
     currently planned.	 However, `groff' users are encouraged to continue to
     contribute enhancements.  Most needed are complete Texinfo
     documentation, a `grap' emulation (a `pic' preprocessor for typesetting
     graphs), a page-makeup postprocessor similar to `pm' (see `Computing
     Systems', Vol. 2, No. 2) and an ASCII output class for `pic' so that
     `pic' can be integrated with Texinfo.

     Thanks to all those who have contributed bug reports.

   * Texinfo 3	   (also see "GNU Software Available Now")

     The Texinfo 3 package includes an enhanced Texinfo mode for GNU Emacs,
     new versions of the formatting utilities, and the second edition of the
     `Texinfo Manual'.	This edition is more thorough and describes over 50
     new commands.  Texinfo mode now includes commands for automatically
     creating and updating nodes and menus, a tedious task when done by hand.
     `makeinfo', a standalone formatter, and `info', a standalone Info reader
     are included.  Both are written in C and are independent of GNU Emacs.

   * Porting

     Although we do not yet have a complete GNU system, it is already
     possible for you to begin porting it.  This is because the unfinished
     part, the Hurd, is basically portable.  The parts of the system that
     really need porting are Mach and the GNU C Library, which are already
     available to port, use and report bugs.



GNU Documentation
*****************

GNU is dedicated to having quality, easy-to-use on-line and printed
documentation.	GNU manuals are intended to explain the underlying concepts,
describe how to use all the features of each program, and give examples of
command use.  GNU manuals are distributed as Texinfo source files, which
yield both typeset hardcopy and on-line hypertext-like display via the
menu-driven Info system.  These manuals, source for which is provided with
our software, are also available in hardcopy; see the "Free Software
Foundation Order Form."

Several GNU manuals are bound as soft cover books with "lay-flat" bindings.
This allows you to open them so they lie flat on a table without creasing the
binding.  Each book has an inner cloth spine and an outer cardboard cover
that will not break or crease as an ordinary paperback will.  The other GNU
manuals are also bound so they lie flat when opened, using other
technologies.  See the "Free Software Foundation Order Form" for a list of
each.

Edition numbers of the manual and version number of the program listed after
each manual's names were current at the time this Bulletin was published.

The `Emacs Manual' (9th Edition for Version 19) describes editing with GNU
Emacs.	It also explains advanced features, such as outline mode and regular
expression search, how to use special modes for programming in languages like
C++ and TeX, how to use the `tags' utility, how to compile and correct code,
and how to make your own keybindings and other elementary customizations.

The `GNU Emacs Lisp Reference Manual' (Edition 2.1 for Version 19) covers
this programming language in depth, including data types, control structures,
functions, macros, syntax tables, searching and matching, modes, windows,
keymaps, markers, byte compilation, and the operating system interface.

The `Texinfo Manual' (Edition 2.19 for Version 3) explains the markup
language used to generate both the online Info documentation and typeset
hardcopies.  It tells you how to make tables, lists, chapters, nodes,
indexes, cross references, how to use Texinfo mode in GNU Emacs, and how to
catch mistakes.

The `GAWK Manual' (Edition 0.16 for Version 2.16) tells how to use the GNU
implementation of `awk'.  It is written for someone who has never used `awk'
and describes all the features of this powerful string and record
manipulation language.

The `Make Manual' (Edition 0.43 for Version 3.68) describes GNU `make', a
program used to rebuild parts of other programs.  The manual tells how to
write "makefiles", which specify how a program is to be compiled and how its
files depend on each other.  Included are an introductory chapter for novice
users and a section about automatically generated dependencies.

`Debugging with GDB' (Edition 4.09 for Version 4.9) tells how to use the GNU
Debugger, run your program under debugger control, examine and alter data,
modify the flow of control within a program, and use GDB through GNU Emacs.

The `Bison Manual' (December 1993 Edition for Version 1.23) teaches you how
to write context-free grammars for the Bison program that convert into
C-coded parsers.  You need no prior knowledge of parser generators.

The `Flex Manual' (Edition 1.03 for Version 2.3.7) tells you how to write a
lexical scanner definition for the `flex' program to create a C ++ or C-coded
scanner that will recognize the patterns described.  You need no prior
knowledge of scanner generators.

`Using and Porting GNU CC' (June 1993 Edition for Version 2.4) explains how
to run, install and port the GNU C compiler.

The `Termcap Manual' (2nd Edition for Version 1.2), often described as "twice
as much as you ever wanted to know about termcap," details the format of the
termcap database, the definitions of terminal capabilities, and the process
of interrogating a terminal description.  This manual is primarily for
programmers.

The `Emacs Calc Manual' (Edition 2.02 for Version 2.02) includes both a
tutorial and a reference manual for Calc.  It describes how to do ordinary
arithmetic, how to use Calc for algebra, calculus and other forms of
mathematics, and how to extend Calc.

The `C Library Reference Manual' (June 93 Edition for Version 1.07) describes
most of the facilities of the GNU C library, including both what Unix calls
"library functions" and "system calls."	 We are doing limited copier runs of
this manual until it becomes more stable.  It is new, and needs corrections
and improvements.  Please send them to `bug-glibc-manual@prep.ai.mit.edu'.



GNU Software Available Now
**************************

We offer:

   * Source Code CD-ROM (see "Source Code CD-ROM")

   * Compiler Tools Binaries CD-ROM (see "Compiler Tools Binaries CD-ROM")

   * MS-DOS Diskettes with some GNU software (see "MS-DOS Distribution")

   * VMS tapes (which include sources and executables) for GNU Emacs and the
     GNU C compiler (see "VMS Emacs and VMS Compiler Tapes")

We also offer Unix software source distributions tapes in `tar' format on the
following media:

   * 4mm DAT cartridges

   * 8mm Exabyte cartridges

   * Sun QIC-24 cartridges (readable on some other systems)

   * Hewlett-Packard 16-track cartridges

   * IBM RS/6000 QIC-150 cartridges (readable on some other systems) (the
     RS/6000 Emacs tape has an Emacs binary as well)

   * 1600bpi 9-track reel tape

The contents of the reel and various cartridge tapes for Unix systems are the
same (except for the RS/6000 Emacs tape, which also has executables for
Emacs); only the media are different (see the "Free Software Foundation Order
Form").	 Source code for the manuals is included in Texinfo format.  We
welcome all bug reports sent to the appropriate electronic mailing list (see
"Free Software Support").

Some of the files on the tapes may be compressed with `gzip' to make them
fit.  Refer to the top-level `README' file at the beginning of each tape for
instructions on uncompressing them.  `uncompress' and `unpack' *do not work*!

Version numbers listed after program names, in the articles describing the
contents of each media, were current at the time this Bulletin was published.
When you order a distribution tape or diskette, some of the programs might
be newer, and therefore the version number higher.

Key to cross reference:

    BinCD
	  Binaries CD-ROM

    DemcsD
	  Demacs Diskettes

    DjgppD
	  Djgpp Diskettes

    EmcsT
	  Emacs Tape

    LangT
	  Language Tape

    SchmT
	  Scheme Tape

    SrcCD
	  Source CD-ROM

    UtilD
	  Selected Utilities Diskettes

    UtilT
	  Utilities Tape

    VMSCompT
	  VMS Compiler Tape

    VMSEmcsT
	  VMS Emacs Tape

    WdwsD
	  Windows Diskette

    X11OptT
	  X11 Optional Tape

    X11ReqT
	  X11 Required Tape

GNU software currently available (see "Project GNU Status Report" for what's
new features and programs are coming):

   * `acm'     (SrcCD, UtilT)

     `acm' is a LAN-oriented, multiplayer aerial combat simulation that runs
     under the X Window System.	 Players engage in air to air combat against
     one another using heat seeking missiles and cannons.  Eventually we hope
     to turn this into a more general purpose flight simulator.

   * Autoconf	  (SrcCD, UtilT)

     Autoconf produces shell scripts which automatically configure source code
     packages.	These scripts adapt the packages to many kinds of Unix-like
     systems without manual user intervention.	Autoconf creates a script for
     a package from a template file which lists the operating system features
     which the package can use, in the form of `m4' macro calls.  Most GNU
     programs now use Autoconf-generated configure scripts.

   * BASH     (SrcCD, UtilT)

     The GNU shell, BASH (Bourne Again SHell), is compatible with the Unix
     `sh' and offers many extensions found in `csh' and `ksh'.	BASH has job
     control, `csh'-style command history, and command-line editing (with
     Emacs and `vi' modes built-in and the ability to rebind keys) via the
     readline library.

   * `bc'     (SrcCD, UtilT)

     `bc' is an interactive algebraic language with arbitrary precision.  GNU
     `bc' follows the POSIX 1003.2 draft standard, with several extensions
     including multi-character variable names, an `else' statement and full
     Boolean expressions.

   * BFD     (BinCD, LangT, SrcCD)

     The Binary File Descriptor library allows a program which operates on
     object files (e.g. `ld' or GDB) to support many different formats in a
     clean way.	 BFD provides a portable interface, so that only BFD needs to
     know the actual details of a particular format.  One consequence of this
     design is that all programs using BFD will support formats such as a.out,
     COFF, ELF & OSF-Rose.  BFD comes with Texinfo documentation.

     Presently BFD is not distributed separately but is included with packages
     that use it, because it is not yet completely stable.

   * Binutils	  (BinCD, LangT, SrcCD)

     The Binutils includes the programs: `ar', `c++filt', `demangle', `gprof',
     `ld', `nlmconv', `nm', `objcopy', `objdump', `ranlib', `size', `strings',
     & `strip'.

     Binutils Version 2 is completely rewritten to use the BFD library.	 The
     GNU linker `ld' emits source-line numbered error messages for
     multiply-defined symbols and undefined references.	 `nlmconv' converts
     object files into Novell NetWare Loadable Modules.	 The `objdump'
     program can disassemble code for a29k, ALPHA, H8/300, H8/500, HP-PA,
     i386, i960, m68k, m88k, MIPS, SH, SPARC, & Z8000 processors, and can
     display other data such as symbols and relocations from any file format
     understood by BFD.	 Also see "Project GNU Status Report".

   * Bison     (BinCD, LangT, SrcCD, VMSCompT)

     Bison is an upwardly compatible replacement for the parser generator
     `yacc'.  Sources for the `Bison Manual' and reference card are included.

   * GNU C Library     (LangT, SrcCD)

     The library supports ANSI C-1989 and POSIX 1003.1-1990 and has most of
     the functions specified in POSIX 1003.2 draft 11.2.  It is upward
     compatible with 4.4 BSD and includes many System V functions, plus GNU
     extensions.

     Version 1.07 uses a standard GNU `configure' script.  It runs on Sun-3
     (SunOS 4.1), Sun-4 (SunOS 4.1 & Solaris 2), HP 9000/300 (4.3 BSD), SONY
     News 800 (NewsOS 3 or 4), MIPS DECstation (Ultrix 4), DEC Alpha (OSF/1),
     i386/i486 (System V, SVR4, BSD, SCO 3.2 & SCO ODT 2.0) & Sequent Symmetry
     i386 (Dynix 3).  Texinfo source for the `GNU C Library Reference Manual'
     is included.  Also see "Project GNU Status Report".

   * Calc     (EmcsT, SrcCD)

     Calc (written by Dave Gillespie in Emacs Lisp) is an extensible,
     advanced desk calculator and mathematical tool that runs as part of GNU
     Emacs.  It comes with source for the `Calc Manual' and reference card,
     which serves as a tutorial and reference.	If you wish, you can use Calc
     just as a simple four-function calculator, but it provides additional
     features including choice of algebraic or RPN (stack-based) entry,
     logarithmic functions, trigonometric and financial functions, arbitrary
     precision, complex numbers, vectors, matrices, dates, times, infinities,
     sets, algebraic simplification, differentiation, and integration.	Calc
     also outputs to `gnuplot'.

   * GNU Chess	   (UtilT, SrcCD)

     GNU Chess is a program that plays chess with you.	It is written
     entirely in the C language and has been ported to the PC, the Cray-2 &
     numerous other machines.  It has also been ported to other operating
     systems, including Microsoft Windows and MS-DOS, though these versions
     are not supported by the maintainer.  There are both text and X display
     interfaces.

     GNU Chess implements many specialized features including the null move
     heuristic, a hash table with aging, the history heuristic (another form
     of the earlier killer heuristic), caching of static evaluations, and a
     sophisticated database which lets it play the first several moves in the
     game quickly.

     GNU Chess won the Uniform Platform event held in August 1992 in London,
     England.  Nine programs competed, running on identical hardware.

     GNU Chess is primarily supported by Stuart Cracraft on behalf of the FSF.

	     Stuart Cracraft
	     P.O. Box 2841
	     Laguna Hills, CA	92653
	     USA
	     Phone: (714) 770-8532
	     E-mail: `cracraft@ai.mit.edu'

   * CLISP     (EmcsT, SrcCD)

     CLISP is a Common Lisp implementation by Bruno Haible and Michael Stoll.
     It mostly supports the Common Lisp described by `Common LISP: The
     Language (1st edition)'.  CLISP includes an interpreter, a byte-compiler
     and, for some machines, a screen editor.  CLISP needs only 1.5 MB of
     memory and runs on many microcomputers (including the Atari ST, Amiga
     500-2000, most MS-DOS systems & OS/2) & on some Unix workstations
     (Linux, SunOS (SPARC), Sun-386i, HP-UX (HP 9000/800) & others).

   * `cpio'	(UtilD, UtilT, SrcCD)

     `cpio' is an alternative archive program with all the features of SVR4
     `cpio', including support for the final POSIX 1003.1 `ustar' standard.
     `mt' a program to position magnetic tapes is included with `cpio'.

   * CVS     (UtilT, SrcCD)

     CVS, the Concurrent Version System, manages software revision and release
     control in a multi-developer, multi-directory, multi-group environment.
     It works best in conjunction with RCS versions 4 and above, but will
     parse older RCS formats with the loss of CVS's fancier features.  See
     Berliner, Brian, "CVS-II: Parallelizing Software Development,"
     `Proceedings of the Winter 1990 USENIX Association Conference'.

   * `dc'     (UtilT, SrcCD)

     `dc' is an RPN calculator.	 GNU `bc' does not require a separate `dc'
     program to run.  This version of `dc' will eventually be merged with GNU
     `bc'.

   * DejaGnu	 (LangT, SrcCD)

     DejaGnu is a framework for testing other programs that provides a single
     front end for all tests.  The flexibility and consistency of the DejaGnu
     framework make it easy to write tests for any program.  DejaGnu comes
     with `expect' and Tcl.

   * Diffutils	   (UtilD, UtilT, SrcCD)

     GNU `diff' compares files showing line-by-line changes in several
     flexible formats.	It is much faster than traditional Unix versions.
     The Diffutils distribution contains `diff', `diff3', `sdiff', and `cmp'.

   * DJGPP     (BinCD, DjgppD)

     DJ Delorie has ported GCC/G++ 2.5.7 to the i386 MS-DOS platform.  The
     DJGPP package also contains a 32-bit 80386 DOS extender with symbolic
     debugger; development libraries; and ports of Bison, `flex', GAS, and
     the GNU binary utilities.	Full source code is provided.

     DJGPP supports SVGA (up to 1024x768), XMS & VDISK memory allocation,
     `himem.sys', VCPI (e.g. QEMM, DESQview, & 386MAX), and DPMI (e.g.
     Windows 3.x, OS/2, QEMM, & QDPMI).

     It is available via FTP from `ftp.clarkson.edu' in `/pub/msdos/djgpp'.
     You can subscribe to a mailing list on DJGPP by sending your e-mail
     address to `djgpp-request@sun.soe.clarkson.edu'.  In addition, the FSF
     distributes it on floppy disks and on the Compiler Tools Binaries CD-ROM.

     See the description for GCC in this section for more information.

   * `dld'     (LangT, SrcCD)

     `dld' is a dynamic linker written by W. Wilson Ho.	 Linking your program
     with the `dld' library allows you to dynamically load object files into
     the running binary.  Currently supported are VAX (Ultrix), Sun 3 (SunOS
     3.4 and 4.0), SPARC (SunOS 4.0), Sequent Symmetry (Dynix), and Atari ST.

   * `doschk'	  (UtilT, SrcCD)

     This program is intended as a utility to help software developers ensure
     that their source file names are distinguishable on System V platforms
     with 14-character filenames and on MS-DOS with 11 character filenames.

   * `ecc'     (UtilT, SrcCD)

     `ecc' is a Reed-Solomon error correction checking program, which can
     correct three byte errors in a block of 255 bytes and detect more severe
     errors.

   * Elib     (EmcsT, SrcCD)

     This is a small library of Emacs Lisp functions, including routines for
     using AVL trees and doubly-linked lists.

   * `elvis'	 (UtilT, SrcCD)

     `elvis' is a clone of the `vi'/`ex' Unix editor.  It supports nearly all
     of the `vi'/`ex' commands in both visual and line mode.  `elvis' runs
     under BSD, System V, Xenix, Minix, MS-DOS & Atari TOS, and should be
     easy to port to many other systems.

   * GNU Emacs 18     (DemcsD, EmcsT, SrcCD, VMSEmcsT)

     In 1975, Richard Stallman developed the first Emacs, an extensible,
     customizable real-time display editor.  GNU Emacs is his second
     implementation.  It offers true Lisp--smoothly integrated into the
     editor--for writing extensions, and provides an interface to MIT's X
     Window System.  In addition to its powerful native command set,
     extensions which emulate other popular editors are distributed: vi, EDT
     (DEC's VMS editor) and Gosling (aka Unipress) Emacs.  It has many other
     features which make it a full computing support environment.  It is
     described by the `GNU Emacs Manual', the `GNU Emacs Lisp Reference
     Manual' and a reference card.  Source for all three come with the
     software.

     GNU Emacs 18.59 runs on many Unix systems (in hardware order): Alliant
     FX/80 & FX/2800, Altos 3068, Amdahl (UTS), Apollo, AT&T (3Bs & 7300 PC),
     DG Aviion, Bull DPX/2 (2nn & 3nn) CCI 5/32 & 6/32, Celerity, Convex,
     Digital (DECstation 3100 & 5000 (PMAXes), Mips, VAX (BSD, SysV & VMS)),
     Motorola Delta 147 & 187 Dual, Elxsi 6400, Encore (DPC, APC & XPC),
     Gould, HP (9000 series 200, 300, 700 & 800, but not 500), HLH Orion
     (original & 1/05), IBM (RS/6000 (AIX), RT/PC (4.2 & AIX) & PS/2 (AIX (386
     only))), ISI (Optimum V, 80386), Intel 860 & 80386 (BSD, Esix, SVR3,
     SVR4, SCO, ISC, IX, AIX & others (see "MS-DOS Distribution" & "Free
     Software for Microcomputers")), Iris (2500, 2500 Turbo & 4D), Masscomp,
     MIPS, National Semiconductor 32000, NeXT (Mach), NCR Tower 32 (SVR2 &
     SVR3), Nixdorf Targon 31, Nu (TI & LMI), pfa50, Plexus, Prime EXL,
     Pyramid (original & MIPS), Sequent (Balance & Symmetry), SONY News (m68k
     & MIPS), Stride (system release 2), all Suns including 386i (all SunOS &
     some Solaris vers.), Tadpole, Tahoe, Tandem Integrity S2, Tektronix
     (16000 & 4300), Triton 88, Ustation E30 (SS5E), Whitechapel (MG1) &
     Wicat.

     In operating system order: AIX (RS/6000, RT/PC, 386-PS/2), BSD (vers.
     4.1, 4.2, 4.3), DomainOS, Esix (386), HP-UX (HP 9000 series 200, 300,
     700, 800 but not 500), ISC (386), IX (386), Mach, Microport, NewsOS
     (Sony m68k & MIPS) SCO (386), SVR0 (Vax, AT&T 3Bs), SVR2, SVR3, SVR4,
     Solaris 2.0, SunOS, UTS (Amdahl), Ultrix (vers. 3.0, 4,1), Uniplus 5.2
     (Dual machines), VMS (vers. 4.0, 4.2, 4.4, 5.5) & Xenix (386).

   * GNU Emacs 19     (EmcsT, SrcCD)

     Unlike some other recent derivations of Emacs, GNU Emacs 19 continues to
     work on character-only terminals as well as under the X Window System.
     New features in Emacs 19 include: multiple X windows ("frames" to
     Emacs), with a separate X window for the minibuffer or with a minibuffer
     attached to each X window; property lists associated with regions of
     text in a buffer; multiple fonts and colors defined by those properties;
     simplified and improved processing of function keys, mouse clicks and
     mouse movement; X selection processing, including clipboard selections;
     hooks to be run if point or mouse moves outside a certain range; menu
     bars and popup menus defined by keymaps; scrollbars; before and after
     change hooks; source-level debugging of Emacs Lisp programs; European
     character sets support; floating point numbers; improved buffer
     allocation, using a new mechanism capable of returning storage to the
     system when a buffer is killed; interfacing with the X resource manager;
     GNU configuration scheme support; good RCS support; & many updated
     libraries.

     GNU Emacs 19.22 is known to work on (in hardware order): Bull DPX/2 2nn
     & 3nn (SVR3) & sps7 (SVR2); Clipper; Cubix QBx (SysV); DEC MIPS (Ultrix
     4.2 & OSF/1, not VMS); Motorola Delta 147 & 187 (SVR3, SVR4, & m88kbcs);
     Elxsi 6400 (SysV); Gould Power Node & NP1 (BSD 4.2 & 4.3); Honeywell
     XPS100 (SysV); HP9000 series 200, 300, 700, 800 (BSD 4.3 or HP-UX 7, 8,
     9); i386 & i486 (386BSD, AIX, BSDI/386, FreeBSD, Esix, ISC, Linux,
     NetBSD, SCO3.2v4 with ODT, SysV, Xenix); RS6000 (AIX 3.2); RT/PC (AIX or
     BSD); Iris 4D (Irix 4.x & 5.x); National Semiconductor 32K (Genix); NeXT
     (BSD or Mach 2 w/ NeXTStep 3.0); Prime EXL (SysV); Pyramid (BSD);
     Sequent Symmetry (BSD); Sun 3 & 4, SPARC 1, 1+, 2, 10 & Classic (SunOS
     4.0, 4.1, Solaris 2); Tadpole 68k (SysV); Tektronix XD88 (SVR3) & 4300
     (BSD); & Titan P2 & P3 (SysV).

     In operating system order: AIX (i386, RS6000, RT/PC); BSD 4.1, 4.2, 4.3
     (i386, Gould Power Node & NP1, HP9000 series 300, NeXT, Pyramid,
     Symmetry, Tektronix 4300, RT/PC); Esix (i386); Genix (ns32k); HP-UX 7,
     8, 9 (HP 9000 series 200, 300, 700, 800, but not 500); Irix 4 & 5 (Iris
     4D); ISC (i386); Linux (i386); NetBSD (i386, HP9000 series 300); Mach 2
     & 3 (i386, NeXT); SCO 3.2v4 (i386); SVR2 (Bull sps7); SVR3 (Bull DPX/2
     2nn & 3nn, Motorola Delta 147 & 187, Tektronix XD88); SVR4 (Motorola
     Delta 147 & 187); Solaris 2 (SPARC 1, 1+, 2, 10, Classic); SunOS 4.0,
     4.1 (Sun 3 & 4, SPARC 1, 1+, 2, 10 & Classic); Ultrix 4.2 (DEC MIPS); &
     Xenix (i386).

     Other configurations supported by Emacs 18 should work with few changes;
     as users tell us more about their experiences with different systems, we
     will augment the list.  Also see "Project GNU Status Report".

   * `es'     (UtilT, SrcCD)

     This is an extensible shell based on `rc' that has first class
     functions, lexical scope, an exception system, and rich return values
     (i.e. functions can return values other than just numbers).  Like `rc',
     it is great for both interactive use and for scripting, particularly
     because its quoting rules are much less baroque than the C or Bourne
     shells.

   * `expect'	  (LangT, SrcCD)

     `expect' runs scripts to conduct dialogs with programs.  It is
     distributed along with Tcl and DejaGnu.

   * `f2c'     (LangT, SrcCD)

     `f2c' converts Fortran-77 source files into C or C++, which can then be
     compiled with GCC.

   * Fax     (UtilT, SrcCD)

     Fax is the freely-available MIT AI Lab fax spooling system, which
     provides Group 3 fax transmission and reception services for a networked
     Unix system.  It requires a faxmodem which conforms to the new EIA-592
     Asynchronous Facsimile DCE Control Standard, Service Class 2.

   * Fileutils	   (UtilD, UtilT, SrcCD)

     Fileutils work on files: `chgrp', `chmod', `chown', `cp', `dd', `df',
     `dir', `du', `install', `ln', `ls', `mkdir', `mkfifo', `mknod', `mv',
     `mvdir', `rm', `rmdir', `touch', & `vdir'.	 Only some of these are on
     the Selected Utilities diskettes.

   * `find'	(UtilD, UtilT, SrcCD)

     `find' is frequently used both interactively and in shell scripts to
     find files which match certain criteria and perform arbitrary operations
     on them.  `xargs' and `locate' are also included.

   * `finger'	  (UtilT, SrcCD)

     GNU Finger, which serves as a direct replacement for existing finger
     programs, solves this problem.  For sites with many hosts, a single host
     may be designated as the finger "server" host.  This host collects
     information about who is logged in to other hosts at that site.  If a
     user at site A wants to know about users logged on at site B, a single
     query to any machine at the site will return complete information.

   * `flex'	(LangT, UtilD, SrcCD)

     `flex' is a mostly-compatible replacement for the `lex' scanner
     generator, written by Vern Paxson of the Lawrence Berkeley Laboratory.
     `flex' generates far more efficient scanners than `lex' does.  Sources
     for the `Flex Manual' and reference card are included.

   * Fontutils	   (UtilT, SrcCD)

     The Fontutils can create fonts for use with Ghostscript or TeX, starting
     with a scanned type image and converting the bitmaps to outlines.	They
     also contain general conversion programs and other utilities.

   * GAS     (BinCD, LangT, SrcCD)

     The GNU assembler has been rewritten to use the BFD library.  Native
     assembly works for: Sun 3, 4, & SPARC (SunOS 4.1 or Solaris 2); i386
     (AIX, 386BSD, BSDI/386, Linux); m68k (BSD, HP-UX, Convergent
     Technologies SysV); MIPS (Ultrix, Irix); Hitachi H8/500; & VAX (BSD,
     Ultrix, VMS).

     Cross assembling can be done for: i386 (SCO, go32 MS-DOS/DJGPP);
     ebmon29k; Hitachi H8/300; i960 (COFF); MIPS ECOFF (Ultrix, Iris, MIPS
     Magnum); Nindy 960; vxworks (68k or 960); & Zilog Z8000.

   * GAWK     (LangT, SrcCD)

     GAWK is upwardly compatible with the System V Release 4 version of
     `awk'.  Texinfo source for the `GAWK Manual' comes with the software.

   * GCC     (BinCD, DjgppD, LangT, SrcCD)

     Version 2 of the GNU C compiler supports three languages: C, C++ and
     Objective C; the source file name suffix or a compiler option selects
     the language.  The front end support for Objective C was donated by NeXT.
     The runtime support needed to run Objective C programs is now distributed
     with GCC (this does not include any Objective C classes aside from
     `object').	 As much as possible, G++ is kept compatible with the
     evolving draft ANSI standard, but not with `cfront' (AT&T's compiler),
     which has been diverging from ANSI.

     The GNU C compiler is a fairly portable optimizing compiler which
     performs automatic register allocation, common sub-expression
     elimination, invariant code motion from loops, induction variable
     optimizations, constant propagation and copy propagation, delayed
     popping of function call arguments, tail recursion elimination,
     integration of inline functions and frame pointer elimination,
     instruction scheduling, loop unrolling, filling of delay slots, leaf
     function optimization, optimized multiplication by constants, a certain
     amount of common subexpression elimination (CSE) between basic blocks
     (though not all of the supported machine descriptions provide for
     scheduling or delay slots), a feature for assigning attributes to
     instructions, and many local optimizations that are automatically
     deduced from the machine description.  Function-wide CSE has been
     written, but needs to be cleaned up before it can be installed.
     Position-independent code is supported on the 68k, i386, Hitachi Slt,
     Hitachi H8/300, Clipper, 88k, SPARC & SPARClite.

     GCC can open-code most arithmetic on 64-bit values (type `long long
     int').  It supports extended floating point (type `long double') on the
     68k; other machines will follow.

     GCC supports full ANSI C, traditional C and GNU C extensions.  GNU C has
     been extended to support nested functions, nonlocal gotos, and taking the
     address of a label.

     GCC can generate a.out, COFF, ELF & OSF-Rose files when used with a
     suitable assembler.  It can produce debugging information in these
     formats: BSD stabs, COFF, ECOFF, ECOFF with stabs, & DWARF.

     GCC generates code for: a29k, Alpha, ARM, Convex cN, Clipper, Elxsi,
     H8300, HP-PA (1.0 and 1.1) i370, i386, i486, i860, i960, m68k, m68020,
     m88k, MIPS, ns32k, Pyramid, ROMP, RS6000, SH, SPARC, SPARClite, VAX, and
     we32k.

     Operating systems supported include: AIX, ACIS, AOS, BSD, Clix, Ctix,
     DG/UX, Dynix, Genix, HP-UX, ISC, Irix, Linux, Luna, LynxOS, Mach, Minix,
     NeWSOS, OSF, OSF-Rose, RISCOS, SCO, Solaris 2, SunOS 4, SysV, Ultrix,
     Unos, & VMS.

     The old (version 1) machine descriptions for the Alliant, Tahoe and Spur
     (as well as a new port for the Tron) do not work, but are still included
     in the distribution in case someone wants to work on them.

     Using the configuration scheme for GCC, building a cross-compiler is as
     easy as building a compiler for the same target machine.  Version 2
     supports more general calling conventions: it can pass arguments "by
     reference" and can preallocate the space for stack arguments.  GCC 2 on
     the SPARC uses the SPARC conventions for structure arguments and return
     values.

     Source for the GCC manual, `Using and Porting GNU CC', is included with
     the compiler.  The manual describes how to run and install the GNU C
     compiler, and how to port it to new systems.  It describes new features
     and incompatibilities of the compiler, but people not familiar with C
     will also need a good reference on the C programming language.  Also see
     "Project GNU Status Report".

   * GDB     (BinCD, LangT, SrcCD)

     In GDB, object files and symbol tables are now read via the BFD library,
     which allows a single copy of GDB to debug programs of multiple object
     file formats such as a.out and COFF.  Other new features include command
     language improvements, remote debugging over serial lines or TCP/IP, and
     watchpoints (breakpoints triggered when the value of an expression
     changes).	Exception handling, SunOS shared libraries and C++ multiple
     inheritance are only supported when used with GCC version 2.

     Both X and GNU Emacs user interfaces to GDB are available, in addition to
     its command line interpreter.

     GDB uses a standard remote interface to a simulator library which (so
     far) contains simulators for the Zilog Z8001/2, the Hitachi H8/300,
     H8/500 & Super-H.

     GDB can perform cross-debugging.  To say that GDB *targets* a platform
     means that it can perform native or cross-debugging for it.  To say that
     GDB can *host* a given platform means that it can be built on it, but
     cannot necessarily debug native programs.	GDB can:

	* *target* & *host*: DEC Alpha (OSF/1), Amiga 3000 (Amix), DECstation
	  3100 & 5000 (Ultrix), HP 9000/300 (BSD), IBM RS/6000 (AIX), i386
	  (BSD, SCO, Linux, LynxOS), Motorola Delta m88k (System V), NCR 3000
	  (SVR4), SGI Iris (MIPS running Irix V3 & V4), SONY News (NewsOS
	  3.x), Sun-3 & SPARC (SunOS 4.1, Solaris 2.0) & Ultracomputer (29K
	  running Sym1).

	* *target*, but not *host*: i960 Nindy, AMD 29000 (COFF & a.out),
	  Fujitsu SPARClite, Hitachi H8/300, m68k & m68332.

	* *host*, but not *target*: Intel 386 (Mach), IBM RT/PC (AIX) &
	  HP/Apollo 68k (BSD).

     In addition, GDB can use the symbol tables emitted by the compilers
     supplied by most vendors of MIPS-based machines, including DEC.  (These
     symbol tables are in a format which almost nobody else uses.)  Source for
     the manual `Debugging with GDB' and a reference card are included.

   * `gdbm'	(LangT, UtilD, SrcCD)

     The `gdbm' library is the GNU replacement for the traditional `dbm' and
     `ndbm' libraries.	It implements a database using quick lookup by
     hashing.  `gdbm' does not need sparse file formats (unlike its Unix
     counterparts).

   * Ghostscript     (UtilT, SrcCD)

     Ghostscript is GNU's graphics language which is almost fully compatible
     with Postscript (see "Project GNU Status Report").

   * Ghostview	   (UtilT, SrcCD)

     Ghostview provides an X11 user interface for the Ghostscript interpreter.
     Ghostview and Ghostscript function as two cooperating programs; Ghostview
     creates a viewing window and Ghostscript draws in it.  There is a port
     for Ghostview to MS-Windows.

   * `gmp'     (LangT, SrcCD)

     GNU MP is a library for arbitrary precision arithmetic on signed integers
     and rational numbers.  It has a rich set of functions with a regular
     interface.

   * GNATS     (UtilT, SrcCD)

     Gnats (GNats: A Tracking System) is a bug-tracking system.	 It is based
     upon the paradigm of a central site or organization which receives
     problem reports and negotiates their resolution by electronic mail.
     Although it's been used primarily as a software bug-tracking system so
     far, it is sufficiently generalized so that it could be used for
     handling system administration issues, project management or any number
     of other applications.

   * `gnuplot'	   (UtilT, SrcCD)

     `gnuplot' is an interactive program for plotting mathematical
     expressions and data.  It handles both curves (2 dimensions) and surfaces
     (3 dimensions).  Curiously, the program was neither written nor named for
     the GNU Project; the name is a coincidence.

   * GnuGo     (UtilT, SrcCD)

     GnuGo plays the game of Go (Wei-Chi); it is not yet very sophisticated.

   * `gperf'	 (LangT, SrcCD)

     `gperf' is a "perfect" hash-table generation utility.  There are
     actually two implementations of `gperf', one written in C and one in
     C++.  Both will produce hash functions in either C or C++.

   * GNU Graphics     (UtilT, SrcCD)

     GNU Graphics is a set of programs which produce plots from ASCII or
     binary data.  It supports output to Tektronix 4010, Postscript, and the
     X Window System or compatible devices.  Features include support for
     output in ln03 and TekniCAD TDA file formats; a replacement for the
     `spline' program; examples of shell scripts using `graph' and `plot'; a
     statistics toolkit; and the use of `configure' for installation.

     Existing ports need retesting.  Contact Rich Murphey, `Rich@rice.edu',
     if you can help test/port it to anything beyond a SPARCstation.

   * `grep'/`egrep'/`fgrep'	(UtilD, UtilT, SrcCD)

     The `[ef]grep' programs are GNU's versions of the Unix programs of the
     same name.	 They are much faster than the traditional Unix versions.

   * `groff' and `mgm'	   (UtilT, SrcCD)

     `groff' is a document formatting system, which includes implementations
     of `troff', `pic', `eqn', `tbl', `refer', the `man', `ms' and `mm'
     macros, as well as drivers for Postscript, TeX dvi format, and
     typewriter-like devices.  Also included is a modified version of the
     Berkeley `me' macros and an enhanced version of the X11 `xditview'
     previewer.

     `mgm' is a macro package for `groff'.  It is almost compatible with the
     DWB `mm' macros and has several extensions.  Also see "Project GNU
     Status Report".

   * `gzip'	(DjgppD, EmcsT, LangT, SrcCD, UtilT)

     Some of the contents of our tape and FTP distributions are compressed.
     We have software on our tapes and FTP sites to uncompress these files.
     Due to patent troubles with `compress', we have switched to another
     compression program, `gzip'.  `gzip' can expand LZW-compressed files but
     uses a different algorithm for compression which generally produces
     better results.  It also uncompresses files compressed with System V's
     `pack' program.

   * `hello'	 (UtilT, SrcCD)

     The GNU `hello' program produces a familiar, friendly greeting.  It
     allows non-programmers to use a classic computer science tool which would
     otherwise be unavailable to them.	Because it is protected by the GNU
     General Public License, users are free to share and change it.

     Like any truly useful program, `hello' provides a built-in mail reader.

   * `hp2xx'	 (UtilT, SrcCD)

     GNU hp2xx reads HP-GL files, decomposes all drawing commands into
     elementary vectors, and converts them into a variety of vector and raster
     output formats.  It is also an HP-GL previewer.  Currently supported
     vector formats include encapsulated Postscript, Uniplex RGIP, Metafont
     and various special TeX-related formats, and simplified HP-GL (line
     drawing only) for imports.	 Raster formats supported include IMG, PBM,
     PCX, & HP-PCL (including Deskjet & DJ5xxC support).  Previewers work
     under X11 (Unix), OS/2 (PM & full screen), MS-DOS (SVGA, VGA, & HGC).

   * `indent'	  (UtilD, UtilT, SrcCD)

     GNU `indent' is a modified version of the freely-redistributable BSD
     program of the same name.	It formats C source according to GNU coding
     standards by default, though the BSD default and other formats are
     available as options.  Also see "Project GNU Status Report".

   * `ispell'	  (UtilT, SrcCD)

     Ispell is an interactive spell checker that suggests "near misses" as
     replacements for unrecognized words.  System and user-maintained
     dictionaries can be used.	Standalone and GNU Emacs interfaces are
     available.

   * JACAL     *Not available from the FSF*

     JACAL is a symbolic mathematics system for the simplification and
     manipulation of equations and single and multiple-valued algebraic
     expressions constructed of numbers, variables, radicals, and algebraic
     functions, differential operators and holonomic functions.	 In addition,
     vectors and matrices of the above objects are included.

     JACAL was written in Scheme by Aubrey Jaffer.  It comes with an IEEE
     P1178 and R4RS compliant version of Scheme ("SCM") written in C.  SCM
     runs on Amiga, Atari-ST, MS-DOS, NOS/VE, VMS, Unix and similar systems.
     SLIB is a portable Scheme library used by JACAL.  Get JACAL, SLIB, and
     SCM sources via anonymous FTP from either `nexus.yorku.ca' in
     `/pub/scheme/new', `altdorf.ai.mit.edu' in `/archive/scm' or
     `prep.ai.mit.edu' in `/pub/gnu/jacal'.

     The FSF is not distributing JACAL on any media.  To receive an IBM PC
     floppy disk with the source and executable files, send $99.00 to:

	     Aubrey Jaffer
	     84 Pleasant Street
	     Wakefield, MA   01880
	     USA

   * `less'	(UtilD, UtilT, SrcCD)

     `less' is a display paginator similar to `more' and `pg' but with
     various features (such as the ability to scroll backwards) that most
     pagers lack.

   * libg++	(BinCD, LangT, SrcCD)

     The GNU C++ library is an extensive collection of C++ `forest' classes,
     a new IOStream library for input/output routines, and support tools for
     use with G++.  Among the classes supported are Obstacks,
     multiple-precision Integers and Rationals, Complex numbers, arbitrary
     length Strings, BitSets, and BitStrings.  There is also a set of
     pseudo-generic prototype files available for generating common container
     classes.  Partial documentation in Texinfo format is included (not yet
     published on paper).

   * `m4'     (UtilD, UtilT, SrcCD)

     GNU `m4' is an implementation of the traditional Unix macro processor.
     It is mostly SVR4 compatible, although it has some extensions (for
     example, handling more than 9 positional parameters to macros).  `m4'
     also has built-in functions for including files, running shell commands,
     doing arithmetic, etc.

   * `make'	(BinCD, EmcsT, LangT, UtilD, UtilT, SrcCD)

     GNU `make' supports POSIX 1003.2 and has all but a few obscure features
     of the BSD and System V versions of `make', as well as many of our own
     extensions.  GNU extensions include long options, parallel compilation,
     conditional execution and functions for text manipulation.	 Texinfo
     source for the `Make Manual' comes with the program.

     GNU `make' is on several of our tapes because some native `make'
     programs lack the `VPATH' feature essential for using the GNU configure
     system to its full extent.	 A shell script is included to build GNU
     `make' on such systems.  Also see "Project GNU Status Report".

   * MandelSpawn     (UtilT, SrcCD)

     A parallel Mandelbrot generation program for the MIT X Window System.

   * mtools	(UtilT, SrcCD)

     mtools is a set of public domain programs to allow Unix systems to read,
     write and manipulate files on an MS-DOS file system (usually a diskette).

   * MULE     (SrcCD)

     MULE is a MULtilingual Enhancement to GNU Emacs 18.  It can handle many
     character sets at once including Japanese, Chinese, Korean, Vietnamese,
     Thai, Greek, the ISO Latin-1 through Latin-5 character sets, Ukrainian,
     Russian, and other Cyrillic alphabets.  A text buffer in MULE can
     contain a mixture of characters from these languages.  To input any of
     these characters, you can use various input methods provided by MULE
     itself.  In addition, if you use MULE under some terminal emulator
     (kterm, cxterm, or exterm), you can use its input methods.

   * NetHack	 (UtilT, SrcCD)

     NetHack is a display-oriented adventure game similar to Rogue.  Both
     ASCII and X displays are supported.

   * NIH Class Library	   (LangT, SrcCD)

     The NIH Class Library (formerly known as "OOPS", Object-Oriented Program
     Support) is a portable collection of G++ classes, similar to those in
     Smalltalk-80, which has been developed by Keith Gorlen of the National
     Institutes of Health (NIH), using the C++ programming language.

   * Octave	(LangT)

     Octave is a high-level language, primarily intended for numerical
     computations.  It provides a convenient command line interface for
     solving linear and nonlinear problems numerically.

     Octave can do arithmetic for real and complex scalars and matrices, solve
     sets of nonlinear algebraic equations, integrate functions over finite
     and infinite intervals, and integrate systems of ordinary differential
     and differential-algebraic equations.

     Octave is available via anonymous ftp from `ftp.che.utexas.edu' in the
     directory `/pub/octave'.  The files are in gzipped tar format (see the
     file `README' on `prep.ai.mit.edu:/pub/gnu').

     The Octave distribution includes a 150+ page Texinfo manual.

   * Oleo     (UtilT, SrcCD)

     Oleo is a spreadsheet program (better for you than the more expensive
     spreadsheets).  It supports the X Window System and character-based
     terminals, and can output Embedded Postscript renditions of spreadsheets.
     Keybindings should be familiar to Emacs users and are configurable.
     Under X and in Postscript output, Oleo supports multiple, variable width
     fonts.  Also see "Project GNU Status Report".

   * `p2c'     (LangT, SrcCD)

     `p2c' is a Pascal-to-C translator written by Dave Gillespie.  It is
     intended primarily for use on 32-bit machines, though porting it to
     convert code to work on 16-bit machines may be possible.

   * `patch'	 (UtilT, SrcCD)

     `patch' is our version of Larry Wall's program to take `diff''s output
     and apply those differences to an original file to generate the modified
     version.

   * PCL     (EmcsT, SrcCD)

     PCL is a free implementation of a large subset of CLOS, the Common Lisp
     Object System.  PCL was written by Xerox Corporation.

   * `perl'	(LangT, SrcCD)

     Larry Wall's `perl' combines the features and capabilities of `sed',
     `awk', `sh' and C, as well as interfaces to all the system calls and
     many C library routines.  Perl Mode for editing `perl' code comes with
     GNU Emacs 19.

   * `ptx'     (UtilD, UtilT, SrcCD)

     `ptx' is the GNU version of `ptx', a permuted index generator.  Among
     other things, it produces readable "KWIC" (KeyWords In Context) indexes
     without the need of `nroff'.  There is an option to output TeX code.

   * `rc'     (UtilT, SrcCD)

     `rc' is a shell that features a C-like syntax (much more so than `csh')
     and far cleaner quoting rules than the C or Bourne shells.	 It's
     intended to be used interactively, but is also great for writing
     scripts.  It inspired the shell `es'.

   * RCS     (UtilD, UtilT, SrcCD)

     The Revision Control System, RCS, is used for version control and
     management of software projects.  When used with GNU `diff', RCS can
     handle binary files (executables, object files, 8-bit data, etc).	Also
     see the entry for "CVS".

   * `recode'	  (UtilT, SrcCD)

     `recode' converts files between character sets and usages.	 When exact
     transliterations are not possible, it may get rid of the offending
     characters or fall back on approximations.	 This program recognizes or
     produces nearly 150 different character sets and is able to transliterate
     files between almost any pair.  Most RFC 1345 character sets are
     supported.

   * regex     (LangT, SrcCD)

     The GNU regular expression library supports POSIX.2, except for
     internationalization features.  In the past, it has been included in many
     GNU programs which use regex routines.  Now it is finally available
     separately.

   * Scheme	   (SchmT, SrcCD)

     For information about Scheme, see "Contents of the Scheme Tape".  The
     version on the Source Code CD-ROM only works under MS-DOS.

   * `screen'	  (UtilT, SrcCD)

     `screen' is a terminal multiplexor that runs several separate "screens"
     (ttys) on a single physical terminal.  Each virtual terminal emulates a
     DEC VT100 plus several ANSI X3.64 and ISO 2022 functions.	`screen'
     sessions can be detached and resumed later on a different terminal.

   * `sed'     (UtilD, UtilT, SrcCD)

     `sed' is a stream-oriented version of `ed'.  It is used copiously in
     shell scripts.  GNU sed comes with the rx library, which is a faster
     version of regex.

   * Shellutils	    (UtilT, SrcCD)

     Shellutils are used interactively or in shell scripts: `basename',
     `date', `dirname', `echo', `env', `expr', `false', `groups', `id',
     `nice', `nohup', `printenv', `printf', `sleep', `stty', `su', `tee',
     `test', `true', `tty', `uname', `who', `whoami', & `yes'.

   * GNU Shogi	   (UtilT, SrcCD)

     Shogi is a Japanese game similar to Chess; a major difference is that
     captured pieces can be returned into play.

     GNU Shogi has been created by modifying GNU Chess; GNU Shogi implements
     the same features as GNU Chess and uses similar heuristics.  As a new
     feature, sequences of partial board patterns can be introduced in order
     to help the program play a good order of moves towards specific opening
     patterns.	There is both a text and X display interface.

     GNU Shogi is primarily supported by Matthias Mutz on behalf of FSF.

	     Matthias Mutz
	     Universitaet Passau, FMI
	     94030 Passau
	     Germany
	     E-mail: `mutz@kirk.fmi.uni-passau.de'

   * Smalltalk	   (LangT, SrcCD)

     GNU Smalltalk is an interpreted object-oriented programming language
     system written in portable C.  Features include an incremental garbage
     collector, a binary image save capability, the ability to invoke
     user-written C code and pass parameters to it, a GNU Emacs editing mode,
     optional byte-code compilation tracing and byte-code execution tracing,
     and automatically loaded per-user initialization files.  Also see
     "Project GNU Status Report".

   * superopt	  (LangT, SrcCD)

     Superopt is a function sequence generator that uses an exhaustive
     generate-and-test approach to find the shortest instruction sequence for
     a given function.	You provide the GNU superoptimizer a function, a CPU
     to generate code for, and how many instructions you can accept.  Its
     application in GCC is described in the `ACM SIGPLAN PLDI'92'
     proceedings.  Superopt supports: SPARC, m68k, m68020, m88k, IBM RS/6000,
     AMD 29000, Intel 80x86, Pyramid, DEC Alpha, & HP-PA.

   * `tar'     (UtilT, SrcCD)

     GNU `tar' includes multivolume support, the ability to archive sparse
     files, automatic archive compression/decompression, remote archives and
     special features that allow `tar' to be used for incremental and full
     backups.  Unfortunately GNU `tar' implements an early draft of the POSIX
     1003.1 `ustar' standard which is different from the final standard.
     Adding support for the new changes in a backward-compatible fashion is
     not trivial.

   * Termcap Library	 (UtilT, SrcCD)

     The GNU Termcap library is a drop-in replacement for `libtermcap.a' on
     any system.  It does not place an arbitrary limit on the size of Termcap
     entries, unlike most other Termcap libraries.  Included is source for the
     `Termcap Manual' in Texinfo format.

   * TeX     *Not available from the FSF*

     TeX is document formatting system that handles complicated typesetting,
     including mathematics.  It is the standard formatter for the GNU system.

     We do not distribute TeX because you can get it from the University of
     Washington, who serve as the center for maintenance of the Unix version
     of TeX.

     To order a full distribution written in `tar' on either a 1/4-inch
     4-track QIC-24 cartridge or a 4mm DAT cartridge, send $210.00 to:

	     Northwest Computing Support Center
	     DR-10, Thomson Hall 35
	     University of Washington
	     Seattle, WA   98195
	     E-mail: `unixtex@u.washington.edu'
	     Phone: (206) 543-6259

     Please make checks payable to the University of Washington.  Checks must
     be in U.S. Dollars, drawn on a U.S. bank.	Prepaid orders are preferred
     but purchase orders are acceptable; however, purchase orders carry an
     extra charge of $10.00 to pay for invoice processing.  Overseas sites:
     please add to the base cost $20.00 for shipment via air parcel post, or
     $30.00 for shipment via courier.  Please check with the above for
     current prices and formats.

   * Texinfo	 (EmcsT, LangT, SrcCD, UtilD, UtilT)

     Texinfo is a set of utilities which generate printed manuals and online
     hypertext-style documentation (called "Info"), and provide means for
     reading the online versions.  Version 3 contains both GNU Emacs Lisp and
     standalone C programs, as well as source for the `Texinfo Manual'.	 Also
     see "Project GNU Status Report".

   * Textutils	   (UtilT, SrcCD)

     The Textutils programs manipulate textual data: `cat', `cksum', `comm',
     `csplit', `cut', `expand', `fold', `head', `join', `nl', `od', `paste',
     `pr', `sort', `split', `sum', `tac', `tail', `tr', `unexpand', `uniq', &
     `wc'.

   * Tcl     (LangT, SrcCD)

     Tcl is an embeddable tool command language.  `expect' and DejaGnu work
     with and use Tcl.

   * Tile Forth	    (LangT, SrcCD)

     Tile Forth is a 32-bit implementation of the Forth-83 standard written in
     C, allowing it to be easily moved between different computers
     (traditionally, Forth implementations are written in assembler to use
     the underlying hardware as optimally as possible, but this also makes
     them less portable).

   * `time'	(UtilT, SrcCD)

     `time' is used to report statistics (usually from a shell) about the
     amount of user, system and real time used by a process.

   * `tput'	(UtilT, SrcCD)

     `tput' is a portable way to allow shell scripts to use special terminal
     capabilities.  GNU `tput' uses the Termcap database, rather than
     Terminfo as most implementations do.

   * UUCP     (UtilT, SrcCD)

     This version of UUCP was written by Ian Lance Taylor, and is the standard
     UUCP system for GNU.  It currently supports the `f', `g' (in all window
     and packet sizes), `G', `t' and `e' protocols, as well a Zmodem protocol
     and two new bidirectional protocols.  If you have a Berkeley sockets
     library, it can make TCP connections.  If you have TLI libraries, it can
     make TLI connections.

   * `uuencode'	    (UtilT, SrcCD)

     Uuencode and uudecode are used to transmit binary files over
     transmission mediums that do not support other than simple ASCII data.

   * `wdiff'	 (UtilT, SrcCD)

     `wdiff' compares two files, finding which words have been deleted or
     added to the first in order to obtain the second.	We hope eventually to
     integrate it, as well as some ideas from a similar program called
     `spiff', into future releases of GNU `diff'.



Contents of the Emacs Tape
--------------------------

This tape contains a Common Lisp implementation, GNU Emacs, assorted
extensions that work with GNU Emacs, and a few other important utilities.

   * Calc 2.02b

   * CLISP 1993.11.08

   * Elib 0.06

   * GNU Emacs 18.59

   * GNU Emacs 19.22

   * `GNU Emacs Lisp Reference Manual', Edition 2.02.1

   * `gzip' 1.2.4

   * `make' 3.70

   * PCL 1993.03.18

   * Texinfo 3.1



Contents of the Languages Tape
------------------------------

This tape contains programming tools: compilers, interpreters, and related
programs (parsers, conversion programs, debuggers, etc.).

   * Binutils 2.3

   * Bison 1.22

   * C Library 1.06.7

   * DejaGnu 1.1.1

   * `dld' 3.2.3

   * `expect' 4.7.6

   * `ecc' 1.2.1

   * `f2c' 1993.04.28

   * `flex' 2.4.5

   * GAS 2.2

   * GAWK 2.15.3

   * GCC 2.5.7 (includes G++ & Objective C)

   * GDB 4.11

   * `gdbm' 1.7.1

   * `gmp' 1.3.2

   * `gperf' 2.1a

   * `gzip' 1.2.4

   * `indent' 1.8

   * libg++ 2.5.3

   * `make' 3.70

   * NIH Class Library 3.0

   * Octave 1.0

   * `p2c' 1.20

   * `perl' 4.036

   * regex 0.12

   * Smalltalk 1.1.1

   * Superopt 2.3

   * Tcl 6.7

   * Texinfo 3.1

   * Tile Forth 2.1



Contents of the Utilities Tape
------------------------------

This tape consists mostly of smaller utilities and miscellaneous applications
not available on the other GNU tapes.

   * `acm' 4.2

   * Autoconf 1.7

   * BASH 1.13.5

   * `bc' 1.02

   * Chess 4.0.pl62

   * `cpio' 2.3

   * CVS 1.3

   * `dc' 0.2

   * Diffutils 2.6

   * `doschk' 1.1

   * `elvis' 1.7

   * `es' 0.84

   * Fax 3.2.1

   * Fileutils 3.9

   * `find' 3.8

   * `finger' 1.37

   * Fontutils 0.6

   * Ghostscript 2.6.1

   * Ghostview 1.5

   * GNATS 3.2

   * `gnuplot' 3.5

   * GnuGo 1.1

   * Graphics 0.17

   * `grep'/`egrep'/`fgrep' 2.0

   * Groff 1.08

   * `gzip' 1.2.4

   * `hello' 1.3

   * `hp2xx' 3.1.4

   * `ispell' 4.0

   * `less' 177

   * `m4' 1.1

   * `make' 3.70

   * MandelSpawn 0.07

   * mtools 2.0.7

   * NetHack 3.1.3

   * Oleo 1.5

   * `patch' 2.1

   * `ptx' 0.3

   * `rc' 1.4

   * RCS 5.6.0.1

   * `recode' 3.3

   * `screen' 3.5.2

   * `sed' 2.03

   * Shellutils 1.9.2

   * Shogi 1.1.pl02

   * `tar' 1.11.2

   * Termcap 1.2

   * Texinfo 3.1

   * Textutils 1.9

   * `time' 1.6

   * `tput' 1.0

   * UUCP 1.04

   * `uuencode' 1.0

   * `wdiff' 0.4



Contents of the Scheme Tape
---------------------------

Scheme is a simplified, lexically-scoped dialect of Lisp.  It was designed at
MIT and other universities to teach students the art of programming, and to
research new parallel programming constructs and compilation techniques.

This tape contains MIT Scheme 7.1, which conforms to the "Revised^4 Report On
the Algorithmic Language Scheme" (MIT AI Lab Memo 848b), for which TeX source
is included.  It is written partly in C, but is presently hard to bootstrap.
Binaries which can be used to bootstrap Scheme are available for the
following systems:

   * HP 9000 series 300, 400, 700 & 800 running HP-UX 7.0 or 8.0

   * NeXT running NeXT OS 1.0 or 2.0

   * Sun-3 or Sun-4 running SunOS 4.1

   * DECstation 3100/5100 running Ultrix 4.0

   * Sony NWS-3250 running NEWS OS 5.01

   * Vax running 4.3 BSD

If your system is not on this list and you don't enjoy the bootstrap
challenge, see the "JACAL" entry in the "GNU Software Available Now."



Contents of the X11 Tapes
-------------------------

The two X11 tapes contain Version 11, Release 5 of the MIT X Window System.
The first FSF tape contains all of the core software, documentation and some
contributed clients.  We call this the "required" X tape since it is
necessary for running X or running GNU Emacs under X.  The second,
"optional", FSF tape contains contributed libraries and other toolkits, the
Andrew User Interface System, games, and other programs.

The X11 Required tape also contains all fixes and patches released to date.
We update this tape as new fixes and patches are released.



Berkeley Networking 2 Tape
--------------------------

The Berkeley "Net2" release contains the second 4.3 BSD distribution and is
newer than both 4.3 BSD-Tahoe and 4.3 BSD-Reno.	 It includes most of the BSD
software system except for a few utilities, some parts of the kernel and some
library routines which your own C library is likely to provide (we have
replacements on other tapes for many of the missing programs).	This release
also contains third party software including Kerberos and some GNU software.



VMS Emacs and VMS Compiler Tapes
--------------------------------

We offer two VMS tapes.	 One has just the GNU Emacs editor.  The other has
the GNU C compiler, Bison (to compile GCC), GAS (to assemble GCC's output)
and some library and include files.  We are not aware of a GDB port for VMS.
Both VMS tapes have executables from which you can bootstrap, as the DEC VMS
C compiler cannot compile GCC.	Please do not ask us to devote effort to VMS
support, because it is peripheral to the GNU Project.



Source Code CD-ROM
******************

The Free Software Foundation has produced its third source CD-ROM.  It
contains the following:

   * `acm' 3.1

   * Autoconf 1.7

   * BASH 1.13.4

   * `bc' 1.02

   * Binutils 1.9 & 2.3

   * Bison 1.22

   * GNU C Library 1.06.7

   * Calc 2.02b

   * GNU Chess 4.0p62

   * CLISP 1993.11.08

   * `cperf' 2.1a

   * `cpio' 2.3

   * CVS 1.3

   * `dc' 0.2

   * DejaGnu 1.0.1

   * diffutils 2.6

   * `dld' 3.2.3

   * `doschk' 1.1

   * `ecc' 1.2.1

   * elib 0.06

   * `elvis' 1.7

   * Emacs 18.59 & Emacs 19.21

   * `es' 0.84

   * `f2c' 1993.04.28

   * Fax 3.2.1

   * Fileutils 3.9

   * `find' 3.8

   * `finger' 1.37

   * `flex' 2.3.8

   * Fontutils 0.6

   * GAS 1.36.utah, 1.38.1, & 2.2

   * Gawk 2.15.3

   * GCC 2.5.4

   * GDB 4.11

   * `gdbm' 1.7.1

   * Ghostscript 2.6.1

   * Ghostview 1.5

   * Ghostview for Windows 1.0

   * `gmp' 1.3.2

   * GNATS 3.01

   * `gnuplot' 3.5

   * GnuGo 1.1

   * Graphics 0.17

   * `grep'/`egrep'/`fgrep' 2.0

   * Groff 1.08

   * `gzip' 1.2.4

   * `hello' 1.3

   * `hp2xx' 3.1.3a

   * `indent' 1.8

   * `ispell' 4.0

   * `less' 177

   * `libg++' 2.5.1

   * `m4' 1.1

   * `make' 3.69.1

   * MandelSpawn 0.06

   * mtools 2.0.7

   * MULE 1.0

   * Nethack 3.1.3

   * NIHCL 3.0

   * Oleo 1.5

   * `p2c' 1.20

   * `patch' 2.1

   * PCL 1993.03.18

   * `perl' 4.036

   * `ptx' 0.3

   * `rc' 1.4

   * RCS 5.6.0.1

   * `recode' 3.2.4

   * regex 0.12

   * MIT Scheme (MS-DOS) 7.2

   * `screen' 3.5.2

   * `sed' 1.18 & 2.03

   * Shellutils 1.9.1

   * GNU Shogi 1.1p02

   * Smalltalk 1.1.1

   * Superopt 2.3

   * `tar' 1.11.2

   * Termcap library 1.2

   * Texinfo 3.1

   * Textutils 1.9.1

   * Tile Forth 2.1

   * `time' 1.6

   * `tput' 1.0

   * UUCP 1.04

   * `uuencode' 1.0

   * `wdiff' 0.04

   * X11R5

The CD-ROM also contains Texinfo source for the `GNU Emacs Lisp Reference
Manual' Edition 2.02 for version 19 and a snapshot of the Emacs Lisp Archive
at Ohio State University.  (You can get libraries in this archive by UUCP
(ask `staff@cis.ohio-state.edu' for directions) or by anonymous FTP from
`archive.cis.ohio-state.edu' in `/pub/gnu/emacs/elisp-archive'.)

The contents of the MIT Scheme, VMS, and Net2 tapes are not included

The CD-ROM is in ISO 9660 format and can be mounted as a read-only file
system on most operating systems.  If your driver supports it you can mount
the CD-ROM with "Rock Ridge" extensions and it will look just like an
ordinary Unix file system, rather than one full of truncated and otherwise
mangled names that fit the vanilla ISO 9660 specifications.

You can build most of this software without needing to copy the sources off
the CD.	 Only sufficient disk space for object files and intermediate build
targets is required.  Except for the MIT Scheme binaries for MS-DOS and the
Ghostview for Windows executable, there are no precompiled programs on this
CD.  You will need a C compiler (programs which need some other interpreter
or compiler normally provide the C source for a bootstrapping program).

If a business is ultimately paying, the CD costs $400.	It costs $100 if you,
an individual, are paying out of your own pocket.

   * What do the individual and company prices mean?

     The software on our disk is free; anyone can copy it and anyone can run
     it.  What we charge for is the physical disk and the service of
     distribution.

     We charge two different prices depending on who is buying.	 When a
     company or other organization buys the disk, we charge $400.  When an
     individual buys the same disk, we charge just $100.

     This distinction is not a matter of who is allowed to use the software.
     In either case, once you have a copy, you can distribute as many copies
     as you wish, and there's no restriction on who can have or run them.
     The price distinction is entirely a matter of what kind of entity pays
     for the CD.

     You, the reader, are certainly an individual, not a company.  If you are
     buying a disk "in person", then you are probably doing so as an
     individual.  But if you expect to be reimbursed by your employer, then
     the disk is really for the company, so please pay the company price and
     get reimbursed for the company price.  We won't try to check up on
     you--we use the honor system--so please cooperate.

     Buying CDs at the company price is especially helpful for the GNU
     project; just 80 CDs at the company price will support an FSF programmer
     or tech writer for a year.

   * Why is there an individual price?

     In the past, our distribution tapes have been ordered mainly by
     companies.	 The CD at the price of $400 provides them with all of our
     software for a much lower price than they would previously have paid for
     six different tapes.  To lower the price more would cut into the FSF's
     funds very badly.

     However, for individuals, $400 is too high a price; hardly anyone could
     afford that.  So we decided to make CDs available to individuals at the
     lower price of $100, but not do the same for companies.

   * Is there a maximum price?

     Our stated prices are minimums.  Feel free to pay a higher price if you
     wish to support GNU development more.  The sky's the limit; we will
     accept as high a price as you can offer.  Or simply give a
     tax-deductible donation to the Free Software Foundation, which is a
     tax-exempt public charity.



Compiler Tools Binaries CD-ROM
******************************

We are now offering a CD-ROM that contains executables for GNU compiler tools
for some systems which lack a compiler.	 This will allow users of those
systems to compile GNU and other free software without having to buy a
proprietary compiler.

The CD-ROM is in ISO 9660 format and can be mounted as a read-only file
system on most operating systems.  If your driver supports it you can mount
the CD-ROM with "Rock Ridge" extensions and it will look just like an
ordinary Unix file system, rather than one full of truncated and otherwise
mangled names that fit the vanilla ISO 9660 specifications.

We hope to have more systems included with each update of this CD-ROM.	If
you can help build binaries for new systems (especially for systems that
don't come with a C compiler), or have a system to suggest, please contact us
at either address on the front cover.

These programs:

   * DJGPP 1.11.m1

   * GCC/G++/Objective C 2.5.7

   * GDB 4.11

   * GAS 2.2

   * Binutils 2.3

   * Bison 1.22

   * Flex 2.4.5

   * Make 3.70

   * libg++ 2.5.3

For these platforms:

   * `i386-msdos'

   * `hppa1.1-hp-hpux9'

   * `sparc-sun-solaris2'

   * `sparc-sun-sunos4.1'



Tape & CD-ROM Subscription Service
**********************************

If you do not have net access, our subscription service enables you to stay
current with the latest FSF developments.  For a one-time cost equivalent to
three tapes or CD-ROMs, we will mail you four new versions of the tape of
your choice or the Source Code CD-ROM.	The tapes are sent each quarter, the
Source Code CD-ROMs are sent as they are issued.  (The Source Code CD-ROM is
currently issued twice a year, but we may issue it more frequently in the
future.)

Regularly, we will send you a new version of an Emacs, Languages, Utilities,
or MIT X Window System Required tape or the Source CD-ROM.  The BSD Net-2,
MIT Scheme, and MIT X Window System Optional tapes are not changed often
enough to warrant quarterly updates.  The Compiler Tools Binaries CD-ROM is
so new we do not yet know if we will be offering subscriptions to it.

Since Emacs 19 is now on the Emacs Tape and the Source CD-ROM, a subscription
to either will be a convenient way to keep current with Emacs 19 updates as
it moves through beta-test.

A subscription is also an easy way to keep up with the regular bug fixes to
the MIT X Window System.  We update the X11 Required tape, as fixes and
patches for the X Window System are issued throughout the year.	 Each new
edition of the Source CD-ROM also has updated sources for the X Window System.
See sections "Tape Subscriptions" and "CD-ROM Subscriptions" on the "Free
Software Foundation Order Form".



How to Get GNU Software
***********************

All the software and publications from the Free Software Foundation are
distributed with permission to copy and redistribute.  The easiest way to get
GNU software is to copy it from someone else who has it.  You can get GNU
software direct from the FSF by ordering diskettes, a tape, or a CD-ROM.
Such orders provide most of the funds for the FSF staff, so please support
our work by ordering if you can.  See the "Free Software Foundation Order
Form".

There are also third party groups who distribute our software; they do not
work with us, but can provide our software in other forms.  For your
convenience some are listed in "Free Software for Microcomputers".  Please
note that the Free Software Foundation is *not* affiliated with them in any
way and is responsible for neither the currency of their versions nor the
swiftness of their responses.

If you decide to do business with one of these distributors, ask them how
much they do to assist free software development, e.g. by contributing money
to free software development projects or by writing free software themselves
for general use.  By basing your decision partially on this factor, you can
help encourage those who profit from free software to contribute to its
growth.

If you have Internet access and cannot access one of the hosts below, you can
get the software via anonymous FTP from GNU's distribution host
`prep.ai.mit.edu' (the IP address is `18.71.0.38').  For more information,
get file `/pub/gnu/GETTING.GNU.SOFTWARE'.  `prep' is a very busy host and
only allows a limited number of FTP logins at any given time.  Please use one
of these other TCP/IP Internet sites that also provide GNU software via
anonymous FTP (program: `ftp', user: `anonymous', password: YOUR E-MAIL
ADDRESS, mode: `binary').

   * Africa: `ftp.sun.ac.za'.

   * Australasia: `archie.au' (`archie.oz' for ACSnet),
     `cair.kaist.ac.kr', `utsun.s.u-tokyo.ac.jp', `ftp.cs.titech.ac.jp'.

   * Canada: `ftp.cs.ubc.ca'.

   * Middle East: `ftp.technion.ac.il'.

   * Europe: `ugle.unit.no', `ftp.stacken.kth.se', `isy.liu.se',
     `ftp.luth.se', `unix.hensa.ac.uk', `ftp.mcc.ac.uk',
     `ftp.informatik.tu-muenchen.de', `ftp.informatik.rwth-aachen.de',
     `ftp.denet.dk', `ftp.eunet.ch', `nic.switch.ch', `irisa.irisa.fr'
     `ftp.funet.fi', `ftp.win.tue.nl', `ftp.univ-lyon1.fr', `archive.eu.net'.

   * USA: `labrea.stanford.edu', `ftp.kpc.com', `ftp.digex.net',
     `ftp.cs.widener.edu', `ftp.cs.columbia.edu', `vixen.cso.uiuc.edu',
     `wuarchive.wustl.edu', `gatekeeper.dec.com', `ftp.hawaii.edu',
     `cc.utah.edu' (VMS GNU Emacs), `mango.rsmas.miami.edu' (VMS GCC),
     `ftp.uu.net' (under `/packages/gnu').

Those on JANET can look under `src.doc.ic.ac.uk' in `/gnu'.

You can get some GNU programs via UUCP.	 Ohio State University posts their
UUCP instructions regularly to newsgroup `comp.sources.d' on USENET.  These
people will send you UUCP instructions via electronic mail:

     hao!scicom!qetzal!upba!ugn!nepa!denny, uunet!hutch!barber,
     src@contrib.de (Europe), james@bigtex.cactus.org, acornrc!bob,
     toku@dit.co.jp (Japan), staff@cis.ohio-state.edu

For those without Internet access, see the section "Free Software Support"
for information on getting electronic mail and file transfer via UUCP.



The Deluxe Distribution
***********************

The Free Software Foundation has been repeatedly asked to create a package
that provides executables for all of our software.  Usually we offer only
sources.  In addition to providing binaries with the source code, the Deluxe
Distribution includes copies of all our printed manuals and reference cards.

The FSF Deluxe Distribution contains the binaries and sources to hundreds of
different programs including GNU Emacs, the GNU C Compiler, the GNU Debugger,
the complete MIT X Window System, and all the GNU utilities.

You may choose one of these machines and operating systems: HP 9000 series
300, 700 or 800 (4.3 BSD or HP-UX); RS/6000 (AIX); SONY News 68k (4.3 BSD or
NewsOS 4); Sun-3, Sun-4, or SPARC (SunOS 4 or Solaris).	 If your machine or
system is not listed, or if a specific program has not been ported to that
machine, please call the FSF office at the phone number below or send e-mail
to `gnu@prep.ai.mit.edu'.

We supply the software on one of these media in Unix tar format: 1600 or 6250
bpi, 1/2 inch, reel to reel tape; Sun DC300XLP 1/4 inch cartridge, QIC-24; HP
16 track DC600HC 1/4 inch cartridge; IBM RS/6000 1/4 inch cartridge, QIC-150;
Exabyte 8mm cartridge; DAT 4mm cartridge.  If your computer cannot read any
of these, please call us.

The manuals included are one each of the Bison, Calc, Gawk, GNU C Compiler,
GNU C Library, GNU Debugger, Flex, GNU Emacs Lisp Reference, Make, Texinfo &
Termcap manuals; six copies of the manual for GNU Emacs; & a packet of
reference cards each for GNU Emacs, Calc, the GNU Debugger, Bison, & Flex.

In addition, every Deluxe Distribution includes CD-ROMs (in ISO 9660 format
with Rock Ridge extensions) that contains sources of our software & compiler
tool binaries for some systems.

The Deluxe Distribution costs $5000.  It is for people who want to get
everything compiled for them or who want to make a purchase that helps the
FSF in a large way.  To order, please fill out the "Deluxe Distribution"
sections in the "Free Software Foundation Order Form" and send it to:

	Free Software Foundation, Inc.
	675 Massachusetts Avenue
	Cambridge, MA	02139-3309
	USA
	Electronic mail: gnu@prep.ai.mit.edu
	Phone: +1-617-876-3296
	FAX: +1-617-492-9057
	FAX (in Japan):
	  0031-13-2473 (KDD)
	  0066-3382-0158 (IDC)



MS-DOS Distribution
*******************

The FSF distributes, on 3.5 inch 1.44MB diskettes, some of the GNU software
ported to MS-DOS.  The disks have both sources and executables.



Contents of the Demacs diskettes
--------------------------------

Demacs is a version of GNU Emacs 18.55 ported to MS-DOS, with some changes
from Emacs 18.57.  Two versions are actually included: one which handles
8-bit character sets; and one based on an early version of MULE which handles
16-bit character sets including Kanji.	We distribute them on five diskettes.

Demacs runs on Intel 80386 and 80486-based machines running MS-DOS.  It is
compatible with XMS memory managers and VCPI, but not yet with Microsoft
Windows extended mode or other DPMI managers.



Contents of the DJGPP diskettes
-------------------------------

We distribute DJGPP on 22 diskettes.  DJGPP requires at least 5MB of hard
disk space to install, and 512K of RAM to use.	See `GNU Software Available
Now" for more information on DJGPP.



Contents of the Selected Utilities diskettes
--------------------------------------------

The GNUish MS-DOS Project releases GNU software ported to PC compatibles.  In
general, this software will run on 8086 and 80286-based machines; an 80386 is
not required.  Some of these utilities are necessarily missing features.
Included are: `cpio', `diff', some file utilities, `find', `flex', `gdbm',
`grep', `indent', `less', `m4', `make', MAWK, MicroEmacs, `ptx', RCS, `sed',
`shar', `sort', & Texinfo.



Contents of the Windows diskette
--------------------------------

We are distributing versions of GNU Chess and `gnuplot' ported to Microsoft
Windows on a single diskette.



Free Software for Microcomputers
********************************

We do not provide support for GNU software on microcomputers because it is
peripheral to the GNU Project.	However, we are distributing a few such
programs on tape, CD-ROM and diskette.	We are also willing to publish
information about groups who do support and maintain them.  If you are aware
of any such efforts, please send the details, including postal addresses,
archive sites and mailing lists, to either address on the front cover.

See "MS-DOS Distribution" and both CD-ROM articles for more information about
microcomputer software available from the FSF.	Please do not ask us about
any other software.  The FSF does *not* maintain any of it and has *no*
additional information.

   * GNU Software *not* on Apple computers

     In lawsuits, Apple claims the power to stop people from writing any
     program that has a user interface that works even vaguely like the
     Macintosh's.  If Apple wins in the courts, it will create for itself a
     new power over the public that will enable it to put an end to free
     software.	So long as Apple is committed to establishing this kind of
     monopoly, we will not provide any support or software for Apple
     machines.	We ask that you too refrain from developing for or porting to
     Apple systems, since any more software adds to their business.  Don't
     feed the lawyer that bites you!

   * Boston Computer Society

     The BCS has thousands of shareware and free programs for microcomputers,
     including some GNU programs.  Contact them to see what is available for
     your machine:

	     Boston Computer Society
	     1 Kendall Square, Bldg 1400,
	     Cambridge, MA   02139
	     USA
	     Phone: (617) 252-0600

   * GNU Software on the Amiga

     Get Amiga ports of many GNU programs using anonymous FTP from host
     `ftp.funet.fi' in `/pub/amiga/gnu' (Europe).

     For info on (or offers to help with) the GCC port and related projects,
     ask Leonard Norrgard, `vinsci@nic.funet.fi'.  For info on the GNU Emacs
     port, ask David Gay, `dgay@di.epfl.ch', or Mark D. Henning,
     `henning@stolaf.edu'.  You can get more info via anonymous FTP in
     `prep.ai.mit.edu:/pub/gnu/MicrosPorts/Amiga'.

   * GNU Software for Atari TOS and Atari Minix

     Get Atari ports by anonymous FTP from `atari.archive.umich.edu'
     (maintained by Howard Chu, `hyc@hanauma.jpl.nasa.gov').  Ports are
     discussed on USENET in newsgroups `comp.sys.atari.st.tech' &
     `comp.sys.atari.st'.

   * GNU C/C++ 2.3.3 for OS/2 2.0

     Michael Johnson has written a completely stand-alone port of the GNU
     C/C++ Version 2.3.3 compiler for OS/2 2.0.	 It has the C/C++ compilers,
     the GNU assembler, documentation & both OS/2-specific and the BSD C
     libraries.	 You can get it from host `hobbes.nmsu.edu' in file
     `/os2/2_x/unix/gnu/gcc2_233' by FTP.  To join the mailing list, send a
     message to `os2gcc-request@charon.mit.edu'.

   * Linux: a free Unix system for 386 machines

     Linux (named after its author, Linus Torvalds, and Minix) is a free Unix
     clone which implements a subset of System V and POSIX functionality.
     Linux has been written from scratch and does not contain any proprietary
     code.  Many of the utilities and libraries are GNU Project software.
     Linux runs only on 386/486 AT-bus (and some EISA-bus) machines.  Porting
     to non-Intel architectures is hard because the kernel makes extensive
     use of 386 memory management and task primitives.	Linux is freely
     distributable and available via anonymous FTP: `tsx-11.mit.edu' in
     `/pub/linux' (USA), `nic.funet.fi' in `/pub/OS/Linux' (Europe).  Ask
     `linux-activists-request@niksula.hut.fi' about their mailing lists.  See
     USENET newsgroup `comp.os.linux.misc' et al for Linux discussions.

   * DJGPP 1.11m1, the GNU C/C++ compiler for MS-DOS

     DJ Delorie has ported GCC/G++ to the 386/483 MS-DOS platform.  See "GNU
     Software Available Now" for details.  The FSF is distributing DJGPP on
     both floppies and CD (see "MS-DOS Distribution" and "Compiler Tools
     Binaries CD-ROM").

   * Demacs, GNU Emacs for MS-DOS

     Manabu Higashida and Hirano Satoshi have released Demacs, a GNU Emacs
     port for 386/486 MS-DOS.  Version 1.2.0 is the first post-beta release.
     Demacs provides several DOS-specific features: support for binary or
     text file translation, "8 bit clean" display mode, 80x86 software
     interrupt calls via an `int86' Lisp function, machine-specific features
     such as function key support, file name completion with drive name,
     child processes (`suspend-emacs' and `call-process').  Dired mode works
     without `ls.exe'.	Anonymous FTP it from: `wuarchive.wustl.edu' in
     `/mirrors/msdos/demacs', `utsun.s.u-tokyo.ac.jp' in `/GNU/demacs'
     (Japan), and `ftp.funet.fi' in `/pub/gnu/emacs/demacs' (Europe).

     The FSF is distributing Demacs on floppies (see "MS-DOS Distribution").

   * GNU Software on MS-DOS

     You can ask `info-gnu-msdos-request@sun.soe.clarkson.edu' about MS-DOS
     ports of GNU programs and related mailing lists.  Or anonymous FTP files
     `/pub/gnu/MicrosPorts/MSDOS*' on `prep.ai.mit.edu'.

     The FSF is distributing MS-DOS ports of many GNU programs on both
     floppies & CD (see "MS-DOS Distribution" & "Source Code CD-ROM").



FSF T-shirt
***********

We still have our Free Software Foundation T-shirts available, designed by
Cambridge artist Jamal Hannah.	The front of the t-shirt has an image of a
GNU hacking at a workstation with the text "GNU's Not Unix" above and the
text "Free Software Foundation" below.	They are available in two colors,
Natural and Black.  Natural is an off-white, unbleached, undyed,
environment-friendly cotton, printed with black ink, and is great for
tye-dyeing or displaying as is.	 Black is printed with white ink and is
perfect for late night hacking.	 All shirts are thick 100% cotton, and are
available in sizes M, L, XL and XXL.

The front of the t-shirt has an image of a GNU hacking at a workstation with
the text "GNU's Not Unix" above and the text "Free Software Foundation" below.
We have just added a copy of the GNU General Public License to the back of
the t-shirt, which use to be blank.

Use the "Free Software Foundation Order Form" to order your shirt, and
consider getting one as a present for your favorite hacker!



     *Work for something because it is good, not just because it stands a
     chance to succeed.*

			     -Vaclav Havel



Thank GNUs
**********

Thanks to all those mentioned above in "Informal GCC Consortium", "GNUs
Flashes", "Project GNU Status Report", "Second Annual GNU Seminar in Japan",
"GNU and other Free Software in Japan" and "GNU Software Available Now".

Thanks to the Artificial Intelligence Laboratory, Laboratory for Computer
Science, and Project Athena at MIT for their invaluable assistance.

Thanks to the many companies and organizations who have brought our Deluxe
Distribution package.

For their assistance in Japan, thanks to: Nobuyuki Hikichi, Mieko Hikichi,
Ken'ichi Handa, Bob Myers, David Littleboy, Prof. Masayuki Ida, Japan Unix
Society,   Senri International Information Institute,	Industrial
Vitalization Center for Tohoku, The University of Aizu, and Nihon Sun User
Group.	Thanks to Addison Wesley Publishers Japan, A.I. Soft, Village Center,
Inc., ASCII Corporation and many others in Japan, for their continued
donations and support.

Thanks to the Sun Users Group, PCI, and the USENIX Association, for donating
booths at their conferences.  Thanx to all the volunteers who helped the GNU
Project at these and other conferences.	 Thanks to Wired Magazine and Barry
Meikle of the University of Toronto Bookstore for donating us ad space in
their separate publications.

Thanks again to the Open Software Foundation for their continued support; and
to Cygnus Support for assisting Project GNU in many ways.  Thanks to
Warren A. Hunt, Jr. and Computational Logic, Inc. for their donation and
support.  Thanks to Aalborg University for donating a part-time programmer.
Thanks to Jamie Zawinski for his implementation of some of the X-related
features in Emacs 19.

Thanks go out to all those who have either lent or donated machines,
including an anonymous donor for a 4mm DAT catridge drive, IBM Corp. for an
Exabyte tape drive and an RS/6000; Cygnus Support for a Sun SPARCstation;
Hewlett-Packard for two 80486, six 68030 and four Spectrum computers;
Brewster Kahle of Thinking Machines Corp. for a Sun-4/110; CMU's Mach Project
for a Sun-3/60; Intel Corp. for their 386 machine; NeXT for their
workstation; the MIT Media Laboratory for a Hewlett-Packard 68020; SONY Corp.
and Software Research Associates, Inc., both of Tokyo, for three SONY News
workstations; the MIT Laboratory of Computer Science for the DEC MicroVAX; the
Open Software Foundation for two Compaq 386s; Delta Microsystems for an
Exabyte tape drive; an anonymous donor for 5 IBM RT/PCs; Liant Software Corp.
for five VT100s; Jerry Peek for a 386 machine; NCD Corporation for an X
terminal; and Interleaf, Inc., Veronika Caslavsky, Paul English,
Cindy Woolworth and Lisa Bergen for the loan of a scanner.

Thanks to all who have contributed ports & extensions, as well as all who
have sent in other source code, documentation, & good bug reports.

Thanks to all those who sent money and offered other kinds of help.

Thanks also to all those who support us by ordering manuals, distribution
tapes, diskettes, and CD-ROMs.

The creation of this bulletin is our way of thanking all who have expressed
interest in what we are doing.



Free Software Foundation Order Form
***********************************

Price and contents may change without notice after June 30, 1994.  All items
are distributed with permission to copy and to redistribute.  Texinfo source
for each manual is on the appropriate tape, diskette, or CD-ROM; the prices
for these magnetic media do not include printed manuals.  All items are
provided on an "as is" basis, with no warranty of any kind.  Please allow six
weeks for delivery (though it won't usually take that long).


      PRICE AND CONTENTS MAY CHANGE WITHOUT NOTICE AFTER June 30, 1994.

The following tapes in the formats indicated (tape contents above):

	Please circle the dollar amount for each tape you order.

		Reel to	 Sun (1)    HP	      IBM (2)	Exabyte	 DAT
		reel			      RS/6000
		Unix tar  Unix tar  Unix tar  Unix tar	Unix tar Unix tar
		9-track	  QIC-24    16-track  QIC-150
		1600 bpi  DC300XLP  DC600HC   DC600A
		1/2" reel 1/4" c.t. 1/4" c.t. 1/4" c.t. 8mm c.t. 4mm c.t.
	(c.t. = cartridge tape)
	(n/a = not available)
Emacs		$200	  $210	    $230      $215 (3)	$205	 $225
Languages	$200	  $210	    $230       n/a	$205	 $225
Utilities	$200	  $210	    $230      $215	$205	 $225
BSD-Net2	$200	  $210	    $230      $215	$205	 $225
Scheme		$200	  $210	    $230      $215	$205	 $225
X11r5-Required	$200	  $210	    $230      $215	$205	 $225
X11r5-Optional	$200	  $210	    $230      $215	$205	 $225

	 (1) Sun tapes can be read on some other Unix systems.
	 (2) IBM RS/6000 tapes can be read on some other Unix systems.
	 (3) The IBM Emacs tape also has binaries for GNU Emacs.


Subscriptions, 4 updates for one year:

FSF's Subscription Service provides four new versions of the tape of your
choice.	 It is offered only for tapes that change frequently.

Emacs		$600	  $630	    $690      $645	$615	 $675
Languages	$600	  $630	    $690       n/a	$615	 $675
Utilities	$600	  $630	    $690      $645	$615	 $675
X11r5-Required	$600	  $630	    $690      $645	$615	 $675

      Subtotal $ ______	 Please put total of the above circled amounts here.

The following, on 1600 bpi reel-to-reel 9 track 1/2" tapes, in VMS BACKUP
format (aka interchange format):

____ @ $195  = $ ______	  VMS Emacs, GNU Emacs source & executables only.
			  None of the other software on the GNU Emacs Tape,
			  described above, is included
____ @ $195  = $ ______	  VMS Languages, GCC, GAS, and Bison source and
			  executables only.  None of the other software on the
			  GNU Languages Tape, described above, is included.


FSF Deluxe Distribution (contents described above):

Machine: _____________________________________________________________________

Operating system: ____________________________________________________________

Media type: __________________________________________________________________

____ @ $5000 = $ ______	  Deluxe Distribution, with manuals, reference cards.
			  CD-ROMs, source code and executables.

Compiler Tools Binaries CD-ROM, in ISO 9660 format (CD-ROM described above):

____ @ $240  = $ ______	  GNU Compiler Tools Binaries CD-ROM for
			  corporations and other organizations.
____ @	$60  = $ ______	  GNU Compiler Tools Binaries CD-ROM for individuals.


Source Code CD-ROM, in ISO 9660 format (CD-ROM described above):

____ @ $400  = $ ______	  GNU Source Code CD-ROM for corporations and
			  other organizations.
____ @ $100  = $ ______	  GNU Source Code CD-ROM for individuals.


Subscriptions, next 4 updates, of the Source Code CD-ROM, in ISO 9660 format
(CD-ROM described above):

____ @ $1200 = $ ______	  Subscription to the GNU Source Code CD-ROM for
			  corporations and other organizations.
____ @ $300  = $ ______	  Subscription to the GNU Source Code CD-ROM for
			  individuals.


The following source and executables for MS-DOS, on 3.5" 1.44MB diskettes:

____ @ $ 90  = $ ______	  Demacs (a port of GNU Emacs) on diskettes, for 80386
			  and up.  Two versions are included.  One handles
			  8-bit characters sets.  The other, based on Nemacs,
			  handles 16-bit character sets, including Kanji.
____ @ $ 80  = $ ______	  DJGPP on diskettes, GCC version 2, for 80386
			  and up.  DJGPP is a complete port of GCC, libraries,
			  development utilities, and a symbolic debugger, for
			  Intel 80386 and 80486--based machines running
			  MS-DOS.  DJGPP requires at least 5MB of hard disk
			  space to install, and 512K of RAM to use.  It is
			  compatible with XMS memory managers and VCPI, but
			  not with Microsoft Windows extended mode or other
			  DPMI managers.  It cannot emulate multitasking (e.g.
			  fork) or signals.
____ @ $ 85  = $ ______	  Selected Utilities from the GNUish MS-DOS Project on
			  diskettes, 8086 and up.  The utilities include:
			  RCS, flex, GAWK, cpio, diff, MicroEmacs, find,
			  some file utilities, gdbm, grep, libc, ptx,
			  indent, less, m4, make, sed, shar, sort, and
			  Texinfo.  Some of these utilities are necessarily
			  missing features.
____ @ $ 40  = $ ______	  Windows diskette, GNU Chess and gnuplot for
			  Microsoft Windows.

The following manuals, 7 by 9.25 inches, soft cover with an illustration,
offset printed, "lay-flat" binding:

____ @ $ 25  = $ ______	  GNU Emacs version 18 manual, unit price for 1 to 5
			  copies, about 410 pages, new 8th edition with a
			  reference card.
____ @ $ 17  = $ ______	  GNU Emacs version 18 manuals, unit price for 6 or
			  more.
____ @ $ 50  = $ ______	  GNU Emacs Lisp Reference version 18 manual, about
			  614 pages in 2 volumes.
____ @ $200  = $ ______	  A box of 5 GNU Emacs Lisp Reference version 18
			  manuals.

  *** NEW !!! ***
____ @ $ 25  = $ ______	  GNU Emacs version 19 manual, unit price for 1 to 5
			  copies, about 418 pages, new 9th edition with a
			  reference card.  NEW!
____ @ $ 17  = $ ______	  GNU Emacs version 19 manuals, unit price for 6 or
			  more.
____ @ $ 50  = $ ______	  GNU Emacs Lisp Reference version 19 manual, about
			  756 pages in 2 volumes.
____ @ $200  = $ ______	  A box of 5 GNU Emacs Lisp Reference version 19
			  manuals.

____ @ $ 20  = $ ______	  Debugging with GDB, about 182 pages, with a reference
			  card.
____ @ $ 20  = $ ______	  Texinfo manual, about 248 pages.  Texinfo is GNU's
			  structured documentation system, included with GNU
			  Emacs.  Texinfo is used to produce both on-line and
			  printed documents.  This manual describes how to
			  write Texinfo documents.
____ @ $ 20  = $ ______	  Gawk manual, about 188 pages.

____ @ $ 20  = $ ______	  Make manual, about 158 pages.

____ @ $ 20  = $ ______	  Bison manual, about 98 pages, with a reference card.

____ @ $ 20  = $ ______	  Flex manual, about 124 pages, with a reference card.


The following manuals, 7 by 9.25 inches, soft cover, photocopied, GBC binding:

____ @ $ 50  = $ ______	  Using and Porting GNU CC version 2.3, about 428
			  pages.

____ @ $ 50  = $ ______	  GNU C Library Reference Manual, about 670 pages.

____ @ $ 15  = $ ______	  Termcap manual, 68 pages.  Documents the termcap
			  library and GNU's extensions to it.  The GNU termcap
			  library is included with GNU Emacs.

The following manual, 8.5 by 11 inches, soft cover, photocopied, GBC binding:

____ @ $ 50  = $ ______	  GNU Emacs Calc manual, about 596 pages, with a
			  reference card.  Calc is an extensible, advanced
			  mathematical tool and desk calculator that runs
			  under GNU Emacs.

The following reference cards, unit price, without the manuals:

____ @ $  2  = $ ______	  GNU Emacs reference card - version 18.

____ @ $  2  = $ ______	  GNU Emacs reference card - version 19.

____ @ $  2  = $ ______	  GNU Emacs Calc reference card.

____ @ $  2  = $ ______	  GDB reference card.

____ @ $  2  = $ ______	  Bison reference card.

____ @ $  2  = $ ______	  Flex reference card.


The following reference cards, in packets of ten:

____ @ $ 10  = $ ______	  GNU Emacs reference cards - version 18.

____ @ $ 10  = $ ______	  GNU Emacs reference cards - version 19.

____ @ $ 10  = $ ______	  GNU Emacs Calc reference cards.

____ @ $ 10  = $ ______	  GDB reference cards.

____ @ $ 10  = $ ______	  Bison reference cards.

____ @ $ 10  = $ ______	  Flex reference cards.


GNU/FSF T-shirts, thick 100% cotton:

The front of the t-shirt has an image of a GNU hacking at a workstation with
the text "GNU's Not Unix" above and the text "Free Software Foundation below.
Natural is an off-white, unbleached, undyed, environment-friendly cotton,
printed with black ink.	 Black is printed with white ink.

  *** NEW !!! ***

The back of the t-shirt, which used to be blank, now has a copy of the GNU
General Public License on it.  NEW!!

____ @ $ 15  = $ ______	  Size M     ____ natural  ____ black.

____ @ $ 15  = $ ______	  Size L     ____ natural  ____ black.

____ @ $ 15  = $ ______	  Size XL    ____ natural  ____ black.

____ @ $ 15  = $ ______	  Size XXL   ____ natural  ____ black.
		 ------

      Subtotal $ ______

	     + $ ______	  In  Massachusetts:  add 5% sales tax, or give tax
			  exempt number.
	     + $ ______	  In Alaska, Hawaii, or Puerto Rico for shipping:
			  for GNU Emacs Lisp Reference and GNU Emacs Calc
			  manuals, add $5 each, or $20 per box.	 For all other
			  items, add $5 base charge, then $1 per item except
			  reference cards; i.e.,
			  shipping for all other items = $5 + $1 * n.
	     + $ ______	  Outside of U.S., Canada, and Puerto Rico for
			  shipping:  Add $20 base charge, and then add $10
			  more for each item (except reference cards) in the
			  order; i.e.,
			  shipping for all other items = $20 + $10 * n.
	     + $ ______	  Optional (tax-deductible in the U.S.) donation.
		 ------

	 TOTAL $ ______	  We pay for shipping via UPS ground transportation in
			  the contiguous 48 states and Canada.



Please answer the following questions:

How did you hear about the GNU Project? ______________________________________

______________________________________________________________________________

______________________________________________________________________________

Do you also have network access to GNU software?     Yes ______	 No ______




If you are ordering a CD-ROM, please answer the following questions:

Is this a replacement for a previous edition of the GNU Source Code CD-ROM?

	Yes ______  No ______

If FSF offered a less expensive CD-ROM, which had only GNU Emacs on it, but
also included binaries for several platforms, would you purchase it: (check
one)
	______ instead of the Source Code CD-ROM?

	______ in addition to the Source Code CD-ROM?

	______ Would not purchase it.


Orders filled only upon receipt of check, money order or credit card order in
U.S. dollars.  We do not have the staff to handle the billing of unpaid
orders.	 Please help keep our lives simple by including your payment with your
order.


Please make checks payable to the Free Software Foundation.


Name: ________________________________________________________________________

Mail Stop/Dept. Name: ________________________________________________________

Organization: ________________________________________________________________

Street Address: ______________________________________________________________

City/State/Province: _________________________________________________________

Zip Code/Postal Code/Country: ________________________________________________

Telephone number in case of a problem with your order.
For international orders, please include a FAX numbers. ______________________

For orders from outside the U.S.: Orders must be paid in U.S. dollars. You
are responsible for paying all duties, tariffs, and taxes.  If you refuse
to pay the charges, the shipper will return or abandon the order.

For Credit Card Orders: FSF takes these credit cards: Visa, Mastercard, JCB,
Diner's Club, and Carte Blanche.

Card type: ___________________________________________________________________

Account Number: ______________________________________________________________

Expiration Date: _____________________________________________________________

Your Signature: ______________________________________________________________



			 Please mail orders to: Free Software Foundation
						675 Massachusetts Avenue
Version: Jan 1994 ASCII Bulletin to info-gnu	Cambridge, MA  02139  USA
						+1 617 876 3296
						FAX: +1 617 492 9057
						FAX numbers in Japan:
PRICES AND CONTENTS MAY CHANGE				0031-13-2473 (KDD)
WITHOUT NOTICE AFTER June 30, 1994.			0066-3382-0158 (IDC)

---------------------------------------------------------------------

						     -------
     Free Software Foundation, Inc		    |	    |
     Electronic Mail: gnu@prep.ai.mit.edu	    | stamp |
     675 Massachusetts Avenue			    |	    |
     Cambridge, MA  02139-3309			    | here  |
     USA					    |	    |
						     -------











---------------------------------------------------------------------
