Re: UDI and Free Software

Simon Kenyon (simon@koala.ie)
Fri, 09 Oct 1998 18:02:03 +0100 (BST)


On 09-Oct-98 Nathan Hand wrote:
> I see nothing wrong with this statement, nor do I see an alleged attempt
> to rewrite history. What exactly do you think is wrong with a claim that
> basically translates into "respect given where respect due"?

i quote from <a href="http://www.fsf.org/gnu/linux-and-gnu.html">this document
by rms</a>

"Many computer users run a modified version of the GNU system (18k characters)
every day, without realizing it. Through a
peculiar turn of events, the version of GNU which is widely used today is more
often known as ``Linux'', and many users are not
aware of the extent of its connection with the GNU Project.

There really is a Linux; it is a kernel, and these people are using it. But you
can't use a kernel by itself; a kernel is useful only as
part of a whole operating system. The system in which Linux is typically used
is a modified variant of the GNU system--in other
words, a Linux-based GNU system.

Many users are not fully aware of the distinction between the kernel, which is
Linux, and the whole system, which they also call
``Linux''. The ambiguous use of the name doesn't promote understanding.

Programmers generally know that Linux is a kernel. But since they have
generally heard the whole system called ``Linux'' as well,
they often envisage a history which fits that name. For example, many believe
that once Linus Torvalds finished writing the
kernel, his friends looked around for other free software, and for no
particular reason most everything necessary to make a
Unix-like system was already available.

What they found was no accident--it was the GNU system. The available free
software added up to a complete system because
the GNU Project had been working since 1984 to make one. The GNU Manifesto (31k
characters) had set forth the goal of
developing a free Unix-like system, called GNU. By the time Linux was written,
the system was almost finished.

Most free software projects have the goal of developing a particular program
for a particular job. For example, Linus Torvalds set
out to write a Unix-like kernel (Linux); Donald Knuth set out to write a text
formatter (TeX); Bob Scheifler set out to develop a
window system (X Windows). It's natural to measure the contribution of this
kind of project by specific programs that came from
the project.

If we tried to measure the GNU Project's contribution in this way, what would
we conclude? One CD-ROM vendor found that in
their ``Linux distribution'', GNU software was the largest single contingent,
around 28% of the total source code, and this
included some of the essential major components without which there could be no
system. Linux itself was about 3%. So if you
were going to pick a name for the system based on who wrote the programs in the
system, the most appropriate single choice
would be ``GNU''.

But we don't think that is the right way to consider the question. The GNU
Project was not, is not, a project to develop specific
software packages. It was not a project to develop a C compiler, although we
did. It was not a project to develop a text editor,
although we developed one. The GNU Project's aim was to develop a complete free
Unix-like system.

Many people have made major contributions to the free software in the system,
and they all deserve credit. But the reason it is a
system--and not just a collection of useful programs--is because the GNU
Project set out to make it one. We made a list of the
programs needed to make a complete free system, and we systematically found,
wrote, or found people to write everything on the
list. We wrote essential but unexciting major components, such as the assembler
and linker, because you can't have a system
without them. A complete system needs more than just programming tools; the
Bourne Again SHell, the PostScript interpreter
Ghostscript, and the GNU C library are just as important.

By the early 90s we had put together the whole system aside from the kernel
(and we were also working on a kernel, the GNU
Hurd, which runs on top of Mach). Developing this kernel has been a lot harder
than we expected, and we are still working on
finishing it.

Fortunately, you don't have to wait for it, because Linux is working now. When
Linus Torvalds wrote Linux, he filled the last
major gap. People could then put Linux together with the GNU system to make a
complete free system: a Linux-based GNU
system (or GNU/Linux system, for short).

Putting them together sounds simple, but it was not a trivial job. The GNU C
library (called glibc for short) needed substantial
changes. Integrating a complete system as a distribution that would work ``out
of the box'' was a big job, too. It required
addressing the issue of how to install and boot the system--a problem we had
not tackled, because we hadn't yet reached that
point. The people who developed the various system distributions made a
substantial contribution.

Aside from GNU, one other project has independently produced a free Unix-like
operating system. This system is known as
BSD, and it was developed at UC Berkeley. The BSD developers were inspired by
the example of the GNU Project, and
occasionally encouraged by GNU activists, but their actual work had little
overlap with GNU. BSD systems today use some GNU
software, just as the GNU system and its variants use some BSD software; but
taken as wholes, they are two different systems
which evolved separately. A free operating system that exists today is almost
certainly either a variant of the GNU system, or a
kind of BSD system.

The GNU Project supports GNU/Linux systems as well as the GNU system--even with
funds. We funded the rewriting of the
Linux-related extensions to the GNU C library, so that now they are well
integrated, and the newest GNU/Linux systems use the
current library release with no changes. We also funded an early stage of the
development of Debian GNU/Linux.

We use Linux-based GNU systems today for most of our work, and we hope you use
them too. But please don't confuse the
public by using the name ``Linux'' ambiguously. Linux is the kernel, one of the
essential major components of the system. The
system as a whole is more or less the GNU system.

Copyright 1997, 1998 Richard Stallman
Verbatim copying and redistribution is permitted without royalty as long as
this notice is preserved."

if that is not dismissive of linus then i don't know what is

--
simon

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/