hey guys, i wanted to ask what is GNU is, i go onto https://www.gnu.org/gnu/gnu-history.html and it calls itself an "operating system" but when i go on https://en.wikipedia.org/wiki/GNU it calls gnu a "collection of free software" so i don't get it, which one is it?
is gnu an organization? or non profit? what does "GNU" stand for? is it an acronym?
also why do people call linux gnu/linux instead of just linux? why the "gnu/linux" what does gnu have to do with linux? thanks
What's the meaning of G of GNU?
What is GNU? what does "GNU" stand for? where does it fit in Linux history? why do some people call Linux "gnu/linux"?
What is the full form of the GNU compiler?
What is GNU's Not Unix (GNU)?
What are the benefits of GNU?
Videos
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.
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.