GNU's Bulletin, vol. 1 no. 9, June 1990

Table of Contents


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: gnu@prep.ai.mit.edu
Cambridge, MA 02139  USA

GNU's Who

Joseph Arceneaux is developing Emacs Version 19. Jim Kingdon is working on GDB. Michael Rowan is writing a login replacement to work with xdm. Roland McGrath will again be on the payroll starting in July; he is finishing up the C library and maintains GNU make. David MacKenzie has been hired as a summer programmer and is maintaining the file utilities.

Brian Fox is maintaining various programs that he has written, including the readline library, the makeinfo and Info programs, BASH, and the new GNU finger. Jay Fenlason continues with the GNU spreadsheet, Oleo, as well as maintaining tar, sed and the GNU assembler.

Mike Haertel continues work on the C interpreter; he is also maintaining and improving the ``bin'' utilities and species of grep. David Lawrence, who works for us at the Rensselaer Polytechnic Institute, is maintaining the Lisp libraries for Emacs. Kathy Hargreaves is now working on Ghostscript, having just finished making the regular expression routines mostly POSIX-compliant. Karl Berry is also working on Ghostscript.

Amy Gorin has been hired as a documentation writer, starting with the manual for tar. Diane Barlow Close continues work on the BASH Programming Manual. Grace Sylvan is writing the GNU C Reference Manual.

S. Opus Goldstein is still doing a great job running our office. Erica Brigid is answering phone calls, handling correspondence, and making distribution tapes. Robert J. Chassell, our Treasurer, is working on an elementary introduction to programming in Emacs Lisp, in addition to the many Foundation issues not related to programming.

Richard Stallman continues as a volunteer who does countless tasks, including refining the C compiler, GNU Emacs, etc., and their documentation. Finally, volunteer Len Tower remains our electronic JOAT (jack-of-all-trades), handling mailing lists and gnUSENET, information requests, and the like.

GNU's Bulletin

Copyright (C) 1990 Free Software Foundation, Inc.

Written by: Michael Rowan, Robert J. Chassell, Richard Stallman, Leonard H. Tower Jr., and Michael Bloom

Illustrations: Etienne Suvasa

Japanese Edition: Mieko Hikichi and Nobuyuki Hikichi

This page is licensed under a Creative Commons Attribution-NoDerivs 3.0 United States License.

What Is the Free Software Foundation?

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 secondary functions: producing tapes and printed manuals of 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 partly from donations and partly from 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: a list of people who offer service for pay to users of GNU programs and systems. The Service Directory is located in file `etc/SERVICE' in the GNU Emacs distribution. Service can mean answering questions for new users, customizing programs, porting to new systems, or anything else. Contact us if you want to be listed or wish a copy.

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.

What Is Copyleft?

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.

``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

GNUs Flashes

Possible New Terms for GNU Libraries

by Richard Stallman

We are considering changing the distribution terms for some GNU libraries, such as libg++ and the (as yet unreleased) C library.

The GNU General Public License was designed for utility programs, such as Emacs and GCC. It makes a sharp distinction between using the program and copying any part of it: Any program containing any significant portion of the GNU program must be freely redistributable to be permitted at all. However, merely using the program (for example, an editor) imposes no restriction on the work that is done with it.

Libraries blur the distinction between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work which is a derivative of the original library, and the ordinary General Public License treats it as such. As a result, developers of proprietary software have not used the GNU libraries.

The goal of the Free Software Foundation is to promote the freedom to share software, for software developers and for users; we develop software for sharing as a means to this end. As a pragmatic matter, if the conditions for use of this software are such that most developers choose not to use it, then we don't achieve the goal. At the same time, if the conditions are so loose that people can use the software without much additional sharing, then we don't achieve the goal.

It seems that the ordinary General Public License is too restrictive for libraries, and is discouraging their use rather than encouraging further sharing. However, it would not be best to do what proprietary software developers ask us to do--to permit completely unrestricted use of our libraries in proprietary software--because then the end users of that software wouldn't get a jot of additional freedom as a consequence of the use of our library. We need to find a proper middle ground.

Our idea is to require the distributor of the proprietary executable to make the source to our library available along with the object files for the rest of the application. The user could then recompile the library (perhaps with changes) and relink to get a usable program. This way the user will, in some sense, get the benefit of the free status of the library within the executable.

However, not all the details are settled, so we aren't announcing the precise new library terms just yet.

League for Programming Freedom

by Michael Bloom and Richard Stallman

The League for Programming Freedom is an organization of people who oppose the attempt to monopolize common user interfaces through "look and feel" copyright lawsuits. Some of us are programmers who worry that such monopolies will obstruct our work. Some of us are users who want new computer systems to be compatible with the interfaces we know.

"Look and feel" lawsuits aim to create a new class of government-enforced monopolies that would be broader in scope than ever before. Such a system of user-interface copyright would impose gratuitous incompatibility, reduce competition, and stifle innovation.

We in the League hope to prevent these problems by preventing user-interface copyright. The League is not opposed to copyright law as it was understood until 1986--i.e., copyright on particular programs. Our aim is to stop changes in the copyright system, which would take away programmers' traditional freedom to write new programs that are compatible with existing programs and practices.

The League for Programming Freedom will act against the doctrine behind look-and-feel suits by any means consistent with the law and intellectual liberty. We will write editorials, talk with public officials, file amicus curiae briefs with the courts, and boycott egregious offenders. If you have other ideas, please suggest them.

The League members are now voting on the question of opposing software patents, which threaten to make every design decision in software development a chance for a lawsuit. The League's founders consider software patents potentially more dangerous than look-and-feel copyright, and the members voting so far seem to agree. Final results will be known at the beginning of June.

The more members we have, the more effective we will be. Even if you cannot donate any time, simply joining will make a difference.

The dues are $42 for professionals, $21 for others, except students whose dues are $10.50. To join, write to:

League for Programming Freedom,
1 Kendall Square #143,
P.O.Box 9171
Cambridge, MA  02139, USA.
Phone: (617) 492-0023.
league@prep.ai.mit.edu

Note that the League for Programming Freedom is a separate organization from the Free Software Foundation; please direct all League inquiries to the above address, not to the Foundation.

Free Software Support

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 monopoly 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.

To help you find support and other consulting services, we maintain a list of people who offer such services. We call this list the GNU Service Directory. This list is contained in the file `etc/SERVICE' in the GNU Emacs distribution. If you want to offer services, you can use this list to help make yourself known. (Contact us if you would like a copy of this directory or wish to be included.)

Most of the listings in the GNU Service Directory are for individuals, but one is for Cygnus Support, which is the first for-profit corporation that we know of that provides support only for free software. Their address is info@cygnus.com or Cygnus Support, 814 University Ave., Palo Alto, CA 94301. FSF is not affiliated with Cygnus Support, but we hope that Cygnus Support is a harbinger of the future.

If you find a deficiency in any GNU software, we want to know. We maintain a considerable number of Internet mailing lists for making announcements, reporting bugs and for asking questions. The Emacs and GCC Manuals have chapters explaining where to send bug reports and what information to put in them. Incidentally, on the larger lists, it is not surprising to see an enquiry answered on the same day it is posted.

These mailing lists are also gatewayed into USENET news. If your site receives USENET, you can follow these discussions using news software. To find out more about the gnu.* newsgroups, ask your system administrator.

If you don't have Internet access, you can receive mail and USENET news with a UUCP connection. Contact either a system administrator at a local UUCP site, or UUNET Communications, which can set up a UUCP connection for a modest fee. (UUNET is a non-profit organization that provides network connections.) You can contact UUNET by e-mail at info@uunet.uu.net or by paper mail at:

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. This may help you in the long run; however, we may not provide you with immediate assistance. This is not and should not be our job. 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 mustn't let ourselves be sidetracked into helping individuals one by one. We do not have the resources. Thus, do tell us how an installation script doesn't work or where the documentation is unclear--but please don't ask us to help you install the software or figure out how to use it.

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 reporting mailing lists. Otherwise, use the Service Directory.

GNU Project Status Report

GNU Wish List

Wishes for this issue are for:

GNU Documentation

GNU is dedicated to having quality, easy-to-use, on-line and printed documentation. 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. Texinfo source yields both a typeset hardcopy and on-line presentations, accessed by a menu-driven system.

The following manuals, provided with our software, are also available in hardcopy; see the order form on the inside back cover.

The Emacs Manual describes the use of GNU Emacs. It also explains advanced features, such as outline mode and regular expression search. The manual tells how to use special modes for programming in languages such as C and Lisp, how to use the tags utility, and how to compile and correct code. It also describes 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, operating system interface, etc.

The Texinfo Manual describes how to write documents in Texinfo source code. It explains the markup language used to create both an Info file and a printed document from the same source file. This tells you how to make tables, lists, chapters, nodes, indices, and cross references. It also describes how to use Texinfo mode in GNU Emacs and catch mistakes.

The Termcap Manual is often described as "Twice as much as you ever wanted to know about Termcap." It describes 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 covers writing grammar descriptions that can be converted into C coded parsers. This manual assumes no prior knowledge of parser generators. It describes the concepts and then provides a series of increasingly complex examples before describing what happens in considerable detail.

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 manipulating language.

The Make Manual describes the GNU Make utility, a program used to rebuild parts of other programs when and as needed. It covers makefile writing, which specifies how a program is to be compiled and what each part of the program depends on.

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.

GNU Software Available Now

We offer Unix software source distribution tapes, plus VMS tapes for GNU Emacs and GNU C that include sources and VMS executables.

The first Unix tape (called the "Release" or "Emacs" tape) contains GNU Emacs as well as various other well-tested programs that we consider reliable. The second Unix tape (called the "Pre-Release" or "Compiler" tape) contains the GNU C compiler, related utilities, and other new programs that are less thoroughly tested. The third and fourth Unix tapes (called the "X11" tapes) contain the X11 distribution from the MIT X Consortium.

The GNU C compiler and various related programs are on a tape that we have called our "Beta Test" tape in the past. However, this software is becoming more stable; to reflect this change, we are renaming the tape the "Pre-Release" tape. (The tape also contains Ghostscript, which is not stable; for the moment, this is the best place to put it.)

Sometime in the Fall, probably in early November, we will introduce a new beta test tape of "experimental" software. We will put new major, test releases of existing more-or-less stable programs such as GCC, Emacs, and GDB on this tape when they appear, as well as new programs such as Smalltalk and the C library. The contents of the "Experimental" tape will fluctuate because versions will move to the other tapes when they become stable. We are calling this the "Experimental" tape to prevent confusion with the older Beta tape.

We will put Ghostscript on the "Experimental" tape when it appears. But as a convenience, we will continue to include it on the "Pre-Release" tape until the current order form expires in January 1991, even though this action is somewhat inconsistent with the tape naming conventions.

Please do not order an "Experimental" tape until at least November, unless you see an announcement sooner than that on the net--we have put nothing on this tape as yet!

See the order form on the inside back cover for details about media, etc. Note that the contents of the 1600bpi 9-track tapes and the QIC-24 DC300XLP 1/4 inch cartridge tapes for Unix systems are the same. It is only the media that are different.

Contents of the Emacs Release Tape

The software on this release tape is considered fairly stable, but as always, we welcome your bug reports.

Contents of the Pre-Release Tape

The programs on this tape are becoming almost stable. The exception is Ghostscript, but which we are carrying on this tape as a convenience until January 1991, when we will distribute it only on the "Experimental" tape. As always, we solicit your comments and bug reports. This tape is also known as the Compiler tape, and used to be known as the "Beta" tape.

Contents of the X11 Tapes

The two X11 tapes contain Version 11, Release 4 of the MIT X window system. X11 is more powerful than, but incompatible with, the no-longer-supported Version 10.

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.)

VMS Emacs and Compiler 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 that you can bootstrap from, because the DEC VMS C compiler has bugs and thus cannot compile GNU C.

Please don't ask us to devote effort to additional VMS support, because it is peripheral to the GNU Project.

How to Get GNU Software

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 access to the Internet, you can get the latest software from the host prep.ai.mit.edu. For more information, read the file `/u/emacs/GETTING.GNU.SOFTWARE' on that host. Please note that the Internet address of prep is 18.71.0.38.

If you cannot get the software from a friend or over the net, or if you would like to contribute some funds to our efforts and receive the latest versions, the Free Software Foundation distributes tapes for a copying and distribution fee. See the order form on the inside back cover.

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, some of them are listed 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 Internet sites provide GNU software via anonymous ftp:

scam.berkeley.edu, itstd.sri.com, wuarchive.wustl.edu,
wsmr-simtel20.army.mil (under `PD:<Unix.GNU>'), bu.edu,
louie.udel.edu, nic.nyser.net, ftp.cs.titech.ac.jp,
funic.funet.fi, sunic.sunet.se, freja.diku.dk,
gatekeeper.dec.com, mango.miami.edu (VMS G++),
cc.utah.edu (VMS GNU Emacs), 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, acornrc!bob,
hqda-ai!merlin, uunet!hutch!barber, sun!nosun!illian!darylm,
oli-stl!root, bigtex!james, postmaster@uunet.uu.net, and
karl@tut.cis.ohio-state.edu (or osu-cis!karl).

Freemacs, an Extensible Editor for MS-DOS

Freemacs, a copylefted MS-DOS editor, is one of the few editors for small machines with a full extension language. It is the only such editor that tries to be compatible with GNU Emacs. For more information contact: nelson@clutx.clarkson.edu, or: Russell Nelson, 11 Grant St., Potsdam, NY, 13676. $15 sent to that address will get you a copy. It is also available for ftp on sun.soe.clarkson.edu. Note that the Free Software Foundation does not distribute Freemacs; please don't ask us about it.

Thank GNUs

Thanks to all those mentioned in GNUs Flashes and the GNU Project Status Report.

Thanks to the Japanese Unix Society for their large gift.

Thanks to Delta Microsystems who just donated an Exabyte tape drive.

Thanks again to the Open Software Foundation for their continued support.

Thanks to Digital Equipment Corporation for their gift.

Thanks to Bil Lewis, Dan LaLiberte, and the volunteers who worked on the Emacs Lisp Reference Manual. Also thanks to Warren A. Hunt, Jr. and Computational Logic, Inc. for their support.

Thanks to the MIT Artificial Intelligence Laboratory & MIT Laboratory for Computer Science for their invaluable assistance of many kinds.

Thanks to Chris Welty as well as the Computer Science Department at Rensselaer Polytechnic Institute for splitting Dave Lawrence's salary with FSF and providing him computing facilities.

Thanks to Prof. Christof Koch of Caltech for his support of Brian Fox.

Thanks to Prof. Paul Hilfinger of the UCB CS Department for allowing Roland McGrath to use UCB resources.

Thanks to the University of Minnesota Department of Computer Science for allowing Mike Haertel to use their computers.

Thanks to Cliff Lasser of Thinking Machines, Inc. for the help with upgrading to SunOS 4.0.

Thanks to Village Center Inc and Nikkei Business Publishing, both of Japan, for their gifts.

Thanks to Information Systems and the Whitaker College Computing Facility at MIT for use of their machines to make our VMS master tapes.

Thanks go out to all those who have either lent or donated machines, including Hewlett-Packard for their donation of six 68030 workstations, Brewster Kahle of Thinking Machines Corp. (TMC) for the Sun 4/110, K. Richard Magill 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/i860 workstation, NeXT for a NeXT 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, and the MIT Laboratory of Computer Science for the DEC Microvax.

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.

                                                -------
                                               |       |
Free Software Foundation, Inc.                 | stamp |
675 Massachusetts Avenue                       |       |
Cambridge, MA  02139  USA                      | here  |
                                               |       |
                                                -------