170 lines
8.8 KiB
HTML
170 lines
8.8 KiB
HTML
<HTML>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<!-- Created on March, 17 2001 by texi2html 1.64 -->
|
|
<!--
|
|
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
|
|
Karl Berry <karl@freefriends.org>
|
|
Olaf Bachmann <obachman@mathematik.uni-kl.de>
|
|
and many others.
|
|
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
|
|
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
|
|
|
|
-->
|
|
<HEAD>
|
|
<TITLE>Using and Porting the GNU Compiler Collection (GCC): GNU/Linux</TITLE>
|
|
|
|
<META NAME="description" CONTENT="Using and Porting the GNU Compiler Collection (GCC): GNU/Linux">
|
|
<META NAME="keywords" CONTENT="Using and Porting the GNU Compiler Collection (GCC): GNU/Linux">
|
|
<META NAME="resource-type" CONTENT="document">
|
|
<META NAME="distribution" CONTENT="global">
|
|
<META NAME="Generator" CONTENT="texi2html 1.64">
|
|
|
|
</HEAD>
|
|
|
|
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
|
|
|
<A NAME="SEC256"></A>
|
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_20.html#SEC255" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_20.html#SEC255"> < </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_22.html#SEC257" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_22.html#SEC257"> > </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc.html#SEC_Top" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc.html#SEC_Top"> Up </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc.html#SEC_Top" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc.html#SEC_Top">Top</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_toc.html#SEC_Contents" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_toc.html#SEC_Contents">Contents</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_24.html#SEC261" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_24.html#SEC261">Index</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_abt.html#SEC_About" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_abt.html#SEC_About"> ? </A>]</TD>
|
|
</TR></TABLE>
|
|
<H1> Linux and the GNU Project </H1>
|
|
<!--docid::SEC256::-->
|
|
<P>
|
|
|
|
Many computer users run a modified version of the GNU system 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.
|
|
</P><P>
|
|
|
|
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 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.
|
|
</P><P>
|
|
|
|
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.
|
|
</P><P>
|
|
|
|
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.
|
|
</P><P>
|
|
|
|
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
|
|
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.
|
|
</P><P>
|
|
|
|
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.
|
|
</P><P>
|
|
|
|
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".
|
|
</P><P>
|
|
|
|
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
|
|
<EM>a complete free Unix-like system</EM>.
|
|
</P><P>
|
|
|
|
Many people have made major contributions to the free software in the
|
|
system, and they all deserve credit. But the reason it is <EM>a
|
|
system</EM>---and not just a collection of useful programs--is because the
|
|
GNU Project set out to make it one. We wrote the programs that were
|
|
needed to make a <EM>complete</EM> free system. 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, so we wrote other components as well,
|
|
such as the Bourne Again SHell, the PostScript interpreter
|
|
Ghostscript, and the GNU C library.
|
|
</P><P>
|
|
|
|
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.
|
|
</P><P>
|
|
|
|
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).
|
|
</P><P>
|
|
|
|
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.
|
|
</P><P>
|
|
|
|
The GNU Project supports GNU/Linux systems as well as <EM>the</EM>
|
|
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.
|
|
</P><P>
|
|
|
|
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.
|
|
</P><P>
|
|
|
|
<A NAME="Copying"></A>
|
|
<HR SIZE="6">
|
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc.html#SEC_Top" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc.html#SEC_Top">Top</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_toc.html#SEC_Contents" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_toc.html#SEC_Contents">Contents</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_24.html#SEC261" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_24.html#SEC261">Index</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_abt.html#SEC_About" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_abt.html#SEC_About"> ? </A>]</TD>
|
|
</TR></TABLE>
|
|
<BR>
|
|
<FONT SIZE="-1">
|
|
This document was generated
|
|
by <I>GCC Administrator</I> on <I>March, 17 2001</I>
|
|
using <A HREF="tppmsgs/msgs0.htm#1" tppabs="http://www.mathematik.uni-kl.de/~obachman/Texi2html"><I>texi2html</I></A>
|
|
|
|
</BODY>
|
|
</HTML>
|