summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/en/linux-and-gnu.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/en/linux-and-gnu.html')
-rw-r--r--talermerchantdemos/blog/articles/en/linux-and-gnu.html313
1 files changed, 313 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/en/linux-and-gnu.html b/talermerchantdemos/blog/articles/en/linux-and-gnu.html
new file mode 100644
index 0000000..ca45253
--- /dev/null
+++ b/talermerchantdemos/blog/articles/en/linux-and-gnu.html
@@ -0,0 +1,313 @@
+<!--#include virtual="/server/header.html" -->
+<!-- Parent-Version: 1.90 -->
+<title>Linux and GNU
+- GNU Project - Free Software Foundation</title>
+<meta http-equiv="Keywords" content="GNU, FSF, Free Software Foundation, Linux, Emacs, GCC, Unix, Free Software, Operating System, GNU Kernel, HURD, GNU HURD, Hurd" />
+<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." />
+<!--#include virtual="/gnu/po/linux-and-gnu.translist" -->
+<!--#include virtual="/server/banner.html" -->
+<h2>Linux and the GNU System</h2>
+
+<p><strong>by <a href="http://www.stallman.org/">Richard Stallman</a></strong></p>
+
+<div class="announcement">
+ <blockquote><p>For more information see also
+the <a href="/gnu/gnu-linux-faq.html">GNU/Linux FAQ</a>,
+and <a href="/gnu/why-gnu-linux.html">Why GNU/Linux?</a></p>
+ </blockquote>
+</div>
+
+<p>
+Many computer users run a modified version of
+<a href="/philosophy/categories.html#TheGNUsystem">the GNU system</a>
+every day, without realizing it. Through a peculiar turn of events,
+the version of GNU which is widely used today is often called
+&ldquo;Linux&rdquo;, and many of its users
+are <a href="/gnu/gnu-users-never-heard-of-gnu.html"> not aware</a>
+that it is basically the GNU system, developed by the
+<a href="/gnu/gnu-history.html">GNU Project</a>.</p>
+
+<p>
+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
+&ldquo;Linux&rdquo; distributions are really distributions of
+GNU/Linux.</p>
+
+<p>
+Many users do not understand the difference between the kernel, which
+is Linux, and the whole system, which they also call
+&ldquo;Linux&rdquo;. 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.</p>
+
+<p>
+Programmers generally know that Linux is a kernel. But since they
+have generally heard the whole system called &ldquo;Linux&rdquo; 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.</p>
+
+<p>
+What they found was no accident&mdash;it was the not-quite-complete GNU
+system. The available <a href="/philosophy/free-sw.html">free
+software</a> added up to a complete system because the GNU Project
+had been working since 1984 to make one. In
+the <a href="/gnu/manifesto.html"> GNU Manifesto</a> we set forth
+the goal of developing a free Unix-like
+system, called GNU. The <a href="/gnu/initial-announcement.html">
+Initial Announcement</a> 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.</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 (the
+X Window System). 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 &ldquo;Linux
+distribution&rdquo;, <a href="/philosophy/categories.html#GNUsoftware">GNU
+software</a> 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%. (The proportions in 2008 are similar: in the &ldquo;main&rdquo;
+repository of gNewSense, Linux is 1.5% and GNU packages are 15%.)
+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 &ldquo;GNU&rdquo;.</p>
+
+<p>
+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 <a href="/software/gcc/"> to
+develop a C compiler</a>, 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 <em>a complete free Unix-like system</em>: GNU.</p>
+
+<p>
+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 <em>an integrated system</em>&mdash;and not just a
+collection of useful programs&mdash;is because the GNU Project set out
+to make it one. We made a list of the programs needed to make
+a <em>complete</em> free system, and we systematically found, wrote,
+or found people to write everything on the list. We wrote essential
+but unexciting
+<a href="#unexciting">(1)</a> 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 <a href="#nottools">(2)</a>. We even
+developed a chess game, GNU Chess, because a complete system needs
+games too.</p>
+
+<p>
+By the early 90s we had put together the whole system aside from the
+kernel. We had also started a kernel, the
+<a href="/software/hurd/hurd.html">GNU Hurd</a>, which runs on top of
+Mach. Developing this kernel has been a lot harder than we expected;
+<a href="/software/hurd/hurd-and-linux.html">the
+GNU Hurd started working reliably in 2001</a>, but it is a long way
+from being ready for people to use in general.</p>
+
+<p>
+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 <a href="http://ftp.funet.fi/pub/linux/historical/kernel/old-versions/RELNOTES-0.01">
+combine Linux with the GNU system</a> to make a complete free system
+&mdash; a version of the GNU system which also contained Linux. The
+GNU/Linux system, in other words.</p>
+
+<p>
+Making them work well together was not a trivial job. Some GNU
+components<a href="#somecomponents">(3)</a> needed substantial change
+to work with Linux. Integrating a complete system as a distribution
+that would work &ldquo;out of the box&rdquo; was a big job, too. It
+required addressing the issue of how to install and boot the
+system&mdash;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.</p>
+
+<p>
+The GNU Project supports GNU/Linux systems as well as <em>the</em> GNU
+system. The <a href="http://fsf.org/">FSF</a> 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.</p>
+
+<p>
+Today there are many different variants of the GNU/Linux system (often
+called &ldquo;distros&rdquo;). Most of them include nonfree
+programs&mdash;their developers follow
+the <a href="/philosophy/open-source-misses-the-point.html">&ldquo;open
+source&rdquo; philosophy</a> associated with Linux rather than the
+<a href="/philosophy/free-software-even-more-important.html">&ldquo;free
+software&rdquo; philosophy</a> of GNU. But there are also
+<a href="/distros/distros.html">completely free GNU/Linux distros</a>.
+The FSF supports computer facilities for a few of them.</p>
+
+<p>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 <a href="http://directory.fsf.org/project/linux"> free version of
+Linux</a> too.</p>
+
+<p>Whether you use GNU/Linux or not, please don't confuse the public
+by using the name &ldquo;Linux&rdquo; 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
+&ldquo;GNU/Linux&rdquo;.</p>
+
+<p>
+If you want to make a link on &ldquo;GNU/Linux&rdquo; for further
+reference, this page and <a href="/gnu/the-gnu-project.html">
+http://www.gnu.org/gnu/the-gnu-project.html</a> are good choices. If
+you mention Linux, the kernel, and want to add a link for further
+reference, <a href="http://foldoc.org/linux">http://foldoc.org/linux</a>
+is a good URL to use.</p>
+
+<h3>Postscripts</h3>
+
+<p>
+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<a href="#newersystems">(4)</a> is almost certainly either a
+variant of the GNU system, or a kind of BSD system.</p>
+
+<p>
+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.<a
+href="#gnubsd">(5)</a></p>
+
+<h3>Notes:</h3>
+<ol>
+<li>
+<a id="unexciting"></a>These unexciting but essential components
+include the GNU assembler (GAS) and the linker (GLD), both
+are now part of the <a href="/software/binutils/">GNU Binutils</a>
+package, <a href="/software/tar/">GNU tar</a>, and many more.</li>
+
+<li>
+<a id="nottools"></a>For instance, The Bourne Again SHell (BASH),
+the PostScript interpreter
+<a href="/software/ghostscript/ghostscript.html">Ghostscript</a>, and the
+<a href="/software/libc/libc.html">GNU C library</a> are not
+programming tools. Neither are GNUCash, GNOME, and GNU Chess.</li>
+
+<li>
+<a id="somecomponents"></a>For instance, the
+<a href="/software/libc/libc.html">GNU C library</a>.</li>
+
+<li>
+<a id="newersystems"></a>Since that was written, a nearly-all-free
+Windows-like system has been developed, but technically it is not at
+all like GNU or Unix, so it doesn't really affect this issue. Most of
+the kernel of Solaris has been made free, but if you wanted to make a
+free system out of that, aside from replacing the missing parts of the
+kernel, you would also need to put it into GNU or BSD.</li>
+
+<li>
+<a id="gnubsd"></a>On the other hand, in the years since this article
+was written, the GNU C Library has been ported to several versions of
+the BSD kernel, which made it straightforward to combine the GNU system
+with that kernel. Just as with GNU/Linux, these are indeed variants of
+GNU, and are therefore called, for instance, GNU/kFreeBSD and
+GNU/kNetBSD depending on the kernel of the system. Ordinary users on
+typical desktops can hardly distinguish between GNU/Linux and
+GNU/*BSD.</li>
+
+</ol>
+
+</div><!-- for id="content", starts in the include above -->
+<!--#include virtual="/server/footer.html" -->
+<div id="footer">
+<div class="unprintable">
+
+<p>Please send general FSF &amp; GNU inquiries to
+<a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>.
+There are also <a href="/contact/">other ways to contact</a>
+the FSF. Broken links and other corrections or suggestions can be sent
+to <a href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.</p>
+
+<p><!-- TRANSLATORS: Ignore the original text in this paragraph,
+ replace it with the translation of these two:
+
+ We work hard and do our best to provide accurate, good quality
+ translations. However, we are not exempt from imperfection.
+ Please send your comments and general suggestions in this regard
+ to <a href="mailto:web-translators@gnu.org">
+ &lt;web-translators@gnu.org&gt;</a>.</p>
+
+ <p>For information on coordinating and submitting translations of
+ our web pages, see <a
+ href="/server/standards/README.translations.html">Translations
+ README</a>. -->
+Please see the <a
+href="/server/standards/README.translations.html">Translations
+README</a> for information on coordinating and submitting translations
+of this article.</p>
+</div>
+
+<!-- Regarding copyright, in general, standalone pages (as opposed to
+ files generated as part of manuals) on the GNU web server should
+ be under CC BY-ND 4.0. Please do NOT change or remove this
+ without talking with the webmasters or licensing team first.
+ Please make sure the copyright date is consistent with the
+ document. For web pages, it is ok to list just the latest year the
+ document was modified, or published.
+
+ If you wish to list earlier years, that is ok too.
+ Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
+ years, as long as each year in the range is in fact a copyrightable
+ year, i.e., a year in which the document was published (including
+ being publicly visible on the web or in a revision control system).
+
+ There is more detail about copyright years in the GNU Maintainers
+ Information document, www.gnu.org/prep/maintain. -->
+
+<p>Copyright &copy; 1997, 1998, 1999, 2000, 2001, 2002,
+2007, 2014, 2015, 2016, 2017, 2019 Richard M. Stallman</p>
+
+<p>This page is licensed under a <a rel="license"
+href="http://creativecommons.org/licenses/by-nd/4.0/">Creative
+Commons Attribution-NoDerivatives 4.0 International License</a>.</p>
+
+<!--#include virtual="/server/bottom-notes.html" -->
+
+<p class="unprintable">Updated:
+<!-- timestamp start -->
+$Date: 2019/12/30 11:28:30 $
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+</body>
+</html>