GNU was an attempt to write a complete UNIX-like operating system from the ground-up, led by Richard Stallman. The one part that never got finished by GNU was the kernel. The kernel deals with things like device drivers, and essentially provides all the abstractions that sit between hardware and software. GNU was trying to write a kernel called Hurd, which despite many attempts to resurrect it has never really taken off. What ended up filling the role of Hurd was the kernel called Linux. But you'll find most Linux distros ship with all the other parts of GNU that were far more successful than Hurd. There's the GNU coreutils and the GNU binutils and the GNU C compiler with the GNU libc. GNU is everywhere. Although there are many non-GNU alternatives to most GNU software nowadays. These GNU utilities provide a way for a user to actually interact with the operating system. The way I think about it is that Linux is what provides the layer between hardware and software, and the GNU part is what provides the layer between software and the user. Answer from fox_in_unix_socks on reddit.com
🌐
Reddit
reddit.com › r/linuxquestions › eli5: what exactly gnu/linux and what's the difference between them? what is gnu?
r/linuxquestions on Reddit: ELI5: What exactly GNU/Linux and what's the difference between them? What is GNU?
June 10, 2024 -

I've seen the copypasta God knows how many times but it all goes in one ear (eye?) and out the other. What exactly is GNU? If GNU is the OS why does everyone refer to it as Linux instead of GNU? What exactly is Linux? If Linux doesn't need GNU, do all the common distros use GNU? Or are there some that don't use GNU at all?

And how can this GNU/Linux phrase be compared to MacOS or Windows? Do they have equivalents?

I looked online but all the answers I saw were just gibberish to me (That's why I have the ELI5 prefix)

🌐
GNU
gnu.org › gnu › linux-and-gnu.en.html
Linux and GNU - GNU Project - Free Software Foundation
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.
Discussions

terminology - Why do some people refer to Linux as GNU/Linux? - Open Source Stack Exchange
Other than that, GNU was marginal. When the lawsuit of USG vs BSDi rolled along around 1994, the Unix mostly used was some form of BSD. That came to a screeching halt, the formerly freely used code became tainted by possible licensing hassles. Linux was just becoming usable, and Linux distributions ... More on opensource.stackexchange.com
🌐 opensource.stackexchange.com
July 10, 2015
Linux or GNU-Linux
This is a loaded question. I am sympathetic that the whole vision of what linux is comes from GNU while Torvalds developed a working kernel. Most of the other things that we use daily are from GNU. Stallman may not be the most agreeable person but neither is Torvalds. More on forum.endeavouros.com
🌐 forum.endeavouros.com
0
February 13, 2023
GNU and Linux: Different or the same?
Sorry for sounding like an incredible n00b, but as I have been lurking and searching on the net, I have come across something that may be common sense to most, but to me is confusing. I constantly see the word GNU when I do searches for Linux, both on this web site and on search engines. More on community.unix.com
🌐 community.unix.com
0
June 18, 2003
What is the difference between Unix, Linux, BSD and GNU? - Unix & Linux Stack Exchange
What is the very fundamental difference between Unix, Linux, BSD and GNU? Unix was the earliest OS, so the term 'Unix like' is understandable, since they have kernel, file system structure, most of... More on unix.stackexchange.com
🌐 unix.stackexchange.com
December 11, 2013
GNU was an attempt to write a complete UNIX-like operating system from the ground-up, led by Richard Stallman. The one part that never got finished by GNU was the kernel. The kernel deals with things like device drivers, and essentially provides all the abstractions that sit between hardware and software. GNU was trying to write a kernel called Hurd, which despite many attempts to resurrect it has never really taken off. What ended up filling the role of Hurd was the kernel called Linux. But you'll find most Linux distros ship with all the other parts of GNU that were far more successful than Hurd. There's the GNU coreutils and the GNU binutils and the GNU C compiler with the GNU libc. GNU is everywhere. Although there are many non-GNU alternatives to most GNU software nowadays. These GNU utilities provide a way for a user to actually interact with the operating system. The way I think about it is that Linux is what provides the layer between hardware and software, and the GNU part is what provides the layer between software and the user. Answer from fox_in_unix_socks on reddit.com
🌐
Wikipedia
en.wikipedia.org › wiki › GNU › Linux_naming_controversy
GNU/Linux naming controversy - Wikipedia
January 17, 2026 - Since the 1990s, there has been ongoing debate over whether operating systems that use the Linux kernel in combination with GNU software should be referred to as Linux or GNU/Linux. Supporters of the term Linux argue that it is more widely used in the media and by the general public, and that ...
Top answer
1 of 9
79

The GNU project was created to produce a free software alternative to Unix. They were able to produce most of the programs an operating system would provide, but their kernel, the GNU Hurd, was not stable enough to rely upon.

Linux is a kernel, the most base level of an operating system, and was created and published under the GNU GPL, a free license. It came to be adopted as the kernel of the GNU OS while the Hurd continued to be developed, but it remains an external project and is not officially part of GNU.

It is entirely reasonable to call the combination GNU/Linux as they are two distinct projects paired together. Strictly speaking, Linux by itself is not very useful without all the other software in GNU. But GNU is awkward to pronounce and is a nerdy acronym (but not nearly so nerdy as the double-recursive acronym of Hurd/Hird). Linux is easier to pronounce and is a more conventionally marketable name (being a short word with no previous meaning.)

For better or worse, Linux is now a metonym for the whole GNU/Linux OS and greater ecosystem. While it's not ideal that so many people only know the name "Linux" and not the GNU project which provides most of what they use, the reality is that language is incredibly hard to shift once it has settled, and I personally don't anticipate the situation ever changing. Let's educate people about the GNU OS, but let's not make a fuss if our grandparents (or grandchildren, depending on who you are) don't get the distinction.

2 of 9
25

Linux vs. GNU/Linux

Terminology and History-in-Brief

In common usage, the terms Linux and GNU/Linux IPA: /ɡəˈnuː slæʃ ˈlɪnəks/ † [though often said sans 'slash', the FSF recommendation is to pronounce it] refer to the same thing: the software distribution running on a computer that includes Linux, the operating-system kernel, consisting of low-level functionality and drivers that operate the essential devices in a computer and are necessary for its operation, as well as operating-system-specific functionality such as creation of processes and determining the scheduling of when those processes will run, among many other things.

The Linux kernel initially made functional, and was made functional by, the software tools that were created under the GNU project by the Free Software Foundation (FSF) specifically in order to drive development of software for an 'operating system' (loosely speaking) that would not be be bound by the restrictions of the then-dominant propriety system of the day, UNIX, which restricted those who wanted to do various things such as see the source code of, write modifications to, build other software upon, or share new code that was based upon, other code that was held under a proprietary license.

Richard Stallman, head of the Free Software Foundation, argues that there are many reasons to prefer the name GNU/Linux as the name of the operating system as a whole, although the debate has been long and, at times, contentious.

Current Linux-Based Software Distributions

Currently, Linux is combined with additional drivers, other low-level software, additional, higher-level support software, and innumerable other frameworks and applications; filling the gamut in licensing—from public domain to proprietary, much of it meeting the definition of 'open-source' put forth by the Open Source Initiative (OSI) which maintains a list license that are both free, and that do not have any conflicts with other free licenses, as there were some issues with incompatibilities in the past.

Depending on which of the many available distributions you choose (or you can even roll-your-own, obtaining all the source code, and building it all from scratch!) there can be upwards of hundreds, or even many thousands of additional bits of code as well, all including software from diverse sources.

For instance, most desktop systems will have X.org which you might call a 'kernel for the graphics subsystem' (i.e. it provides the basic functionality needed for any windowed desktop), and probably GTK+ (the GIMP toolkit) and I could go on... Then you'll have something on top like the K Desktop Environment (KDE), or perhaps Gnome, or Lightweight X11 Desktop Environment (LXDE), or one of many others.

It's going to be hard to run a windowed desktop system without any of this, and only a very small part of it is GNU software, and it's quite arguable that a lot of it still could be called part of the 'operating system' as it is used in common speaking.

What Should It Be Called

Hey, I don't know. I always just say: "I am running... Windows."

Seriously, though: let's talk about which term we are really talking about. Are we talking about how it is used in common speech? Or are we talking about the term as it is used in computer science?

Computer Science Term

[NOTE: I see there is debate about this issue; this is how I understood and learned the term]

Well, as a Computer Science Term, I don't think GNU has a case at all. Linux is the operating system. It provides all the basic functionality to operate the computer, and it does the process scheduling and provides resources to the applications. I don't know all the system internals of Linux so I can't say 100% that there is no overlap between what an operating system traditionally is thought of as doing and what the GNU tools do, but as far as I understand it, in general; well, GNU just doesn't do any of that.

Common Term

Speaking in common, everyday terms, you wouldn't argue that someone saying they run the 'Windows Operating System' means they are running the Windows NT kernel and a few subsystems, and that they aren't referring to Win32 and all the rest. Clearly most people don't make that distinction. So why would we make it here? And, I don't think I'm going to start calling my Linux OS choice 'GNU/Linux/X.org/GTK+/KDE' either. And, for that matter, if I were to tack on GNU, I would call it: Linux/GNU. But I wouldn't.

In fact, what I call my *n-x OS (I have quite a few VMs), is by its distribution, version, and kernel type; which would determine both where the hard work was done (picking the packages, dealing with incompatibilities, patching things, etc.) and the thing that determines the ABI (application binary interface for executables). In other words, it's enough information that I could replicate that environment sufficiently to find other applications that would run under it. Well, at least it would likely be enough; assuming I knew a bit more, like what type of machine it was running on.

GNU both was and is important and I don't want anyone to forget that. But as far as I am concerned, it doesn't belong in the title to my OS. But the thing is, I'm not arguing that it doesn't belong in yours. It's actually kind of irrelevant; just make sure whoever you are talking to understands you and in this case, you can use the two terms interchangeably in common speech.

🌐
Quora
quora.com › Why-is-it-GNU-Linux-and-not-just-Linux
Why is it GNU/Linux and not just Linux? - Quora
Answer (1 of 17): Linux is just Linux. However, Linux is just a kernel—basically a software library for talking to hardware. It needs programs which use the kernel to really do anything interesting.
Find elsewhere
🌐
EndeavourOS
forum.endeavouros.com › lounge › linux lounge
Linux or GNU-Linux - Linux lounge - EndeavourOS
February 13, 2023 - This is a loaded question. I am sympathetic that the whole vision of what linux is comes from GNU while Torvalds developed a working kernel. Most of the other things that we use daily are from GNU. Stallman may not be th…
🌐
EDUCBA
educba.com › home › software development › software development tutorials › linux tutorial › linux vs gnu
Linux vs GNU: Major Differences | Definition, Design, Software
February 14, 2023 - GNU is a cheaper version of Unix with many free softwares. While Linux, on the other hand, is an operating system that comprises GNU software and the Linux kernel.
Address   Unit no. 202, Jay Antariksh Bldg, Makwana Road, Marol, Andheri (East),, 400059, Mumbai
🌐
Unix Community
community.unix.com › unix for beginners q & a › unix for dummies questions & answers
GNU and Linux: Different or the same? - UNIX for Dummies Questions & Answers - Unix Linux Community
June 18, 2003 - Sorry for sounding like an incredible n00b, but as I have been lurking and searching on the net, I have come across something that may be common sense to most, but to me is confusing. I constantly see the word GNU when …
Top answer
1 of 2
63

That is a difficult question to answer.

First "Unix Like" or "*nix" usually means POSIX. All the systems you listed are POSIX systems. POSIX is a set of standards to implement.

Now for the harder questions.

GNU isn't really an OS. It's more of a set of rules or philosophies that govern free software, that at the same time gave birth to a bunch of tools while trying to create an OS. So GNU tools are basically open versions of tools that already existed but were redone to conform to principles of open software. GNU/Linux is a mesh of those tools and the Linux kernel to form a complete OS, but there are other "GNU"s. GNU/Hurd for example.

Unix and BSD are "older" implementations of POSIX that are various levels of "closed source". Unix is usually totally closed source, but there are as many flavors of Unix as there are Linux if not more. BSD is not usually considered "open" by some people but in truth it is a lot more open then anything else that existed. It's licensing also allowed for commercial use with far fewer restrictions as the more "open" licenses allowed.

Linux is the new comer. Strictly speaking it's "just a kernel", however, in general it's thought of as a full OS when combined with GNU Tools and a bunch of other things.

The main governing difference is ideals. Unix, Linux, and BSD have different ideals that they implement. They are all POSIX, and are all basically interchangeable. They do solve some of the same problems in different ways. So other than ideals and how they choose to implement POSIX standards, there is little difference.

For more info, I suggest you read a brief article on the creation of GNU, OSS, Linux, BSD, and UNIX. They will be slanted towards their individual ideas, but when you read through, you will get a good idea of the differences.

This Unix genealogy diagram clearly shows the history of Unix, BSD, GNU and Linux (from Wikimedia):

2 of 2
26

Linux is not an OS, it's a kernel. Linux by itself has no 'userland' environment (no apps, no commands, no ...etc...).

If you want to have a complete OS, you have to add an userland to your kernel. Historically, for Linux, it's GNU. All(?) Linux distributions are not 'real Linux' distributions. They are GNU/Linux (GNU + Linux) distributions.

BSD is a 'unix-like' complete OS, with it's own kernel and it's own userland (no linux kernel nor GNU).

GNU/Linux and *BSD family (FreeBSD, OpenBSD and NetBSD) are 'unix-like' OS, they behave like Unix.

Here is a comparison between (GNU)/Linux and *BSD : http://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html

🌐
Lifewire
lifewire.com › what-is-linux-2201940
The Difference Between Linux and GNU/Linux
September 18, 2022 - GNU, however, was intended by its creator, Richard Stallman, to be a completely free and independent operating system, using none of the same codebase or licensing norms as Unix or Linux.
🌐
Micah Flea
micahflee.com › why-i-say-linux-instead-of-gnulinux
Why I say Linux instead of GNU/Linux
February 25, 2025 - Unfortunately for Stallman, language evolves naturally, and trying to force changes in language doesn’t always work out. If you’re looking at language descripively instead of prescriptively, Linux, not GNU/Linux, is the term that people use most of the time when referring to a Linux distribution, so that’s what that term means.
🌐
Hacker News
news.ycombinator.com › item
What you guys are referring to as Linux, is in fact, GNU/Linux, or as I've recen... | Hacker News
August 27, 2013 - 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 often called "Linux", and many of its users are not aware that it is basically the GNU system, developed by the GNU ...
🌐
The Linux Documentation Project
tldp.org › LDP › sag › html › gnu-or-not.html
Linux or GNU/Linux, that is the question.
Many people feel that Linux should really be called GNU/Linux. This is because Linux is only the kernel, not the applications that run on it. Most of the basic command line utilities were written by the Free Software Foundation while developing their GNU operating system.
🌐
Medium
medium.com › @cyberduck1 › linux-and-gnu-a-history-of-differences-cc2da2b53a19
Linux … I mean GNU/Linux
December 28, 2022 - Linux and GNU are two closely related yet distinct entities that have played a major role in the world of open-source software.
🌐
Linux.org
linux.org › home › forums › general linux forums › general linux topics
Linux or GNU/Linux | Linux.org
May 28, 2012 - Linux is just a kernel and is practically useless on a desktop or server without all of the GNU software that is packaged with it to make an operating system. People in the GNU circle spent years or decades to make the software and their end goal was to make a GNU operating system.
🌐
Gentoo Forums
forums.gentoo.org › viewtopic-t-1002264.html
Gentoo Forums :: View topic - GNU/Linux vs Linux
October 17, 2014 - FAQ | Search | Memberlist | Usergroups | Statistics | Profile | Log in to check your private messages | Log in | Register · Links: forums.gentoo.org | www.gentoo.org | bugs.gentoo.org | wiki.gentoo.org | forum-mods@gentoo.org
🌐
Hacker News
news.ycombinator.com › item
It is correct to refer to GNU/Linux as GNU/Linux | Hacker News
April 1, 2022 - The GNU project does not consider Linux to be its own operating system, because they're coming from the culture of traditional UNIX where the OS interface is libc and the kernel is an implementation detail. Direct descendents of UNIX (for example Solaris and macOS) follow this model · The ...
🌐
Debian
debian.org › releases › stable › amd64 › ch01s02.en.html
1.2. What is GNU/Linux?
GNU/Linux is modelled on the Unix operating system. From the start, GNU/Linux was designed to be a multi-tasking, multi-user system. These facts are enough to make GNU/Linux different from other well-known operating systems. However, GNU/Linux is even more different than you might imagine.
🌐
Wikipedia
en.wikipedia.org › wiki › Linux
Linux - Wikipedia
November 20, 2001 - The Linux kernel was created by Linus Torvalds, following the lack of a working kernel for GNU, a Unix-compatible operating system made entirely of free software that had been in development since 1983 by the GNU Project, lead by Richard Stallman. A working Unix system called Minix was later released but its license was not entirely free at the time and it was made for education purposes.