What you are referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. 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 Project. There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. 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. All the so-called "Linux" distributions are really distributions of GNU/Linux. Thank you for taking your time to cooperate with with me, your friendly GNU+Linux neighbor, Richard Stallman.
No, Richard, it's 'Linux', not 'GNU/Linux'. The most important contributions that the FSF made to Linux were the creation of the GPL and the GCC compiler. Those are fine and inspired products. GCC is a monumental achievement and has earned you, RMS, and the Free Software Foundation countless kudos and much appreciation.
Following are some reasons for you to mull over, including some already answered in your FAQ.
One guy, Linus Torvalds, used GCC to make his operating system (yes, Linux is an OS -- more on this later). He named it 'Linux' with a little help from his friends. Why doesn't he call it GNU/Linux? Because he wrote it, with more help from his friends, not you. You named your stuff, I named my stuff -- including the software I wrote using GCC -- and Linus named his stuff. The proper name is Linux because Linus Torvalds says so. Linus has spoken. Accept his authority. To do otherwise is to become a nag. You don't want to be known as a nag, do you?
(An operating system) != (a distribution). Linux is an operating system. By my definition, an operating system is that software which provides and limits access to hardware resources on a computer. That definition applies whereever you see Linux in use. However, Linux is usually distributed with a collection of utilities and applications to make it easily configurable as a desktop system, a server, a development box, or a graphics workstation, or whatever the user needs. In such a configuration, we have a Linux (based) distribution. Therein lies your strongest argument for the unwieldy title 'GNU/Linux' (when said bundled software is largely from the FSF). Go bug the distribution makers on that one. Take your beef to Red Hat, Mandrake, and Slackware. At least there you have an argument. Linux alone is an operating system that can be used in various applications without any GNU software whatsoever. Embedded applications come to mind as an obvious example.
Next, even if we limit the GNU/Linux title to the GNU-based Linux distributions, we run into another obvious problem. XFree86 may well be more important to a particular Linux installation than the sum of all the GNU contributions. More properly, shouldn't the distribution be called XFree86/Linux? Or, at a minimum, XFree86/GNU/Linux? Of course, it would be rather arbitrary to draw the line there when many other fine contributions go unlisted. Yes, I know you've heard this one before. Get used to it. You'll keep hearing it until you can cleanly counter it.
You seem to like the lines-of-code metric. There are many lines of GNU code in a typical Linux distribution. You seem to suggest that (more LOC) == (more important). However, I submit to you that raw LOC numbers do not directly correlate with importance. I would suggest that clock cycles spent on code is a better metric. For example, if my system spends 90% of its time executing XFree86 code, XFree86 is probably the single most important collection of code on my system. Even if I loaded ten times as many lines of useless bloatware on my system and I never excuted that bloatware, it certainly isn't more important code than XFree86. Obviously, this metric isn't perfect either, but LOC really, really sucks. Please refrain from using it ever again in supporting any argument.
Last, I'd like to point out that we Linux and GNU users shouldn't be fighting among ourselves over naming other people's software. But what the heck, I'm in a bad mood now. I think I'm feeling sufficiently obnoxious to make the point that GCC is so very famous and, yes, so very useful only because Linux was developed. In a show of proper respect and gratitude, shouldn't you and everyone refer to GCC as 'the Linux compiler'? Or at least, 'Linux GCC'? Seriously, where would your masterpiece be without Linux? Languishing with the HURD?
If there is a moral buried in this rant, maybe it is this:
Be grateful for your abilities and your incredible success and your considerable fame. Continue to use that success and fame for good, not evil. Also, be especially grateful for Linux' huge contribution to that success. You, RMS, the Free Software Foundation, and GNU software have reached their current high profiles largely on the back of Linux. You have changed the world. Now, go forth and don't be a nag.
I've always looked at Linux users as the vegans of the computer world. You know they have a point but holy shit can shut up about it for like 5 minutes?
I think there is just a portion of humans that love feeling morally superior, I imagine if annoying vegans or open source zealots tried crossfit they'd never shut up about that either.
I'm a Linux user and I cross fit. I'm terrible at it and it means I'm sore all the time, but I'm trying. I don't tell many people because I'm really struggling with it, but I want at least a small amount of physical fitness to keep up with my kids
I don’t think I’ve ever met a vegan who talked about it in contexts outside of organizing food for multiple people or in response to others asking about it.
I think it’s mostly that non-vegetarians (of whom I am one) know deep down that at least the vegetarians[1] are right and that they don’t like being reminded of their moral failings. Thus every time they plan getting food for a group and the vegans mention their culinary restrictions, they feel attacked and try to compensate for it by blaming the vegans.
[1] I’ve encountered to many people reporting that they experienced serious health issues with going full vegan, so I’m very much not convinced that veganism is something that works for everyone long term. The same issues do however clearly not apply to vegetarianism.
I think in both cases you have a small and vocal minority within the group. Then you have the silent majority who never preach but just enjoy the lifestyle and the benefits it brings them.
Also, every other week we get another reason to make it a priority
The arguments against it boil down to "it's different and scary/I don't understand it", "there's compatibility issues that might be complicated to fix", or "well what we have now is good enough for my needs"
Also it's open source, which is unironically communist, unless you're one of those right-libertarian weirdos that go "no, communism is when the state owns the means of production, capitalism is when the worker, and the CEO and the investors are workers!" every time you mention them that communism isn't when the state owns things.
I use arch btw but I really hate the bijillion distros we have and the fact that people act like they matter, and yes I get the irony (btw).
When I first started I was really into KDE (I still like the kde effort) but the actual software was just bug ridden and weirdly out of phase aesthetically. Which is why we have other options like gnome and so on.
At the same time I feel like if the Linux community could combine their efforts instead of having dozens of developers working on the same thing with slightly different philosophies we'd be miles ahead of windows and Mac.
It's complicated because options are good and the effort is welcome and it ultimately grows the community but I feel strongly as though when it comes to developer power and efficiency Linux is really spreading itself thin and it absolutely has to do with core philosophies differing between teams.
I agree to some extent, as there are plenty of distros that don't do anything significantly different from each other and don't need to exist. I also see what you mean about desktop environments. While I think there's space for all the small exotic window managers that exist, I would say we probably don't need as many big fully integrated desktop environments as there are now. (Maybe we should have only one aimed at modern hardware and one designed to be lightweight.)
That being said, there is plenty of duplication of effort within commerical software too. I would argue that if commercial desktop GUIs currently offer a better user experience than Linux desktop environments it's more in spite of their development model than because of it, and their advantage has mostly to do with companies being able to pay developers to work full time (instead of relying on donations and volunteers).
There are a couple reasons I think this:
In a "healthy" market economy there needs to be many firms that offer the same product / service. If there is only a small number (or, worse, only one) that performs the same function the firm(s) can begin to develop monopolistic powers. For closed source software development this necessitates a great deal of duplicated effort.
The above point is not a hypothetical situation. Before the rise of libre software there were a ton of commercial unices and mainframe operating systems that were all mostly independently developed from each other. Now, at least when it comes to running servers and supercomputers, almost everyone is running the same kernel (or very nearly the same) and some combination of the same handful of userspace services and utilities.
Even as there is duplication of effort between commercial firms, there is duplication of effort and wasted effort within them. For an extreme example look at how many chat applications Google has produced, but the same sort of duplication of effort happens any time a UI or whole application is remade for no other reason than if the people employed somewhere don't look like they're working on something new then they'll be fired.
Speaking of changing applications, how many times has a commercial closed source application gone to shit, been abandoned by the company that maintains it, or had its owning company shut down, necessitating a new version of the software be built from scratch by a different firm? This wastes not only the time of the developers but also the users who have to migrate.
Generally I think open source software has a really nice combination of cooperation and competition. The competition encourages experimentation and innovation while the cooperation eliminates duplicated effort (by letting competitors copy each other if they so choose).
I'm going to add on to this: aside from every competitor having to build their own product from scratch, a vertical structure of leadership allows for an individual or small group to have massive resources invested into their ideas. Which are so very often deeply flawed ideas.
Have you looked at Paint3D? Microsoft had a vision for a future where we interact with 3D objects in daily life and we would need a basic software to edit them, just like we use Paint to edit the images that we interact with. It's kind of insane, i can't even guess how many man-hours were spent on it by Microsoft developers.
And absolutely nobody has ever used it.
You can find more extreme examples, especially if you look outside of software (oh god the military); but Paint3D is one of the more accessible ones, any Windows user can check it out right now.
so, i try to build a CMake project, i know i'm going to be tearing my hair out for a day. i'll need the reference open just to know whether pkg_check_modules(A B) is searching for library A and assigning that to variable B or vice versa. and i know that once i do get it compiling, it'll be another day before i can get it cross compiling from my desktop to my arm chromebook or mobile phone.
so i find a similar project written in meson, where a = find_dependency(b) is immediately obvious to me, and i can make sense of the thing or even tweak it a bit without a manual, just by following the patterns. i build it first try; 80% chance it cross compiles already -- 20% chance it doesn't and i can fix that and send the fix upstream (and now 81% of meson projects cross compile).
the CMake camp: "but we all already know CMake, this new meson thing doesn't make anything easier for us. cross compiling? that's called QEMU." and they're totally right about both of those things. but that's useless for me.
sure, it'd be nice if the GTK/KDE split (for example) didn't lead to so much duplication of the non-GUI parts. but if you just say "no splitting" that's the same as saying "you half go find some other hobby". it's really not an easy thing to sort through all the little differences and steer things such that everyone can feel at home in the same project. that's work, and unless you're BDFL it means a whole lot of drawn-out discussions trying to convince everyone to change their ways for someone else's sake.
Should I like tell you that ur like wrong or sumthin? Cus I will lol /j
OK critique:
Ubuntu is relatively closed/restricted compared to some other Linux distros. Its reliance on Snaps is concerning because its a closed ecosystem (open source client, closed source backend, no option to add other source repos).
Bad critique:
Um🤚🤓, actually you should be using security hardened NixOS using your own custom kernel sysctl config 🥵, using GrapheneOS's hardened-malloc and chrony.conf 🥸, and Tor Browser installed inside a kata-container and sandbox with Bubblejail🤯. All compiled from source, duh. 🥱
You seem knowledgeable about this and I know it's not entirely relevant but I'm planning to swap to Linux soon, what distro would you reccomend I start with?
Here's a decent quote from Linus semi-regarding the topic of people debating over tiny things
One final note: the reason I'm so negative about this all is that the random number subsystem has such an absolutely horrendous history of two main conflicting issues:
People wanting reasonable usable random numbers on one side,
And then the people that discuss what the word
"entropy" means on the other side.
And in both cases the opposition shoves their position down everyones throats but since its the societal norm nobody thinks about it. For example nearly every computer comes with Winbloat yet nobody asks why because obviously when you purchase a computer you want Microshafts software shoved down your throat (and you want to pay extra for the privilege). Also nearly every single news organization exists to act in the will of capital but that's ok because capitalists decide whats socially acceptable.