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
European Distributor
GNU/Linux Helps Bring Titanic to Life
GNU in Space
GNUs Flashes
Help the Translation Project
GNU & Other Free Software in Japan
Forthcoming GNUs
Free Software Support
GNU Software
Configuring GNU Software
GNU and Recommended Software Now 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?
March 1998 Compiler Tools Binaries CD-ROM
Source Code CD-ROMs
March 1998 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
Give to GNU the United Way
Free Software Foundation Order Form
------------------------------------------------------------------------------
New to GNU are Free Software Foundation officers Geoffrey Knauth, who serves as Treasurer, and Timothy Ney, who serves as Clerk and manages the FSF Distribution Office.
Our new technical writer, Michael Stutz, is about to begin writing A GNU/Linux Cookbook, which will explain to non-programmers how to use a GNU/Linux System for non-programming activities.
Those who have moved on are Jim Blandy (who still maintains GUILE), Miles Bader, Thomas Bushnell n/BSG (still working on the GNU HURD), and Melissa Weisshaus. We wish them the best of luck in their new endeavors.
Karl Heuer enhances Emacs and works on an accounting package. He also produces Deluxe Distributions with Ian Murdock, Noel Cragg, Alia Atlas, and others. Brian Youmans is our Distribution Manager and handles online inquiries. Paul Wendt handles the phones and much of the administrative work in the office. We thank them for their hard work.
Prof. Masayuki Ida is our Vice President for Japan. He organizes Japanese events and works with GNU's friends in Japan.
Volunteer Joel N. Weber II is system administrator for the GNU machines; Martin Hamilton handles the GNU mailing lists; Franklin R. Jones takes care of the GNU web site; Steve Morningthunder and Alex Bernadin help coordinate all of the many other volunteers in the GNU Project. Richard Stallman continues as a volunteer who does countless tasks including Emacs development.
Written & Edited by
Thomas Bushnell, n/BSG, Tim Ney, and Paul Wendt.
Illustrations by Etienne Suvasa and Jamal Hannah.
Japanese Edition by Mieko Hikichi and Nobuyuki Hikichi
ISSN (International Standard Serial Number): 1075-7813
The GNU's Bulletin is published at least twice a year.
Please note, there is no postal mailing list. To get a copy,
send your name and address with your request to gnu@gnu.org.
Enclosing $0.55 in U.S. postage or a donation of a few dollars is
appreciated but not required.
If you're outside the USA, enclosing 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) 1998 Free Software Foundation, Inc.
Permission is granted to anyone to make and 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 Geoffrey Knauth, 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 GPL'ed kernel that
implements POSIX.1 functionality with SysV & BSD extensions.
GNU/Linux systems are now available for Alpha &
386/486/Pentium/Pentium Pro
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
ftp.kernel.org in `/pub/linux' (USA)
&
from
ftp.funet.fi in `/pub/Linux' (Europe).
Ask majordomo@vger.rutgers.edu about mailing lists. See USENET
newsgroups such as comp.os.linux.misc for news.
by Richard M. Stallman
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is more often known as "Linux", and many users are not aware of the extent of its connection with the GNU Project.
There really is a Linux; it is a kernel, and these people are using it. But you can't use a kernel by itself; a kernel is useful only as part of a whole system. The system in which Linux is typically used is a modified variant of the GNU system--in other words, a Linux-based GNU system.
Many users are not fully aware of the distinction between the kernel, which is Linux, and the whole system, which they also call "Linux". The ambiguous use of the name doesn't promote understanding.
Programmers generally know that Linux is a kernel. But since they have generally heard the whole system called "Linux" as well, they often envisage a history which fits that name. For example, many believe that once Linus Torvalds finished writing the kernel, his friends looked around for other free software, and for no particular reason most everything necessary to make a Unix-like system was already available.
What they found was no accident--it was the GNU system. The available free software added up to a complete system because the GNU Project had been working since 1984 to make one. The GNU Project set forth the goal of developing a free Unix-like system, called GNU. By the time Linux was written, the system was almost finished.
Most free software projects have the goal of developing a particular program for a particular job. For example, Linus Torvalds set out to write a Unix-like kernel (Linux); Donald Knuth set out to write a text formatter (TeX); Bob Scheifler set out to develop a window system (X Windows). It's natural to measure the contribution of this kind of project by specific programs that came from the project.
If we tried to measure the GNU Project's contribution in this way, what would we conclude? One CD-ROM vendor found that in their "Linux distribution", GNU software was the largest single contingent, around 28% of the total source code, and this included some of the essential major components without which there could be no system. Linux itself was about 3%. So if you were going to pick a name for the system based on who wrote the programs in the system, the most appropriate single choice would be "GNU".
But we don't think that is the right way to consider the question. The GNU Project was not, is not, a project to develop specific software packages. It was not a project to develop a C compiler, although we did. It was not a project to develop a text editor, although we developed one. The GNU Project's aim was to develop a complete free Unix-like system.
Many people have made major contributions to the free software in the system, and they all deserve credit. But the reason it is a system---and not just a collection of useful programs--is because the GNU Project set out to make it one. We wrote the programs that were needed to make a complete free system. We wrote essential but unexciting major components, such as the assembler and linker, because you can't have a system without them. A complete system needs more than just programming tools, so we wrote other components as well, such as the Bourne Again SHell, the PostScript interpreter Ghostscript, and the GNU C library,
By the early 90s we had put together the whole system aside from the kernel (and we were also working on a kernel, the GNU Hurd, which runs on top of Mach). Developing this kernel has been a lot harder than we expected, and we are still working on finishing it.
Fortunately, you don't have to wait for it, because Linux is working now. When Linus Torvalds wrote Linux, he filled the last major gap. People could then put Linux together with the GNU system to make a complete free system: a Linux-based GNU system (or GNU/Linux system, for short).
Putting them together sounds simple, but it was not a trivial job. The GNU C library (called glibc for short) needed substantial changes. Integrating a complete system as a distribution that would work "out of the box" was a big job, too. It required addressing the issue of how to install and boot the system--a problem we had not tackled, because we hadn't yet reached that point. The people who developed the various system distributions made a substantial contribution.
Aside from GNU, one other project has independently produced a free Unix-like operating system. This system is known as BSD, and it was developed at UC Berkeley. The BSD developers were inspired by the example of the GNU Project, and occasionally encouraged by GNU activists, but their actual work had little overlap with GNU. BSD systems today use some GNU software, just as the GNU system and its variants use some BSD software; but taken as wholes, they are two different systems which evolved separately. A free operating system that exists today is almost certainly either a variant of the GNU system, or a kind of BSD system.
The GNU Project supports GNU/Linux systems as well as the GNU system--even with funds. We funded the rewriting of the Linux-related extensions to the GNU C library, so that now they are well integrated, and the newest GNU/Linux systems use the current library release with no changes. We also funded an early stage of the development of Debian GNU/Linux.
We use Linux-based GNU systems today for most of our work, and we hope you use them too. But please don't confuse the public by using the name "Linux" ambiguously. Linux is the kernel, one of the essential major components of the system. The system as a whole is more or less the GNU system. Please use the term "Linux-based GNU system" or "GNU/Linux" when you talk about the 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.
We need help with significant Hurd-related projects.
Experienced system programmers who are interested should send mail
to gnu@gnu.org. 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/Hurd 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 FSF receives many donations generated by the redistribution of software or the sale of paper publications. For the users' sake, it is best when redistributors and publishers who donate to the FSF make clear and precise statements of the amount of donation on their packaging and book covers.
For example, IKARIOS of France donates 5 FF from sale of each LINDIS, SuSE, or Red Hat CD set. Their packaging specifies "5 FF to the Free Software Foundation for the GNU Project". And Kyoto Micro Computer of Japan regularly donates 10% of its GNU-related revenues.
Red Hat Software donates $1.00 for every copy of the Power Tools CD set.
The Sun Users' Group -- Deutschland is exceptionally clear: their CD says, "Price 90 DM, + 12 DM donation to the FSF." We thank all of these free software redistributors for contributing to the GNU Project in a clear way.
By arrangement with author Arnold Robbins, Specialized Systems Consultants donates 3% of revenues from Effective AWK Programming and the associated AWK Reference Card. Many authors of articles in SSC's Linux Journal designate us to receive their fees.
In the long run, the success of free software depends on how much new free software people develop. Distribution of free software or its documentation offers an opportunity to raise funds for such development in an ethical way. The redistributors and authors listed above make use of the opportunity, but 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 and programs contribute the most.
By establishing the idea that supporting further development is "the proper thing to do" when distributing free software or its documentation 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 partly 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
Email: info-wingnut@sra.co.jp
Web: `http://www.sra.co.jp/public/sra/product/wingnut/'
The Free Software Foundation has a European distribution agent, "GNU Distribution Europe, Belgium," which accepts orders from Turkey and points Northwest (that's `Europe').
For many orders, especially smaller ones, the European distributor will provide faster delivery and/or lower cost. For all orders, GNU Europe accepts payment by European check or cash. Consult:
GNU Distribution Europe, Belgium Sportstraat 28 9000 Gent Belgium Phone: +32-9-2227542 Fax: +32-9-2224976 Email:europe-order@gnu.org. Web:http://www.gnu.org/order/order-europe.html.
In an article originally published in Linux Journal (issue 46), Daryll Strauss, a software engineer at Digital Domain, describes the use of GNU/Linux in generating visual effects for the film Titanic.
Using 200 DEC Alpha-based systems running the Red Hat 4.1 distribution of GNU/Linux, after upgrading the kernel to support the PC164 mainboard, Digital Domain found a performance increase of three to four over SGI systems. The combination of the GNU/Linux OS and Alpha CPUs also delivered the most cost-effective solution to time and processing demands.
Daryll Strauss writes that feature film and television visual effects development has provided a high performance, cost-sensitive, proving ground for GNU/Linux. He concludes that the low entry cost, versatility and interoperability of GNU/Linux is sufficiently attractive to warrant more extensive investigation, experimentation, and deployment.
The European Space Agency says the Free Software Foundation's GNU C Compiler is essential to the on-board microprocessors it uses in space.
ESA computer procurement depends on the availability of appropriate tools to satisfy the specific needs of spacecraft software. The use of GCC (the GNU C Compiler) and GNAT (the GNU New York University Ada Translator) is being promoted by ESA as a way of obtaining low-cost compilation systems, especially for the MIL-STD-1750 and SPARC V7 architectures.
GCC and GNAT, an Ada-95 front-end for GCC, have a number of advantages that matter to the ESA:
The ESA found these GNU programs so useful that they gave a contract to Chris Nettleton Software, a free software company in Farnborough, UK `http://www.ccfn.demon.co.uk', to make modifications on GCC and GNU Ada. Nettleton developed GCC-1750 for the MIL-STD-1750 computer used in spacecraft. The compilation systems will be accompanied by a set of high-level tools and libraries to facilitate the development of software applications for space.
gnu.org. Our Email address is now
gnu@gnu.org, and our web server is now `http://www.gnu.org'.
Unfortunately, we are no longer able to offer guest accounts.
The book also explains why, to be truly free, you must move away from proprietary operating systems from Microsoft or elsewhere, and use a free operating system such as GNU/Linux.
ftp://ftp.nop.or.jp/pub/gnu-0.2/XFree86/3.3.2/, in particular
the files `X332-Hurd.tar.gz' and `3.3.2-hurd.*.gz'.
gawk version
3.0.3;
Texinfo: The GNU Documentation Format, for Texinfo version
3.11.
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 December 1997, we have internationalized 27 packages into 17 languages, using 175 translation files; the translation teams have 474 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 to
translation@iro.umontreal.ca. 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 also solicit donations and
offer GNU software consulting.
The Hurd JP project is now developing the Hurd in Japan. This project plans to
arrange documents and packages for the GNU system, in addition to porting
software to the Hurd. For more details, write to
okuji@mbox.kyoto-inet.or.jp; English is ok.
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.
MULE (the MULtilingual Enhancement of GNU Emacs) can handle many
character sets at once. See section GNU Software for some details. It is
widely used in Japan and its features have been merged into the
principal version of Emacs beginning with release 20. MULE is also
available on the section March 1998 Source Code CD-ROMs, and by FTP from
sh.wide.ad.jp in `/JAPAN/mule' or
etlport.etl.go.jp in `/pub/mule'.
The Village Center 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. They also print each issue of the Japanese GNU's Bulletin and publish Nobuyuki & Mieko's Think GNU (ISBN 4-938704-10-2), perhaps the first non-FSF copylefted publication in Japan. Their address is:
Village Center, Inc. 3-2 Kanda Jinbo-cho, Chiyoda-ku Tokyo 101, Japan Phone: +81-3-3221-3520 Web: `http://www.villagecenter.co.jp/' Web: `http://www.villagecenter.co.jp/gnu.html' for info about GNU books handled by the 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), and the GNU Emacs Manual 19.34 (ISBN 4-7952-9684-7), & will print the Japanese Bison Manual (ISBN 4-7952-9628-6) this January. Their address is:
Addison-Wesley Publishers Japan Ltd. Gyokuroen Bldg. 1-13-19 Sekiguchi, Bunkyo-ku Tokyo 112-0014, Japan Telephone: +81-3-3291-4581
Many groups in Japan now distribute GNU software, including ASCII, a periodical and book publisher.
It is easy to place an order directly with the FSF from Japan. Order
at fsforder@gnu.org, where you can also get the FSF Order
Form written in Japanese. 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 one 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.
By the end of November 1997, more than 10,000 people had accessed AITEC's site (originally ICOT's) and more than 41,000 IFS files had 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" 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 directory
`/pub/lang/smalltalk/ipa/VisualWorks2.5/'.
Information about the current status of released GNU programs can be found in section GNU Software. Here is some news of future plans.
gnusql
gnusql (formerly gss) is the GNU SQL Server, a multiuser
relational DBMS. An alpha release is currently available. For info on
updates, paths, and most recent releases as well as links to related
documentation, software, and mailing lists, see
`http://www.ispras.ru/~gsql'.
gnustep-maintainer@gnu.org.
Also see `http://www.gnustep.org/'.
gnu@gnu.org.
f2c & GCC, see section GNU and Recommended Software Now Available)
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@gnu.org. To contact the
developer of g77 or get current status, write or finger
fortran@gnu.org.
gnu@gnu.org.
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 warranties for its software. We can't afford to. So we can't promise that GNU software has no Year 2000 bugs, any more than we could promise you the same thing about another sort of bug. But we can tell you some reasons why such bugs are probably very few.
The main reason is theoretical. GNU systems, and Unix-like systems
generally, represent date and time as a 32-bit integer, counting seconds
from the beginning of 1970. This 32-bit count will overflow in 2038; but
there will be no problem in that year, because by then all systems will
have redefined time_t to be a 64-bit integer.
We also have some practical evidence that there are few problems. Some users running a Linux-based GNU system, specifically Debian GNU/Linux (see `http://www.debian.org'), used their machines for a while with the clocks set forward to the year 2000. They reported no special problems. Of course, that is not an exhaustive test, but it suggests that there are not enough Year 2000 bugs in GNU software to cause major or lasting difficulties.
If you would like to help us eliminate any Year 2000 bugs, we suggest that for a few days you set the clock on one of your machines ahead a few years. You could also set it to Dec 31, 1999, and see if anything unusual happens as the clock advances to the next century while you are working.
If you do find a problem, please send a bug report about it--then the bug will most likely get fixed in a new release, well before the year 2000 rolls around.
Whether you encounter a problem or not, we would appreciate hearing which
programs you tested in this way, and for how long a period of actual
working time. Please inform gnu@gnu.org of the results you get.
You can check that you are using the latest release of any particular GNU program by comparing version numbers with one of our FTP mirrors (see section How to Get GNU Software).
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. See `/pub/gnu/GNUinfo/SERVICE' at a GNU FTP host (see section How to Get GNU Software), `etc/SERVICE' in the Emacs distribution, `SERVICE' in the GCC distribution, or URL `http://www.gnu.org/prep/service.html' on the Web.
Write to gnu@gnu.org to be listed (or to get a copy).
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 or GNU documentation, we want
to know. We have many Internet mailing lists for bug reports,
announcements, and questions; they are also gatewayed into USENET news as
our gnu.* newsgroups. For the Directory of GNU Mailing Lists
and Newsgroups, see `/pub/gnu/GNUinfo/MAILINGLISTS' on a GNU FTP host
(see section How to Get GNU Software),
URL `http://www.gnu.org/prep/mailinglists.html' on the Web,
or `etc/MAILINGLISTS' in the Emacs distribution;
or write to gnu@gnu.org.
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 by 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 those 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 so the the version numbers 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 March 1998 Binaries CD-ROM SrcCD March 1998 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 (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'.
acct (SrcCD)
acct is a system accounting package.
It includes the programs
ac (summarize login accounting),
accton (turn process accounting on or off),
last (show who has logged in recently),
lastcomm (show which commands have been used recently),
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.
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 GCC.
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@gnu.org &
general comments to info-gnu-chess@gnu.org.
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.
Web 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 National
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, arc, ARM, AT&T, DSP1610, Clipper, Convex cN, Elxsi, Fujitsu Gmicro, i370, i860, i960, MIL-STD-1750a, MIPS, m32r, mn10200, mn10300, ns32k, PDP-11, Pyramid, ROMP, RS/6000, SH, SPUR, Tahoe, V850, 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. An X interface for GDB, called DDD, is described above. 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, which requires
Motif or LessTif and uses 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.33, 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 (SrcCD)
The GNU Pascal Compiler (GPC) is part of
the GNU compiler family, GNU CC or GCC.
It combines a Pascal front end
with the proven GNU compiler backend
for code generation and optimization.
Unlike utilities such as p2c,
this is a true compiler, not just a converter.
Version 2.0 of GPC corresponds to GCC version 2.7.2.1.
The purpose of the GNU Pascal project is
to produce a compiler which:
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@gnu.org.
guavac (SrcCD)
guavac is a 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.
libg++ (Old C++ Library) (BinCD, SrcCD)
The package was once main GNU C++ support library. More recently, it
contained the libstc++ library which provided the support for the
forthcoming C++ standard, but libstc++ is now a separate package
(see below).
libg++ now contains only the old routines, supported for backwards
compatibility; new programs should avoid using it.
libstdc++ (BinCD, SrcCD)
This library implements the library facilities defined by the forthcoming
ISO C++ standard; it was formerly part of libg++. 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.
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 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 programs, and is the basis for the GNOME file manager.
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, FAT32,
OS/2 Xdf disks, 2m disks (store up to 1992k on a high density 3 1/2 disk),
and ZIP/JAZ disks.
mutt Also see `http://www.cs.hmc.edu/~me/mutt' (SrcCD)
Mutt is a small but very powerful screen-oriented mail client, with support
for MIME, message threading, color terms, and configurable key binding.
ncurses (SrcCD)
ncurses implements the Unix curses API for
developing screen-based programs that are terminal independent. It
is not merely an emulation of old (BSD) curses/termcap, but is fully
compatible with SVR4 curses/terminfo. It includes color, multiple-highlight,
& xterm mouse-event support.
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.org.
See "GNUstep" in section Forthcoming GNUs.
gnuplot.
Version 2.0.9 includes support for dynamically linked functions,
user-defined data types, many new functions, & a completely revised manual.
Octave works on most GNU and 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 files' timestamps as well as their contents.
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.
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,
HP-GL/2 and HP-GL printers and plotters,
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 (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 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. Current beta versions of smail which have
enhanced security and anti-spam features are available from
`ftp://ftp.planix.com/pub/Smail/'.
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. 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