taler-merchant-demos

Python-based Frontends for the Demonstration Web site
Log | Files | Refs | Submodules | README | LICENSE

linux-and-gnu.html (15601B)


      1 <!--#include virtual="/server/header.html" -->
      2 <!-- Parent-Version: 1.96 -->
      3 <!-- This page is derived from /server/standards/boilerplate.html -->
      4 <!--#set var="TAGS" value="gnulinux" -->
      5 <!--#set var="DISABLE_TOP_ADDENDUM" value="yes" -->
      6 <title>Linux and GNU
      7 - GNU Project - Free Software Foundation</title>
      8 <style type="text/css" media="print,screen"><!--
      9 a.ftn { font-size: .94em; }
     10 --></style>
     11 <meta http-equiv="Keywords" content="GNU, FSF, Free Software Foundation, Linux, Emacs, GCC, Unix, Free Software, Operating System, GNU Kernel, HURD, GNU HURD, Hurd" />
     12 <meta http-equiv="Description" content="Since 1983, developing the free Unix style operating system GNU, so that computer users can have the freedom to share and improve the software they use." />
     13 <!--#include virtual="/gnu/po/linux-and-gnu.translist" -->
     14 <!--#include virtual="/server/banner.html" -->
     15 <!--#include virtual="/gnu/gnu-breadcrumb.html" -->
     16 <!--GNUN: OUT-OF-DATE NOTICE-->
     17 <!--#include virtual="/server/top-addendum.html" -->
     18 <div class="article reduced-width">
     19 <h2>Linux and the GNU System</h2>
     20 
     21 <address class="byline">by <a
     22 href="https://www.stallman.org/">Richard Stallman</a></address>
     23 
     24 <p>
     25 Many computer users run a modified version of
     26 <a href="/philosophy/categories.html#TheGNUsystem">the GNU system</a>
     27 every day, without realizing it.  Through a peculiar turn of events,
     28 the version of GNU which is widely used today is often called
     29 &ldquo;Linux,&rdquo; and many of its users
     30 are <a href="/gnu/gnu-users-never-heard-of-gnu.html"> not aware</a>
     31 that it is basically the GNU system, developed by the
     32 <a href="/gnu/gnu-history.html">GNU Project</a>.</p>
     33 
     34 <div class="announcement comment" role="complementary">
     35 <hr class="no-display" />
     36 <p>For more information see also
     37 the <a href="/gnu/gnu-linux-faq.html">GNU/Linux FAQ</a>,
     38 and <a href="/gnu/why-gnu-linux.html">Why GNU/Linux?</a></p>
     39 <hr class="no-display" />
     40 </div>
     41 
     42 <p>
     43 There really is a Linux, and these people are using it, but it is just
     44 a part of the system they use.  Linux is the kernel: the program in
     45 the system that allocates the machine's resources to the other
     46 programs that you run.  The kernel is an essential part of an
     47 operating system, but useless by itself; it can only function in the
     48 context of a complete operating system.  Linux is normally used in
     49 combination with the GNU operating system: the whole system is
     50 basically GNU with Linux added, or GNU/Linux.  All the so-called
     51 &ldquo;Linux&rdquo; distributions are really distributions of
     52 GNU/Linux.</p>
     53 
     54 <p>
     55 Many users do not understand the difference between the kernel, which
     56 is Linux, and the whole system, which they also call
     57 &ldquo;Linux.&rdquo;  The ambiguous use of the name doesn't help
     58 people understand.  These users often think that Linus Torvalds
     59 developed the whole operating system in 1991, with a bit of help.</p>
     60 
     61 <p>
     62 Programmers generally know that Linux is a kernel.  But since they
     63 have generally heard the whole system called &ldquo;Linux&rdquo; as well, they
     64 often envisage a history that would justify naming the whole system
     65 after the kernel.  For example, many believe that once Linus Torvalds
     66 finished writing Linux, the kernel, its users looked around for other
     67 free software to go with it, and found that (for no particular reason)
     68 most everything necessary to make a Unix-like system was already
     69 available.</p>
     70 
     71 <p>
     72 What they found was no accident&mdash;it was the not-quite-complete GNU
     73 system.  The available <a href="/philosophy/free-sw.html">free
     74 software</a> added up to a complete system because the GNU Project
     75 had been working since 1984 to make one.  In
     76 the <a href="/gnu/manifesto.html"> GNU Manifesto</a> we set forth
     77 the goal of developing a free Unix-like
     78 system, called GNU.  The <a href="/gnu/initial-announcement.html">
     79 Initial Announcement</a> of the GNU Project also outlines some of the
     80 original plans for the GNU system. By the time Linux was started, GNU
     81 was almost finished.</p>
     82 
     83 <p>
     84 Most free software projects have the goal of developing a particular
     85 program for a particular job.  For example, Linus Torvalds set out to
     86 write a Unix-like kernel (Linux); Donald Knuth set out to write a text
     87 formatter (TeX); Bob Scheifler set out to develop a window system (the
     88 X Window System). It's natural to measure the contribution of this
     89 kind of project by specific programs that came from the project.</p>
     90 
     91 <p>
     92 If we tried to measure the GNU Project's contribution in this way,
     93 what would we conclude?  One CD-ROM vendor found that in their &ldquo;Linux
     94 distribution,&rdquo; <a href="/philosophy/categories.html#GNUsoftware">GNU
     95 software</a> was the largest single contingent, around 28% of the
     96 total source code, and this included some of the essential major
     97 components without which there could be no system.  Linux itself was
     98 about 3%.  (The proportions in 2008 are similar: in the &ldquo;main&rdquo;
     99 repository of gNewSense, Linux is 1.5% and GNU packages are 15%.)
    100 So if you were going to pick a name for the system based on
    101 who wrote the programs in the system, the most appropriate single
    102 choice would be &ldquo;GNU.&rdquo;</p>
    103 
    104 <p>
    105 But that is not the deepest way to consider the question.  The GNU
    106 Project was not, is not, a project to develop specific software
    107 packages.  It was not a project <a href="/software/gcc/"> to
    108 develop a C compiler</a>, although we did that.  It was not a project
    109 to develop a text editor, although we developed one.  The GNU Project
    110 set out to develop <em>a complete free Unix-like system</em>: GNU.</p>
    111 
    112 <p>
    113 Many people have made major contributions to the free software in the
    114 system, and they all deserve credit for their software.  But the
    115 reason it is <em>an integrated system</em>&mdash;and not just a
    116 collection of useful programs&mdash;is because the GNU Project set out
    117 to make it one.  We made a list of the programs needed to make
    118 a <em>complete</em> free system, and we systematically found, wrote,
    119 or found people to write everything on the list.  We wrote essential
    120 but unexciting&#8239;<a class="ftn" href="#unexciting">[1]</a> components
    121 because you can't have a system
    122 without them.  Some of our system components, the programming tools,
    123 became popular on their own among programmers, but we wrote many
    124 components that are not tools&#8239;<a class="ftn" href="#nottools">[2]</a>.  We even
    125 developed a chess game, GNU Chess, because a complete system needs
    126 games too.</p>
    127 
    128 <p>
    129 By the early 90s we had put together the whole system aside from the
    130 kernel.  We had also started a kernel, the
    131 <a href="/software/hurd/hurd.html">GNU Hurd</a>, which runs on top of
    132 Mach.  Developing this kernel has been a lot harder than we expected;
    133 <a href="/software/hurd/hurd-and-linux.html">the
    134 GNU Hurd started working reliably in 2001</a>, but it is a long way
    135 from being ready for people to use in general.</p>
    136 
    137 <p>
    138 Fortunately, we didn't have to wait for the Hurd, because of Linux.
    139 Once Torvalds freed Linux in 1992, it fit into the last major gap in
    140 the GNU system.  People could
    141 then <a href="https://ftp.funet.fi/pub/linux/historical/kernel/old-versions/RELNOTES-0.01">
    142 combine Linux with the GNU system</a> to make a complete free system&mdash;a
    143 version of the GNU system which also contained Linux.  The
    144 GNU/Linux system, in other words.</p>
    145 
    146 <p>
    147 Making them work well together was not a trivial job.  Some GNU
    148 components&#8239;<a class="ftn" href="#somecomponents">[3]</a> needed substantial change
    149 to work with Linux.  Integrating a complete system as a distribution
    150 that would work &ldquo;out of the box&rdquo; was a big job, too.  It
    151 required addressing the issue of how to install and boot the
    152 system&mdash;a problem we had not tackled, because we hadn't yet
    153 reached that point.  Thus, the people who developed the various system
    154 distributions did a lot of essential work.  But it was work that, in
    155 the nature of things, was surely going to be done by someone.</p>
    156 
    157 <p>
    158 The GNU Project supports GNU/Linux systems as well as <em>the</em> GNU
    159 system.  The <a href="https://fsf.org/">FSF</a> funded the rewriting of
    160 the Linux-related extensions to the GNU C library, so that now they
    161 are well integrated, and the newest GNU/Linux systems use the current
    162 library release with no changes.  The FSF also funded an early stage
    163 of the development of Debian GNU/Linux.</p>
    164 
    165 <p>
    166 Today there are many different variants of the GNU/Linux system (often
    167 called &ldquo;distros&rdquo;).  Most of them include nonfree
    168 programs&mdash;their developers follow
    169 the <a href="/philosophy/open-source-misses-the-point.html">&ldquo;open
    170 source&rdquo; philosophy</a> associated with Linux rather than the
    171 <a href="/philosophy/free-software-even-more-important.html">&ldquo;free
    172 software&rdquo; philosophy</a> of GNU.  But there are also
    173 <a href="/distros/distros.html">completely free GNU/Linux distros</a>.
    174 The FSF supports computer facilities for a few of them.</p>
    175 
    176 <p>Making a free GNU/Linux distribution is not just a matter of
    177 eliminating various nonfree programs.  Nowadays, the usual version of
    178 Linux contains nonfree programs too.  These programs are intended to
    179 be loaded into I/O devices when the system starts, and they are
    180 included, as long series of numbers, in the &ldquo;source code&rdquo; of Linux.
    181 Thus, maintaining free GNU/Linux distributions now entails maintaining
    182 a <a href="https://directory.fsf.org/project/linux"> free version of
    183 Linux</a> too.</p>
    184 
    185 <p>Whether you use GNU/Linux or not, please don't confuse the public
    186 by using the name &ldquo;Linux&rdquo; ambiguously.  Linux is the
    187 kernel, one of the essential major components of the system.  The
    188 system as a whole is basically the GNU system, with Linux added.  When
    189 you're talking about this combination, please call it
    190 &ldquo;GNU/Linux.&rdquo;</p>
    191 
    192 <p>
    193 If you want to make a link on &ldquo;GNU/Linux&rdquo; for further
    194 reference, this page and <a href="/gnu/thegnuproject.html">
    195 https://www.gnu.org/gnu/thegnuproject.html</a> are good choices.  If
    196 you mention Linux, the kernel, and want to add a link for further
    197 reference, <a href="https://foldoc.org/linux">https://foldoc.org/linux</a> 
    198 is a good URL to use.</p>
    199 <div class="column-limit"></div>
    200 
    201 <h3 class="footnote">Postscripts</h3>
    202 
    203 <p>
    204 Aside from GNU, one other project has independently produced
    205 a free Unix-like operating system.  This system is known as BSD, and
    206 it was developed at UC Berkeley.  It was nonfree in the 80s, but
    207 became free in the early 90s.  A free operating system that exists
    208 today&#8239;<a class="ftn" href="#newersystems">[4]</a> is almost certainly either a
    209 variant of the GNU system, or a kind of BSD system.</p>
    210 
    211 <p>
    212 People sometimes ask whether BSD too is a version of GNU, like
    213 GNU/Linux.  The BSD developers were inspired to make their code free
    214 software by the example of the GNU Project, and explicit appeals from
    215 GNU activists helped persuade them, but the code had little overlap
    216 with GNU.  BSD systems today use some GNU programs, just as the GNU
    217 system and its variants use some BSD programs; however, taken as
    218 wholes, they are two different systems that evolved separately.  The
    219 BSD developers did not write a kernel and add it to the GNU system,
    220 and a name like GNU/BSD would not fit the situation&#8239;<a class="ftn"
    221 href="#gnubsd">[5]</a>.</p>
    222 <div class="column-limit"></div>
    223 
    224 <h3 class="footnote">Footnotes</h3>
    225 <ol>
    226 <li id="unexciting">These unexciting but essential components
    227 include the GNU assembler (GAS) and the linker (GLD), both
    228 are now part of the <a href="/software/binutils/">GNU Binutils</a>
    229 package, <a href="/software/tar/">GNU tar</a>, and many more.</li>
    230 
    231 <li id="nottools">For instance, The Bourne Again SHell (BASH),
    232 the PostScript interpreter
    233 <a href="/software/ghostscript/ghostscript.html">Ghostscript</a>, and the
    234 <a href="/software/libc/libc.html">GNU C library</a> are not
    235 programming tools.  Neither are GNUCash, GNOME, and GNU Chess.</li>
    236 
    237 <li id="somecomponents">For instance, the
    238 <a href="/software/libc/libc.html">GNU C library</a>.</li>
    239 
    240 <li id="newersystems">Since that was written, a nearly-all-free
    241 Windows-like system has been developed, but technically it is not at
    242 all like GNU or Unix, so it doesn't really affect this issue.  Most of
    243 the kernel of Solaris has been made free, but if you wanted to make a
    244 free system out of that, aside from replacing the missing parts of the
    245 kernel, you would also need to put it into GNU or BSD.</li>
    246 
    247 <li id="gnubsd">On the other hand, in the years since this article
    248 was written, the GNU C Library has been ported to several versions of
    249 the BSD kernel, which made it straightforward to combine the GNU system
    250 with that kernel.  Just as with GNU/Linux, these are indeed variants of
    251 GNU, and are therefore called, for instance, GNU/kFreeBSD and
    252 GNU/kNetBSD depending on the kernel of the system.  Ordinary users on
    253 typical desktops can hardly distinguish between GNU/Linux and
    254 GNU/*BSD.</li>
    255 </ol>
    256 </div>
    257 
    258 </div><!-- for id="content", starts in the include above -->
    259 <!--#include virtual="/server/footer.html" -->
    260 <div id="footer" role="contentinfo">
    261 <div class="unprintable">
    262 
    263 <p>Please send general FSF &amp; GNU inquiries to
    264 <a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>.
    265 There are also <a href="/contact/">other ways to contact</a>
    266 the FSF.  Broken links and other corrections or suggestions can be sent
    267 to <a href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.</p>
    268 
    269 <p><!-- TRANSLATORS: Ignore the original text in this paragraph,
    270         replace it with the translation of these two:
    271 
    272         We work hard and do our best to provide accurate, good quality
    273         translations.  However, we are not exempt from imperfection.
    274         Please send your comments and general suggestions in this regard
    275         to <a href="mailto:web-translators@gnu.org">
    276         &lt;web-translators@gnu.org&gt;</a>.</p>
    277 
    278         <p>For information on coordinating and contributing translations of
    279         our web pages, see <a
    280         href="/server/standards/README.translations.html">Translations
    281         README</a>. -->
    282 Please see the <a
    283 href="/server/standards/README.translations.html">Translations
    284 README</a> for information on coordinating and contributing translations
    285 of this article.</p>
    286 </div>
    287 
    288 <!-- Regarding copyright, in general, standalone pages (as opposed to
    289      files generated as part of manuals) on the GNU web server should
    290      be under CC BY-ND 4.0.  Please do NOT change or remove this
    291      without talking with the webmasters or licensing team first.
    292      Please make sure the copyright date is consistent with the
    293      document.  For web pages, it is ok to list just the latest year the
    294      document was modified, or published.
    295      
    296      If you wish to list earlier years, that is ok too.
    297      Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
    298      years, as long as each year in the range is in fact a copyrightable
    299      year, i.e., a year in which the document was published (including
    300      being publicly visible on the web or in a revision control system).
    301      
    302      There is more detail about copyright years in the GNU Maintainers
    303      Information document, www.gnu.org/prep/maintain. -->
    304 
    305 <p>Copyright &copy; 1997-2002, 2005, 2008, 2019, 2021 Richard Stallman</p>
    306 
    307 <p>This page is licensed under a <a rel="license"
    308 href="http://creativecommons.org/licenses/by-nd/4.0/">Creative
    309 Commons Attribution-NoDerivatives 4.0 International License</a>.</p>
    310 
    311 <!--#include virtual="/server/bottom-notes.html" -->
    312 
    313 <p class="unprintable">Updated:
    314 <!-- timestamp start -->
    315 $Date: 2021/11/02 13:20:53 $
    316 <!-- timestamp end -->
    317 </p>
    318 </div>
    319 </div><!-- for class="inner", starts in the banner include -->
    320 </body>
    321 </html>