- cross-posted to:
- freesoftware@lemmy.zip
- cross-posted to:
- freesoftware@lemmy.zip
On September 27, the Free Software Foundation (FSF) celebrates the 40th anniversary of the GNU operating system and the launch of the free software movement. Free software advocates, tinkerers, and hackers all over the world will celebrate this event, which was a turning point in the history of computing. Forty years later, GNU and free software are even more relevant. While software has become deeply ingrained into everyday life, the vast majority of users do not have full control over it.
What’s confusing to me is this article talking about the “GNU operating system”. What is that supposed to refer to? They say "Usually combined with the kernel Linux, GNU forms the… " Do they mean that the kernel isn’t part of the OS?
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.
The hurd kernel exists, and is a theoretical alternative to the Linux kernel
Right, but if they prefer we call linux “GNU/Linux”, wouldn’t they want to call their OS “GNU/Hurd” instead of just “GNU”?
Nope, because Hurd is created by the GNU project. Linux is entirely independent.
They want you to call it GNU / HURD now so they can contrast it with GNU / Linux. You are correct though that the real “GNU Operating System” includes HURD.
See Debian / HURD for example:
https://www.debian.org/ports/hurd/
Basically when you log into your Linux pc, everything you see and click on is GNU. Only the invisible part that makes your hardware work (display driver, usb driver, printer driver etc) is Linux (the kernel)
The kernel recognises only hardware and peripherals. Everything else you do on your system is GNU.