diff options
Diffstat (limited to 'talermerchantdemos/blog/articles/en/linux-and-gnu.html')
-rw-r--r-- | talermerchantdemos/blog/articles/en/linux-and-gnu.html | 313 |
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 +“Linux”, 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 +“Linux” 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 +“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.</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 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—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 “Linux +distribution”, <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 “main” +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 “GNU”.</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>—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 <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 +— 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 “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.</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 “distros”). Most of them include nonfree +programs—their developers follow +the <a href="/philosophy/open-source-misses-the-point.html">“open +source” philosophy</a> associated with Linux rather than the +<a href="/philosophy/free-software-even-more-important.html">“free +software” 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 “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”.</p> + +<p> +If you want to make a link on “GNU/Linux” 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 & GNU inquiries to +<a href="mailto:gnu@gnu.org"><gnu@gnu.org></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"><webmasters@gnu.org></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"> + <web-translators@gnu.org></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 © 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> |