Linux and GNU - GNU Project (2024)

Linux and the GNU System

by Richard Stallman

Many computer users run a modified version ofthe GNU systemevery 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 usersare not awarethat it is basically the GNU system, developed by theGNU Project.

For more information see alsothe GNU/Linux FAQ,and Why GNU/Linux?

There really is a Linux, and these people are using it, but it is justa part of the system they use. Linux is the kernel: the program inthe system that allocates the machine's resources to the otherprograms that you run. The kernel is an essential part of anoperating system, but useless by itself; it can only function in thecontext of a complete operating system. Linux is normally used incombination with the GNU operating system: the whole system isbasically GNU with Linux added, or GNU/Linux. All the so-called“Linux” distributions are really distributions ofGNU/Linux.

Many users do not understand the difference between the kernel, whichis Linux, and the whole system, which they also call“Linux.” The ambiguous use of the name doesn't helppeople understand. These users often think that Linus Torvaldsdeveloped the whole operating system in 1991, with a bit of help.

Programmers generally know that Linux is a kernel. But since theyhave generally heard the whole system called “Linux” as well, theyoften envisage a history that would justify naming the whole systemafter the kernel. For example, many believe that once Linus Torvaldsfinished writing Linux, the kernel, its users looked around for otherfree software to go with it, and found that (for no particular reason)most everything necessary to make a Unix-like system was alreadyavailable.

What they found was no accident—it was the not-quite-complete GNUsystem. The available freesoftware added up to a complete system because the GNU Projecthad been working since 1984 to make one. Inthe GNU Manifesto we set forththe goal of developing a free Unix-likesystem, called GNU. The Initial Announcement of the GNU Project also outlines some of theoriginal plans for the GNU system. By the time Linux was started, GNUwas almost finished.

Most free software projects have the goal of developing a particularprogram for a particular job. For example, Linus Torvalds set out towrite a Unix-like kernel (Linux); Donald Knuth set out to write a textformatter (TeX); Bob Scheifler set out to develop a window system (theX Window System). It's natural to measure the contribution of thiskind 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 “Linuxdistribution,” GNUsoftware was the largest single contingent, around 28% of thetotal source code, and this included some of the essential majorcomponents without which there could be no system. Linux itself wasabout 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 onwho wrote the programs in the system, the most appropriate singlechoice would be “GNU.”

But that is not the deepest way to consider the question. The GNUProject was not, is not, a project to develop specific softwarepackages. It was not a project todevelop a C compiler, although we did that. It was not a projectto develop a text editor, although we developed one. The GNU Projectset out to develop a complete free Unix-like system: GNU.

Many people have made major contributions to the free software in thesystem, and they all deserve credit for their software. But thereason it is an integrated system—and not just acollection of useful programs—is because the GNU Project set outto make it one. We made a list of the programs needed to makea complete free system, and we systematically found, wrote,or found people to write everything on the list. We wrote essentialbut unexciting [1] componentsbecause you can't have a systemwithout them. Some of our system components, the programming tools,became popular on their own among programmers, but we wrote manycomponents that are not tools [2]. We evendeveloped a chess game, GNU Chess, because a complete system needsgames too.

By the early 90s we had put together the whole system aside from thekernel. We had also started a kernel, theGNU Hurd, which runs on top ofMach. Developing this kernel has been a lot harder than we expected;theGNU Hurd started working reliably in 2001, but it is a long wayfrom being ready for people to use in general.

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 inthe GNU system. People couldthen combine Linux with the GNU system to make a complete free system—aversion of the GNU system which also contained Linux. TheGNU/Linux system, in other words.

Making them work well together was not a trivial job. Some GNUcomponents [3] needed substantial changeto work with Linux. Integrating a complete system as a distributionthat would work “out of the box” was a big job, too. Itrequired addressing the issue of how to install and boot thesystem—a problem we had not tackled, because we hadn't yetreached that point. Thus, the people who developed the various systemdistributions did a lot of essential work. But it was work that, inthe nature of things, was surely going to be done by someone.

The GNU Project supports GNU/Linux systems as well as the GNUsystem. The FSF funded the rewriting ofthe Linux-related extensions to the GNU C library, so that now theyare well integrated, and the newest GNU/Linux systems use the currentlibrary release with no changes. The FSF also funded an early stageof the development of Debian GNU/Linux.

Today there are many different variants of the GNU/Linux system (oftencalled “distros”). Most of them include nonfreeprograms—their developers followthe “opensource” philosophy associated with Linux rather than the“freesoftware” philosophy of GNU. But there are alsocompletely free GNU/Linux distros.The FSF supports computer facilities for a few of them.

Making a free GNU/Linux distribution is not just a matter ofeliminating various nonfree programs. Nowadays, the usual version ofLinux contains nonfree programs too. These programs are intended tobe loaded into I/O devices when the system starts, and they areincluded, as long series of numbers, in the “source code” of Linux.Thus, maintaining free GNU/Linux distributions now entails maintaininga free version ofLinux too.

Whether you use GNU/Linux or not, please don't confuse the publicby using the name “Linux” ambiguously. Linux is thekernel, one of the essential major components of the system. Thesystem as a whole is basically the GNU system, with Linux added. Whenyou're talking about this combination, please call it“GNU/Linux.”

If you want to make a link on “GNU/Linux” for furtherreference, this page and https://www.gnu.org/gnu/thegnuproject.html are good choices. Ifyou mention Linux, the kernel, and want to add a link for furtherreference, https://foldoc.org/linux is a good URL to use.

Postscripts

Aside from GNU, one other project has independently produceda free Unix-like operating system. This system is known as BSD, andit was developed at UC Berkeley. It was nonfree in the 80s, butbecame free in the early 90s. A free operating system that existstoday [4] is almost certainly either avariant of the GNU system, or a kind of BSD system.

People sometimes ask whether BSD too is a version of GNU, likeGNU/Linux. The BSD developers were inspired to make their code freesoftware by the example of the GNU Project, and explicit appeals fromGNU activists helped persuade them, but the code had little overlapwith GNU. BSD systems today use some GNU programs, just as the GNUsystem and its variants use some BSD programs; however, taken aswholes, they are two different systems that evolved separately. TheBSD developers did not write a kernel and add it to the GNU system,and a name like GNU/BSD would not fit the situation [5].

Footnotes

  1. These unexciting but essential componentsinclude the GNU assembler (GAS) and the linker (GLD), bothare now part of the GNU Binutilspackage, GNU tar, and many more.
  2. For instance, The Bourne Again SHell (BASH),the PostScript interpreterGhostscript, and theGNU C library are notprogramming tools. Neither are GNUCash, GNOME, and GNU Chess.
  3. For instance, theGNU C library.
  4. Since that was written, a nearly-all-freeWindows-like system has been developed, but technically it is not atall like GNU or Unix, so it doesn't really affect this issue. Most ofthe kernel of Solaris has been made free, but if you wanted to make afree system out of that, aside from replacing the missing parts of thekernel, you would also need to put it into GNU or BSD.
  5. On the other hand, in the years since this articlewas written, the GNU C Library has been ported to several versions ofthe BSD kernel, which made it straightforward to combine the GNU systemwith that kernel. Just as with GNU/Linux, these are indeed variants ofGNU, and are therefore called, for instance, GNU/kFreeBSD andGNU/kNetBSD depending on the kernel of the system. Ordinary users ontypical desktops can hardly distinguish between GNU/Linux andGNU/*BSD.
Linux and GNU
- GNU Project (2024)
Top Articles
What Does FOB Mean?
Crypto Tax Rates 2024: Breakdown by Income Level | CoinLedger
Nullreferenceexception 7 Days To Die
The UPS Store | Ship & Print Here > 400 West Broadway
Craigslist Campers Greenville Sc
oklahoma city for sale "new tulsa" - craigslist
Poe Pohx Profile
Women's Beauty Parlour Near Me
Ashlyn Peaks Bio
Barstool Sports Gif
Was sind ACH-Routingnummern? | Stripe
C-Date im Test 2023 – Kosten, Erfahrungen & Funktionsweise
Craigslist Alabama Montgomery
Scholarships | New Mexico State University
Where does insurance expense go in accounting?
10 Best Places to Go and Things to Know for a Trip to the Hickory M...
2024 U-Haul ® Truck Rental Review
979-200-6466
Lawson Uhs
Foxy Brown 2025
Beryl forecast to become an 'extremely dangerous' Category 4 hurricane
Acts 16 Nkjv
Drug Test 35765N
Costco Gas Hours St Cloud Mn
Skycurve Replacement Mat
Synergy Grand Rapids Public Schools
Nk 1399
Duke University Transcript Request
Busch Gardens Wait Times
LG UN90 65" 4K Smart UHD TV - 65UN9000AUJ | LG CA
Why comparing against exchange rates from Google is wrong
Perry Inhofe Mansion
Duke Energy Anderson Operations Center
Moses Lake Rv Show
Roto-Rooter Plumbing and Drain Service hiring General Manager in Cincinnati Metropolitan Area | LinkedIn
House Of Budz Michigan
Directions To 401 East Chestnut Street Louisville Kentucky
Tugboat Information
Pp503063
Craigslist Free Manhattan
Booknet.com Contract Marriage 2
'The Nun II' Ending Explained: Does the Immortal Valak Die This Time?
Babykeilani
How the Color Pink Influences Mood and Emotions: A Psychological Perspective
Samsung 9C8
Terrell Buckley Net Worth
Is Chanel West Coast Pregnant Due Date
Great Clips Virginia Center Commons
Mkvcinemas Movies Free Download
Predator revo radial owners
Obituary Roger Schaefer Update 2020
La Fitness Oxford Valley Class Schedule
Latest Posts
Article information

Author: Lidia Grady

Last Updated:

Views: 6161

Rating: 4.4 / 5 (65 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Lidia Grady

Birthday: 1992-01-22

Address: Suite 493 356 Dale Fall, New Wanda, RI 52485

Phone: +29914464387516

Job: Customer Engineer

Hobby: Cryptography, Writing, Dowsing, Stand-up comedy, Calligraphy, Web surfing, Ghost hunting

Introduction: My name is Lidia Grady, I am a thankful, fine, glamorous, lucky, lively, pleasant, shiny person who loves writing and wants to share my knowledge and understanding with you.