----------------------------------------------------------------------
GNU's Bulletin January, 1992
The GNU's Bulletin is the semi-annual newsletter of the Free Software Foundation, bringing you news about the GNU Project.
Free Software Foundation, Inc. Telephone: (617) 876-3296
675 Massachusetts Avenue Electronic mail: [email protected]
Cambridge, MA 02139, USA
GNU's Who What Is the Free Software Foundation? What Is Copyleft? Free Software Support GNUs Flashes A Small Way to Help Free Software AT&T Threatens Users of X Windows Copyrighted Programming Languages LPF Ends Ashton-Tate Boycott John von Neumann Opposed Patents GNU Aids Small Science in a Big Way GNU Helps Big Science, Too Project GNU Status Report GNU in Japan GNU Software Support Company in Japan Project GNU Wish List GNU Software Available Now Contents of the Emacs Tape Contents of the Languages Tape Contents of the Utilities Tape Contents of the Experimental Tape Contents of the X11 Tapes VMS Emacs and Languages Tapes GNU Documentation How to Get GNU Software Free Software for Microcomputers Thank GNUs Free Software Foundation Order Form
Michael Bushnell is working on the GNU operating system and
maintains GNU tar
. Jim Blandy is preparing
GNU Emacs 19, and Joseph Arceneaux is implementing active
regions for a future release of GNU Emacs. Roland
McGrath is polishing the C library and maintains GNU
make
.
Tom Lord is writing a graphics library and taking over
development of Oleo, the GNU spreadsheet. Brian Fox is
maintaining various programs that he has written including
makeinfo
, info
, BASH, GNU finger
, and the
readline
library. Jan Brittenson is working on the C
interpreter. David J. MacKenzie maintains most of GNU's small
utilities--more individual programs than nearly everyone else
combined.
Melissa Weisshaus is editing documentation and will work on the GNU Utilities Manual. Kathy Hargreaves and Karl Berry are making fonts, developing utilities for dealing with them, and working on Ghostscript.
Noah S. Friedman is our system administrator. Lisa `Opus' Goldstein continues to run the business end of FSF, with Gena Lynne Bean assisting in the office. Spike MacPhee assists RMS with legal assignments of software and other administrative tasks. Robert J. Chassell, our Treasurer, handles our publishing and is working on an introduction to programming in Emacs Lisp, in addition to many other tasks.
Richard Stallman continues as a volunteer who does countless tasks, including refining the C compiler, Emacs, etc., and their documentation. Volunteer Len Tower remains our on-line JOAT (jack-of-all-trades), handling mailing lists and gnUSENET, information requests, etc.
Written and Edited by: Noah S. Friedman, Tom Lord,
Robert J. Chassell, Lisa Goldstein, Melissa Weisshaus,
Richard Stallman, and Leonard H. Tower Jr.
Illustrations: Etienne Suvasa
Japanese Edition: Mieko Hikichi and Nobuyuki Hikichi
The GNU's Bulletin is published twice annually. To get a copy, send your request to the address on the first page. If you live in an area served by the US Post Office, please also send a SASE (Self-Addressed Stamped Number 10 Envelope), otherwise please include a preprinted mailing label. A small donation to cover copying costs is appreciated but not required.
Copyright (C) 1992 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the copyright notice and permission notice are preserved, and that the distributor grants the recipient permission for further redistribution as permitted by this notice.
The Free Software Foundation is dedicated to eliminating restrictions on copying, redistribution, understanding, and modification of computer programs. We do this by promoting the development and use of free software in all areas of computer use. Specifically, we are putting together a complete integrated software system named "GNU" (GNU's Not Unix) that will be upwardly compatible with Unix. Some large parts of this system are already working, and we are distributing them now.
The word "free" in our name pertains to freedom, not price. You may or may not pay a price to get GNU software. Either way, you have two specific freedoms once you have the software: first, the freedom to copy the program and give it away to your friends and co-workers; and second, the freedom to change the program as you wish, by having full access to source code. Furthermore, you can study the source and learn how such programs are written. You may then be able to port it, improve it, and share your changes with others. (If you redistribute GNU software, you may charge a fee for the physical act of transferring a copy, or you may give away copies.)
Other organizations distribute whatever free software happens to be available. By contrast, the Free Software Foundation concentrates on development of new free software, working towards a GNU system complete enough to eliminate the need for you to purchase a proprietary system.
Besides developing GNU, FSF distributes copies of GNU software and manuals for a distribution fee, and accepts tax-deductible gifts to support GNU development. Most of FSF's funds come from its distribution service.
The Board of the Foundation is: Richard Stallman, President; Robert J. Chassell, Treasurer; Gerald J. Sussman, Harold Abelson, and Leonard H. Tower Jr., Directors.
The simplest way to make a program free is to put it in the public domain, uncopyrighted. But this allows anyone to copyright and restrict its use against the author's wishes, thus denying others the right to access and freely redistribute it. This completely perverts the original intent.
To prevent this, we copyright our software in a novel manner. Typical software companies use copyrights to take away your freedoms. We use the copyleft to preserve them. It is a legal instrument that requires those who pass on the program to include the rights to further redistribute it, and to see and change the code; the code and rights become legally inseparable.
The copyleft used by the GNU Project is made from a combination of a regular copyright notice and the GNU General Public License (GPL). The GPL is a copying license which basically says that you have the freedoms discussed above. An alternate form, the GNU Library General Public License (LGPL), applies to certain GNU Libraries. This license permits linking the libraries into proprietary executables under certain conditions. The appropriate license is included in all GNU source code distributions and in many of our manuals. We will also send you a printed copy upon request.
Note that the library license actually represents a strategic retreat. We would prefer to insist as much as possible that programs based on GNU software must themselves be free. However, in the case of libraries, we found that insisting they be used only in free software appeared to discourage use of the libraries rather than encouraging free applications.
If the library license does promote the further use and development of free libraries by the developers of proprietary applications, we will put more of the GNU Project libraries under it.
We strongly encourage you to copyleft your programs and documentation, and we have made it as simple as possible for you to do so. The details on how to apply the GPL accompany it.
The Free Software Foundation does not provide any technical support. Although we create software, we leave it to others to earn a living providing support because we would rather concentrate on the former task. We see programmers as providing a service, much as doctors and lawyers now do--both medical and legal knowledge are freely redistributable entities for which the practitioners charge a distribution and service fee.
We maintain a list of people who offer support and other consulting services, called the GNU Service Directory. It is in the file `etc/SERVICE' in the GNU Emacs distribution and `SERVICE' in the GCC distribution. Contact us if you would like a printed copy or wish to be listed in it.
If you find a deficiency in any GNU software, we want to know. We
have many Internet mailing lists for announcements, bug reports,
and questions. They are also gatewayed into USENET news as the
gnu.*
newsgroups.
If you have no Internet access, you can get mail and USENET news via UUCP. Contact a local UUCP site, or a commercial UUCP site such as:
Anterior Technology, P.O. Box 1206, Menlo Park, CA 94026-1206 USA Phone: (415) 328-5615 or FAX: (415) 322-1753 E-mail:[email protected]
UUNET Communications Services, 3110 Fairview Park Drive - Suite 570, Falls Church, VA 22042 USA Phone: (703) 876-5050 E-mail:[email protected]
When we receive a bug report, we usually try to fix the problem. While our bug fixes may seem like individual assistance, they are not. Our task is so large that we must focus on that which helps the community as a whole, such as developing and maintaining software and documentation. We do not have the resources to help individuals. If your bug report does not evoke a solution from us, you may still get one from the many other users who read our bug report mailing lists. Otherwise, use the Service Directory.
So, please do not ask us to help you install the software or figure out how to use it--but do tell us how an installation script does not work or where the documentation is unclear.
[email protected]
. Meanwhile, the
front end itself is rapidly approaching an alpha test state.
If you find that GNU software has been helpful to you, and 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!
by Richard Stallman
Last 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 (U.S. patent number 4,555,775). The X Consortium calls these developments "threatening to University research". 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 U.S. 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 U.S. patent number 4,674,040 which covers "cut and paste between files" in a text editor. Some Emacs extensions are threatened by U.S. patent 4,458,311, which covers "text and numeric processing on same screen." U.S. patent 4,398,249, covering the general spreadsheet technique known as "natural order recalc", threatens its use in GNU software.
In September, just as the FSF was about to release a data compression program using an algorithm developed last spring by Ross Williams, a new patent was issued covering his algorithm. As a result, we had to drop the program--and we still don't know what to use instead.
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.
If you develop software for wide use, chances are you, too, will find you can't do your work without infringing thousands of patents that apply to software. If you fight them one-by-one, it could cost you millions of dollars per lawsuit. Doesn't it make sense for you to join the League for Programming Freedom?
by Richard Stallman
The GNU project has produced one of the best C compilers now in existence. I decided to write a C compiler rather than designing a new, completely clean language because C is the language in which users' programs are written. For a Unix-like system, a C compiler 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, 1991, 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 European Community 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 unprotectable 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--suggesting that Parliament believes the law as written permits copyright on 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?
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 able to support it in the GNU compiler? Not in Europe, and probably not in the US either. And next time you write a program, do you want to be forced to make it incompatible with everything else that exists, just so you don't get sued?
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.
If you'd like to do something, the easiest thing to do is to join the League for Programming Freedom--a grass-roots organization working politically to bring back the freedom to write programs.
From the League membership form:
The League for Programming Freedom is a grass-roots organization of professors, students, business people, programmers and users dedicated to bringing back the freedom to write programs. The League is not opposed to the legal system that Congress intended--copyright on individual programs. Our aim is to reverse the recent changes made by judges in response to special interests.
Membership dues in the League are $42 per year for programmers, managers and professionals; $10.50 for students; $21 for others.
To join, please send a check and the following information to:
League for Programming Freedom 1 Kendall Square - #143 P.O. Box 9171 Cambridge, MA 02139 USA
If you haven't made up your mind yet, phone (617) 243-4091, write to
the League for more information using the address above, or send
Internet mail to [email protected]
.
Ashton-Tate (now a subsidiary of Borland) has offered to drop its look and feel lawsuit against Fox. In response, the League for Programming Freedom has dropped its boycott of Ashton-Tate products.
--Included for the League for Programming Freedom
The biography, John von Neumann and the Origins of Modern Computing (by William Asprey, MIT Press, 1990, pp. 41-45), describes a patent dispute in 1946-47 that Von Neumann had with Eckert and Mauchly over the EDVAC. Von Neumann had been a consultant to the EDVAC project and had contributed to many of the fundamental inventions there. In 1946, Eckert and Mauchly attempted to patent much of the EDVAC technology, including that which von Neumann claimed he had invented.
The fight ended when a draft report on EDVAC that von Neumann had written in 1945 was held to be a prior publication. Thus, all of the inventions in question became part of the public domain.
One result of this dispute was that von Neumann changed the patent policy for his computer project at the Institute for Advanced Studies. The original plan was to have patents assigned to individual engineers. Instead, all ideas were placed in the public domain.
Von Neumann said "This meant, of course, that the situation had taken a turn which is very favorable for us, since we are hardly interested in exclusive patents, but rather in seeing that anything that we contributed to the subject ... remains as accessible as possible to the general public."
by Lester Ingber, Science Transfer Corporation, [email protected]
Most people likely use such GNU products as Emacs, GCC, G++, GDB, Groff, Gnuplot, etc., and other products based in part on these (e.g., taking advantage of the GCC compiler), such as BASH, Oleo, Perl, etc., because of their personal needs to (a) play with/explore new software, (b) take advantage of the superior products offered even as compared to "commercial" vendors, and (c) use inexpensive software. Most likely, most beneficiaries of the GNU software development project are computer scientists/hackers at medium-to-large academic and commercial institutions. They usually are concerned with advantages (a) and (b), and not so much with costs (c).
The need to keep down costs (c), coupled with the requirement for superior state-of-the-art software (b), are crucial for many small-scale scientific projects. Many people, such as myself, who would rather spend more time doing their "science" than playing/grappling with often buggy software which comes along with item (a), still will prefer GNU software because of items (b) and (c). There is a growing awareness, especially in these times of budget deficits and the political push for larger and more expensive projects, that for our nation to survive the severe competition we now face, as well as to simply promote good science--an essential goal of any civilized people--we must find ways to secure "small" science. Many are making the argument that such science is "small" only in monetary costs, that the bulk of really important new developments come from such research.
Recently, to continue my projects, I had no choice but to dip again into
my own pocket to purchase my own computer. I have used many mainframes
and workstations, but always as an end-user in a computer system that
was managed by a specialist. I chose a Sun SparcStation because (1) it
was powerful enough to handle my codes and (2) there seemed to be plenty
of software available for their system. Little did I realize how
important (2) was to my projects! I thought my Sun would
immediately do everything, but I couldn't even laserprint out any of my
thousands of troff
files, and the bundled C compiler was
dreadfully slow!
Then, I discovered the GNU project, and after a few months of grappling with being a computer systems' manager, I now have a system of software that permits me to freely exercise my scientific tools. For example, my paper, "Statistical mechanics of neocortical interactions: A scaling paradigm applied to electroencephalography," Phys. Rev. A, 44:4017-4060, 1991, demonstrates how my theoretical model of the brain can be used to fit EEG (electroencephalographic) data measured on the scalp. This is another of several stringent tests I have applied to my theory; this last test and its publication really required the GNU software, which I definitely could not have afforded to buy even at reasonable commercial rates.
So, my hat's off to Richard Stallman and the other dedicated people on the GNU project. They not only are contributing state-of-the-art software to the computer scientists of the world, but they are playing an extremely important role in promoting small science.
It's not just small scientific projects that reap the benefits of free software. Colin Manning of the JET project had this to say:
For your information, at JET, the world's foremost research project for the development of nuclear fusion technologies for production of electricity, where there are needless to say a large number of computers, GNU software is well used and appreciated. GNU Emacs is used almost universally. GCC/BASH/GAWK and many others likewise. We are (currently) Sparc based.
"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
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 this support.
Eventually, we will implement other filesystems, including traditional
ones like NFS, as well as non-traditional ones such as transparent
access to FTP, and 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.
When Hurd alpha testing begins, we will start in earnest to implement
the network. The plan is to write a library which will enable network
modules from a BSD kernel (many of which are now free) to be "dropped
in" and used with only minimal modification.
Source compatibility with BSD will be provided by the GNU C Library. In
addition, binary compatibility will be provided on some machines using
the system call emulation facilities of Mach.
The system is intended to be source compatible with 4.4 BSD, and POSIX.1
compliant when used with the GNU C Library. Binary compatibility
will be provided on some systems. We have a mailing list to discuss the
design of Hurd. Experts in OS design and seasoned Unix wizards are
welcome to help hash out the details of the interface.
a.out
and COFF format object files when used with a suitable
assembler.
Version 2 of GCC is starting beta test (see "Contents of the
Experimental Tape"). New front ends are being developed, but they are
not part of GCC yet. A front end for Ada is being funded through the
Ada 9X standards committee. Since it is a quite complex language, we
expect completion to take a while. A front end for Fortran is now being
integrated, but this will not be available soon either. Volunteers are
developing front ends for Modula 3 and Pascal. There are mumblings
about other languages, but no one has volunteered to do Cobol
yet.
[email protected]
) coordinates the
release.
malloc
which wastes less memory than
the old GNU malloc
. The GNU regular-expression functions
(regex
) now mostly conform to the POSIX.2 standard. A manual for
the library (including the "system calls") is mostly written.
The C Library will do much of the work of the Unix system calls for the
Hurd. Roland is working on adding support for them.
a.out
and
COFF.
Other new features include improvements to the command language,
watchpoints (breakpoints triggered when the value of an expression
changes), exception handling (when used with GCC Version 2) and support
for SunOS shared libraries and C++ multiple inheritance.
graph
, xplot
and plot2ps
; support
for output in ln03 and TekniCAD TDA file formats; a replacement for the
spline
program; examples of shell scripts using graph
and plot
; the addition of a statistics toolkit; and the use of
configure
for installation.
Existing ports need retesting. Contact Rich Murphey
([email protected]
) if you can help test/port it to anything other
than a SparcStation.
groff
(GNU troff
and related
programs). Version 1.04 is now available. (see "Contents of Utilities
Tape.") New in this release is an implementation of the -mm
macros contributed by Joergen Haegg ([email protected]
).
groff
is written in C++. It can be compiled with GNU
C++ (Version 1.40.3 or later recommended).
Future bugs in groff
will be fixed, but no new development is
currently planned. However, groff
users are encouraged to
continue to contribute enhancements. Most needed are
complete documentation, a grap
emulation (a pic
preprocessor for typesetting graphs), a page-makeup postprocessor
similar to pm
(see Computing Systems, 2:2), and an ASCII
output class for pic
so that pic
can be integrated with
texinfo
.
James would like to take this opportunity to thank everybody who has
contributed bug reports. Please continue to submit them to
[email protected]
ftp
from altdorf.ai.mit.edu
under
`archive/scm' in `jacal0-4.tar.Z' and
`scm3c6.tar.Z'.
The FSF is not distributing this on tape yet. To receive an IBM PC
floppy disk with the source and executable files send $70.00 to: Aubrey
Jaffer, 84 Pleasant St., Wakefield MA 01880, USA.
makeinfo
, a standalone C program that is
independent of GNU Emacs. The Texinfo package is in beta
test.
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. They have translated
Version 1 of the GNU General Public License into Japanese and are
now seeking a lawyer to review their translation of the new GNU Library
General Public License.
Japanese versions of Emacs are available. One is nemacs
(Nihongo
Emacs), widely used in Japan, which works on many systems including i386
MS-DOS machines. A Japanese version of Epoch, nepoch
, is
also available.
If you can, please order GNU software directly from the FSF--every 150
tape orders allows us to hire a programmer for a year to create more
free software. Otherwise, many groups in Japan are distributing GNU
software, including JUG (a PC user group), Nikkei Business
Publications and ASCII (publishers), and the Fujitsu FM Towns users
group. Anonymous UUCP is also now available in Japan; for more
information contact [email protected]
. The FSF does not
distribute nemacs
or nepoch
.
A group connected with the commercial personal computer network in Japan
is writing and distributing a hardware design and associated software
that uses a MIPS-architecture CPU. The OS, called t2
, is a
subset of Unix.
For the first time, people in Japan will be able to contact a company for GNU software support; the company is named Wingnut. The organizers were inspired by the GNU Manifesto. Wingnut will provide two services: porting and customizing GNU software, and answering technical questions (including how to install the software).
A lot of people in Japan wanted to use GNU software, but no organization offered software support. Wingnut plans to provide support services at a reasonable charge, part of which will be donated to the FSF.
We expect that a software support company of this sort will help the GNU project in Japan.
Wishes for this issue are for:
smail
mail delivery system.
[email protected]
for the task list and coding
standards.
[email protected]
.
We offer Unix software source distribution tapes in tar
format on
the following media types: 1600 bpi 9-track reel tape, Sun
QIC-24 cartridges, Hewlett-Packard 16-track cartridges, and IBM RS/6000
1/4" cartridges (an Emacs binary is also on the RS/6000 tape). We also
offer VMS tapes for GNU Emacs and GNU C that include sources and VMS
executables.
The contents of the various 9-track and cartridge tapes for Unix systems
are the same (except for the RS/6000 Emacs tape). Only the media are
different (see the "FSF Order Form"). Documentation comes in Texinfo
format. The GNU software tapes include both texinfo.tex
and
texi2roff
.
Version numbers listed by program names are current at the time this bulletin was published. When you order a distribution tape, some of the programs might be newer, and therefore the version number higher.
The software on this release tape is considered fairly stable, but as always, we welcome your bug reports. Some of the software that has been on this tape in the past has moved to the new Languages and Utilities tapes.
texi2roff
2
Texinfo is a set of utilities that generate printed manuals and
online hypertext-style manuals (called `Info'). The beta-test Texinfo
package contains enhancements to the current suite and an
expanded manual (see "Project GNU Status Report").
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 without TeX (but who have
[gnt]roff
) can print out GNU documentation.
compress
, we will be switching to another
compression algorithm. The online distribution on
prep.ai.mit.edu
will be changed first to give the new
program a trial period. Each tape includes the program that will
uncompress the compressed files on it.This tape contains programming language tools: compilers, interpreters, and related programs (parsers, conversion programs, debuggers, etc.). Many of these programs were on the Compiler tape, which no longer exists.
libg++
1.39.0, and NIH Class Library
2.204a
G++ is a set of changes for GCC that compiles C++, the
well-known object-oriented language. As far as possible, G++ is
kept compatible with the evolving draft ANSI standard, but not with
cfront
(the AT&T compiler), as 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.
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.
dld
3.2.3, and COFF
Support
The GNU assembler (GAS) is a fairly portable, one pass assembler that is
almost twice as fast as Unix as
and works for 32x32, 680x0,
80386, Sparc (Sun 4), and Vax.
We have free versions of ar
, gprof
, ld
, nm
,
ranlib
, size
, and strip
. The GNU linker ld
is fast and the only linker with source-line numbered error messages for
multiply-defined symbols and undefined references.
dld
is a dynamic linker written by W. Wilson Ho. You link
your program with the dld
library, and this enables your program
to load object files dynamically 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
2.3.7 and Bison 1.16
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.
make
3.62, GDB 3.5, and indent
1.1
GNU make
has most of the features of the BSD and System V
versions of make
as well as many of our own extensions,
and complies with POSIX.2. GNU extensions include parallelism,
conditional execution, and text manipulation. Version 3.62 of GNU
make
is fairly stable. make
is also included on the
Utilities tape. The Make Manual comes with the source.
GDB 3.5, the GNU debugger, runs under BSD 4.2/4.3 on Vaxen and Suns (2,
3, 4, & SparcStation), Altos, Convex, HP 9000/370 (BSD), HP 9000/320
(HP/UX), System V 386 systems (with either GNU or native object file
format), ISI Optimum V, Merlin under Utek 2.1, SONY News, Gould NPL & PN
machines, Pyramid, Sequent Symmetry (a 386-based machine), and Encore
under Umax 4.2.
GDB features incremental reading of symbol tables (for fast startup and
less memory use), command-line editing, interactive function calling in
the program being debugged, remote debugging over a serial line, a value
history, and user-defined commands. It can be used to debug C,
C++, and Fortran programs. The GDB Manual includes a
reference card.
indent
is the GNU modified version of the freely-distributable
program from UCB. It contains a `-gnu
' option which formats
C source according to GNU coding standards.
perl
4.019
GAWK is upwardly compatible with the System V Release 4 version of
awk
. The GAWK Manual comes with the software.
GNU Smalltalk is an interpreted object-oriented programming language
system written in portable C. Features include an incremental
garbage collector, a binary image save capability, the ability to invoke
user-written C code and pass parameters to it, a GNU Emacs editing mode,
optional byte code compilation tracing and byte code execution tracing,
and automatically loaded per-user initialization files.
Larry Wall has written a fast program called perl
, which combines
the features of sed
, awk
, sh
, and C. It has all of
the capabilities of the aforementioned programs as well as TCP/IP
socket-manipulation facilities, interfaces to various other system
calls, and C library routines.
gperf
2.1, ae
, f2c
3.2.90, and
gdbm
1.5
gperf
is a "perfect" hash-table generation utility. There are
actually two versions of gperf
, one written in C and one in
C++. Both will produce hash functions in either C or C++.
ae
works with GCC to produce more complete profiling information.
f2c
converts Fortran--77 source files into C or C++.
The gdbm
library is the GNU replacement for the standard
dbm
and ndbm
libraries. gdbm
supports both
formats. gdbm
does not need sparse database formats (unlike its
Unix counterparts).This tape includes all the programs written by the GNU project (as well as some third-party software) that are not on the other two tapes. For the most part, they consist of smaller utilities and miscellaneous applications. As usual, bug reports are welcome. Many of these programs were on the old Emacs tape and the now defunct Compiler tape.
groff
1.04, make
3.62, and
texi2roff
2.0
The GNU Shell, BASH (for Bourne Again SHell), is compatible with the
Unix sh
and offers many extensions found in csh
and
ksh
. BASH has job control, csh
-style command history, and
command-line editing (with Emacs and vi
modes built-in and the
ability to rebind keys). BASH should compile on most systems.
groff
is a document formatting system, which includes
implementations of troff
, pic
, eqn
, tbl
,
refer
, the -man
, -ms
, and -mm
macros, as well as drivers for PostScript, TeX dvi format, and
typewriter-like devices. Also included is a modified version of
the Berkeley -me
macros and an enhanced version of the
X11
xditview
previewer.
The make
program on this tape is the same as the one on the
Languages tape. The texi2roff
here is the same as that on the
Emacs tape.
tar
1.10 and cpio
1.5
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. cpio
is an alternative archive
format to tar
.
diff
1.15, grep
/egrep
1.5,
fgrep
1.1, and patch
2.0.12u5
The diff
and [ef]grep
programs are GNU's versions of the
Unix programs of the same name. They are much faster than their
traditional Unix versions. patch
is Larry Wall's program to
take diff
's output and apply those differences to an original
file to generate the patched version.
diff
, later versions of RCS handle binary files (executables,
object, 8-bit data, etc.). The Concurrent Version System,
CVS, manages software revision and release control in a
multi-developer, multi-directory, multi-group environment. It works
best on top of RCS Versions 4 and above, but will parse older RCS
formats with the loss of CVS's fancier features. See Berliner,
Brian, "CVS-II: Parallelizing Software Development,"
Proceedings of the Winter 1990 USENIX Association
Conference.
chgrp
,
chmod
,
chown
,
cp
,
dd
,
df
,
du
,
install
,
ln
,
ls
,
mkdir
,
mkfifo
,
mknod
,
mv
,
mvdir
,
rm
,
rmdir
, and
touch
.
The "shellutils" contain small commands frequently used on the command
line or in shell scripts:
basename
,
date
,
dirname
,
env
,
expr
,
groups
,
id
,
logname
,
nice
,
nohup
,
pathchk
,
printenv
,
printf
,
sleep
,
stty
,
tee
,
test
,
tty
,
uname
,
whoami
, and
yes
.
The "textutils" are programs that manipulate textual data:
cat
,
cmp
,
comm
,
csplit
,
cut
,
expand
,
fold
,
head
,
join
,
paste
,
pr
,
sort
,
split
,
sum
,
tac
,
tail
,
unexpand
,
uniq
, and
wc
.
gnuplot
3.0
Ghostscript is GNU's graphics language that is almost fully compatible
with Postscript (see "Project GNU Status Report").
gnuplot
is an interactive program for plotting mathematical
expressions and data. Oddly enough, the program was neither written nor
named for the GNU Project--the name is a coincidence.
m4
1.0, sed
1.08, and find
3.2
GNU m4
is an implementation of the traditional Unix
macroprocessor and is mostly System V Release 4 compatible, although it
has some extensions. For example, it handles more than 9 positional
parameters to macros. m4
also has built-in functions for
including files, running shell commands, doing arithmetic, etc.
sed
is a stream-oriented version of ed
, and is used
copiously in shell scripts to manipulate text. find
is used
frequently both interactively and in shell scripts to find files that
match certain criteria and perform operations on them.
elvis
1.4 and screen
2.1c
elvis
is a clone of the vi
/ex
Unix editor. It
supports nearly all of the vi
/ex
commands in both visual
and line mode. elvis
runs under BSD, System V, Xenix, Minix,
MS-DOS, Atari TOS, and should be easily ported to many other systems.
screen
is a terminal multiplexor that allows you to handle
several independent "screens" (ttys) on a single physical terminal.
Each virtual terminal created emulates a DEC VT100 plus several ANSI
X3.64 and ISO 2022 functions.
time
1.2 and tput
1.0
time
is used to time commands (usually from a shell) and report
statistics about the amount of user, system, and approximate real time
used by a process. tput
provides a portable way of allowing
shell scripts to use special terminal capabilities. GNU tput
uses the termcap
database, rather than the usual
terminfo
.
This tape will not be available until March, 1992. This tape includes software that is currently in beta test. Some of the software already has released versions on the distribution tapes. It is available for people who are feeling adventurous. Please do send bug reports to the appropriate addresses (which are listed in the notes for each program on the tape).
a.out
, COFF, Elf and OSF/Rose files when used with a
suitable assembler. GCC 2 can produce debugging information in several
formats: BSD stabs, COFF, ECOFF, ECOFF with stabs symbols, and Dwarf
(debugging on the RS/6000 is not yet supported).
Not all of the Version 1 machine descriptions have been updated yet;
some do not work, and others need work to take full advantage of
instruction scheduling and delay slots. The old machine descriptions
for the Pyramid, Alliant, Tahoe and Spur do not work, but are still
included in the distribution in case you would like to work on them.
There is also a new port for the Tron that also needs updating in order
to work.
In Version 2, using the new configuration scheme, building a
cross-compiler is as easy as building a compiler for the same target
machine. GCC 2 also supports more general calling conventions: it
can pass arguments "by reference" and can preallocate the space
for stack arguments. On the Sparc it uses the standard conventions
for structure arguments, but structure return values still present a
problem. With luck, this too will be fixed soon.
Version 2 of the compiler supports three languages: Objective C, C++,
and C; the source file name selects the language. (The front end
support for Objective C was donated by NeXT.) The runtime support
needed to run Objective C programs is mostly working, but not available
yet.
C has been extended to support nested functions, nonlocal gotos, and
taking the address of a label.
a.out
).
stdio
allows you to define arbitrary streams and to do
printf
and such on those streams. This makes the implementation of
sprintf
particularly easy, as well as allowing more flexibility for
users.
The C library is known to work on HP 9000 series 300s running 4.3 BSD and
Sun4 systems running SunOS 4.1. Someone has built it successfully for an
i860 cross-development environment. Porting is not hard.
The two X11 tapes contain Version 11, Release 5 of the MIT X window system. The first FSF tape contains all the core software, documentation, and some contributed clients. FSF refers to its first tape as the `required' X tape since it is necessary for running X or running GNU Emacs under X. The second, `optional,' FSF tape contains contributed libraries and other toolkits, the Andrew software, games, and other programs.
We offer two VMS tapes. One has just the GNU Emacs editor. The second
contains the GNU C compiler, 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 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. GNU documentation is distributed as Texinfo source files, which yield both typeset hardcopy and on-line presentation via the menu-driven Info system. These manuals, provided with our software, are also available in hardcopy; see the "FSF Order Form" inside the back cover.
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 would like to contribute some funds to our efforts and receive the latest versions, we distribute tapes for a copying and distribution fee (see the "FSF Order Form).
There are also third party groups that distribute our software: they do not work with us, but have our software in other forms. For your convenience we list some of them here (also see "Free Software for Microcomputers"). Please note that the Free Software Foundation is not affiliated with them in any way and is not responsible for either the currency of their versions or the swiftness of their responses.
These TCP/IP Internet sites provide GNU software via anonymous
ftp
(program: ftp
, user: anonymous
, password:
your name, mode: binary
):
archive.eu.net, ftp.funet.fi, isy.liu.se, ftp.diku.dk, ugle.unit.no, ftp.cs.titech.ac.jp, labrea.stanford.edu, jaguar.utah.edu, cc.utah.edu (VMS GNU Emacs), wuarchive.wustl.edu, gatekeeper.dec.com, mango.rsmas.miami.edu (VMS G++), uxc.cso.uiuc.edu, and ftp.uu.net (under `/packages/gnu').
Those on the SPAN network can ask rdss::corbet.
Those on JANET can look under src.doc.ic.ac.uk:/gnu
.
You can get some GNU programs via UUCP. Ohio State University posts
their UUCP instructions regularly to newsgroup comp.sources.d
on
USENET. The following people will send you information via electronic
mail:
hao!scicom!qetzal!upba!ugn!nepa!denny, uunet!hutch!barber, acornrc!bob, hqda-ai!merlin, [email protected], [email protected], [email protected], and [email protected]
For those without Internet access, see the section entitled "Free Software Support" for information on receiving electronic mail via UUCP.
"If I have seen farther, it is by standing on the shoulders of giants."
-Isaac Newton
We do not provide support for GNU software on microcomputers because it
is peripheral to the GNU Project. However, we are willing to publish
information about groups who do so. If you are aware of any such
efforts, please send the details, including postal addresses, archive
sites, and mailing lists, to [email protected]
or to the
postal address on the front cover.
Please do not ask the Free Software Foundation about this microcomputer software. FSF does not maintain it, and has no more information about it.
Boston Computer Society 1 Kendall Square, Bldg 1400 Cambridge, MA 02139 USA Phone: (617) 252-0600
ftp
from:
karazm.math.uh.edu:/pub/Amiga/Gnu (USA), titan.ksc.nasa.gov:/pub/amiga (USA), ftp.funet.fi:/pub/amiga/gnu (Europe)For info on (or offers to help with) the GCC port and related projects, write to Leonard Norrgard,
[email protected]
. For info on
the GNU Emacs port, write 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 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
.
ftp
from
barnacle.erc.clarkson.edu
in the directory
`/pub/msdos/djgpp'.
Demacs
,
a port of GNU Emacs for 386/486 MS-DOS machines. The new version
is 1.2.0 and is the first post-beta release.
Demacs provides several DOS-specific features: support for binary or text
file translation, "8bit clean" display mode, 80x86 software interrupt
calls by an int86
Lisp function, machine specific features such as
function key support, file name completion with drive name, child
processes (suspend-emacs
, call-process
), and an enhanced
Dired mode which can work without `ls.exe'.
Demacs can be obtained via anonymous ftp
from:
utsun.s.u-tokyo.ac.jp:/GNU/demacs (for U.S. users) ftp.sigmath.osaka-u.ac.jp:/pub/Msdos/Demacs wnoc-fuk.wide.ad.jp:/pub/msdos/Demacs
[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, USA,
phone: (315) 268-6455, specify floppy format: 5.25"/1.2 MB
;
5.25"/360K
; or 3.50"/720K.
Thanks to all those mentioned above in "GNUs Flashes", the "Project GNU Status Report", and "GNU Software Available Now".
Thanks to Walter Poxon for serving as coordinator of the GNU Project's volunteer programmers.
Thanks to NCD Corporation for the gift of an X terminal. Thanks to Lucid, Inc. for the loan of an X terminal and for their support of Joe Arceneaux. Thanks to Interleaf, Inc. and Veronika Caslavsky and special thanks to Paul English, Cindy Woolworth, and Lisa Bergen for the loan of a scanner. Thanks to Jerry Peek for the gift of a 386 machine.
Thanks to Chris Thyberg and Carnegie-Mellon University for supporting Tom Lord.
Thanks to Jim Mochel for his help with MS-DOS.
Thanks to the Artificial Intelligence Laboratory and the Laboratory for Computer Science at MIT for their invaluable assistance of many kinds.
Thanks to Chet Ramey for his continuing work on improving BASH.
Thanks again to the Open Software Foundation for their continued support.
Thanks to ASCII Corporation and Village Center, Inc., both of Japan for their donations.
Thanks to the anonymous GNU users in Japan for their gifts.
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 to Cygnus Support for continuing to improve various programs and assisting the GNU Project in other ways.
Thanks go out to all those who have either lent or donated machines, including Hewlett-Packard for 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; Delta Microsystems for an Exabyte tape drive; an anonymous donor for 5 IBM RT computers; Munin Technologies for their donation of a VAX-11/750 and other DEC equipment; and Clement Moritz for donating two reel-to-reel tape drives.
Thanks to all those who have contributed ports and extensions, as well as those who have contributed other source code, documentation, and good bug reports. Thanks to those who sent money and offered help. Thanks also to those who support us by ordering manuals and distribution tapes.
The creation of this bulletin is our way of thanking all who have expressed interest in what we are doing.
this title is for the info-gnu edition. leave it here -len
opus should just ignore it. ;-)
----------------------------------------------------------------------
------- | | Free Software Foundation, Inc. | stamp | 675 Massachusetts Avenue | | Cambridge, MA 02139 | here | USA | | -------
----------------------------------------------------------------------
This document was generated on 7 May 1998 using the texi2html translator version 1.52.
Please send FSF & GNU inquiries & questions to [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) 1992 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.