What's GNU?

Welcome to the inaugural edition of What's GNU?, a semi-regular column on the GNU project. The “semi” in semi-regular means that we expect this column to appear in every issue of Linux Journal, but it may not happen occasionally.

The content will be a mixture of “What is
the GNU project”---history, motivation, status of various parts, in
other words general things, and more in-depth looks at the various
“major” pieces of GNU software, e.g. columns on
gawk, GNU make , Emacs, etc.
If possible, I will solicit articles from the primary authors of
the various programs, in which case I will serve more as an editor.
Occasionally, I will devote a column to some other piece of free
software that may not be part of the GNU project, but which
nonetheless is likely to be of interest to the readers of Linux Journal. Many of these programs are distributed under the same
terms as GNU programs.

While I will always strive to present accurate, up to date
information, this column in no way represents the official
statements and/or policies of the Free Software Foundation.

Here are some questions, and the answers that go with
them.

Q. What is the GNU Project?

A. The GNU project is an ongoing effort on the part of the
Free Software Foundation (FSF) to create a complete, usable,
freely redistributable software development
environment, including both operating system and utilities. In
particular, the FSF has chosen to create a clone of Unix. GNU
source code is copyrighted, using a license that requires you to
distribute or make source code available when you distribute
binaries.

As of this writing, essentially everything but the kernel has
been completed. A future column will list everything that has been
done; hopefully another future column will discuss the status of
the GNU kernel, called the “Hurd”.

By the way, GNU stands for “GNU's Not Unix”. The `G' is
pronounced, it is not silent.

Q. What is the FSF?

A. The Free Software Foundation is a not-for-profit
corporation whose goal is spread the use of free software. To help
this goal, it started the GNU project, described above.

The FSF was founded by Richard Stallman and several others in
approximately 1983. It has a few full-time employees, and a large
number of volunteers working on the GNU project. Contributions to
the FSF are tax-deductible in the US.

A. As used by Richard Stallman and the FSF, the term “free”
means that source code for software is freely available. It does
not mean “no monetary cost”. This has often
been a source of confusion among people who are not familiar with
the FSF and its goals.

The FSF makes sure that its source code is available by
licensing it under the GNU General Public License, or GPL. FSF
source code is not public domain. It is
copyrighted, and distributed with a license that allows you to
modify the code. If you distribute modified versions of FSF
programs (e.g., in binary), the GPL requires you to distribute your
modifications to the code under the same terms as the original
source code. If you never distribute your modifications, then there
is nothing that requires you to distribute your source code,
either.

The GPL will hopefully be the topic of a future column. In
the meantime, if you have a Linux system, you undoubtedly have a
copy of the GPL somewhere, probably in one or more files named
COPYING.

Q. Why is GNU relevant to Linux?

A. It is fair to say that without the GNU project, your Linux
system would not be the usable, fairly complete environment that it
is today. Essentially all your utilities are from the GNU
project—the C compiler, make ,
awk, the shell, the editors, almost all of the
utilities are the GNU versions.

As the GNU developers update the programs, you should be
interested in acquiring and installing these new versions, since
they very likely contain bug fixes, performance enhancements,
and/or new features.

Q. Who is Arnold Robbins and why is he qualified to write
this column?

A. I am a professional programmer who has been working with
various Unix systems since 1981. I have been involved with the GNU
project as a volunteer since 1988. The main program I have worked
with is gawk--GNU Awk. I am both a co-author of
the program and the primary author of the accompanying manual that
documents the Awk language and the gawk
implementation. I also wrote some of the smaller miscellanious
programs in the Shell Utilities package.

I am also a user (and debugger) of many of the major GNU
programs, such as the C and C++ compilers ([ all of these in cw ],
gcc, g++), the debugger gdb, and the grep and diff suites.

As a developer and user, I interact with many of the other
developers of GNU tools, and in general I attempt to “keep my
finger on the pulse” of the GNU project.

But, as I'm neither a paid employee nor an official of the
FSF, anything I write in this column is my own interpretation of
things. If you are in doubt about something, always contact the FSF
directly; never just take my word for it.

Q. What is the history of the GNU Project?

A. Richard Stallman started the GNU Project in 1983. The
first programs released were Emacs and gdb, the
debugger. Since then, the project has grown. As of this writing,
essentially everything but the middle third of the kernel exists
and is fairly stable. Much documentation needs to be written, and
work is proceeding on the kernel. Contact
gnu@prep.ai.mit.edu
for a list of tasks that remain to be initiated.

Q. Why did Richard Stallman start the GNU project?

A. We'll let RMS (as he's known) answer that one himself.
Included below is a document known as the “GNU Manifesto”. It was
last modified in 1985. This version comes from the Emacs 19.22
distribution.