GNU's Bulletin June, 1992
The GNU's Bulletin is the semi-annual newsletter of the Free Software Foundation, bringing you news about the GNU Project.
Free Software Foundation, Inc. Telephone: (617) 876-3296
675 Massachusetts Avenue Electronic mail: firstname.lastname@example.org
Cambridge, MA 02139 USA
GNU's Who What Is the Free Software Foundation? What Is Copyleft? Free Software Support GNUs Flashes Patent Reform Is Not Enough What Is the LPF? LPF Ends Ashton-Tate Boycott U.S. Federal Database Bill Another Free Software Support Business The Hurd: the GNU Kernel Advances A Small Way to Help Free Software Project GNU Status Report A GNU Standard on Suns? Andrew Toolkit Stays Free GNU in Japan GNU Software Support Company in Japan GNU Documentation Project Gutenberg Looks for Volunteers Project GNU Wish List Please Support Free Software How to Get GNU Software GNU Software Available Now Contents of the Emacs Tape Contents of the Languages Tape Contents of the Utilities Tape Contents of the Experimental Tape Contents of the X11 Tapes Berkeley Networking 2 Tape VMS Emacs and Compiler Tapes Free Software for Microcomputers Thank GNUs Free Software Foundation Order Form
Michael Bushnell is working on the GNU operating system and
tar. Jim Blandy is preparing GNU Emacs
19, and Joseph Arceneaux is implementing active regions for a
future GNU Emacs release. Roland McGrath is polishing the C
library and maintains GNU
Tom Lord is writing a graphics library and working on Oleo, the GNU
spreadsheet. Brian Fox is improving various programs that he
has written including
library, BASH, and is writing the BASH Manual. Jan
Brittenson is working on the C interpreter and maintaining
finger. Mike Haertel is making GNU
compliant and beginning work on optical character recognition.
David MacKenzie maintains most of GNU's small utilities--more
programs than nearly everyone else combined.
Kathy Hargreaves and Karl Berry are making fonts (and coordinating volunteers making fonts), developing utilities for dealing with them, and working on Ghostscript. Melissa Weisshaus is editing documentation and will work on the GNU Utilities Manual.
Noah Friedman is our system administrator. Lisa `Opus' Goldstein continues to run the business end of FSF, with Gena Lynne Bean assisting in the office. Spike MacPhee assists RMS with legal assignments of software and other administrative tasks. Robert J. Chassell, our Secretary/Treasurer, also handles our publishing and is working on an introduction to programming in Emacs Lisp, in addition to many other tasks.
Richard Stallman continues as a volunteer who does countless tasks, such as C compiler maintenance and finishing the C Library Manual.
Volunteer Len Tower remains our on-line JOAT (jack-of-all-trades), handling mailing lists and gnUSENET, information requests, etc.
Written and Edited by: Jan Brittenson, Noah S. Friedman,
Robert J. Chassell, Melissa Weisshaus, Richard Stallman,
and Leonard H. Tower Jr.
Illustrations: Etienne Suvasa
Japanese Edition: Mieko Hikichi and Nobuyuki Hikichi
The GNU's Bulletin is published twice annually. To get a copy, send your request to the address on the first page. If you live in an area served by the US Post Office, please also send a SASE (Self-Addressed Stamped Number 10 Envelope), otherwise please include a preprinted mailing label. A small donation to cover copying costs is appreciated but not required.
Copyright (C) 1992 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the copyright notice and permission notice are preserved, and that the distributor grants the recipient permission for further redistribution as permitted by this notice.
The Free Software Foundation is dedicated to eliminating restrictions on copying, redistribution, understanding, and modification of computer programs. We do this by promoting the development and use of free software in all areas of computer use. Specifically, we are putting together a complete integrated software system named "GNU" (GNU's Not Unix) that will be upwardly compatible with Unix. Some large parts of this system are already working, and we are distributing them now.
The word "free" in our name pertains to freedom, not price. You may or may not pay a price to get GNU software. Either way, you have two specific freedoms once you have the software: first, the freedom to copy the program and give it away to your friends and co-workers; and second, the freedom to change the program as you wish, by having full access to source code. Furthermore, you can study the source and learn how such programs are written. You may then be able to port it, improve it, and share your changes with others. (If you redistribute GNU software, you may charge a fee for the physical act of transferring a copy, or you may give away copies.)
Other organizations distribute whatever free software happens to be available. By contrast, the Free Software Foundation concentrates on development of new free software, working towards a GNU system complete enough to eliminate the need for you to purchase a proprietary system.
Besides developing GNU, FSF distributes copies of GNU software and manuals for a distribution fee, and accepts tax-deductible gifts to support GNU development. Most of FSF's funds come from its distribution service.
The Board of the Foundation is: Richard M. Stallman, President;
Robert J. Chassell, Secretary/Treasurer; Gerald J. Sussman, Harold Abelson, and Leonard H. Tower Jr., Directors.
The simplest way to make a program free is to put it in the public domain, uncopyrighted. But this allows anyone to copyright and restrict its use against the author's wishes, thus denying others the right to access and freely redistribute it. This completely perverts the original intent.
To prevent this, we copyright our software in a novel manner. Typical software companies use copyrights to take away your freedoms. We use the copyleft to preserve them. It is a legal instrument that requires those who pass on the program to include the rights to further redistribute it, and to see and change the code; the code and rights become legally inseparable.
The copyleft used by the GNU Project is made from a 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 freedoms discussed above. An alternate form, the GNU Library General Public License (LGPL), applies to certain 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 in many of our manuals. We will also send you a printed copy upon request.
Note that the library license actually represents a strategic retreat. We would prefer to insist as much as possible that programs based on GNU software must themselves be free. However, in the case of libraries, we found that insisting they be used only in free software appeared to discourage use of the libraries rather than encouraging free applications.
If the library license does promote the further use and development of free libraries by the developers of proprietary applications, we may consider putting more of the GNU Project libraries under it.
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 the GPL appear at the end of the GPL.
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 because we would rather concentrate on the former task. 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 and `SERVICE' in the GCC distribution. 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 announcements, bug reports,
and questions. They are also gatewayed into USENET news as the
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:
Anterior Technology, P.O. Box 1206, Menlo Park, CA 94026-1206 USA Phone: (415) 328-5615 or Fax: (415) 322-1753 E-mail:
email@example.comUUNET Communications Services, 3110 Fairview Park Drive - Suite 570, Falls Church, VA 22042 USA Phone: (703) 876-5050 E-mail:
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, such as developing and maintaining software and documentation. We do not have the resources to help individuals. If your bug report does not evoke a solution from us, you may still get one from the many other users who read our bug report mailing lists. Otherwise, use the Service Directory.
So, please do not ask us to help you install the software or figure out how to use it--but do tell us how an installation script does not work or where the documentation is unclear.
"If I have seen farther, it is by standing on the shoulders of giants."
firstname.lastname@example.org. Meanwhile, the front end itself is rapidly approaching an alpha test state.
"If I have not seen farther, it is because giants were standing on my shoulders."
by Richard Stallman
When people first learn about the problem of software patents, their attention is often drawn to the egregious examples: patents that cover techniques already widely known. These techniques include sorting a collection of formulae so that no variable is used before it is calculated (called "natural order recalculation" in spreadsheets), and the use of exclusive-or to modify the contents of a bit-map display.
Focusing on these examples can lead some people to ignore the rest of the problem. They are attracted to the position that the patent system is basically correct and needs only "reforms" to carry out its own rules properly.
But would correct implementation really solve the problem of software patents? Let's consider an example.
In April 1991, software developer Ross Williams began publishing a series of data compression programs using new algorithms of his own devising. Their superior speed and compression quality soon attracted users.
The following September, when the FSF was about a week away from releasing one of them as the new choice for compressing our distribution files, use of these programs in the United States was halted by a newly issued patent, number 5,049,881.
Under the current patent rules, whether the public is allowed to use these programs (i.e., whether the patent is invalid) depends on whether there is "prior art": whether the basic idea was published before the patent application, which was on June 18, 1990. Williams' publication in April 1991 came after that date, so it does not count.
A student described a similar algorithm in 1988--1989 in a class paper at the University of San Francisco, but the paper was not published. So it does not count as prior art under the current rules.
Reforms to make the patent system work "properly" would be no help here. Under the rules of the patent system, this patent seems valid. There is no prior art for it. It is not close to obvious, as the patent system interprets the term. (Like most patents, it is neither worldshaking nor trivial, but somewhere in between.) The fault is in the rules themselves, not their execution.
In the US legal system, patents are intended as a bargain between society and individuals; society is supposed to gain through the disclosure of techniques that would otherwise never be available. It is clear that society has gained nothing by issuing patent number 5,049,881.
Under current rules, our ability to use Williams's programs depends on whether anyone happened to publish the same idea before June 18, 1990. That is to say, it depends on luck. This system is good for promoting the practice of law, but not progress in software.
Teaching the Patent Office to look at more of the existing prior art might prevent some outrageous mistakes. It will not cure the greater problem, which is the patenting of every new wrinkle in the use of computers, like the one that Williams and others independently developed.
This will turn software into a quagmire. Even an innovative program typically uses dozens of not-quite-new techniques and features, each of which might have been patented. Our ability to use each wrinkle will depend on luck, and if we are unlucky half the time, few programs will escape infringing a large number of patents. Navigating the maze of patents will be harder than writing software. As The Economist says, software patents are simply bad for business.
If you'd like to do something, the easiest thing to do is to join the League for Programming Freedom.
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, the FSF, and even some 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:
The address is:
League for Programming Freedom 1 Kendall Square - #143 P.O. Box 9171 Cambridge, MA 02139 USA Phone: (617) 243-4091 Email:
If you haven't made up your mind yet, write to LPF for more information,
or send Internet mail to
Ashton-Tate (now a subsidiary of Borland) has offered to drop its "look-and-feel" lawsuit against Fox. In response, the League for Programming Freedom has dropped its boycott of Ashton-Tate products.
A bill before Congress, H.R. 2772, would have the Government Printing Office (GPO) create a Wide Information Network for Data Online (WINDO), allowing individual users to subscribe to a number of Federal databases, including: the FDA Bulletin Board, the Economic Bulletin Board, the SEC's EDGAR database of corporate disclosure filings, the Patent and Trademark Office's Automated Patent System, the "Federal Register," the "Congressional Record," the House of Representatives' LEGIS system, the Library of Congress' SCORPIO system, the Department of State press briefings and Congressional Testimonies, and many other U.S. Federal government information systems.
The GPO would administer the service for a low user dissemination-based charge, providing access through most common access methods, including by dial-up modem and over the Internet. User feedback would be greatly encouraged. Bill H.R. 2772 was introduced by Rep. Charlie Rose (D-NC) in June 1991. To support the bill, write or call your congressman. Also write or call Rep. Rose to show your support and send a copy to the Taxpayer Assets Project. For more information on WINDO, you can contact:
American Library Association Taxpayer Assets Project Washington Office P.O. Box 19367 110 Maryland Avenue, NE Washington, DC 20036 Washington, DC 20002-5675 USA USA Tel: (202) 387-8030 Tel: (202) 547-4440 Fax: (202) 234-5176 Fax: (202) 547-7363 Bitnet:
email@example.comJoint Committee on Printing 818 Hart Senate Bldg. Washington, DC 20510 USA Tel: (202) 224-5241 Fax: (202) 224-1176
by Russ Nelson, Crynwr Software,
The Crynwr packet driver collection, a finalist in PC Magazine's 1991 Awards for Technical Excellence, is copylefted software. The packet drivers are a mix of PC Ethernet drivers and shims to other driver software. Packet drivers are used natively by nearly all TCP/IP software and can also be used with Novell's NetWare, Banyan Vines, and Performance Technology's PowerLAN. After nearly four years, the list of contributors stretches almost two pages. My firm, Crynwr Software, six months old, is the sole support for my family, selling packet driver support. Crynwr Software is another example of a successful business venture based on copylefted software.
"In the sciences, we are now uniquely privileged to sit side by side with the giants on whose shoulders we stand."
Development is continuing on the kernel-related aspects of the GNU Operating System. This job consists of writing a set of servers, called the GNU Hurd, that run on top of the Mach 3 microkernel from CMU. The Mach microkernel provides a task abstraction with multiple threads within a single task and powerful IPC and virtual memory systems. Work is proceeding well on our implementation of the BSD Fast Filesystem, and we hope to be able to bootstrap a minimal system this summer.
One of the advantages to the GNU Hurd is that it allows ordinary users
to write programs which insert themselves into the directory hierarchy
in a secure fashion. Using this idea, we will eventually implement a
variety of interesting "filesystems." A simple example is transparent
FTP, but there are also ideas like a transparent tar archive. (Just
think, all you will need do is
cd into a tar archive and do an
ls, instead of remembering incantations like
foo.tar.) There are even stranger ideas people have thought up; this
design choice turns out to be surprisingly fruitful. This is a
characteristic of the Hurd which is not supported by any other free or
nearly-free operating systems, and only a very few commercial systems
(none of which look anything like Unix).
We are not sure at this point whether the initial alpha test release will have network support in it; this will depend on staffing considerations. If it does not, then implementing the network will be the top priority after the alpha release. The plan is to write a library which will enable network modules from a BSD kernel (many of which are now free) to be "dropped in" and used with only minimal modification, though more work would be needed to enable such a network server to get maximal performance.
Source compatibility with 4.4 BSD and POSIX.1 will be provided by the GNU C Library. In addition, binary compatibility will be provided on some machines using the system call emulation facilities of Mach. Further, a great number of functions, done in Unix by the kernel, will be done in the C library. This allows users who dislike some of the precise semantics of a system call to easily replace it in their programs. Calls such as those which change signal state can be implemented entirely in the library and become much faster as well.
We have a mailing list to discuss the design of Hurd. Experts in OS design and seasoned Unix wizards are welcome to help hash out the details of the interface.
If you find that GNU software has been helpful to you, and in particular if you have benefitted from having sources freely available, please help support the spread of free software by telling others. For example, you might say in published papers and internal project reports:
"We were able to modify the
fubarutility to serve our particular needs because it is free software. As a result, we were able to finish the XYZ project six months earlier."
Let users, management, and friends know! And send us a copy. Thanks!
after change hooks, source-level debugging of Emacs Lisp programs, X selection processing (including clipboard selections), scrollbars, support for European character sets, floating point numbers, per-buffer mouse commands, X resource manager interfacing, mouse-tracking, Lisp-level binding of function keys, multiple X windows (`screens' to Emacs), a new input system, and buffer allocation, which uses a new mechanism capable of returning storage to the system when a buffer is killed. The input stream is now a sequence of Lisp objects, instead of a sequence of characters. This allows a reasonable representation for mouse clicks, function keys, menu selections, etc. Thanks go to Alan Carroll and the people who worked on Epoch for generating initial feedback to a multi-windowed Emacs, and to Eric Raymond for help in polishing the Emacs 19 Lisp libraries. Emacs 18 maintenance continues for simple bug fixes.
a.outand COFF format object files when used with a suitable assembler. Version 2 of GCC is in beta test (see "Contents of the Experimental Tape") and includes front-ends for C++ and Objective-C. New front ends are being developed, but they are not part of GCC yet. A front end for Ada is being funded through the Ada 9X standards committee. Since it is a quite complex language, we expect completion to take a while. A front end for Fortran is now being integrated, but this will also not be available soon. Volunteers are developing front ends for Modula-3 and Pascal. There are mumblings about other languages, but no one has volunteered to do Cobol yet.
firstname.lastname@example.org, coordinates the release.
mallocwhich wastes less memory than the old GNU
malloc. The GNU regular-expression functions (
regex) now mostly conform to the POSIX.2 standard. A manual for the library (including the "system calls") is mostly written. GNU
stdiolets you define new kinds of streams, just by writing a few C functions. The
fmemopenfunction uses this to open a stream on a string, which can grow as necessary. You can define your own
printfformats to use a C function you write; and there is a way to safely use format strings from user input, for example to implement a
printf-like function for another programming language. Extended
getoptfunctions are already used to parse options, including long options, in many GNU utilities. Version 1.03 runs on Sun-3 & Sun-4 (SunOS 4.1) and HP 9000/300 (4.3 BSD). Version 1.04 will include a complete port for MIPS DECstations (Ultrix 4.2), and improved support for the i386/i486 (System V & BSD).
a.outand COFF. Other new features include improvements to the command language, watchpoints (breakpoints triggered when the value of an expression changes), exception handling (when used with GCC version 2) and support for SunOS shared libraries and C++ multiple inheritance.
martigny.ai.mit.eduunder `/archive/scm' in `jacal0-4.tar.Z' and `scm3c13.tar.Z'. The FSF is not distributing JACAL on tape yet. To receive an IBM PC floppy disk with the source and executable files, send $60.00 ($65.00 for i386) to: Aubrey Jaffer, 84 Pleasant St., Wakefield MA 01880 USA.
email@example.com, has created a previewer for multi-page files, called Ghostview, on top of Ghostscript. 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 do not ask the FSF staff any questions about this; we do not use PCs).
troffand related programs). Version 1.05 is now available (see "Contents of Utilities Tape").
groffis written in C++. It can be compiled with GNU C++ Version 1.40.3 or later. Future bugs in
groffwill be fixed, but no new development is currently planned. However,
groffusers are encouraged to continue to contribute enhancements. Most needed are complete Texinfo documentation, a
picpreprocessor for typesetting graphs), a page-makeup postprocessor similar to
pm(see Computing Systems, Vol 2, No. 2), and an ASCII output class for
piccan be integrated with Texinfo. James would like to thank everybody who has contributed bug reports. Please continue to send them to
plot2ps; support for output in ln03 and TekniCAD TDA file formats; a replacement for the
splineprogram; examples of shell scripts using
plot; the addition of a statistics toolkit; and the use of
configurefor installation. Existing ports need retesting. Contact Rich Murphey,
Rich@rice.edu, if you can help test/port it to anything other than a SPARCstation.
makeinfo, a standalone formatter, and
info, a standalone Info reader. Both are written in C and are independent of GNU Emacs. Texinfo 2 is in late beta test.
Sun Microsystems was one of the pioneers of so-called "open systems". They are now leading the industry in a new way: they are the first major Unix workstation vendor to announce that they will not ship a C compiler with their Unix operating system. Other Unix workstation vendors have announced that they will follow suit.
Sun's decision to remove their compiler has created a unique opportunity
to make GNU C the new standard C compiler for Sun workstations.
Cygnus Support, in cooperation with the Free Software Foundation
and other free software developers, has announced plans to port GNU C
and other required software (GNU
gdb, and possibly
ld) to the Solaris platform.
Cygnus is looking for 150 subscribers, each of them to contribute $2000 (about the cost of a compiler license from Sun for three CPUs), to fund the necessary work. (Subscribers will also get commercial support for a year.) The results, when completed, will be free software like the rest of the GNU system. Also, $75,000 of the funds raised is to be donated to the FSF.
This is the first attempt to raise funds for free software development
by asking for users to subscribe in advance. For more info,
contact Cygnus Support at (415) 322-3811 or send mail to
The Andrew Toolkit is both an extensible, object-oriented toolkit for graphical user interfaces and a package of applications. The most widely-used application is the Andrew Message System (AMS). The Toolkit is distributed on FSF's `optional' X Windows tape.
Not long ago, several people asked whether the Toolkit would stay free. It will. The Andrew Toolkit Consortium plans to continue to make versions of the Toolkit and the AMS freely usable and distributable. However, there is (as there has always been) a catch: members of the Consortium get updates sooner and more frequently than the rest of us. This provides Consortium members with another incentive to continue as members.
firstname.lastname@example.org, and Nobuyuki Hikichi,
email@example.com, continue to work on the GNU Project in
Japan. They translate GNU information, write columns, request
donations, and consult about GNU. They have translated Version 1 of the
GNU General Public License into Japanese.
Japanese versions of Emacs and Epoch are available. Both of them,
nemacs (Nihongo Emacs) and
nepoch (Nihongo Epoch), are
widely used in Japan.
Mule (the MULtilingual Enhancement of GNU Emacs) is a version of Emacs
that can handle many character sets at once. Eventually, the features
it provides will be merged into the FSF version of Emacs. Ken'ichi
firstname.lastname@example.org, is beta testing MULE; you can FTP
If you can, please order GNU software directly from the FSF; every 150
tape orders allows FSF to hire a programmer for a year to create more
free software. Otherwise, many groups in Japan are distributing GNU
software, including JUG (a PC user group), Nikkei Business
Publications and ASCII (publishers), and the Fujitsu FM Towns users
group. Anonymous UUCP is also now available in Japan; for more
email@example.com. The FSF does not
The Village Center, Inc. has printed a Japanese translation of the GNU Emacs Lisp Reference Manual and also uploaded the Texinfo source to various bulletin boards. They are donating part of the revenue generated by distributing the manual to FSF. Their address is: Kanda Amerex Bldg. 2F 1-16, 3-Chome, Misaki-Cho, Chiyoda-ku, Tokyo 101.
A group connected with the commercial personal computer network in Japan
is writing and distributing a copylefted hardware (circuit diagram)
design and associated software that uses a MIPS-architecture based CPU.
The OS, called
t2, is a subset of Unix using GCC and
GDB as the system's compiler and debugger.
People in Japan can now contact a company for GNU software support; the company is named Wingnut (Fax only: +81-3-3954-5174). The organizers were inspired by the GNU Manifesto. Wingnut will provide two services: porting and customizing GNU software, and answering technical questions (including how to install the software).
"In computer science, we stand on each other's feet."
GNU manuals are intended to explain the underlying concepts, describe how to use all the features of each program, and give examples of command use. GNU documentation is distributed as Texinfo source files, which yield both typeset hardcopy and on-line hypertext-like presentation via the menu-driven Info system. The manuals, provided with our software, are also available in hardcopy; see the "FSF Order Form" inside the back cover.
The Emacs Manual describes the use of GNU Emacs. It also explains advanced features, such as outline mode and regular expression search, and how to use special modes for programming in languages like C and Lisp.
The Emacs Lisp Reference Manual covers the GNU Emacs Lisp programming language in great depth, including data types, control structures, functions, macros, syntax tables, searching and matching, modes, windows, keymaps, byte compilation, markers, and the operating system interface.
The Emacs Calc Manual 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 Texinfo Manual explains the markup language used to generate both the online Info documentation and 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 GDB Manual explains how to use the GNU Debugger, including how to run your program under debugger control, how to examine and alter data, how to modify the flow of control within the program, and how to use GDB through GNU Emacs.
The GAWK Manual describes how to use the GNU implementation of
awk. It is written for someone who has never used
describes all the features of this powerful string manipulation
The Bison Manual teaches how to write context-free grammars that convert into C-coded parsers. You need no prior knowledge of parser generators.
The Make Manual describes GNU
make, a program used to rebuild
parts of other programs. The manual covers writing `makefile's,
which specifies how a program is to be compiled and its dependencies.
The Termcap Manual, often described as "Twice as much as you ever
wanted to know about Termcap," details the format of the
database, the definitions of terminal capabilities, and the process of
interrogating a terminal description. This manual is primarily for
Project Gutenberg encourages the creation and distribution of English language electronic texts. Their goal is to provide a collection of 10,000 of the most used books by 2001. They need a few volunteers to help find copyright information about the books they wish to use as sources for electronic editions.
If you want to help with this (or in any other way), please contact
Michael S. Hart
Wishes for this issue are for:
firstname.lastname@example.org the task list and coding standards.
If you believe in free software and you want to make sure there is more in the future---please support the efforts of the FSF with a donation!
Your tax-deductible donation will greatly help us reach our goals.
$500 $250 $100 $50 other $______ Foreign currency:______
Circle the amount you are donating, tear off this page, and send it with
your donation to:
Free Software Foundation, 675 Mass. Ave., Cambridge, MA 02139 USA
All the software and publications from the Free Software Foundation are distributed with permission to copy and redistribute. The easiest way to get GNU software is to copy it from someone else who has it.
If you have Internet access, you can get the latest software via
anonymous FTP from the host
prep.ai.mit.edu (the IP address
126.96.36.199). Get file
`/pub/gnu/GETTING.GNU.SOFTWARE' for more information.
If you cannot get the software one of these ways, or would like to contribute some funds to our efforts and receive the latest versions, we distribute tapes for a copying and distribution fee (see the "FSF Order Form").
There are also third party groups that distribute our software; they do not work with us, but have our software in other forms. For your convenience we list some of them here (also see "Free Software for Microcomputers"). Please note that the Free Software Foundation is not affiliated with them in any way and is not responsible for either the currency of their versions or the swiftness of their responses.
These TCP/IP Internet sites provide GNU software via anonymous FTP
anonymous, password: your name,
archie.au, utsun.s.u-tokyo.ac.jp, ftp.cs.titech.ac.jp, ugle.unit.no, ftp.stacken.kth.se, sunic.sunet.se, isy.liu.se, ftp.win.tue.nl, ftp.informatik.tu-muenchen.de, ftp.diku.dk, ftp.eunet.ch, nic.funet.fi, ftp.eu.net, labrea.stanford.edu, cc.utah.edu (VMS GNU Emacs), jaguar.cs.utah.edu, ftp.cs.widener.edu, wuarchive.wustl.edu, uxc.cso.uiuc.edu, mango.rsmas.miami.edu (VMS GCC), gatekeeper.dec.com, and ftp.uu.net (under `/packages/gnu').
Those on the SPAN network can ask rdss::corbet.
Those on JANET can look under
You can get some GNU programs via UUCP. Ohio State University posts
their UUCP instructions regularly to newsgroup
USENET. The following people will send you information via electronic
hao!scicom!qetzal!upba!ugn!nepa!denny, uunet!hutch!barber, email@example.com, firstname.lastname@example.org, acornrc!bob, email@example.com, and firstname.lastname@example.org
For those without Internet access, see the section entitled "Free Software Support" for information on receiving electronic mail via UUCP.
We offer Unix software source distribution tapes in
on the following media: 1600 bpi 9-track reel tape, 8mm Exabyte
cartridges, Sun QIC-24 cartridges, Hewlett-Packard 16-track
cartridges, and IBM RS/6000 1/4" cartridges (an Emacs binary is also
on the RS/6000 tape). We also offer VMS tapes for GNU Emacs and the
GNU C compiler that include sources and VMS executables.
The contents of the various 9-track and cartridge tapes for Unix systems
are the same (except for the RS/6000 Emacs tape). Only the media are
different (see the "FSF Order Form"). Documentation comes in Texinfo
format. The GNU software tapes include both
Version numbers listed by program names were current at the time this Bulletin was published. When you order a distribution tape, some of the programs might be newer, and therefore the version number higher.
The software on this release tape is considered fairly stable, but as always, we welcome your bug reports. Some of the software that has been on this tape in the past has moved to the Languages and Utilities tapes.
texi2roff2.0 Texinfo is a set of utilities that generate printed manuals and online hypertext-style manuals (called `Info'). The late beta-test Texinfo 2 package contains enhancements to the current suite and a manual.
texi2roff, written by Beverly Erlebacher, translates GNU Texinfo files so that they can be printed by the
[gnt]roffprograms utilizing the
-memacro packages. It is included on all Unix tapes so people without TeX (but who have
[gnt]roff) can print out GNU documentation.
compress, we will be switching to another compression algorithm--as soon as we find one that is safe. The online distribution on
prep.ai.mit.eduwill be changed first to give the new program a trial period. Each tape includes the program that will uncompress the compressed files on it.
This tape contains programming language tools: compilers, interpreters, and related programs (parsers, conversion programs, debuggers, etc.). Many of these programs were on the Compiler tape, which no longer exists.
libg++1.39.0, and NIH Class Library 2.204a G++ is a set of changes for GCC that compiles C++, the well-known object-oriented language. As far as possible, G++ is kept compatible with the evolving draft ANSI standard, but not with
cfront(the AT&T compiler), as
cfronthas been diverging from ANSI. G++ comes with the GNU G++ User's Guide (not yet published on paper). G++ compiles source quickly, provides good error messages, and works well with GDB. As G++ depends on GCC, it must be used with a specific numbered version of GCC. The GNU C++ library,
libg++, is an extensive, documented collection of C++ classes and support tools for use with G++. The NIH Class Library (formerly known as "OOPS", Object-Oriented Program Support) is a portable collection of classes similar to those in Smalltalk-80 that has been developed by Keith Gorlen of NIH, using the C++ programming language.
dld3.2.3, and COFF Support The GNU assembler (GAS) is a fairly portable, one pass assembler that is almost twice as fast as Unix
asand works for 32x32, 680x0, 80386, SPARC (Sun-4), and VAXen. We have free versions of
strip. The GNU linker
ldis fast, and is the only linker with source-line numbered error messages for multiply-defined symbols and undefined references.
dldis a dynamic linker written by W. Wilson Ho. Linking your program with the
dldlibrary allows you to dynamically load object files into the running binary. The entire suite of GNU software tools can be run on System V, replacing COFF entirely. The GNU tools can operate on BSD object files with a COFF header the System V kernel will accept.
robotussinis supplied for converting standard libraries to this format.
flex2.3.7 and Bison 1.18
flexis a mostly-compatible replacement for the Unix
lexscanner generator, written by Vern Paxson of the Lawrence Berkeley Laboratory.
flexgenerates far more efficient scanners than
lexdoes. Bison is an upwardly compatible replacement for the parser generator
yacc, with additional features. The Bison Manual comes with the software.
make3.62, GDB 3.5, and
makehas most of the features of the BSD and System V versions of
makeas well as many of our own extensions, and complies with POSIX.2. GNU extensions include parallelism, conditional execution, and text manipulation. Version 3.62 of GNU
makeis fairly stable. The Make Manual comes with the source. GDB 3.5, the GNU debugger, runs under BSD 4.2/4.3 on VAXen and Suns (2, 3, 4, & SPARCstation), Altos, Convex, HP 9000/370 (BSD), HP 9000/320 (HP/UX), System V 386 systems (with either GNU or native object file format), ISI Optimum V, Merlin under Utek 2.1, SONY News, Gould NPL & PN machines, Pyramid, Sequent Symmetry (a 386-based machine), and Encore MultiMax under Umax 4.2. GDB features incremental reading of symbol tables (for fast startup and less memory use), command-line editing, interactive function calling in the program being debugged, remote debugging over a serial line, a value history, and user-defined commands. It can be used to debug C, C++, and Fortran programs. The GDB Manual includes a reference card.
indentis the GNU-modified version of the freely-redistributable BSD program. It formats C source according to GNU coding standards by default, though the original default and other formats are available as options.
perl4.019 GAWK is upwardly compatible with the System V Release 4 version of
awk. The GAWK Manual comes with the software. 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. Larry Wall has written a fast interpreter named
perl, which combines the features of
sh, and C. It has all of the capabilities of the these programs, as well interfaces to many system calls and C library routines (including the TCP/IP socket-manipulation facilities).
gperfis a "perfect" hash-table generation utility. There are actually two versions of
gperf, one written in C and one in C++. Both will produce hash functions in either C or C++.
aeworks with GCC to produce more complete profiling information.
f2cconverts Fortran--77 source files into C or C++.
gdbmlibrary is the GNU replacement for the standard
gdbmsupports both styles but does not need sparse database formats (unlike its Unix counterparts). GNU MP (
gmp) is a library for arbitrary precision arithmetic, operating on signed integers and rational numbers. It has a rich set of functions, all with a regular interface.
texi2roff2.0 and Texinfo 2.14 These packages are the same as the ones on the Emacs tape.
This tape includes the programs written by the GNU Project (as well as some third-party software) that are not on the other two tapes. For the most part, they consist of smaller utilities and miscellaneous applications. As usual, bug reports are welcome. Many of these programs were on the old Emacs tape and the now defunct Compiler tape.
gptx0.2 The GNU Shell, BASH (for Bourne Again SHell), is compatible with the Unix
shand offers many extensions found in
ksh. BASH has job control,
csh-style command history, and command-line editing (with Emacs and
vimodes built-in and the ability to rebind keys). BASH should compile on most systems.
groffis a document formatting system, which includes implementations of
-mmmacros, as well as drivers for Postscript, TeX dvi format, and typewriter-like devices. Also included is a modified version of the Berkeley
-memacros and an enhanced version of the
gptxis the GNU version of
ptx, a permuted index generator. Among other things, it can produce readable "KWIC" (KeyWords In their Context) without the need of
nroff, and there is an option to produce TeX-compatible output.
tarincludes multivolume support, the ability to archive sparse files, automatic archive compression/decompression, remote archives, and special features to allow
tarto be used for incremental and full backups.
cpiois an alternative archive format to
[ef]grepprograms are GNU's versions of the Unix programs of the same name. They are much faster than the traditional Unix versions.
patchis Larry Wall's program to take
diff's output and apply those differences to an original file to generate the patched version.
diff, later versions of RCS can handle binary files (executables, object files, 8-bit data, etc). The Concurrent Version System, CVS, manages software revision and release control in a multi-developer, multi-directory, multi-group environment. It works best on top of RCS Versions 4 and above, but will parse older RCS formats with the loss of CVS's fancier features. See Berliner, Brian, "CVS-II: Parallelizing Software Development," Proceedings of the Winter 1990 USENIX Association Conference.
find3.5, fileutils 3.2, shellutils 1.6, and textutils 1.3
findis used frequently both interactively and in shell scripts to find files that match certain criteria and perform arbitrary operations on them. The "fileutils" are file manipulation utilities:
touch. The "shellutils" are small commands used on the command line or in shell scripts:
yes. The "textutils" programs manipulate textual data:
gnuplot3.1 Ghostscript is GNU's graphics language that is almost fully compatible with Postscript (see "Project GNU Status Report"). Ghostview provides an X11 user interface for the Ghostscript interpreter. Ghostview and Ghostscript function as two cooperating programs, Ghostview creates the viewing window and Ghostscript draws in it. 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.
gnuplotis an interactive program for plotting mathematical expressions and data. Oddly enough, the program was neither written nor named for the GNU Project, the name is a coincidence.
m4is an implementation of the traditional Unix macro processor and is mostly System V Release 4 compatible, although it has some extensions (for example, it handles more than 9 positional parameters to macros).
m4also has built-in functions for including files, running shell commands, doing arithmetic, etc.
sedis a stream-oriented version of
ed, used to manipulate text.
bcis an interactive algebraic language with arbitrary precision. GNU
bcwas implemented from the POSIX P1003.2 draft standard, but it has several extensions including multi-character variable names, an
elsestatement, and full Boolean expressions.
elvisis a clone of the
exUnix editor. It supports nearly all of the
excommands in both visual and line mode.
elvisruns under BSD, System V, Xenix, Minix, MS-DOS, and Atari TOS. It should be easy to port to many other systems.
screenis a terminal multiplexor that allows you to handle several independent "screens" (ttys) on a single physical terminal. Each virtual terminal emulates a DEC VT100 plus several ANSI X3.64 and ISO 2022 functions.
lessis a paginator similar to
pgbut with various features (such as the ability to scroll backwards) that most pagers lack.
tput1.0, and Termcap 1.0
timeis used to report statistics (usually from a shell) about the amount of user, system, and real time used by a process.
tputis a portable way to allow shell scripts to use special terminal capabilities. It uses the
termcapdatabase, rather than the usual
terminfo. The GNU Termcap library is a drop-in replacement for
libtermcap.aon any system. It does not place an arbitrary limit on the size of
termcapentries, unlike most other
termcaplibraries. Included is extensive documentation in Texinfo format.
texi2roff2.0, Texinfo 2.14, and
texi2roffand Texinfo are the same as the ones on the Emacs tape.
makeis the same as the one on the Languages tape.
This tape includes software that is currently in beta test and is available for people who are feeling adventurous. Some of the software already has released versions on the distribution tapes. This tape is being offered for a limited time; as the programs become stable, they will replace older versions on other tapes. Please send bug reports to the appropriate addresses (listed on the tape in the notes for each program).
long long int). It can generate code for most of the same machines as Version 1, plus the IBM PC/RT, the IBM RS/6000, the Motorola 88000, the Acorn RISC machine, the AMD 29000 and the HP-PA (700 or 800). Ports for the IBM 370, the Intel 960, and the NCUBE are on their way. Version 2 can generate
a.out, COFF, Elf, and OSF/Rose files when used with a suitable assembler. GCC 2 can produce debugging information in several formats: BSD stabs, COFF, ECOFF, ECOFF with stabs symbols, and Dwarf. Not all of the Version 1 machine descriptions have been updated yet; some do not work, and others need work to take full advantage of instruction scheduling and delay slots. The old machine descriptions for the Pyramid, 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 you want to work on them. In GCC 2, using the new configuration scheme, building a cross-compiler is as easy as building a compiler for the same target machine. GCC 2 also supports more general calling conventions; it can pass arguments "by reference" and can preallocate stack space arguments. On the SPARC it uses the standard conventions for structure arguments, but structure return values are still a problem. With luck, this too will be fixed soon. Version 2 of the compiler supports three languages: Objective-C, C++, and C; the source file name selects the language. (The front end support for Objective-C was donated by NeXT.) The runtime support needed to run Objective-C programs is mostly working, but not available yet. C has been extended to support nested functions, nonlocal gotos, and taking the address of a label.
The two X11 tapes contain Version 11, Release 5 of the MIT X Window System. The first FSF tape contains all the core software, documentation, and some contributed clients. FSF refers to its first tape as 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 software, games, and other programs.
The Berkeley "Net2" release contains the second 4.3 BSD distribution and is newer than both 4.3BSD-Tahoe and 4.3BSD-Reno. It includes nearly the entire 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. This release contains much more software than the older releases, including third party software like Kerberos and some GNU software (for example, GCC, now the standard BSD compiler). Except for kernel sources, the GNU Project has replacements on other tapes for many of the missing programs.
We offer two VMS tapes. One has just the GNU Emacs editor. The second
contains the GNU C compiler, Bison (needed to compile GCC),
(needed 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, since the DEC VMS C compiler has bugs
and cannot compile GCC.
Please do not ask us to devote effort to VMS support, because it is peripheral to the GNU Project.
We do not provide support for GNU software on microcomputers because it
is peripheral to the GNU Project. However, we are willing to publish
information about groups who do so. If you are aware of any such
efforts, please send the details, including postal addresses, archive
sites, and mailing lists, to
email@example.com or to the
postal address on the front cover.
Please do not ask the Free Software Foundation about this microcomputer software. FSF does not maintain it, and has no more information about it.
Boston Computer Society 1 Kendall Square, Bldg 1400, Cambridge, MA 02139 USA Phone: (617) 252-0600
/pub/amiga/gnu(Europe). For info on (or offers to help with) the GCC port and related projects, ask Leonard Norrgard,
firstname.lastname@example.org. For info on the GNU Emacs port, ask Mark D. Henning,
email@example.com. Get more info via anonymous FTP in `prep.ai.mit.edu:/pub/gnu/MicrosPorts/Amiga'.
atari.archive.umich.eduusing anonymous FTP. Howard Chu,
firstname.lastname@example.org, maintains the archive. Ports are discussed on USENET in
comp.sys.atari.st. In order to get this group via e-mail, please ask
hobbes.nmsu.eduin the directory `/pub/os2/2.0/gnu/gcc21'. Send a message to
email@example.com be placed on a mailing list for discussion about this system.
nic.funet.fi:/pub/OS/Linux(Europe). There is a newsgroup,
comp.os.linux, for discussions about Linux. Ask
firstname.lastname@example.org the mailing lists.
email@example.com. Note that this early version is not reliable, and has trouble booting on some systems.
barnacle.erc.clarkson.eduin `/pub/msdos/djgpp'. You can subscribe to a mailing list on DJGPP by sending your e-mail address to
int86Lisp function, machine-specific features such as function key support, file name completion with drive name, child processes (
call-process). Dired mode works without `ls.exe'. Anonymous FTP it from:
firstname.lastname@example.org, has written a small programmable editor that is somewhat compatible with GNU Emacs and will run on most MS-DOS systems, including 8088 machines. It is so compatible that Freemacs users can use the GNU Emacs Manual as a reference for it. Anonymous FTP it from `emacs16a.zip' (under
wsmr-simtel20.army.mil; or send $15 (copying fee) to:
Russ Nelson 11 Grant St. Potsdam, NY 13676 USA Phone: (315) 268-1925 (Fax: 9201)Specify floppy format:
email@example.com info on ports of GNU programs to MS-DOS and related mailing lists. More information is in `/pub/gnu/MicrosPorts/MSDOS' and `MSDOS.gcc', obtainable via anonymous FTP on
Thanks to all those mentioned above in "GNUs Flashes", "Project GNU Status Report", "GNU in Japan", and "GNU Software Available Now".
Thanks to the Artificial Intelligence Laboratory and the Laboratory for Computer Science at MIT for their invaluable assistance of many kinds.
Thanks to Village Center, Inc., ASCII Corporation, and the Japan Unix Society, all of Japan, for their continued donations and support, and thanks to the anonymous GNU users in Japan for their gifts.
Thanks again to the Open Software Foundation for their continued support.
Thanks to the Technical University of Eindhoven in the Netherlands.
Thanks to the University of Massachusetts at Boston (especially Rick Martin) for allowing Karl Berry and Kathryn Hargreaves to use their computers.
Thanks to Chris Thyberg and Carnegie-Mellon University for supporting Tom Lord.
Thanks to Jim Mochel for his help with MS-DOS.
Thanks to Chet Ramey for his continuing work on improving BASH.
Thanks to Lucid, Inc. for the loan of an X terminal and for their support of Joe Arceneaux.
Thanks to Carol Botteron for proofreading and other assistance, and to Mieko and Nobuyuki Hikichi for their invaluable help raising both funds and consciousness in Japan.
Thanks to Cygnus Support for continuing to improve various programs and assisting the GNU Project in other ways.
Thanks go out to all those who have either lent or donated machines, including Hewlett-Packard for two 80486 computers, and six 68030 and four Spectrum workstations; Brewster Kahle of Thinking Machines Corp. for the Sun-4/110; Doug Blewett of AT&T Bell Labs for two Convergent Miniframes; CMU's Mach Project for the Sun-3/60; Intel Corp. for their 386 machine; NeXT for their workstation; the MIT Media Laboratory for the Hewlett-Packard 68020; SONY Corp. and Software Research Associates, Inc., both of Tokyo, for three SONY News workstations; IBM Corp. for an RS/6000 computer; the MIT Laboratory of Computer Science for the DEC MicroVAX; the Open Software Foundation for the Compaq 386; Delta Microsystems for an Exabyte tape drive; an anonymous donor for 5 IBM RT computers; 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 those who have contributed ports and extensions, as well as those who have contributed other source code, documentation, and good bug reports. Thanks to those who sent money and offered help. Thanks also to those who support us by ordering manuals and distribution tapes.
The creation of this bulletin is our way of thanking all who have expressed interest in what we are doing.
this title is for the info-gnu edition. leave it here -len
opus should just ignore it. ;-)
------- | | Free Software Foundation, Inc. | stamp | 675 Massachusetts Avenue | | Cambridge, MA 02139 | here | USA | | -------
This document was generated on 7 May 1998 using the texi2html translator version 1.52.
Please send FSF & GNU inquiries & questions to firstname.lastname@example.org. There are also other ways to contact the FSF.
Please send comments on these web pages to email@example.com, send other questions to firstname.lastname@example.org.
Copyright (C) 1992 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.