| www.delorie.com/gnu/bulletins/bull23.html | search |
GNU's Who
Administrivia and Copyright
Other GPL'ed Software
What Is the FSF?
What Is Copyleft?
What Is Linux?
What Is a GNU/Linux system?
What Is the Hurd?
Become a Patron of the FSF
Free Software Redistributors Donate
Help from Free Software Companies
New European Distributor
Emacspeak
GNUs Flashes
Display Ghostscript Project
Replacing Qt
Help the Translation Project
GNU & Other Free Software in Japan
Forthcoming GNUs
Free Software Support
GNU Software
Configuring GNU Software
GNU Software Currently Available
Program/Package Cross Reference
The Deluxe Distribution
CD-ROMs
Pricing of the GNU CD-ROMs
What do the Different Prices Mean?
Why Is There an Individual Price?
Is There a Maximum Price?
January 1997 Compiler Tools Binaries CD-ROM
Source Code CD-ROMs
July 1997 Source Code CD-ROMs
January 1997 Source Code CD-ROMs
CD-ROM Subscription Service
GNU Documentation
How to Get GNU Software
FSF T-shirt
Free Software for Non-Unix-Like Systems
Project GNU Wish List
Thank GNUs
Donations Translate Into Free Software
Cygnus Matches Donations!
Free Software Foundation Order Form
Address Page
------------------------------------------------------------------------------
Thomas Bushnell, n/BSG (whose name used to be Michael) and Miles Bader work on the Hurd. Karl Heuer enhances Emacs and is working on an accounting package, and with Ian Murdock is in charge of making Deluxe Distributions. Jim Blandy is working on GUILE, GNU's Ubiquitous Intelligent Language for Extension, and Teak, a desktop interface.
Melissa Weisshaus is working on special documentation projects.
Prof. Masayuki Ida is our Vice President for Japan. He is organizing Japanese seminars, working with GNU's friends in Japan, etc. Brian Youmans is our Distribution Manager and handles online inquiries. Paul Wendt has joined the FSF to handle the phones and much of the administrative work in the office. Carol Botteron, Robert J. Chassell, Tami Friedman, Peter H. Salus, and Len Tower Jr. have left the FSF. Tami continues to volunteer for GNU as our Administrivia Coordinator. We thank them for their hard work.
Volunteers Steve Morningthunder and Alex Bernadin help to coordinate all of the many volunteers in the GNU Project. Volunteer Paul van Gool coordinates our volunteer system administrators. Richard Stallman continues as a volunteer who does countless tasks, such as Emacs maintenance. Volunteer Phil Nelson works on our Web site.
Written & Edited by
Karl Heuer.
Illustrations by Etienne Suvasa.
Japanese Edition by Mieko Hikichi and Nobuyuki Hikichi
ISSN (International Standard Serial Number): 1075-7813
The GNU's Bulletin is published at (approximately) the end of January and the end of July 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 top menu. Enclosing $1.00 in U.S. Postage and/or a donation of a few dollars is appreciated but not required. If you're outside the USA, sending a mailing label 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) 1997 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.
We maintain a list of copylefted software that we do not presently
distribute. FTP the file
`/pub/gnu/GPLedSoftware' from a GNU FTP host
(see section How to Get GNU Software).
Please let us know of additional programs we should mention.
We don't list Emacs Lisp Libraries;
host archive.cis.ohio-state.edu has a list of those you can FTP
in the file `/pub/gnu/emacs/elisp-archive/LCD-datafile.Z'.
The Free Software Foundation is dedicated to eliminating restrictions on people's right to use, copy, modify, and redistribute computer programs. We do this by promoting the development and use of free software. Specifically, we are putting together a complete, integrated software system named "GNU" ("GNU's Not Unix", pronounced "guh-noo") 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 either way you have three specific freedoms once you get it: first, the freedom to copy a program, and distribute it to your friends and co-workers; second, the freedom to change a program as you wish, by having full access to source code; third, the freedom to distribute a modified version and thus help build the community. Free software means you can study the source and learn how such programs are written; it means you can port it or improve it, and then share your work with others.
If you redistribute GNU software, you may charge a distribution fee or you may give it away, so long as you include the source code and the GNU General Public License; see section What Is Copyleft?, for details.
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 use 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 its distribution service.
The Board of the Foundation is: Richard M. Stallman, President;
Gerald J. Sussman
and Harold Abelson, Directors.
The simplest way to make a program free is to put it in the public domain, uncopyrighted. But this permits proprietary modified versions, which deny others the freedom to redistribute and modify; such versions undermine the goal of giving freedom to all users. 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 the freedoms 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 (but not most) GNU libraries. This license permits linking the libraries into proprietary executables under certain conditions. The appropriate license is included in each GNU source code distribution and in 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 form of GNU Public License appear at the end of each license.
Linux (named after its main author, Linus Torvalds) is a GPLed kernel that
implements POSIX.1 functionality with SysV & BSD extensions.
GNU/Linux systems are now available for Alpha &
386/486/Pentium/Pentium Pro
machines with one of these buses: ISA, VLB, EISA, PCI.
An m68k port is in
testing (it runs on high end Amiga & Atari computers).
MIPS, PowerPC & Sparc ports are being worked on.
FTP it from
tsx-11.mit.edu in `/pub/linux' (USA)
&
from
ftp.funet.fi in `/pub/Linux' (Europe).
Ask majordomo@vger.rutgers.edu about mailing lists. See USENET
newsgroups, e.g. comp.os.linux.misc, for news.
by Richard M. Stallman
A GNU/Linux system is a system which is a combination of Linux and GNU.
Linux is a kernel, compatible with the Unix kernel, written by Linus Torvalds. There are several different distributions available via FTP and CD-ROM. None are distributed by the FSF at this time.
GNU is a Unix-like operating system. We started the GNU Project in 1984 with the aim of bringing such a system into existence. A Unix-like operating system consists of many components; we had to obtain each of the important components somehow. The job was so large that many of the people who sympathized with the goal were discouraged from attempting it, but we decided we would reach the goal no matter how long it took.
We found some components already available as free software--for example, the X Window System & TeX. Naturally we decided to use them, since the job was big enough even with short cuts. We got other components by helping to convince their developers to free them--for example, the Berkeley network utilities.
The rest of components, we had to write. These include Emacs, the GNU C & C++ compilers & libraries, Bash, Ghostscript, Groff, & many others.
All of these various components--those we wrote, those we helped make free, and those we found already available--together make up the GNU system.
Until recently, users couldn't run the GNU system, because one part (the kernel; see section What Is the Hurd?) was not yet ready. (We made the first test release in August 1996.) However, for a few years now, it has been possible to put together the Linux kernel and the almost-complete GNU system, resulting in a complete Unix-like free operating system suitable for actual use.
While commonly referred to as "Linux systems", we prefer the term "Linux-based GNU systems," or "GNU/Linux systems" for short, since these systems are mostly the same as the GNU system. This gives Linus credit for the kernel that he wrote, while indicating that these systems as a whole are variants of the GNU system.
We also occasionally use the term "GNU/Hurd system" to emphasize that we mean a version of the GNU system which uses the Hurd rather than Linux.
We think it is proper for the GNU Project to get credit for making the free Unix-like system that it set out for a decade ago. But there is a more important reason for friends of GNU to use names like "Linux-based GNU system" instead of "Linux system." This is to help spread the GNU Project's philosophical idea: that there is ethical importance in freeing users to share software and cooperate in improving it; that free software belongs to a community, and people who benefit from the community should feel a moral obligation to help build the community when they have a chance.
When users install a system which they call "Linux," they can easily miss ever seeing the GNU idea--or feel that it only indirectly touches on them and what they are doing. And if the GNU idea is not widely known or not taken seriously, it will not persuade as many people to write new free software.
A conference was held this year on the topic of developing "Linux applications". This conference was about using the GNU system, but the conference announcement did not mention the word GNU. Instead of encouraging users to write more free software, it did just the opposite. It included a panel entitled, "Licenses and licensing--I don't want to give away my application!!!" (The three `!' marks appeared in the announcement).
Of course, these conference organizers are entitled to state their views. But it would be harder for these views to gather support if the conference attendees recognized the operating system under discussion as a variant of the GNU system, and thought about these views in contrast with the GNU philosophy.
So please help make people aware of this relationship--please use "Linux-based GNU system" or "GNU/Linux" when you talk about a system which is a combination of Linux and GNU.
The Hurd is a collection of server processes that run on top of Mach, a free message-passing microkernel developed at CMU. The Hurd and Mach together form the kernel of the GNU/Hurd operating system. The GNU C Library implements the Unix "system call" interface by sending messages to Hurd servers as appropriate.
The Hurd allows users to create and share useful projects without knowing much about the internal workings of the system--projects that might never have been attempted without freely available source, a well-designed interface, and a multiple server design. The Hurd is thus like other expandable GNU software, e.g. Emacs and GUILE.
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, including the Amiga, PA-RISC HP 700, & DEC Alpha-3000. Contact us if you want to help with one of these or start your own. Porting the GNU Hurd & GNU C Library is easy (easier than porting GNU Emacs, certainly easier than porting the compiler) once a Mach port to a particular platform exists.
We have made several test releases of the Hurd. See section GNUs Flashes, for recent progress.
We need help with significant Hurd-related projects.
Experienced system programmers who are interested should send mail
to gnu@prep.ai.mit.edu. Porting the Mach kernel or the GNU C
Library to new systems is another way to help.
You can obtain test releases of the Hurd from a GNU FTP host (see section How to Get GNU Software) along with complete binaries for an i386 GNU system. We will not be distributing these on CD-ROM until they are more stable.
The Free Software Foundation wants to acknowledge its supporters and contributors in a more visible fashion. You can now become an "official" supporter of the FSF. See section Thank GNUs, for the names of people and organizations who have done so.
The Free Software Foundation is a 501(c)(3) organization; all contributions are tax deductible in the US.
The French redistributor PACT has agreed to donate $1.00 for each GNU/Linux CD that they sell.
Red Hat Software has agreed to donate $1.00 to the FSF for every copy of Red Hat Archives sold. They have also added a GNU logo to the back of that CD with the words "Supports the Free Software Foundation".
The SNOW 2.1 CD producers added the words "Includes $5 donation to the FSF" to the front of their CD. Potential buyers will know just how much of the price is for the FSF & how much is for the redistributor.
The Sun Users Group Deutschland has made it even clearer: their CD says, "Price 90 DM, + 12 DM donation to the FSF." We thank them for their contribution to our efforts.
Kyoto Micro Computer of Japan regularly gives us 10% of their GNU-related sales.
Mr. Hiroshi, Mr. Kojima, and the other authors of the Linux Primer in Japan have donated money from the sales of their book.
Infomagic has continued to make sizable donations to the FSF.
At the request of author Arnold Robbins, Specialized Systems Consultants, Inc. continues to donate 3% of their gross revenues from selling Effective AWK Programming. We would also like to acknowledge the many SSC authors who have donated their royalties and fees to the FSF.
In the long run, the success of free software depends on how much new free software people develop. Free software distribution offers an opportunity to raise funds for such development in an ethical way. These redistributors have made use of the opportunity. Many others let it go to waste.
You can help promote free software development by convincing for-a-fee redistributors to contribute--either by doing development themselves or by donating to development organizations (the FSF and others).
The way to convince distributors to contribute is to demand and expect this of them. This means choosing among distributors partly by how much they give to free software development. Then you can show distributors they must compete to be the one who gives the most.
To make this work, you must insist on numbers that you can compare, such as, "We will give ten dollars to the Foobar project for each disk sold." A vague commitment, such as "A portion of the profits is donated," doesn't give you a basis for comparison. Even a precise fraction "of the profits from this disk" is not very meaningful, since creative accounting and unrelated business decisions can greatly alter what fraction of the sales price counts as profit.
Also, press developers for firm information about what kind of development they do or support. Some kinds make much more long-term difference than others. For example, maintaining a separate version of a GNU program contributes very little; maintaining a program on behalf of the GNU Project contributes much. Easy new ports contribute little, since someone else would surely do them; difficult ports such as adding a new CPU to the GNU compiler or to Mach contribute more; major new features & programs contribute the most.
By establishing the idea that supporting further development is "the proper thing to do" when distributing free software for a fee, we can assure a steady flow of resources for making more free software.
When choosing a free software business, ask those you are considering how much they do to assist free software development, e.g., by contributing money to free software development 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.
Wingnut (SRA's special GNU support group) supports the FSF by purchasing Deluxe Distribution packages on a regular basis. In this way they transfer 10% of their income to the FSF. Listing them here is our way of thanking them.
Wingnut Project
Software Research Associates, Inc.
1-1-1 Hirakawa-cho, Chiyoda-ku
Tokyo 102, Japan
Phone: (+81-3)3234-2611
Fax: (+81-3)3942-5174
E-mail: info-wingnut@sra.co.jp
WWW: `http://www.sra.co.jp/public/sra/product/wingnut/'
The Free Software Foundation now has a European distribution agent: GNU Distribution Europe, Belgium.
Users in European Community countries can order GNU manuals, CD-ROMs and T-shirts through this distribution agent, and get a lower overall price (due to reduced shipping costs) and quicker delivery. Their address is
GNU Distribution Europe, Belgium
Sportstaat 28
9000 Gent
Belgium
Phone: +32-9-2227542
Fax: +32-9-2224976
Email: europe-order@gnu.ai.mit.edu.
Emacspeak is a speech output extension to Emacs. You listen instead of look. It allows someone who cannot see to work well with a computer.
T. V. Raman, who created Emacspeak, wrote it to use different voice personalities for different types of text: a WWW link sounds different from quoted text which in turn sounds different from regular text.
Raman wrote:
When you take a tty driver and make it speak (this is essentially what all PC screenreaders under DOS do), all you get to hear is the contents of the display; you're responsible for figuring out why it's there.
So, for instance, when a calendar application lays out the calendar to produce a well-formatted tabular display, it looks nice; but the blind user hears "1 2 3 4 5 6 7 2 3 4 5 6 ..." or some such garbage; believe me; I've used such an interface for the last five years. So now you've got to figure out that for instance 27 April is a Thursday by checking which screen column the figure "27" appears in.
Emacspeak has a completely different approach to speech enabling Emacs apps (which as you know are numerous). Emacspeak looks at the program environment and data of the applications, and speaks the information the way it should be spoken. So in the case of the calendar, you hear "Thursday, April 27, 1995".
This means you do not need to look at a display to read news or mail, browse the Web, use Calc, write code or a novel.
In addition to appropriately different voices, Emacspeak provides non-speech auditory cues so you don't lose track of what is going on.
Emacspeak is in `ftp://ftp.cs.cornell.edu/pub/raman/emacspeak' or `http://cs.cornell.edu/home/raman/emacspeak'.
The Free Software Foundation and Net Community are seeking to raise $11,000 to fund the completion of Display Ghostscript--that is, extending Ghostscript to support the Display Postscript features. So far we have raised $5600, slightly over half of the target.
If you would like to contribute, please send a donation to the Free Software Foundation and state that it is meant for Display Ghostscript.
The GNU Project is looking for volunteers to work on developing a free compatible replacement for the Qt GUI toolkit.
Qt is not free software because its distribution terms are too restrictive. Users do not have the freedom to make changes, or the freedom to release their changes for the community to use--freedoms which are a crucial part of the meaning of free software. Even developing an application program which uses unmodified Qt carries, in some cases, an unacceptable requirement--to notify the owners of Qt.
A secondary consequence of the restrictions on Qt is that linking Qt together with code covered by the GNU GPL violates the GNU GPL, because the combined program is not free software. (It makes no difference whether the linking is done statically or dynamically; either way is creating a combined program which the GPL applies to.)
But Qt is available to run at no charge, and some developers of free applications are starting to make their programs use it.
This a serious problem for developing completely free operating systems. Qt cannot be included in a free operating system, because any system which contains Qt is, by consequence, no longer entirely free software.
If a free application needs Qt in order to run, free operating systems cannot use that application either. We would be legally permitted to use the application itself, and the system could still be free--but including the application without Qt won't be any use.
The only feasible way to make these applications run on free systems is to develop a free substitute for Qt. Hence this project.
To make the goal precise, the new GUI toolkit needs to be mostly compatible with Qt in regard to API. How compatible must it be? Compatible enough that it is easy to make the free applications use it. In other words, this library should be compatible enough to do the job of making the applications run.
This new toolkit does not need to have each and every feature that Qt has. It just needs to have the features that the free applications use and cannot easily do without.
The screen appearance and behavior of the replacement package do not necessarily have to be compatible with Qt. If they are convenient and work well with the applications that use the library, that is good enough.
Please send email to gnu@prep.ai.mit.edu
if you would like to help with this project.
This project will take some time. In the mean time, if you are developing a free application, please do not use Qt. Please use a free GUI toolkit instead.
aegis,
cook,
guavac,
lesstif,
prcs,
rsync,
swarm,
&
vera.
On the CD-ROMs are full distributions of X11R6.3, Emacs,
GCC, and current versions of all other GNU Software.
See section GNU Software, for more about these packages.
.pfb (outlines), .afm (metrics),
and .pfm (Windows printer metrics) files.
The fonts are compatible with Adobe Type Manager
and with general Type 1 manipulation tools,
as well as with Ghostscript
and other Postscript language interpreters.
The fonts are available in `ghostscript-fonts-4.0.tar.gz' on the usual FTP sites.
gawk,
fileutils, textutils, shellutils, diffutils, & findutils.
Packages for desktop publishing such as Groff and TeX are also included.
Taken together, these programs present a coherent set of tools
that will make a typical MS-DOS/MS-Windows system much more powerful
for any computer-oriented task.
All of the programs include
complete on-line documentation
as well as
typeset and ready-to-print manuals.
A book that accompanies the CD-ROM
explains how to set up the host system
for using the software and reading the documentation.
Also being developed are SCSH-compatible system call & Tk interfaces, a module system, dynamic linking support, & a byte-code interpreter. Support for Emacs Lisp & a more C-like language is coming.
GNU is going international! The Translation Project gets users, translators, & maintainers together, so free software will gradually get to speak many native languages. As of April 1997, we have internationalized 27 packages into 16 languages, using 159 translation files; the translation teams have 422 subscribed members.
To complete this Translation Project, we need many people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language as part of "translation teams".
If you want to start a new team, or want more information on existing teams
or other aspects of this project, write
gnu-translation@iro.umontreal.ca. Also see section GNU Software,
for information about gettext, the tool the Translation
Project uses to help translators and programmers.
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 the translation of Version 2 of the GNU
General Public License. This translation of the GPL is authorized by the
FSF and is available by anonymous FTP from ftp.sra.co.jp in
`/pub/gnu/local-fix/GPL2-j'. They are working on a formal
translation of the GNU Library General Public License. They also solicit
donations and offer GNU software consulting.
nepoch (the Japanese version of Epoch) & MULE are available and widely
used in Japan. MULE (the MULtilingual Enhancement of GNU Emacs) can handle
many character sets at once. Its features have been merged into the
principal version of Emacs. See section GNU Software, for more details on MULE.
The FSF does not distribute nepoch, but MULE is available on the
section July 1997 Source Code CD-ROMs.
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 (ISBN 4-938704-02-1) of the GNU Emacs Lisp Reference Manual and puts the Texinfo source on various bulletin boards, and prints each issue of the Japanese GNU's Bulletin. They also publish Nobuyuki & Mieko's Think GNU (ISBN 4-938704-10-2); this may be the first non-FSF copylefted publication in Japan. They also redistribute GNU CD-ROMs at this bookstore:
Shosen Grande 1-3-2 Kanda Jinbo-cho, Chiyoda-ku Tokyo 101, Japan Telephone: 03-3295-0011
Portions of Village Center's profits are donated to the FSF. Their address is:
Village Center, Inc. 3-2 Kanda Jinbo-cho, Chiyoda-ku Tokyo 101, Japan Telephone: 03-3221-3520 URL: `http://www.villagecenter.co.jp/' URL: `http://www.villagecenter.co.jp/gnu.html' for GNU products info handling by Village Center
Addison-Wesley Publishers Japan Ltd. has printed Japanese translations of the GNU Make Manual (ISBN 4-7952-9627-X), the Gawk Manual (ISBN 4-7952-9672-8), & the Texinfo Manual (ISBN 4-7952-9684-7), & will print the Japanese GNU Emacs Manual 19.34 & Bison Manual this July. Their address is:
Addison-Wesley Publishers Japan Ltd. Nichibou Bldg. 2F 1-2-2 Sarugaku-cho, Chiyoda-ku Tokyo 101, Japan Telephone: 03-3291-4581
The Japanese mailing list to discuss GPL'ed software and hardware
is no longer active.
Ask ishiz@muraoka.info.waseda.ac.jp
if you have any questions about it.
Many groups in Japan now distribute GNU software. They include JUG, a PC user group; ASCII, a periodical and book publisher; and the Fujitsu FM Towns users group.
It is easy to place an order directly with the FSF from Japan, thus funding
new software. To get an FSF Order Form written in Japanese, ask
japan-fsf-orders@prep.ai.mit.edu.
We encourage you to buy our software CDs:
for example, 150 CD-ROM orders at the
corporate rate allow the FSF to hire a programmer for a year to write more
free software.
The Research Institute for Advanced Information Technology (AITEC) releases ICOT Free Software (IFS) and other IFS related software to the public. IFS, which pertains to the fields of parallel processing & knowledge processing, was developed at ICOT in the Fifth Generation Computer Project & its Follow-on Project.
Besides IFS, AITEC recently released as free software many software systems developed by numerous research groups through AITEC's research funding program. Through their Web pages, AITEC releases 20 major IFS programs, 80 other IFS programs, and 22 programs developed through AITEC's FY 1996 research funding program. AITEC will soon release new software systems developed in FY 1997.
As of the end of May 1997, over 5,300 people have accessed AITEC's Web pages, and almost 35,000 IFS files have been transferred since their first release in 1992.
For more information, please see URL `http://www.icot.or.jp/'.
The ImageSearcher is an object-oriented program to search images by
specifying properties of the image itself, without relying on the
name or attributes of the file. It searches focusing on typical color,
average luminance, nine colors, image extent, center spectra, etc.
It runs on VisualWorks 2.5.1 (Smalltalk). As a
result of the "eMMa Project" research sponsored by IPA and SRA
(written by Atsushi Aoki), the source code and documentation are
distributed under the GPL as free software, and are
available via FTP from host
ftp.sra.co.jp
in the file
`/pub/lang/smalltalk/ipa/VisualWorks2.5/IPA006.tar.gz'.
Information about the current status of released GNU programs can be found in section GNU Software. Here is some news of future plans.
e-scape
e-scape is a graphical Web browser currently in development.
We plan to support CSS1, PNG, tables, and frames.
XML support and client-side scripting will likely be added eventually.
gnusql
gnusql (formerly gss) is the GNU SQL Server,
a multiuser relational DBMS.
An alpha release is currently available.
mccallum@gnu.ai.mit.edu.
Also see `http://www.gnustep.org/'.
recode (For current status, see section GNU Software)
The next recode release should give more flexible control over
encodings of charsets, offer MIME conversions, & handle ISO-10646
(Unicode). It will install a library & support files to help work towards
internationalizing GNU.
For the second release, volunteers have offered to enhance Teak to browse FTP sites, tar files, etc. We have designed Teak around GUILE, which will simplify Teak, keep its user interface flexible, & allow easy interaction with other GNU programs. Teak's developer, Jim Blandy, also works on GUILE. Jim has put aside Teak to concentrate on GUILE; after enough progress has been made on GUILE, he will be resuming his work on Teak. Why do we call it Teak? "Because Teak makes a mighty fine desktop."
gnu@prep.ai.mit.edu.
f2c & GCC, see section GNU Software)
The GNU Fortran (g77) front end is stable, but more work is needed
to bring its overall packaging, feature set, and performance up to the
levels the Fortran community expects. Tasks to be done include: improving
documentation and diagnostics; speeding up compilation, especially for
large, densely initialized data tables; completing existing support for
INTEGER*2, INTEGER*8, and similar features; allowing
intrinsics in PARAMETER statements; and providing debug information
on COMMON and EQUIVALENCE variables. We don't know when
these things will be done, but hope some will be finished in the coming
months. You can speed progress by working on them or by offering funding.
A mailing list exists for announcements about g77. To subscribe,
ask info-gnu-fortran-request@prep.ai.mit.edu. To contact the
developer of g77 or get current status, write or finger
fortran@gnu.ai.mit.edu.
Russell Nelson is coordinating the project. Volunteers have entered close
to fifty pages so far, but the project needs more help; to volunteer, send
mail to dictionary@gnu.ai.mit.edu or contact the FSF.
This project provides a way for people without programming skills or money to contribute to the GNU Project.
The Free Software Foundation does not provide technical support. Our mission is developing software, because that is the most time-efficient way to increase what free software can do. We leave it to others to earn a living providing support. We see programmers as providing a service, much as doctors and lawyers do now; both medical and legal knowledge are freely redistributable, but their practitioners charge for service.
The GNU Service Directory is a list of people who offer support & other consulting services. It is `/pub/gnu/GNUinfo/SERVICE' on a GNU FTP host (see section How to Get GNU Software), on the World Wide Web at URL `http://www.gnu.ai.mit.edu/prep/service.html', in the file `etc/SERVICE' in the Emacs distribution, & the file `SERVICE' in the GCC distribution. Contact us to get it or to be listed in it. Service providers who share their income with the FSF are listed in section Help from Free Software Companies.
If you find a deficiency in any GNU software, we want to know. We have
many Internet mailing lists for bug reports, announcements, & questions.
They are also gatewayed into USENET news as our gnu.* newsgroups.
Both are listed in file
`/pub/gnu/GNUinfo/MAILINGLISTS' on a GNU FTP host
(see section How to Get GNU Software),
in the file `etc/MAILINGLISTS' in the Emacs distribution,
at URL `http://www.gnu.ai.mit.edu/prep/mailinglists.html'
or request it from either address on
the top menu.
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; they are part of preparing a new improved version that helps all users. We may send you a patch for a bug so that you can help 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 on our bug report mailing lists. Otherwise, use the Service Directory.
Please do not ask us to help you install software or learn how to use it--but do tell us how an installation script fails or where documentation is unclear.
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 or by writing free software improvements themselves for general use. By basing your decision partially on this factor, you can encourage those who profit from free software to contribute to its growth.
All our software is available via FTP; see section How to Get GNU Software. We also offer section CD-ROMs, and printed section GNU Documentation, which includes manuals and reference cards. In the articles describing the contents of each medium, the version number listed after each program name was current when we published this Bulletin. When you order a newer CD-ROM, some of the programs may be newer and therefore the version number higher. See section Free Software Foundation Order Form, for ordering information.
Some of the contents of our FTP distributions are compressed. We
have software on our FTP sites to uncompress these files. Due to
patent troubles with compress, we use another compression program,
gzip.
You may need to build GNU make before you build our other software.
Some vendors
supply no make utility at all and some native make programs
lack the VPATH feature essential for using the GNU configure system
to its full extent. The GNU make sources have a shell script to
build make itself on such systems.
We welcome all bug reports and enhancements sent to the appropriate electronic mailing list (see section Free Software Support).
We are using Autoconf, a uniform scheme for configuring GNU software packages in order to compile them (see "Autoconf" and "Automake" below, in this article). The goal is to have all GNU software support the same alternatives for naming machine and system types.
Ultimately, it will be possible to configure and build the entire system all at once, eliminating the need to configure each individual package separately.
You can also specify both the host and target system to build cross-compilation tools. Most GNU programs now use Autoconf-generated configure scripts.
For future programs and features, see section Forthcoming GNUs.
Key to cross reference:
BinCD January 1997 Binaries CD-ROM SrcCD July 1997 Source CD-ROMs
[FSFman] shows that we sell a manual for that package. [FSFrc] shows we sell a reference card for that package. To order them, section Free Software Foundation Order Form. See section GNU Documentation, for more information on the manuals. Source code for each manual or reference card is included with each package.
abuse Also see section GNUs Flashes (SrcCD)
The recently-freed program abuse
is a dark, side-scrolling game
with Robotron-esque controls:
you control your movement with the keyboard
and fire & aim with the mouse.
You can get more info at `http://crack.com/games/abuse'.
ac (summariize login accounting),
accton (turn accounting on or off),
last (show who has logged in recently),
lastcomm (show which commands have been used),
sa (summarize process accounting),
dump-utmp (print a utmp file in human-readable format),
&
dump-acct (print an acct or pacct file in human-readable format).
acm (SrcCD)
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.
We are working on a more accurate simulation of real airplane flight
characteristics.
m4 macro calls. Autoconf
requires GNU m4 to operate, but the resulting configure scripts it
generates do not.
sh and offers many extensions found in csh and
ksh. BASH has job control, csh-style command history,
command-line editing (with Emacs and vi modes built-in), and the
ability to rebind keys via the readline library. BASH conforms to the
POSIX 1003.2-1992 standard.
bc is an interactive algebraic language with arbitrary precision
numbers. GNU bc follows the POSIX 1003.2-1992
standard with several extensions, including multi-character variable names,
an else statement, and full Boolean expressions.
The RPN calculator dc is now distributed as part of the same
package, but GNU bc is not implemented as a dc preprocessor.
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 details of a particular format. One result
is that all programs using BFD will support formats such as a.out, COFF,
and ELF. BFD comes with Texinfo source for a manual (not yet
published on paper).
At present, BFD is not distributed separately; it is included with packages that use it.
addr2line,
ar,
c++filt,
gas,
gprof,
ld,
nm,
objcopy,
objdump,
ranlib,
size,
strings,
&
strip.
Binutils version 2 uses the BFD library. The GNU assembler, gas,
supports the a29k, Alpha, ARM, D10V, H8/300, H8/500,
HP-PA, i386, i960, M32R, m68k, m88k, MIPS, Matsushita 10200 and 10300,
NS32K, PowerPC, RS/6000, SH, SPARC, Tahoe, Vax, and Z8000 CPUs, and
attempts to be compatible
with many other assemblers for Unix and embedded systems. It can produce
mixed C and assembly listings, and includes a macro facility similar to
that in some other assemblers.
GNU's linker, ld, supports shared libraries on many systems,
emits source-line
numbered error messages for multiply-defined symbols and undefined
references, and interprets a superset of AT&T's Linker Command Language,
which gives control over where segments are placed in memory.
objdump can disassemble code for most of the CPUs listed above, and
can display other data (e.g., symbols and relocations) from any file format
read by BFD.
yacc. Texinfo source for the Bison Manual
and reference card are included.
glibc) (BinCD, SrcCD) [FSFman]
The GNU C library supports ISO C-1989, ISO C/amendment 1-1995, POSIX
1003.1-1990, POSIX 1003.1b-1993, POSIX 1003.1c-1995 (when the underlying
system permits), & most of the functions in POSIX 1003.2-1992.
It is nearly compliant with the extended XPG4.2 specification which
guarantees upward compatibility with 4.4BSD & many System V functions.
When used with the GNU Hurd, the C Library performs many functions of the
Unix system calls directly. Mike Haertel has written a fast malloc
which wastes less memory than the old GNU version.
GNU stdio lets you define new kinds of streams, just by writing a
few C functions. Two methods for handling translated messages help
writing internationalized programs & the user can adopt the
environment the program runs in to conform with local
conventions. Extended getopt functions are already used to
parse options, including long options, in many GNU utilities. The
name lookup functions now are modularized which makes it easier to
select the service which is needed for the specific database & the
document interface makes it easy to add new services. Texinfo source
for the GNU C Library Reference Manual is included
(see section GNU Documentation).
Previous versions of the GNU C library ran on a large number of
systems. The architecture-dependent parts of the C library have not been
updated since development on version 2.0 started, so today it
runs out of the box only on GNU/Hurd (all platforms GNU/Hurd
also runs on) & GNU/Linux (ix86, Alpha, m68k, MIPS, Sparc, PowerPC;
work is in progress for ARM).
Other architectures will become available again
as soon as somebody does the port.
libg++) (BinCD, SrcCD)
The GNU C++ library (traditionally called libg++) includes
libstdc++, which implements the library facilities defined by the
forthcoming ISO C++ standard. This includes strings, iostream,
and various container classes. All of this is templatized.
The package also contains the older libg++ library for backward compatibility, but new programs should avoid using it.
gnuplot, &
comes with source for a manual & reference card
(see section GNU Documentation).
cfengine (SrcCD)
cfengine is used to maintain site-wide configuration of a
heterogeneous Unix network using a simple high level language. Its
appearance is similar to rdist, but allows many more operations
to be performed automatically.
See Mark Burgess, "A Site Configuration Engine", Computing
Systems, Vol. 8, No. 3 (ask office@usenix.org how to
get a copy).
The program offers a plain terminal interface, one using curses,
and a reasonable X Windows interface xboard. Best results
are obtained by compiling with GNU C.
Improvements this past year are in the Windows-compatible version, mostly bugfixes.
Stuart Cracraft started the GNU mascot back in the mid-1980's. John Stanback (and innumerable contributors) are responsible for GNU's brain development and its fair play. Acknowledgements for the past year's work are due Conor McCarthy.
Send bugs to bug-gnu-chess@prep.ai.mit.edu &
general comments to info-gnu-chess@prep.ai.mit.edu.
Visit the author's Web site at
`http://www.earthlink.net/~cracraft/index.html'.
Play GNU Chess on the Web at
`http://www.delorie.com/game-room/chess'.
gcl) (SrcCD)
GNU Common Lisp (GCL, formerly known as Kyoto Common Lisp) is a compiler
& interpreter for Common Lisp.
GCL is very portable & extremely
efficient on a wide class of applications, & compares favorably in
performance with commercial Lisps on several large theorem--prover &
symbolic algebra systems. GCL supports the CLtL1 specification but is
moving towards the proposed ANSI standard.
GCL compiles to C & then uses the native optimizing C compiler (e.g., GCC). A function with a fixed number of args & one value turns into a C function of the same number of args, returning one value--so GCL is maximally efficient on such calls. Its conservative garbage collector gives great freedom to the C compiler to put Lisp values in registers. It has a source level Lisp debugger for interpreted code & displays source code in an Emacs window. Its profiler (based on the C profiling tools) counts function calls & the time spent in each function.
There is now a built-in interface to the Tk widget system. It runs in a separate process, so users may monitor progress on Lisp computations or interact with running computations via a windowing interface.
There is also an Xlib interface via C (xgcl-2). CLX runs with GCL, as does PCL (see "PCL" later in this article).
GCL version 2.2.2 is released under the GNU Library General Public License.
cook program provides a mechanism to define these.
Some features which distinguish Cook include
a strong procedural description language,
and fingerprints to supplement file modification time stamps.
There is also a make2cook utility included to ease transition.
cpio (SrcCD)
cpio is an 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.
make and GNATS,
respectively.
cxref (SrcCD)
cxref is a program that will
produce documentation (in LaTeX or HTML)
including cross-references
from C program source code.
It has been designed to work with ANSI C, incorporating K&R,
and most popular GNU extensions.
The documentation for the subject program
is produced from comments in the code
that are appropriately formatted.
The cross referencing comes from the code itself
and requires no extra work.
DejaGnu comes with expect, which runs scripts to conduct dialogs
with programs.
diff compares files showing line-by-line changes in several
flexible formats. It is much faster than traditional Unix versions. The
Diffutils package has diff, diff3, sdiff, &
cmp.
Future plans include support
for internationalization (e.g., error messages in Chinese) & some
non-Unix PC environments, & a library interface that can be used by
other free software.
flex, & Binutils. Full source code is provided.
It needs at least 5MB of hard disk space to install & 512K
of RAM to use.
It supports SVGA (up to 1024x768),
XMS & VDISK memory allocation,
himem.sys,
VCPI (e.g., QEMM, DESQview, & 386MAX), &
DPMI (e.g., Windows 3.x, OS/2, QEMM, & QDPMI).
Version 2 was released in Feb. 1996, & needs a DPMI
environment; a free DPMI server is included.
WWW at `http://www.delorie.com/djgpp/' or
FTP from ftp.simtel.net in
`/pub/simtelnet/gnu/djgpp/' (or a SimTel mirror site).
Ask listserv@delorie.com,
to join a DJGPP users mailing list.
dld (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. dld supports a.out object types on
the following platforms: Convex C-Series (BSD), i386/i486/Pentium (GNU/Linux),
Sequent Symmetry i386 (Dynix 3), Sun-3 (SunOS 3 & 4), Sun-4 (SunOS 4), &
VAX (Ultrix).
doschk (SrcCD)
This program is 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 systems with 8+3 character filenames.
ed (SrcCD)
ed is the standard text editor.
It is line-oriented and can be used interactively or in scripts.
archive.cis.ohio-state.edu in
`/pub/gnu/emacs/elisp-archive'.
enscript (SrcCD)
enscript is an upwardly-compatible replacement for the Adobe
enscript program. It formats ASCII files (outputting in Postscript)
and stores generated output to a file or sends it directly to the printer.
es (SrcCD)
es is an extensible shell (based on rc) with first-class
functions, lexical scope, exceptions, and rich return values (i.e.,
functions can return values other than just numbers). es's
extensibility comes from the ability to modify and extend the shell's
built-in services, such as path searching and redirection. Like rc,
it is great for both interactive use and scripting, particularly since
its quoting rules are much less baroque than the C and Bourne shells.
f2c Also see "Fortran" below & in section Forthcoming GNUs. (SrcCD)
f2c converts Fortran-77 source into C or C++, which can be
compiled with GCC or G++. Get bug fixes by FTP from site
netlib.bell-labs.com or by email from
netlib@netlib.bell-labs.com.
For a summary, see the file `/netlib/f2c/readme.gz'.
ffcall (SrcCD)
ffcall is a C library for implementing foreign function calls in
embedded interpreters by Bill Triggs and Bruno Haible. It allows C
functions with arbitrary argument lists and return types to be called
or emulated (callbacks).
chgrp,
chmod,
chown,
cp,
dd,
df,
dir,
dircolors,
du,
install,
ln,
ls,
mkdir,
mkfifo,
mknod,
mv,
rm,
rmdir,
sync,
touch,
&
vdir.
find is frequently used both interactively and in shell scripts to
find files which match certain criteria and perform arbitrary operations on
them. Also included are locate, which scans a database for file
names that match a pattern, and xargs, which applies a command to a
list of files.
flex (BinCD, SrcCD) [FSFman, FSFrc]
flex is a replacement for the lex scanner generator.
flex was written by Vern Paxson of the Lawrence Berkeley Laboratory
and generates far more efficient scanners than lex does.
Sources for the Flex Manual and reference card are included
(see section GNU Documentation).
bpltobzr,
bzrto,
charspace,
fontconvert,
gsrenderfont,
imageto,
imgrotate,
limn,
&
xbfe.
g77) Also see section Forthcoming GNUs (BinCD, SrcCD)
GNU Fortran (g77), developed by Craig Burley, is available for
public beta testing on the Internet. For now, g77 produces code
that is mostly object-compatible with f2c & uses the same
run-time library (libf2c).
gawk (SrcCD) [FSFman]
gawk is upwardly compatible with the latest POSIX specification of
awk. It also provides several useful extensions not found in other
awk implementations. Texinfo source for the The GNU Awk
User's Guide comes with the software (see section GNU Documentation).
gcal (SrcCD)
gcal is a program for printing calendars. It displays different
styled calendar sheets, eternal holiday lists, and fixed date warning
lists.
object, but see "GNUstep" in
section Forthcoming GNUs.)
G++ seeks to be compliant with the ANSI C++ language standard.
GCC is a fairly portable optimizing compiler which performs many
optimizations.
They include:
automatic register
allocation, common sub-expression elimination (CSE) (including a certain
amount of CSE between basic blocks -- though not all the supported machine
descriptions provide for scheduling or delay slots), invariant code motion
from loops, induction variable optimizations, constant propagation, copy
propagation, delayed popping of function call arguments, tail recursion
elimination, integration of inline functions & frame pointer elimination,
instruction scheduling, loop unrolling, filling of delay slots, leaf function
optimization, optimized multiplication by constants, the ability to assign
attributes to instructions, & many local optimizations automatically deduced
from the machine description.
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, & GNU C extensions (including: nested functions support, nonlocal gotos,
& 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 many CPUs, including the a29k, Alpha, ARM, AT&T, DSP1610, Clipper, Convex cN, Elxsi, Fujitsu Gmicro, i370, i860, i960, MIL-STD-1750a, MIPS, ns32k, PDP-11, Pyramid, ROMP, RS/6000, SH, SPUR, Tahoe, VAX, & we32k.
Position-independent code is generated for the Clipper, Hitachi H8/300, HP--PA (1.0 & 1.1), i386/i486/Pentium, m68k, m88k, SPARC, & SPARClite.
Operating systems supported include: GNU/Hurd, GNU/Linux, ACIS, AIX, AOS, BSD, Clix, Concentrix, Ctix, DG/UX, Dynix, FreeBSD, Genix, HP-UX, Irix, ISC, Luna, LynxOS, Minix, NetBSD, NewsOS, NeXTStep, OS/2, OSF, OSF-Rose, RISCOS, SCO, Solaris 2, SunOS 4, System/370, SysV, Ultrix, Unos, VMS, & Windows/NT.
Using the configuration scheme for GCC, building a cross-compiler is as easy as building a native compiler.
Texinfo source for the Using and Porting GNU CC manual is included with GCC (see section GNU Documentation).
GDB can debug both C & C++, & will work with executables
made by many different compilers; but, C++ debugging will have
some limitations if you do not use GCC.
GDB has a command line user interface, and Emacs has GDB mode as an
interface. Two X interfaces (not distributed or maintained by the FSF)
are: gdbtk (FTP it from ftp.cygnus.com in directory
`/pub/gdb'); and xxgdb (FTP it from ftp.x.org in
directory `/contrib/utilities').
Executable files and symbol tables are read via the BFD library, which
allows a single copy of GDB to debug programs with multiple object file
formats (e.g., a.out, COFF, ELF). Other features include a rich command
language, remote debugging over serial lines or TCP/IP, and watchpoints
(breakpoints triggered when the value of an expression changes).
GDB uses a standard remote interface to a simulator library which
includes simulators for the
ARM,
Hitachi H8/300,
Hitachi SH,
&
PowerPC.
GDB can perform cross-debugging. To say that GDB targets a platform
means 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:
gdbm (SrcCD)
gdbm is the GNU replacement for the traditional dbm and
ndbm libraries. It implements a database using quick lookup by
hashing. gdbm does not ordinarily make sparse files (unlike its
Unix and BSD counterparts).
geomview See `http://www.geom.umn.edu/software/geomview' (SrcCD)
geomview is an interactive geometry viewing program, for Unix systems
with Motif, using X, GL, or OpenGL graphics. It allows multiple independently
controllable objects and cameras.
External programs may drive desired aspects of the viewer,
e.g. loading changing geometry or controlling motion,
while allowing interactive mouse-and-GUI control of everything else.
Controllable features include
motion, appearance (wireframe, shading, lighting and material properties),
mouse-based selection,
snapshoting (PPM or SGI image, Postscript, and RenderMan formats),
display in hyperbolic and spherical spaces,
and projection from higher dimensions.
Includes converters to display Mathematica and Maple 3-D graphics,
and limited conversion to/from VRML.
gettext Also see section Help the Translation Project (SrcCD)
The GNU gettext tool set has everything maintainers need to
internationalize a package's user messages.
Once a package has been internationalized, gettext's many tools help
translators localize messages to their native language and automate
handling the translation files.
gforth (SrcCD)
gforth is a fast, portable implementation of the ANS Forth language.
The current version of GNU Ghostscript, 3.53, includes a Postscript Level 2 interpreter and a PDF 1.1 interpreter (except for encryption). Significant new features include the ability to convert PDF to Postscript. Ghostscript executes commands in the Postscript and PDF languages by writing directly to a printer, drawing on an X window, or writing to files for printing later or manipulating with other graphics programs.
Ghostscript includes a C-callable graphics library (for client programs that do not want to deal with the Postscript language). It also runs on MS-DOS, MS Windows, OS/2, OpenVMS, and Mac OS (native on both 68K and PowerPC) (but please do not ask the FSF staff any questions about this; we do not use these operating systems).
ghostview@cs.wisc.edu, created Ghostview, a
previewer for multi-page files with an X Window interface. Ghostview &
Ghostscript work together; Ghostview creates a viewing window & Ghostscript
draws in it.
A major new release, version 2, came out in Spring '96. Compared to previous versions, it is much faster, contains lots of new functions, & has support for arbitrary precision floating-point numbers.
cs.nyu.edu
and various mirror sites in `/pub/gnat'. SGI, DEC, and
Siemens Nixdorf have chosen GNU Ada 95 as the Ada compiler for
some of their systems.
GNAT is maintained by Ada Core Technologies. For more
information, see `http://www.gnat.com'.
gnussl) (SrcCD)
GNUMATH is a library (gnussl) that simplifies scientific
programming in C & C++. Its focus is on problems that can be solved by a
straight-forward application of numerical linear algebra. It also handles
plotting. It is in beta release; it is expected to grow more
versatile & offer a wider scope in time.
gnuplot (SrcCD)
gnuplot is an interactive program for plotting mathematical
expressions and data. It plots both curves (2 dimensions) & surfaces (3
dimensions). It was neither written nor named for the GNU
Project; the name is a coincidence. Various GNU programs use
gnuplot.
gnuserv (SrcCD)
gnuserv is an enhanced version of Emacs' emacsclient
program. It lets the user direct a running Emacs to edit files or
evaluate arbitrary Emacs Lisp constructs from another process.
gpc Also see section GNUs Flashes (SrcCD)
gpc is the GNU Pascal Compiler.
grep, egrep, and fgrep, which find
lines that match entered patterns. They are much faster than the
traditional Unix versions.
troff, &
includes:
eqn,
nroff,
pic,
refer,
tbl,
troff;
the
man,
ms,
&
mm macros;
& drivers for Postscript, TeX dvi format, the LaserJet 4 series
of printers, and typewriter-like devices. Groff's mm macro package
is almost compatible with the DWB mm macros with several extensions.
Also included is a modified version of the Berkeley me macros and an
enhanced version of the X11 xditview previewer. Written in C++,
these programs can be compiled with GNU C++ Version 2.7.2 or later.
Groff users are encouraged 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; ask
office@usenix.org how to get a copy), and an ASCII
output class for pic to integrate pic with
Texinfo. Questions and bug reports from users who have read the
documentation provided with Groff can be sent to
bug-groff@prep.ai.mit.edu.
guavac (SrcCD)
guavac is a new free compiler for the Java language.
gzip (BinCD, SrcCD)
gzip can expand LZW-compressed files but uses another, unpatented
algorithm for compression which generally produces better results. It also
expands files compressed with System V's pack program.
hello (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.
hello is also a good example of a program that meets the GNU coding
standards. Like any truly useful program, hello contains a built-in
mail reader.
hp2xx (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, 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 (SrcCD)
GNU indent formats C source code into the GNU, BSD, K&R, or
your own special indentation style.
GNU indent is more robust & provides more functionality than other
such programs, including handling C++ comments.
It runs on Unix, Windows, VMS, ATARI and other systems.
The next version which formats C++ source code will soon be released.
Version 1.3a is more portable than previous releases: Inetutils now works on GNU/Linux and SunOS/Solaris systems, although it still requires a system with some degree of BSD compatibility. This release also has many security holes plugged.
The FSF is not distributing JACAL on any physical media. You can FTP it, or visit the Web site `http://www-swiss.ai.mit.edu/~jaffer/JACAL.html'.
less (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.
m4 (SrcCD)
GNU m4 is an implementation of the traditional Unix macro processor.
It is mostly SVR4 compatible, although it has some extensions (e.g.,
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, SrcCD) [FSFman]
GNU make supports POSIX 1003.2 and has all but a few obscure
features of the BSD and System V versions of make, and runs on
MS-DOS, AmigaDOS, VMS, & Windows NT or 95, as well as all
Unix-compatible systems. GNU extensions include long options, parallel
compilation, flexible implicit pattern rules, conditional execution, &
powerful text manipulation functions. Source for the Make
Manual comes with the program (see section GNU Documentation).
mc) (SrcCD)
The Midnight Commander is a user friendly & colorful Unix file manager
& shell, useful to novice & guru alike. It has a built-in virtual file
system that manipulates files inside tar files or files
on remote machines using the FTP protocol. This mechanism is extendable
with external Unix programs.
mkisofs (SrcCD)
mkisofs is a pre-mastering program to generate an ISO 9660 file system.
It takes a snapshot of a directory tree, and makes a binary
image which corresponds to an ISO 9660 file system when written to a
block device.
It can also generate the System Use Sharing Protocol
records of the Rock Ridge Interchange Protocol
(used to further describe the files in an ISO 9660 file system to a Unix
host; it provides information such as longer filenames, uid/gid,
permissions, and device nodes).
The mkisofs program is often used with cdwrite.
The cdwrite program
works by taking the image that mkisofs generates and
driving a cdwriter drive to actually burn the disk.
cdwrite works under
GNU/Linux, and supports popular cdwriter drives.
Older versions of cdwrite
were included with older versions of mkisofs;
sunsite.unc.edu has the latest version:
`/pub/Linux/utils/disk-management/cdwrite-2.0.tar.gz'.
mtools (SrcCD)
mtools is a collection of utilities
to access MS-DOS disks from Unix without mounting them.
It supports Windows 95 style long file names,
OS/2 Xdf disks, ZIP/JAZ disks and
2m disks (store up to 1992k on a high density 3 1/2 disk).
mutt Also see `http://www.cs.hmc.edu/~me/mutt' (SrcCD)
Mutt is a small but very powerful mail client:
a hybrid, or "mutt," consisting of features from
various other curses-based e-mail clients.
nethack-bugs@linc.cis.upenn.edu.
nvi (SrcCD)
nvi is an implementation of the
ex/vi Unix editor. It has all the functionality of
the original ex/vi, except open mode & the lisp
edit option. Enhancements include multiple buffers, command-line editing &
path completion, integrated Perl5 & Tcl scripting languages, Cscope
support & tag stacks, 8-bit data support, infinite file/line lengths,
infinite undo, language catalogs, incremental search, extended regular
expressions, and security fixes.
It uses Autoconf for configuration and runs on any Unix-like
system.
gstep-base.tar.gz, libgnustep-base)
has general-purpose, non-graphical Objective-C
objects written by Andrew McCallum & others. It includes
collection classes for maintaining groups of objects, I/O streams, coders
for formatting objects & C types to streams, ports for network packet
transmission, distributed objects (remote object messaging), string
classes, invocations, notifications, event loops, timers, exceptions,
pseudo-random number generators,
& more. It has
the base classes for the GNUstep project; all but a few of them have
already been written. Send queries & bugs to
mccallum@gnu.ai.mit.edu.
See "GNUstep" in section Forthcoming GNUs.
gnuplot.
Version 2.0.9 of Octave was released in July.
It includes support for dynamically linked functions,
user-defined data types,
many new functions,
& a completely revised manual.
Octave works on most Unix systems, OS/2, and Windows NT/95.
p2c (SrcCD)
p2c is Dave Gillespie's Pascal-to-C translator. It inputs many
dialects (HP, ISO, Turbo, VAX, etc.) & generates readable,
maintainable, portable C.
patch (SrcCD)
patch applies diff's output to a set of original files
to generate the modified versions.
Recent versions of GNU patch can update binary files,
and can remove files and directories when they become obsolete.
perl (SrcCD)
Larry Wall's perl combines the features & capabilities of C,
sed, awk, & sh, and provides interfaces to the Unix
system calls & many C library routines.
phttpd (SrcCD)
phttpd is a high speed World Wide Web server using
multithreading, memory mapping, and dynamic linking to achieve its
goals of high speed, scalability, and light weight.
It is currently supported only on Solaris (SunOS5).
libplot,
a subroutine library for producing
2-D device-independent vector graphics,
and graph,
a sample application for plotting 2-D scientific data
that is built on top of libplot.
Supported devices include
X Window System displays,
Postscript devices,
and Tektronix emulators.
xfig output format,
which can be edited with the free graphics editor xfig,
is also supported.
The Postscript output format includes directives
which allow it to be edited with the idraw graphics editor.
Included with graph are spline, a program that uses
splines in tension to interpolate data,
and ode,
an application that will numerically integrate
a system of ordinary differential equations.
ptx (SrcCD)
GNU ptx is our version of the traditional permuted index
generator. It handles multiple input files at once, has TeX
compatible output, & outputs readable KWIC (KeyWords In Context)
indexes without using nroff.
Plans are to merge this package into textutils.
It does not yet handle input files that do not fit in memory all at once.
rc (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.
diff, RCS can handle binary
files (8-bit data, executables, object files, etc).
RCS now conforms to GNU configuration standards & to POSIX 1003.1b-1993.
Also see the CVS item above.
readline (BinCD, SrcCD)
Brian Fox wrote the readline library one weekend in 1987,
so that the FSF would have a clean Emacs-like line editing facility
that could be used across multiple programs.
After installing it in Bash,
he went on to test the reusability of the code
by adding it to GDB,
and then later, to the GNU FTP client.
The library supplies many entry points--the simplest interface
gives any program the ability to store a history of input lines,
and gives the end user a complete
Emacs-like (or vi-like) editing capability over the input,
simply by replacing calls to gets with calls to readline.
recode Also see section Forthcoming GNUs (SrcCD)
GNU recode converts files between character sets and usages. When
exact transliterations are not possible, it may delete the offending
characters or fall back on approximations. This program recognizes or
outputs nearly 150 different character sets and is able to transliterate
files between almost any pair. Most RFC 1345 character sets are supported.
regex (SrcCD)
The GNU regular expression library supports POSIX.2, except for
internationalization features. It is included in many GNU programs which
do regular expression matching & is available separately. An alternate
regular expression package, rx, is faster than regex in many
cases; we were planning to replace regex with rx, but
it is not certain this will happen.
rsync (SrcCD)
rsync is a replacement for rcp that has many more features.
rsync uses the "rsync algorithm",
which provides a very fast method
for synchronizing large remote files,
sending only the differences across the link.
It does not require both versions of a file
to be local in order to compute the differences.
A technical report describing the rsync algorithm
is included with the package.
rx (SrcCD)
Tom Lord has written rx, a new regular expression library which is
generally faster and more correct than the older GNU regex library.
screen (SrcCD)
screen is a terminal multiplexer that runs several separate
"screens" (ttys) on a single character-based terminal. Each virtual
terminal emulates a DEC VT100 plus several ISO 2022 and ISO 6429 (ECMA 48,
ANSI X3.64) functions, including color. Arbitrary keyboard input
translation is also supported. screen sessions can be detached and
resumed later on a different terminal type. Output in detached sessions is
saved for later viewing.
sed (SrcCD)
sed is a stream-oriented version of ed. It comes with the
rx library.
shar makes so-called shell archives out of many files, preparing
them for transmission by electronic mail services; unshar helps
unpack these shell archives after reception. uuencode and
uudecode are POSIX compliant implementations of a pair of programs
which transform files into a format that can be safely transmitted across
a 7-bit ASCII link.
basename,
chroot,
date,
dirname,
echo,
env,
expr,
factor,
false,
groups,
hostname,
id,
logname,
nice,
nohup,
pathchk,
printenv,
printf,
pwd,
seq,
sleep,
stty,
su,
tee,
test,
true,
tty,
uname,
uptime,
users,
who,
whoami,
&
yes.
GNU Shogi is a variant of GNU Chess; it implements the same features & similar heuristics. As a new feature, sequences of partial board patterns can be introduced to help the program play toward specific opening patterns. It has both character and X display interfaces.
It is primarily supported by Matthias Mutz on behalf of the FSF.
sendmail. It uses a much simpler
configuration format than sendmail and is designed to be setup
with minimal effort.
spell (SrcCD)
GNU spell is a clone of standard Unix spell,
implemented as a wrapper to ispell.
stow (SrcCD)
stow manages the installation of multiple software packages,
keeping them separate while making them appear (via symbolic links)
to be installed in the same place.
For example, Emacs can be installed in `/usr/local/stow/emacs'
and Perl in `/usr/local/stow/perl',
permitting each to be administered separately,
while with stow they will both appear
to be installed in `/usr/local'.
tar (BinCD, SrcCD)
GNU tar includes multi-volume support, the ability to archive sparse
files, compression/decompression, remote archives, and
special features that allow tar to be used for incremental and full
backups. GNU tar uses an early draft of the POSIX 1003.1
ustar format which is different from the final version. This
will be corrected in the future.
tput is a portable way for shell scripts to use special terminal
capabilities. tabs is a program to set hardware terminal tab
settings.
makeinfo,
info,
install-info,
texi2dvi,
texindex,
&
texinfmt.el)
which generate printed manuals, plain ASCII text, & online hypertext
documentation
(called "Info"), & can read online Info documents;
Info files can also be read in Emacs.
Version 3 has both
Emacs Lisp & standalone programs written in C or as shell scripts. Texinfo
mode for Emacs enables easy editing & updating of Texinfo files. Source
for the Texinfo Manual is included (see section GNU Documentation).
cat,
cksum,
comm,
csplit,
cut,
expand,
fmt,
fold,
head,
join,
md5sum,
nl,
od,
paste,
pr,
sort,
split,
sum,
tac,
tail,
tr,
unexpand,
uniq,
and
wc.
libtiff, is a library for manipulating Tagged
Image File Format files, a commonly used bitmap graphics format.
Many documented Forth libraries are available, e.g. top-down parsing, multi-threads, & object-oriented programming.
time (SrcCD)
time reports (usually from a shell) the user, system, & real time
used by a process. On some systems it also reports memory usage, page
faults, etc.
ucblogo (SrcCD)
ucblogo implements the classic teaching language, Logo.
units
GNU `units' converts between different units of measurement,
such as miles/gallon to km/liter.
(It can only handle multiplicative scale changes,
so it cannot convert Celsius to Fahrenheit
though it could convert temperature differences between those temperatures scales.)
f,
g (all window & packet sizes),
v,
G,
t,
e,
Zmodem,
&
two new bidirectional (i & j) protocols.
With a BSD sockets library, it can make TCP connections. With TLI
libraries, it can make TLI connections. Source is included for a manual
(not yet published by the FSF).
wdiff (SrcCD)
wdiff is a front-end to GNU diff. It compares two files,
finding the words deleted or added to the first to make the second. It has
many output formats and works well with terminals and pagers. wdiff
is very useful when two texts differ only by a few words and paragraphs
have been refilled.
Plans are to merge this package into diffutils.
Wget (SrcCD)
Wget non-interactively retrieves files from the WWW using HTTP
& FTP. It is suitable for use in shell scripts.
windows32api (SrcCD)
windows32 is a set of header files & import libraries that
can be used by GNU tools for compiling & linking programs to be run
on Windows NT/95.
While supplies last, we will distribute X11R5 on the November 1993 Source Code CD-ROM.
xboard (SrcCD)
xboard is a graphical chessboard for X Windows. It
can serve as a user interface to the Crafty or GNU chess
programs, the Internet Chess Servers, e-mail correspondence
chess, or games saved in Portable Game Notation.
xgrabsc (SrcCD)
xgrabsc is a screen capture program similar to xwd but
with a graphical user interface, more ways of selecting the
part of the screen to capture, & different types of output: Postscript,
color Postscript, xwd, bitmap, pixmap, & puzzle.
xinfo (SrcCD)
xinfo is an X-