---
Generator: 'texi2html 1.82'
description: Untitled Document
distribution: global
keywords: Untitled Document
resource-type: document
title: Untitled Document
...
1. Linux and the GNU System {#linux-and-the-gnu-system .chapter}
===========================
Many computer users run a modified version of the GNU
system[(1)](#FOOT1) every day, without realizing it. Through a peculiar
turn of events, the version of GNU which is widely used today is often
called “Linux,” and many of its users are not aware that it is basically
the GNU system, developed by the GNU Project.[(2)](#FOOT2)
There really is a Linux, and these people are using it, but it is just a
part of the system they use. Linux is the kernel: the program in the
system that allocates the machine’s resources to the other programs that
you run. The kernel is an essential part of an operating system, but
useless by itself; it can only function in the context of a complete
operating system. Linux is normally used in combination with the GNU
operating system: the whole system is basically GNU with Linux added, or
GNU/Linux. All the so-called “Linux” distributions are really
distributions of GNU/Linux.
Many users do not understand the difference between the kernel, which is
Linux, and the whole system, which they also call “Linux.” The ambiguous
use of the name doesn’t help people understand. These users often think
that Linus Torvalds developed the whole operating system in 1991, with a
bit of help.
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 that would justify naming the whole system after the
kernel. For example, many believe that once Linus Torvalds finished
writing Linux, the kernel, its users looked around for other free
software to go with it, and found that (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 not-quite-complete GNU
system. The available free software[(3)](#FOOT3) added up to a complete
system because the GNU Project had been working since 1984 to make one.
In the GNU Manifesto[(4)](#FOOT4) we set forth the goal of developing a
free Unix-like system, called GNU. The Initial Announcement[(5)](#FOOT5)
of the GNU Project also outlines some of the original plans for the GNU
system. By the time Linux was started, GNU was almost finished.
@firstcopyingnotice{{@footnoterule Copyright © 1997–2002, 2007, 2014
Richard Stallman\
{This essay was originally published on , in 1997. This
version is part of @fsfsthreecite}
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 (the X
Window System). 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[(6)](#FOOT6) was the largest single
contingent, around 28 percent 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 percent. (The proportions
in 2008 are similar: in the “main” repository of gNewSense, Linux is 1.5
percent and GNU packages are 15 percent.) 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 that is not the deepest 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,[(7)](#FOOT7)
although we did that. It was not a project to develop a text editor,
although we developed one. The GNU Project set out to develop *a
complete free Unix-like system:* GNU.
Many people have made major contributions to the free software in the
system, and they all deserve credit for their software. But the reason
it is *an integrated 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[(8)](#FOOT8) components because
you can’t have a system without them. Some of our system components, the
programming tools, became popular on their own among programmers, but we
wrote many components that are not tools.[(9)](#FOOT9) We even developed
a chess game, GNU Chess, because a complete system needs games too.
By the early 90s we had put together the whole system aside from the
kernel. We had also started a kernel, the GNU Hurd
(), which runs on top of Mach.
Developing this kernel has been a lot harder than we expected; the GNU
Hurd started working reliably in 2001, but it is a long way from being
ready for people to use in general.[(10)](#FOOT10)
Fortunately, we didn’t have to wait for the Hurd, because of Linux. Once
Torvalds freed Linux in 1992, it fit into the last major gap in the GNU
system. People could then combine Linux with the GNU
system[(11)](#FOOT11) to make a complete free system—a version of the
GNU system which also contained Linux. The GNU/Linux system, in other
words.
Making them work well together was not a trivial job. Some GNU
components[(12)](#FOOT12) needed substantial change to work with Linux.
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. Thus, the people who developed the
various system distributions did a lot of essential work. But it was
work that, in the nature of things, was surely going to be done by
someone.
The GNU Project supports GNU/Linux systems as well as *the* GNU system.
The FSF 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. The
FSF also funded an early stage of the development of Debian GNU/Linux.
Today there are many different variants of the GNU/Linux system (often
called “distros”). Most of them include nonfree software—their
developers follow the philosophy associated with Linux rather than that
of GNU. But there are also completely free GNU/Linux
distros.[(13)](#FOOT13) The FSF supports computer facilities for
gNewSense ().
Making a free GNU/Linux distribution is not just a matter of eliminating
various nonfree programs. Nowadays, the usual version of Linux contains
nonfree programs too. These programs are intended to be loaded into I/O
devices when the system starts, and they are included, as long series of
numbers, in the “source code” of Linux. Thus, maintaining free GNU/Linux
distributions now entails maintaining a free version of Linux
() too.
Whether you use GNU/Linux or not, 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
basically the GNU system, with Linux added. When you’re talking about
this combination, please call it “GNU/Linux.”
This article and “The GNU Project” (@pageref{GNU Project}) are good
choices for promoting “GNU/Linux.” If you mention Linux, the kernel, and
want to add a further reference, the FOLDOC (the Free On-Line Dictionary
of Computing) web address, , is a good URL to
use.
### Postscripts {#postscripts .subheading}
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. It was nonfree in the 80s, but became free in
the early 90s. A free operating system that exists today is almost
certainly either a variant of the GNU system, or a kind of BSD
system.[(14)](#FOOT14)
People sometimes ask whether BSD too is a version of GNU, like
GNU/Linux. The BSD developers were inspired to make their code free
software by the example of the GNU Project, and explicit appeals from
GNU activists helped persuade them, but the code had little overlap with
GNU. BSD systems today use some GNU programs, just as the GNU system and
its variants use some BSD programs; however, taken as wholes, they are
two different systems that evolved separately. The BSD developers did
not write a kernel and add it to the GNU system, and a name like GNU/BSD
would not fit the situation.[(15)](#FOOT15)
------------------------------------------------------------------------
This document was generated by *tonghuix* on *March 25, 2016* using
[*texi2html 1.82*](http://www.nongnu.org/texi2html/).\