The problem (for those who are unaware of it)
Moved it to the end, to keep the focus on the solution.
Solution
GNU is a desktop OS that was never completed. Linux is a desktop OS that was never completed.
GNU/Linux is a hybrid OS.
Musl, etc. are libraries that were never OSes.
- So Alpine would be a Community/Linux OS.
- Debian would be a Community/GNU/Linux OS.
- FreeBSD would be a Community/BSD OS.
- Ubuntu would be an Enterprise Community/GNU/Linux OS.
I was thinking ontologically to resolve this problem. It is often confusing to explain to ordinary people why Linux has so and so differences and so and so commonalities, and then the community gets toxic once you get to whether it’s GNU or Linux.
So I think this is a good solution that solves the argument of calling it systemd/Freedesktop/KDE/LightDM/GNU/Linux or the other party that says it’s either GNU or Linux alone.
Why can’t you include GNU in the Community?
Because GNU was an independent OS, and the project did a lot for software freedom, and it was even pivotal to the success of Linux, yet the community does not honour their wish to mention their names, because of aesthetic problems. GNU has never self-identified as a component collection like Freedesktop.
The problem (for those who are unaware of it)
Not everyone may be aware of this, but from the time GNU and Linux based hybrid operating systems became a thing, there was a debate about what they should be called. An OS has a kernel and the userland. Both GNU and Linux were independent operating systems, both of which were never completed.
GNU was a project by FSF under Richard M. Stallman to replace the proprietary UNIX OS. Linux was a hobbyist project by Linux Torvalds to make an OS that would run on the Intel 80386 CPU, while BSD/386 was facing a lawsuit from AT&T for releasing proprietary UNIX source code. GNU was planning to make a microkernel based OS, and it was planning to develop the kernel slowly, while Linus started Linux from the kernel side, with a monolithic architecture.
Since Linux was free software and could run directly on the new hardware, it gained the support of the hacker community, who added patches to the GNU userland to make it work with Linux. But when Linux finally became an OS with the help of GNU, the hacker community said they only care about Linux, not the GNU programs, and gave no recognition to GNU.
Because of this, Stallman asked the distributions to be called GNU/Linux, and that sparked flame wars because of how it is bad to pronounce, and how a distribution has many components beyond just GNU, and that therefore the kernel that runs on the hardware is what should describe the OS, and further several ad-hominem attacks on the personal life and behaviour of Richard Stallman.
Eventually, the name Linux caught on, but sympathizers of GNU are requested to call it GNU/Linux. This continues to be an unresolved, but sidelined dispute that seems unfair to GNU, especially considering most “Linux programs” are actually dependent on GNU GLIBC, and won’t run on the other Musl LIBC based systems. Anytime someone mentions it, because there is no easy solution to it, it turns into a flame war.
Just read the post dude. I made it easy to read first, then others asked what the problem was, so I had to add it. I guess I’ll put it at the end instead.
Musl, systemd, Freedesktop, etc. were never OS projects. GNU and Linux are OSes.
Also, most “Linux programs” don’t run on Musl LIBC based distros like Void Linux musl edition, which I’m using, and I’m considering returning to the GLIBC edition for my sanity.
What the hell makes a project an OS project? What even is an OS - that is a debate as old as computers. What makes GNU more of an OS than systemd or musl or anything else? GNU is not a complete OS on its own. It has failed to meet that goal for decades. Is it just because it claims that title? Are the other projects just not ambitious enough? Hell why are we not raising pitchforks at GNU for being a all encompassing project that wants to consume everything like everyone complains systemd is trying to do?
The lines drawn here are meaningless and arbitrary. GNU is no more important to my systems as any other project mentioned here and makes up no more of my system then they do. I don’t see why so many are obsessed with singling out GNU and explicitly excluding everything else. It is a pointless distinction created by a guy that was pissy that his pet project was not getting the attention he thought it deserved.
Yes, GNU is not a complete OS, but neither is Linux, but we call it as such.
The reason is ultimately the actions of the Linux community from the beginning itself. Had they been fair, we would’ve referred to the project as GNU/Linux from the beginning itself.
There’s no point in going back to change any contemporary label for accuracy, we only have to do so if there is a sense of unfairness in the label. That is the case here.
If Stallman was like AT&T who filed a copyright on BSD/386 for using their work, he wouldn’t have caused this. The entire principle of trademarking exists for this reason. It’s only when a person tries to help other people that they get sidelined. It is our responsibility to give the original developers the due respect.
As for systemd, it was always created as an init system for the GNU/Linux OS. I use Void Linux musl edition with Runit init system, and it could not be replaced with systemd because it depends on GLIBC.