----------------------------------------------------------------------
GNU's Bulletin June, 1991
The GNU's Bulletin is the semi-annual newsletter of the Free Software Foundation, bringing you news about the GNU Project.
Free Software Foundation, Inc. Telephone: (617) 876-3296
675 Massachusetts Avenue Electronic mail: [email protected]
Cambridge, MA 02139 USA
GNU's Who What Is the Free Software Foundation? What Is Copyleft? A Small Way to Help Free Software GNUs Flashes Free Software Support Copyrighted Programming Languages AT&T Threatens Users of X Windows Project Gutenberg GNU Project Status Report GNU in Japan GNU Wish List Help Keep Government Software Free GNU Software Available Now GNU Documentation How to Get GNU Software Free Software for Microcomputers Free Software Foundation Order Form Thank GNUs
Michael Bushnell is working on the GNU operating system and
maintains GNU tar
. Jim Blandy is preparing Emacs
19, and Joseph Arceneaux is implementing active regions for
a future release. Roland McGrath is polishing
the C library and maintains GNU make
as well as the Emacs 19 Lisp
library.
Jay Fenlason continues with the GNU spreadsheet, Oleo, and maintains
sed
and the GNU assembler. Brian Fox is maintaining
various programs that he has written, including the readline
library, the makeinfo
and info
programs, BASH, and GNU
finger
.
Kathy Hargreaves and Karl Berry are making fonts, developing
various utilities for dealing with them, and also working on
Ghostscript. Mike Haertel, who has been working on a C
interpreter and on various "bin" utilities, is going to graduate
school this fall. Per Bothner has taken over
maintenance of the "bin" utilities. Amy Gorin is
writing the manual for tar
. Sandra Loosemore is
writing the C Runtime Library manual.
S. Opus Goldstein continues to run the business end of FSF. Miria Brigid is answering phone calls, handling correspondence, and making distribution tapes. Robert J. Chassell, our Treasurer, is working on his introduction to programming in Emacs Lisp, in addition to his many other Foundation duties. Noah Friedman is our system administrator.
Richard Stallman continues as a volunteer who does countless tasks, including refining the C compiler, Emacs, etc., and their documentation. Walter Poxon coordinates volunteer work. Finally, volunteer Len Tower remains our electronic JOAT (jack-of-all-trades), handling mailing lists and gnUSENET, information requests, et al.
Copyright (C) 1991 Free Software Foundation, Inc.
Written by: Noah Friedman, Robert J. Chassell, Richard Stallman,
and Leonard H. Tower Jr.
Illustrations: Etienne Suvasa
Japanese Edition: Mieko Hikichi and Nobuyuki Hikichi
Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the copyright notice and permission notice are preserved, and that the distributor grants the recipient permission for further redistribution as permitted by this notice.
The Free Software Foundation is dedicated to eliminating restrictions on copying, redistribution, understanding, and modification of computer programs. We do this by promoting the development and use of free software in all areas of computer use. Specifically, we are putting together a complete integrated software system named "GNU" (GNU's Not Unix) that will be upwardly compatible with Unix. Some large parts of this system are already working, and we are distributing them now.
The word "free" in our name refers to two specific freedoms: first, the freedom to copy a program and give it away to your friends and co-workers; second, the freedom to change a program as you wish, by having full access to source code. Furthermore, you can study the source and learn how such programs are written. You may then be able to port it, improve it, and share your changes with others.
Other organizations distribute whatever free software happens to be available. By contrast, FSF concentrates on development of new free software, working towards a GNU system complete enough to eliminate the need to purchase a proprietary system.
Besides developing GNU, the Foundation has several secondary functions: producing tapes and printed manuals for GNU software, carrying out distribution, and accepting gifts to support GNU development. We are tax exempt; you can deduct donations to us on your tax returns. Our development effort is funded from both donations and distribution fees. Note that the distribution fees purchase just the service of distribution: you never have to pay anyone license fees to use GNU software, and you always have the freedom to make your copy from a friend's computer at no charge (provided your friend is willing).
The Foundation also maintains a Service Directory, see "Free Software Support" below for details.
After we create our programs, we continually update and improve them. We release between 2 and 20 updates a year for each program. Doing this while developing new programs takes a lot of work, so any donations of pertinent source code and documentation, machines, labor, or money are always appreciated.
The board of the Foundation is: Richard Stallman, President; Robert J. Chassell, Treasurer; Gerald J. Sussman, Harold Abelson, and Leonard H. Tower Jr., Directors.
"As we enjoy great advantages from the inventions of others, we should be glad of an opportunity to serve others by any invention of ours."
-Benjamin Franklin
In the previous section entitled "What Is the Free Software Foundation?" we state that "you never have to pay anyone license fees to use GNU software, and you always have the freedom to make your copy from a friend's computer at no charge." What exactly do we mean by this, and how do we make sure that it stays true?
The simplest way to make a program free is to put it in the public domain. Then people who get it from sharers can share it with others. But this also allows bad citizens to do what they like to do: sell binary-only versions under typical don't-share-with-your-neighbor licenses. They would thus enjoy the benefits of the freeness of the original program while withholding these benefits from the users. It could easily come about that most users get the program this way, and our goal of making the program free for all users would have been undermined.
To prevent this from happening, we don't normally place GNU programs in the public domain. Instead, we protect them by what we call copylefts. A copyleft is a legal instrument that makes everybody free to copy a program as long as the person getting the copy gets with it the freedom to distribute further copies, and the freedom to modify their copy (which means that they must get access to the source code). Typical software companies use copyrights to take away these freedoms; now software sharers use copylefts to preserve these freedoms.
The copyleft used by the GNU Project is made from a combination of a copyright notice and the GNU General Public License. The copyright notice is the usual kind. The General Public License is a copying license which basically says that you have the freedoms we want you to have and that you can't take these freedoms away from anyone else. (The actual document consists of several pages of rather complicated legalbol that our lawyer said we needed.) The complete license is included in all GNU source code distributions and many manuals. We will send you a copy on request.
We encourage others to copyleft their programs using the General Public License; basically programs only need to include a few sentences stating that the license applies to them. Specifics on using the License accompany it, so refer there for details.
If you find that GNU software has been helpful to you; in particular, if you have benefited from having sources freely available, please help support the spread of free software by telling others. For example, you might say in published papers and internal project reports:
"We were able to modify the fubar utility to serve our particular needs because it is free software. As a result, we were able to finish the XYZ project six months earlier."
Let users, management and friends know! And send us a copy. Thanks!
g++
Version 1.39.1 of GNU C++
is now available. The only major
change is that this version outputs debugging info which is again
consistent with what GDB version 3.5 expects. It is the same that
version 1.37.x emits. Version 1.40 will be released soon.
f2c
, allowing
f2c
-compiled and gf77
-compiled subprograms to be linked
together and run. (Please do not ask for more information on Fortran
until we announce its release.)
The Free Software Foundation develops and distributes freely available software. Our goal is to help computer users as a community. We envision a world in which software is freely redistributable. This means software will be sold at a competitive market price rather than a monopolistically established price; often it will be given away. We see programmers as providing a service, much as doctors and lawyers now do--both medical knowledge and the law are freely redistributable entities for which the practitioners charge a distribution and service fee.
We maintain a list of people who offer support and other consulting services, called the GNU Service Directory. It is in the file `etc/SERVICE' in the GNU Emacs distribution and `SERVICE' in the GCC distribution. Contact us if you would like a copy or wish to be listed in it.
If you find a deficiency in any GNU software, we want to know. We
have many Internet mailing lists for announcements, bug reports,
and questions. They are also gatewayed into USENET news as the
gnu.*
newsgroups.
If you have no Internet access, you can receive mail and USENET news via
UUCP. Contact either a local UUCP site, or UUNET (which can set up a
UUCP connection at a modest rate) at
[email protected]
:
UUNET Communications Services, 3110 Fairview Park Drive - Suite 570, Falls Church, VA 22042 Phone: (703) 876-5050
When we receive a bug report, we will usually try to fix the problem in order to make the software better. While our bug fixes may seem like individual assistance, they are not. Our task is so large that we must focus on that which helps the community as a whole, such as developing and maintaining software and documentation. We do not have the resources to help individuals. If your bug report does not evoke a solution from us, you may still get one from the many other users who read our bug report mailing lists. Otherwise, use the Service Directory.
So, please do not ask us to help you install the software or figure out how to use it--but do tell us how an installation script does not work or where the documentation is unclear.
by Richard Stallman
The GNU project has produced one of the best C compilers now in existence. The reason I decided to write a C compiler, rather than designing a new, completely clean language, is that C is the language users' programs are written in. For a Unix-like system, a compiler for C is absolutely essential.
If a new language becomes equally essential for a useful computer system, will we be allowed to write a compiler for it? Not if we want people in Europe to use the compiler. On May 15, the European Community adopted a new directive for software copyright. It establishes not only copyrighted user interfaces, but also copyrighted protocols, copyrighted data formats, and copyrighted programming languages.
Here is what the law says about interfaces:
Whereas for avoidance of doubt it has to be made clear that only the expression of a computer program is protected and that ideas and principles which underlie any elements of a program, including those which underlie its interfaces, are not protected by copyright under this directive;
Nothing prevents the details of an interface--as opposed to the underlying ideas--from being copyrighted.
The Legal Affairs Committee of the European Parliament recommended adding these words to solve this problem for certain kinds of interfaces:
Whereas, these unprotectible items include, for example, protocols for communication, rules for exchanging or mutually using information that has been exchanged, formats for data, and the syntax and semantics of a programming language;
This amendment was rejected after serious debate in which the conservative party particularly opposed it. The importance given to the question shows that it was regarded as a substantive change--that Parliament believes the law as written permits copyright on the protocols, formats, and languages.
The principal supporters of these broad and dangerous monopolies were a few large computer companies: IBM, Digital, Apple, and Siemens. (Only one of them is a European company.) Many smaller companies formed the European Committee for Interoperable Systems to lobby against interface monopolies, but had little success.
What about the United States?
Ashton-Tate is once again pushing its case for a copyright on the programming language used in DBase. Last winter, the judge ruled that the copyright on DBase was invalid because Ashton-Tate had failed to inform the copyright office that part of the program was copied from an earlier, public domain program written at JPL. It turns out that the "part" in question was the programming language--not part of the program at all!
Later, the judge reversed his own decision. The case is now proceeding.
The latest version of the System V Interface Definition claims that the interface is copyrighted. Adobe says the Postscript language is copyrighted. You can bet that IBM, Digital, and Apple are telling Congress loud and clear that programming languages should be copyrighted. And they will point to the European law as proof this is sound policy.
So, the next time you adopt a new language, will we be allowed to add support for it in the GNU compiler? Not in Europe, and probably not in the US either.
Since surveys show most programmers disapprove of these restrictions, most likely you do too. The question is whether you want to do anything about it. You can speak up and have an effect on the decision, or you can do nothing and let IBM, Digital, and Apple do all the talking.
The FSF is doing what it can. We joined the League for Programming Freedom as an institutional member, as seven companies have also done. Some of the FSF staff number among the 600 individual League members. But, it takes more than 600 people to win this battle. So, the next step is up to you.
From the League membership form:
The League for Programming Freedom is a grass-roots organization of professors, students, businessmen, programmers and users dedicated to bringing back the freedom to write programs. The League is not opposed to the legal system that Congress intended--copyright on individual programs. Our aim is to reverse the recent changes made by judges in response to special interests.
Membership dues in the League are $42 per year for programmers, managers and professionals; $10.50 for students; $21 for others.
If you have any questions, please write to the League, phone (617) 243-4091, or send Internet mail to
[email protected]
.
To join, please send a check and the following information to:
League for Programming Freedom, 1 Kendall Square #143, P.O. Box 9171,
Cambridge, MA 02139
"If I have seen farther, it is by standing on the shoulders of giants."
-Isaac Newton
by Richard Stallman
This spring, AT&T sent threatening letters to every member of the X Consortium, including MIT, saying they need to pay royalties for the X Window server. This is because AT&T has patented the use of "backing store" in a multiprocessing window system (patent number 4,555,775). MIT is looking into how to fight AT&T in court if necessary, but we don't know whether this can succeed.
Meanwhile, Cadtrak continues to demand royalties from the users of X Windows for using exclusive-or to write on the screen, which is covered by patent number 4,197,590.
The GNU system won't be terribly useful if it can't have X Windows. But that isn't the only essential system feature which is in danger. Emacs is threatened by IBM patent number 4,674,040 which covers "cut and paste between files" in a text editor. Many Emacs features are threatened by patent number 4,458,311, which covers "text and numeric processing on same screen." Patent 4,398,249 covering the general spreadsheet technique known as "natural order recalc" stops us from using it in GNU software.
There is little the FSF itself can do about these threats. Fighting just one patent in court would use up all our funds. So we have added a provision to version 2 of the GPL so that we can prohibit distribution of one of our programs in certain countries if it is covered by patents there. Most likely, one of those countries will be the United States.
Beyond that, we have joined the League for Programming Freedom, which is trying to get patents out of the software field. If you develop software for wide use, chances are you, too, will find you can't do your work without infringing these patents. Not to mention the thousands of other patents that apply to software. Doesn't it make sense for you to join the League for Programming Freedom?
by Michael S. Hart, Director
Project Gutenberg National Clearinghouse for Machine Readable Texts
The purpose of Project Gutenberg is to encourage the creation and distribution of English language electronic texts. We prefer to get the texts in a pure ASCII format so they would be most easily converted to use in various hardware and software. An ASCII file will also be made available in various markup formats as it is used in various environments. However we accept files in any format, and will do our best to provide them in all.
We assist selecting hardware and software as well as in their installation and use. We also assist in scanning, spelling checkers, proofreading, etc. Our goal is to provide a collection of 10,000 of the most used books by the year 2001, and to reduce, and we do mean reduce, the effective costs to the user to a price of approximately one cent per book, plus the cost of media and of shipping and handling. Thus we hope the entire cost of libraries of this kind will be about $100 plus the price of the disks, CDROMs and mailing. Currently the price of making CDROMs is said to be about $500 for mastering plus $2 per copy. I have it on fairly good authority that these prices are negotiable.
To create such a library would take less than one out of ten of a conservatively estimated 100,000 libraries in the U.S. alone: if each created one full text. If all the libraries co-operated, it would be less than 10% of a volume per library. If there were 10 members of each library creating electronic texts, then each member only has to do 1% of a single book to create a truly public library of 10,000 books which would each be usable on the 100 million computers available today.
So far most electronic text work has been carried out by private, semi-private or incorporated individuals, with several library or college collections being created, but being made mostly from works entered by individuals on their own time and expense. This labor has largely been either one of love, or one made by those who see future libraries as computer searchable collections which can be transmitted via disks, phone lines or other media at a fraction of the cost in money, time and paper as in present day paper media. These electronic books will not have to be rebound, reprinted, reshelved, etc. They will not have to be reserved or restricted to use by one patron at a time. All materials will be available to all patrons from all locations.
The use of this type of library will benefit even more greatly in the presence of librarians, as the amount of information shall be so much greater than that available in present day libraries that the patron will benefit even more greatly than today in their pursuit of knowledge.
So, we call on all interested parties to get involved with the creation and distribution of electronic texts, whether it's a commitment to typing, scanning, proofreading, collecting, or whatever you prefer.
Please do not hesitate to send any e-texts you might find to this address. If you prefer sending disks, a mailing address follows.
Michael S. Hart, 405 West Elm St., Urbana, Il 61801 Please include a SASLE and/or donation.
The easiest way for you to find out about Project Gutenberg is to
subscribe via the Gutnberg listserver. To do this send the following
message to [email protected]
:
SUB GUTNBERG YOUR NAME (Your name must have at least two words)
Please don't hesitate to ask for specific information so it is included in the Gutnberg mailings. Please send these question messages separately from your subscription message.
Bitnet: hart@uiucvmd Internet: [email protected]
(The Gutenberg server is at [email protected]
. (Note
spelling.) The Internet address is
[email protected]
---the server only recognizes
subscription commands, others are routed to me.)
We hope to be thanking you soon for your participation.
stdio
in the C library, eliminates a data
copy in a large number of I/O intensive programs. A future release of
the GNU C library will provide such support.
Eventually, we will implement other filesystems, including traditional
ones, like NFS, as well as non-traditional ones such as transparent
access to FTP, tar
and ar
archives.
The Hurd terminal driver looks like a file server to user programs, but
it supports a greater variety of ioctl
calls as well as providing
both BSD and POSIX terminal functionality. The terminal driver will
support terminals layered on serial lines, network ports, and other
channels.
The process server offers a process abstraction; it provides process and
host id's, sends signals to other processes, fetches information for
ps-like programs, and so on. The server's primary purpose is to
function as an information repository; the system call interpreter
handles complicated aspects of signal delivery.
Initially, the GNU system will offer only one network protocol server,
which will provide local domain sockets (called the `Unix domain' in
BSD). Eventually, we will add a TCP/IP implementation, with major
portions of the code borrowed from the BSD implementation.
In the GNU system, system calls are all redirected by the Mach
microkernel into a shared region of each task's address space, the
system call interpreter. It is responsible for
the details of system call semantics, and performs calls to the various
Hurd servers to perform the user's request. The most complicated parts
of the system call interpreter are those dealing with signals and with
memory mapped I/O.
The system is intended to be both source and binary compatible with 4.4
BSD, and POSIX.1 compliant (when used in conjunction with the GNU C
Library). We have a mailing list for discussion of the design of Hurd.
Experts in OS design and seasoned Unix wizards are welcome to assist in
hashing out the details of the interface.
csh
-style command history.
Version 1.08 fixes a number of bugs and has more builtins.
There is a good chance that the csh
from BSD will be declared
free software by Berkeley, so we will not need to write that. In any case,
BASH rather than csh
will be the default shell in the GNU
system.
++
debugger, GDB, is now being
distributed along with the GNU C Compiler.
GDB Version 3.5 is now released. Version 4 is being tested and should
be released soon. Version 3 runs on BSD 4.2 and 4.3 and on System
V.
GDB includes a facility for debugging across a serial line, together
with a stub that can be included in a standalone program to communicate
across the line with GDB. This feature is for kernel debugging. We
hope eventually to be able to debug across an Ethernet.
New features in version 4 include watchpoints, support for C++
exception handling, cross-debugging (debugging one machine from a
dissimilar machine), easier porting to different binary file formats
(see "GNU Flashes"), and more ways of communicating with the program
being debugged (such as TCP/IP). Future versions may include
programming commands (loops, conditionals, and functions with
arguments).
Work has been done on support for debugging parallel programs. We hope
to get this and merge it eventually.
++
and Objective C on the same basis as
C itself: the source file name selects the language. Michael Tiemann of
Cygnus Support has written the C++
front end for GCC (which is
available in version 1 as G++
). The front end for compiling
Objective C programs has been donated by NeXT, but we need someone to
write the support to run them. C has been extended to support nested
functions, nonlocal gotos, and the ability to determine the address of a
label.
Volunteers are developing front ends for Fortran, Modula 3, Pascal, and
(slowly) for Ada. There are mumblings about various other languages.
So far, no one has volunteered to write Cobol.
Please do not call for more information on version 2 until it's
released.
malloc
. The GNU regular-expression
functions (regex
) now mostly conform to the POSIX.2
standard.
altdorf.ai.mit.edu
as the
file `archive/scm/scm2d.tar.Z'. JACAL is available from
altdorf
as `archive/scm/jacal0-2.tar.Z'. The
Internet address is 18.43.0.246
To receive an IBM PC floppy disk with the source and executable files,
send $50 to Aubrey Jaffer, 84 Pleasant St., Wakefield MA 01880,
USA.
groff
---GNU troff
and related
programs. Currently, groff
includes troff
, pic
,
tbl
, eqn
, drivers for Postscript and typewriter-like
devices, a driver producing TeX dvi
format, an X11 previewer
(based on the MIT X11R4 xditview
), and the -man
,
-ms
, and -me
macros. The groff
program is written
in C++
. It has many features not found in most versions of
troff
including: long names for strings, macros, diversions,
number registers, environments, and fonts; no fixed, arbitrary limits;
high-quality mathematical typesetting (using algorithms derived from
TeX); much better error handling; pairwise kerning; high-quality
hyphenation (using TeX's hyphenation algorithm); TeX support in
pic
.
Work is underway on the -mm
macros and refer
. Possible
new projects include: the grap
preprocessor (borrowing code from
pic
); the pm
page-makeup postprocessor and associated
-mpm
macro package. More work is needed on the documentation,
which now assumes that the user already has the Unix versions of the
documentation.
curses
library and an X11 interface is planned.
Right now it runs on BSD Unix machines as well as IBM PCs and
compatibles.
Mieko, [email protected]
, & Nobuyuki Hikichi,
[email protected]
, continue to work on the GNU Project in
Japan. They translate GNU information, write columns, request
donations, and consult with people about GNU. Recently they translated
version one of the GNU General Public License into Japanese. They
are now looking for a lawyer to volunteer to review their translation of
the new GNU Library General Public License.
Many groups in Japan are redistributing GNU software, including JUG (a
PC user group), Nikkei Business Publications and ASCII (publishers),
Fujitsu FM Towns, and the Japan Unix Society. Anonymous UUCP is
also now available in Japan. Contact [email protected]
for more
information.
Wishes for this issue are for:
smail
mail delivery system.
[email protected]
for the task list and coding
standards.
[email protected]
.
by Richard Stallman
For 200 years, the US copyright system has placed everything written by the federal government in the public domain. This makes sense: we have all paid for it, so we should all own it.
Now there is a move to change this. If it succeeds, quite a lot of software that would be free today will be sold instead. We will pay to develop the software, and then we'll have to pay again to use it. And the GNU system won't be able to use it, since it won't be free.
We think this is scandalous. If you agree, please help prevent it, by writing to Congress:
House Subcommittee on Intellectual Property 2137 Rayburn Building Washington, DC 20515
We offer Unix software source distribution tapes in tar
format,
including the special cartridge tapes used by HP/UX and IBM RS/6000
systems (an Emacs binary is on the RS/6000 tape). We also offer VMS
tapes for GNU Emacs and GNU C that include sources and VMS
executables.
See the order form inside the back cover for details about media, etc. Note that the contents of the 1600bpi 9-track tapes and cartridge tapes for Unix systems are the same. Only the media are different.
The software on this release tape is considered fairly stable, but as always, we welcome your bug reports.
texi2roff
texi2roff
, written by Beverly Erlebacher, translates GNU Texinfo
files so that they can be printed by the [gnt]roff
programs
utilizing the mm
, ms
, or me
macro packages. It is
included on all Unix tapes so people who do not have a copy of TeX can
print out GNU documentation.
++
, and Fortran programs. It comes with a Texinfo manual (see
"GNU Documentation" below).
compress
, we are beginning to switch to
yabba
, indicated by a `.Y'. The online distribution on
prep.ai.mit.edu
will be changed first. Each tape includes
the program that will uncompress the compressed files on it.
The programs on this tape are becoming stable. As always, we solicit your comments and bug reports. This tape used to be known as the "Pre-Release" or "Beta Test" tape.
gperf
The GNU C compiler is a fairly portable optimizing compiler. It
supports full ANSI C. The current version is 1.40. It generates
good code for the 32000, 680x0, 80386, Alliant, Convex, Tahoe, and Vax
CPUs, and for these RISC CPUs: i860, Pyramid, Sparc, and SPUR. The MIPS
RISC CPU is also supported. Machines using these CPUs include 386
(AIX), Alliant FX/8, Altos 3068, Apollo 68000/68020 (Aegis), AT&T 3B1,
Convex C1 and C2, DECstation 3100 and 5000, DEC VAX, Encore MultiMax
(NS32000), Genix NS32000, Harris HCX-7 and HCX-9, HP-UX
68000/68020, HP (BSD), IBM PS/2 (AIX), Intel 386 (System V, Xenix,
BSD, but not MS-DOS), Iris MIPS machine, ISI 68000/68020, MIPS, NeXT,
Pyramid, Sequent Balance (NS32000), Sequent Symmetry (i386), SONY
News, Sun (2, 3 (optionally with FPA), 4, SparcStation, & Sun386i). See
"GNU Project Status Report" for more detail.
A good programmer will be able to make a cross compiler on most of these
systems to cross-compile to most of these architectures. Most of the
work will be with the compiler support tools, not GCC itself.
The Texinfo source of the GCC Manual is included with the
compiler. The manual (not yet published on paper) describes how to run
and install the GNU C compiler, and how to port it to new processors.
It describes new features and incompatibilities of the compiler, but
people not familiar with C will also need a good book on C. A perfect
hash-table generation utility, gperf
, is also included with the
compiler.
as
. It is now at version 1.39 and
works for 32x32, 680x0, 80386, Sparc (Sun 4), and Vax.
We have free versions of ar
, ld
, nm
, size
,
gprof
, strip
, and ranlib
. The GNU linker ld
is fast and the only linker with source-line numbered error
messages for multiply-defined symbols and undefined references.
We also now distribute a dynamic linker, dld
, written by W.
Wilson Ho. This is a library which you link with your program which
then enables it to dynamically load object files into the running
binary.
The entire suite of GNU software tools can be run on System V,
replacing COFF entirely. The GNU tools can operate on BSD object
files with a COFF header the System V kernel will accept.
robotussin
is supplied for converting standard libraries to this
format.
flex
and Bison
flex
is a mostly-compatible replacement for the Unix lex
scanner generator written by Vern Paxson of the Lawrence Berkeley
Laboratory. flex
generates far more efficient scanners than
lex
does. Bison is an upwardly compatible replacement for
the parser generator Yacc, with additional features. The Bison
Manual comes with the software in Texinfo form (see "GNU
Documentation" below).
g++
, libg++
, and NIH Class Library
G++
is a set of changes for GCC that compiles C++
, the
well-known object-oriented language. As far as possible, G++
is
kept compatible with the evolving draft ANSI standard, but not with
cfront
, as the latter has been diverging from ANSI. G++
comes
with the GNU G++
Users Guide (not yet published on paper).
G++
compiles source quickly, provides good error messages, and
works well with GDB. Since G++
depends on GCC, it must be used
with the correspondingly numbered version of GCC. GDB Version 3
includes support for debugging C++
code, which merges in the
functionality of the old program GDB+
.
The GNU C++
library, libg++
, is an extensive, documented
collection of C++
classes and support tools for use with
G++
.
The NIH Class Library (formerly known as OOPS (Object-Oriented Program
Support)) is a portable collection of classes similar to those in
Smalltalk-80 that has been developed by Keith Gorlen of NIH, using the
C++
programming language.
Note that Interviews has been dropped from this tape since it appears on
the "optional" X tape (See "Contents of the X11 Tapes"
below).
make
and BASH
GNU make
has 99.44% of the features of the BSD and System V
versions of make
, and compiles with POSIX.2, as well as many of
our own extensions. These extensions include parallelism, conditional
execution, and text manipulation. Version 3.60 of GNU make
is
fairly stable. Version 4 will include many functional improvements.
Texinfo source for the GNU make
manual is provided (see "GNU
Documentation" below).
The GNU Shell, BASH (for Bourne Again SHell), is compatible with
with the Unix sh
and offers many extensions found in csh
and ksh
. It has job control, csh
-style command history,
and command-line editing (with Emacs and vi
modes built-in and
the ability to rebind keys). The current version is 1.08, and should
compile on most systems.
tar
GAWK is GNU's version of the Unix AWK utility; it comes with a Texinfo
manual (see "GNU Documentation" below). GNU tar
includes
multivolume support, the ability to archive sparse files, automatic
compression and decompression of archives, remote archives, and special
features to allow tar
to be used for incremental and full
backups.
diff
and grep
These programs are GNU's versions of the Unix programs of the same name.
They are much faster than their traditional Unix counterparts.
gnuplot
Ghostscript is GNU's graphics language that is almost fully compatible
with Postscript. See the section in the "GNU Project Status
Report."
gnuplot
is an interactive program for plotting mathematical
expressions and data. Oddly enough, the program was neither done for
nor named for the GNU Project--the name is a coincidence.
indent
has been
added to this tape as well. We also include perl
version 4.0,
c-perf
version 2.0 (a C version of g-perf
), f2c
(a Fortran to C translator), gdbm
library, GNU indent
,
data compression software, GDB, texi2roff
, and GnuGo (the game of
Go (Wei-Chi)) on this tape.The two X11 tapes contain Version 11, Release 4 of the MIT X window system. The first FSF tape contains the contents of both tape one and tape two from the MIT X Consortium: the core software and documentation, and the contributed clients. FSF refers to its first tape as the `required' X tape since it is necessary for running X or GNU Emacs under X. (The Consortium refers to its first two tapes as the `required/recommended' tapes.)
The second, `optional,' FSF tape contains the contents of tapes three and four from the MIT X Consortium: contributed libraries and other toolkits, the Andrew software, games, etc. (The Consortium refers to its last two tapes as `optional' tapes.)
We offer a VMS tape of the GNU Emacs editor, and a separate VMS tape containing the GNU C compiler. The VMS compiler tape also contains Bison (needed to compile GCC), GAS (needed to assemble GCC's output), and some library and include files. Both VMS tapes include executables from which you can bootstrap, because the DEC VMS C compiler has bugs and cannot compile GCC.
Please do not ask us to devote effort to additional VMS support, because it is peripheral to the GNU Project.
GNU manuals are intended to explain the underlying concepts, describe how to use all the features of each program, and give examples of command use. These manuals, provided with our software, are also available in hardcopy; see the order form inside the back cover.
GNU documentation is distributed as Texinfo source files, which yield both typeset hardcopy and on-line presentation via the menu-driven Info system. The Texinfo Manual explains the markup language used to do these. It tells you how to make tables, lists, chapters, nodes, indices, and cross references, and how to use Texinfo mode in GNU Emacs and catch mistakes.
The GDB Manual explains how to use the GNU Debugger. It describes running your program under debugger control, how to examine and alter data as well as modify the flow of control within the program, and how to use GDB through GNU Emacs, with auto-display of source lines.
The Emacs Manual describes the use of GNU Emacs. It also explains advanced features, such as outline mode and regular expression search. The manual details special modes for programming in languages such as C and Lisp, how to use the tags utility, how to compile and correct code, and how to make your own keybindings and other elementary customizations.
The Emacs Lisp Reference Manual covers the GNU Emacs Lisp programming language in great depth. It goes into data types, control structures, functions, macros, byte compilation, keymaps, windows, markers, searching and matching, modes, syntax tables, and operating system interface, etc.
The Termcap Manual, often described as "Twice as much as you ever wanted to know about Termcap," details the format of the Termcap database, the definitions of terminal capabilities, and the process of interrogating a terminal description. This manual is primarily for programmers.
The Bison Manual teaches how to write grammars that convert into C coded parsers. You need no prior knowledge of parser generators. The concepts are described along with a series of increasingly complex examples.
The GAWK Manual describes how to use the GNU implementation of AWK. It is written for someone who has never used AWK, and describes all the features of this powerful string manipulation language.
The Make Manual describes GNU Make, a program used to rebuild parts of other programs when and as needed. The manual covers makefile writing, which specifies how a program is to be compiled and its dependencies.
All the software and publications from the Free Software Foundation are distributed with permission to copy and redistribute. The easiest way to get GNU software is to copy it from someone else who has it.
If you have Internet access, you can get the latest software via
anonymous FTP from the host prep.ai.mit.edu
(the IP address
is 18.71.0.38
). Get file
`/pub/gnu/GETTING.GNU.SOFTWARE' for more information.
If you cannot get the software one of these ways, or if you would like to contribute some funds to our efforts and receive the latest versions, we distribute tapes for a copying and distribution fee. See the order form below.
There are also third party groups that distribute our software: they do not work with us, but have our software in other forms. For your convenience, we list some of them here (also see "Free Software for Microcomputers" below). Please note that the Free Software Foundation is not affiliated with them in any way, and is not responsible for either the currency of their versions or the swiftness of their responses.
These TCP/IP Internet sites provide GNU software via anonymous
ftp
(use your ftp
program, user name: anonymous
,
password: your name):
wsmr-simtel20.army.mil (under `PD:<Unix.GNU>'), sh.cs.net,
ftp.cs.titech.ac.jp, louie.udel.edu, nic.nyser.net,
ftp.funet.fi, sunic.sunet.se, freja.diku.dk, mcsun.eu.net,
gatekeeper.dec.com, mango.miami.edu (VMS G++
),
cc.utah.edu (VMS GNU Emacs), labrea.stanford.edu,
scam.berkeley.edu, itstd.sri.com, wuarchive.wustl.edu,
jaguar.utah.edu, a.cs.uiuc.edu, and uunet.uu.net.
Those on the SPAN network can ask rdss::corbet.
Information on how to obtain some GNU programs using UUCP is available
via electronic mail from the following people. Ohio State also posts
their UUCP instructions regularly to newsgroup comp.sources.d
on
USENET.
hao!scicom!qetzal!upba!ugn!nepa!denny, uunet!hutch!barber,
acornrc!bob, hqda-ai!merlin, [email protected],
[email protected], [email protected],
and [email protected] (or osu-cis!karl)
.
We do not provide support for GNU Software on microcomputers because
it is peripheral to the GNU Project. However, we are willing to
publish information about groups who do so. If you are aware of any
such efforts, please send the details, including archive sites and
mailing lists, to [email protected]
or the postal address
on the front cover.
karazm.math.uh.edu
directory `~pub/Amiga/Gnu'
and titan.ksc.nasa.gov
, directory `~pub/amiga';
Europe, ftp.funet.fi
, directory `~pub/amiga/gnu'.
Offers to help and info on: the GCC port and related projects to Leonard
Norrgard, [email protected]
; and the GNU Emacs port to:
Mark D. Henning, [email protected]
. More information is in
`/pub/gnu/MicrosPorts/Amiga', obtainable via anonymous
ftp
on prep.ai.mit.edu
.
ftp
from atari.archive.umich.edu
which
is maintained by Howard Chu, [email protected]
. These
ports are discussed on the two USENET newsgroups
comp.sys.atari.st
and comp.sys.atari.st.tech
. To
get the former group via e-mail, you can ask
[email protected]
.
[email protected]
for
information on ports of GNU programs to MS-DOS and related mailing
lists. More information is in `/pub/gnu/MicrosPorts/MSDOS',
obtainable via anonymous ftp
on
prep.ai.mit.edu
.
[email protected]
I have written a small but programmable editor for MS-DOS that is
somewhat compatible with GNU Emacs. It is called Freemacs, and is
programmed in "MINT", a string processing language, but tries to
emulate GNU Emacs. It does a remarkably good job for a 21K
executable--good enough, in fact, that I recommend that Freemacs users
buy the GNU Emacs manual. Of course, the bulk of the emulation is
done in the MINT code, totaling 150K.
You may freely copy this software. I ask only that you return
improvements to me for incorporation into the package for all of
us.
The distribution is available from these sources:
anonymous ftp
the file `/e/freemacs' from host
grape.ecs.clarkson.edu
or from host
wsmr-simtel20.army.mil
(under directory
`PD:<MSDOS.FREEMACS>'); or
CUHUG BBS: (315)268-6667
1200/2400 8N1, 24 hrs, file area 25, no
registration required to download Freemacs; or
send $15 (copying fee) to Russ Nelson, 11 Grant St., Potsdam, NY 13676,
Phone: (315) 268-6455, specify floppy format: 5.25"/1.2 MB
;
5.25"/360K
; or 3.50"/720K.
Please do not ask the Free Software Foundation about Freemacs. FSF
does not maintain it, and has no information on it other than the
above.Thanks to all those mentioned above in "GNUs Flashes", the "GNU Project Status Report" and "GNU Software Available Now".
Thanks to Mr. Ken'ichi Handa for his donation from the Motooka prize. He won the prize coordinating the development of Nemacs, the Japanese version of GNU Emacs. He used the rest of the prize to throw a thank-you party for all the Nemacs volunteers.
Thanks to Julie Sussman for major work on the BASH manual (not yet released), and to Chet Ramey for his continuing work on improving BASH.
Thanks to the anonymous GNU users in Japan for their gifts.
Thanks to ASCII Corporation and Village Center Inc both of Japan for their donations.
Thanks to an anonymous donor for the gift of 5 IBM RT computers.
Thanks to Munin Technologies for their donation of a VAX-11/750 and other DEC equipment.
Thanks to Clement Moritz for donating two reel to reel tape drives.
Thanks to Cygnus Support for continuing to improve various programs and for hosting Joseph Arceneaux, as well as other FSF staff.
Thanks to the Artificial Intelligence Laboratory and the Laboratory for Computer Science at MIT for their invaluable assistance of many kinds.
Thanks to Devon McCullough for technical assistance, to Carol Botteron for proofreading and other assistance, and to Mieko and Nobuyuki Hikichi for their invaluable help raising both funds and consciousness in Japan.
Thanks go out to all those who have either lent or donated machines, including Hewlett-Packard for six 68030 workstations, two 80486 computers, and four Spectrum workstations, Brewster Kahle of Thinking Machines Corp. for the Sun 4/110, K. Richard Pixley for the AT&T Unix PC, Doug Blewett of AT&T Bell Labs for two Convergent Miniframes, CMU's Mach Project for the Sun 3/60, Intel Corp. for their 386 machine, NeXT for their workstation, the MIT Media Laboratory for the Hewlett-Packard 68020 machine, SONY Corp. and Software Research Associates, Inc., both of Tokyo, for three SONY News workstations, IBM Corp. for an RS/6000 computer, the MIT Laboratory of Computer Science for the DEC Microvax, the Open Software Foundation for the Compaq 386, and Delta Microsystems for an Exabyte tape drive.
Thanks to all those who have contributed ports and extensions, as well as those who have contributed other source code, documentation, and good bug reports. Thanks to those who sent money and offered help. Thanks also to those who support us by ordering manuals and distribution tapes.
The creation of this bulletin is our way of thanking all who have expressed interest in what we are doing.
this title is for the info-gnu edition. leave it here -len
opus should just ignore it. ;-)
----------------------------------------------------------------------
------- | | Free Software Foundation, Inc. | stamp | 675 Massachusetts Avenue | | Cambridge, MA 02139 USA | here | | | -------
----------------------------------------------------------------------
This document was generated on 7 May 1998 using the texi2html translator version 1.52.
Please send FSF & GNU inquiries & questions to [email protected]. There are also other ways to contact the FSF.
Please send comments on these web pages to [email protected], send other questions to [email protected].
Copyright (C) 1991 Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.