205
Forty years of GNU and the free software movement
(www.fsf.org)
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
GNU is a project, started by the FSF, to create a “free” operating system. The goal is a full POSIX compatible OS that provides the 4 freedoms to its users.
GNU is not the whole universe of free software. It is not everything released via the GPL. GNU is specifically a project to create an free operating system. Here is what they have done so far:
https://www.gnu.org/software/software.en.html#allgnupkgs
The GNU project pre-dates Linux. When Linux was created, it was not intended to be part of the GNU project. In fact, in the initial announcement, Linus said Linux would “not be big and professional like GNU”.
The GNU project always intended to write its own kernel. And it has—something called HURD.
All that said, when the Linux kernel appeared, people took parts of the GNU project to create a full operating system out of Linux. In particular, the C library ( Glibc ), C compiler ( GCC ), and core utilities were used with Linux.
In the early days, other than X11, a lot of the software running in a Linux system was GNU software. Nobody called it GNU / Linux back then but it would have been accurate.
These days, even though most Linux distros still ship with the GNU software, GNU represents a small fraction of the ecosystem overall. Some Linux distros ship without any GNU software at all.
Anyway, the reason they talk about “the GNU operating system” is because that is what GNU is and was meant to be—an operating system.
The issue is that practically nobody uses “the GNU operating system”—all the GNU stuff running on HURD. But lots of people run GNU stuff on Linux. So, the GNU folks have promoted the idea that “the GNU operating system” is any kernel with the GNU stuff running on it. So, GNU / Linux is GNU running on Linux. There was an attempt to create GNU / BSD which is GNU stuff running on the FreeBSD kernel. In this naming scheme, HURD is not implied by GNU anymore so that operating system would now be GNU / HURD.
You can probably tell that I do not like the term GNU / Linux. I think it confuses people as it makes it seem like GNU means “free software” or “GPL software” as opposed to a specific project to create an OS. Also, not all Linux distros use GNU and, of the ones that do, GNU software is a small piece. Also, most distros do not actually represent the ideals of the original GNU project very well. There is a reason that there are only a few distros that the FSF endorses. How can you brand something as “GNU” and then have the FSF not recommend it?
This is not a rant against free software. Most of the software shipping with a typical Linux distro is free software. That is a tremendous achievement for the FSF and they should celebrate it. But why try to brand that as GNU. Let GNU be GNU and do more to promote free software in general. The GNU utilities will eventually be replaced I expect and you see some of that now. Clang can replace GCC. MUSL or relibc could replace Glibc. So what? It is all free software ( though not all copyleft ). It would not be GNU, but it is free software nonetheless.