Casual reminder that "Linux" is not a fucking operating system

Brought to you by "10 ways Linux is just better!" video from linustechtips youtube channel.

Half way through and I am tempted to start tooting why all of the points so far are illusions or anti-features.

Okay so I guess here we go, batching things to avoid spamming a billion toots.

1. "Freedom" - more like free labour exploitation, see "Open source"

2. Software managment - There's this false idea in the video that the "appstore" idea ever existed in "linux" land before ElementaryOS.

The video does a good job on mentioning how "linux" folks have been mocking windows users about software distribution, but completely misses that we are now replicating windows/ios/android distribution models.

3. Performance - While yes, the kenrel has been optimized to hell, there still MAJOR low hanging performance fruits in the stack that are left there cause they are part of some smaller project that doesn't receive as much attention, that is if its even lucky to still have a maintainer still.

From compositing, rendering all the way to unoptimized applications that use way more resources than they should cause nobody found time to work on them on their own, cause ofcource nobody will pay for it.

4. Stability - Oh the fun here, do you mean API/ABI stability which is non-existant cause there isn't even any "SDK" notion you can target? Or do you mean frozen distributions and software that's stuck on a 5 year old release without any kind of support cause that's what debian packaged?

Also, stability is rare even if you are talking about day-to-day "I won't destroy all your files" use. Things receive virtually no QA and are segfaulting left and right hourly.

5. Privacy - Yes, its nice to not running windows 10 or Google's spyware, but first the idea that many eyes on the code prevent this from happening is plainly false.

And second we can't even get the simplest of fucking analytics without being crucified for even thinking about it. To this day, nobody can provide you a somewhat accurate number for how many machines are out there running GNOME.

6. Customization -

7. The command line - Seriously, user's should never be exposed to this thing ever. Its fine if you need or want it, but having it be the main way most of the shit get done is shooting yourself in the foot.

Also there like 15 different shell, and 3 new each month...

Also Also, do I need to talk about how bad the idea of shell scripts and oneliners that's celebrated in the video is?

8. Portability - EXCUSE ME? There's no binary portability, and thank god for it, there's no settings/configuration portability, cause there's a matrix of infinite possible configurations between distros and desktops alone, there's no API/Sdk portability cause you can't even plain recompile apps without removing distro-specific quirks from the code.

And really the only reason this might ever perceived as a feature, is cause the mess distros has got us into with software distribution.

9. Learning - Hi stack overflow! First of all you can't even specify what 'flavor' of linux you are using in the search query, most results will be how to solve X on ubuntu or RHEL.

Second, I doubt there's more learning material out there for this ever moving target, that for Windows. VisualStudio and Xcode have really fucking good docs and onboarding processes for developers.

Hell, Visual studio stuff is what most Universities teach. And while I might not like it its what happens.

10. Community - If you ever seen any other toots from me, or even read the bio in this account you'd know that "community" is the thing I rant the most about.

The video even mentions the elitists that dominate most of the online discourse. You don't need to look far to figure out how toxic almost every Free software related community is, and there are very few that will even try to do something about it.

Overall the video is fairly entertaining and well researched from the perspective of a user who have just started learning about linux and reading all the fuss online. But every single one of these things that Linux supposedly does better is in a abysmal and outright toxic state for the end user.

You can find the video here

@alatiera Would you give different reasons (which?)? Or rather adjust the presentation of the ones given?

@YaLTeR I don't think the format of the video can really work, I don't think the linux desktop does in general things better than other consumer OSes. And even then, its the whole package that counts really.

I think something like, "how Linux is different" as a video idea would work better. As it is right now, Linux only can appeal to tiny niche audiences, not the average consumer or even "power users" which is the general audience of that youtube channel.

@alatiera first of all, what do you want from a video for novice users — of course that's the way such videos present Linux, let's be glad it's not a rant about _how Linux doesn't support any hardware or software and makes you type cryptic command line commands_


> "Linux" is not a fucking operating system

but GNU/Linux is 🙃 😉

> > "Freedom" - more like free labour exploitation, see "Open source"

sure yeah, lots of volunteers work on Linux (-related projects) for free, including you and me, but some people also get paid for working on that. And again, this is about "free as in freedom", not about "free as in not paid" — point is, you can modify it and stuff, not whether people get paid for working on it

> windows/ios/android distribution models

iOS/Android yes, but Windows? I would not like app bundles to spew their files all over my filesystem

so it checks out, Linux folks have been making fun of Windows for that, and have not been mocking iOS/Android because their app distribution model is sane

> Stability

well, of course they mean stability as in not crashing and not eating you data; it's not like end users care about API stability (or use Debian stable, for that matter)

> Customization -

But that is not what "Is Linux about choice?" is about. It's about desktops and distros having a right to make decisions on behalf of the user (where the opposite is being justified as "but linux is about choice"). Even the mail it cites says, "As a consumer, yes, you have lots of choices in which Linux you use."

> The command line - Seriously, user's should never be exposed to this thing ever.

fully agree on that...

> Learning - Hi stack overflow!

It gets wrong earlier than what you describe — if the user is forced to google an error and ends up on SO for, we've *already* screwed up. *Every time* when the user has to do that, it's something the desktop/distro has to fix on their side.

@bugaevc That's correct but all of these choices are presented as being the same thing. If you are trying to apt install a different desktop environment on top of kde neon, it likely won't end well and you certainly won't end up with the level of polish you'd get from a dedicated distro/spin/we.e.

My point there is that there are a lot more things that make an OS apart from "does this package compile and install"

@bugaevc The only reason we have "stability" is cause its impossible to update any system in a way that you can be sure or at least QAable that it won't break anything. There for we don't do it and are stuck with the ubuntu lts or debian packages from 4-5 years ago.

This imo is another issue that comers from the way we are building systems with pkg managers, individual packages and unpredictable matrix of interactions between these packages.

@bugaevc I don't like app bundles like that either, but that's how every electron app is advertising their app image "linux" builds so far.

@bugaevc @alatiera that's exactly what apps other than Flatpak and maybe Snap do though.

@exalm @alatiera but with a package manager, the package manager know which package owns which file, and can give you that info, and you can reliably track down the offender. But indeed there's nothing but common decency that prevent third-party packages from placing files wherever.

@bugaevc even for package manager, there are scriptlets that can do whatever.

And then you have configuration files which can be anywhere in your $HOME. Of course there's an xdg standard for that, but a lot of things don't follow it.

@bugaevc We are comparing "Linux" to the rest of commercial/consumer focused operating systems here, and half the points are outright not fit for consumer and day to day use.

The other half are irrelevant unless you aspire to become a developer.

@alatiera if you were making a video for such an audience, what would you say in it? I haven't watched the video in question (😆 go me arguing about your commentary on a video I haven't seen), but it sounds like I would say essentially the same things: freedom, (low-level) performance & reliability, lots of options (in the good way), package management...

@bugaevc I'd only be comfortable talking about ElementaryOS and then use the talking points from their website. I think its the only linux-related OS that can ever be considered consumer grade.

Everything else is so far off both in their focus and implementation, that I wouldn't be comfortable with them touching any day-to-day system.

@alatiera This made me think: if there's some obscure thing that needs to be done, why is it that on Windows a random developer makes a (maybe terribly designed) GUI app, and on Linux it's 100% a terminal app?

It seems that there's a self-feeding loop here: devs improve the terminal => other devs make their app a terminal app because it's easier to make than GUI and "good enough" to use => terminal gets more usage and incentive to improve it. This leads to local minimum that's worse overall for most users?

@YaLTeR because making a GUI for a CLI app is trivial. The other way around, not so much.

GUIs are great but we often forget that they are also dangerous. GUI makes computer operation look like magic. It is not. Most of it is just text manipulation. Which is exactly what CLI does.

@drq If making a GUI app for a CLI app was trivial, wouldn't there be many more good GUI apps for the more common tasks usually achieved from the terminal?

Also, you're speaking from the perspective of developers and power users, which participate in the self-feedback loop I described. I'm thinking more about the average user for whom using the terminal is a huge spike in complexity and required-understanding, in many cases completely unnecessary.


> wouldn't there be many more good GUI apps for the more common tasks usually achieved from the terminal?

There already are. They are called desktop environments. They take the most well-known use-cases and pack them into GUIs like File Managers, Text Editors, etc. etc. GNOME's one of them. There's also KDE, XFCE, the whole shebang.

If you don't want to use the CLI, you don't have to. But no GUI can clone the degrees of freedom a good CLI (which, if we're being honest is basically just a programming interface). It's physically impossible, because the computer can't read your mind and draw GUIs for every case you imagine.

@drq No, I'm not taking about the common programs, I'm talking about cases where you have to do something outside of the usual things everyone does all the time. For example, ripping an audio CD with high accuracy. Or interfacing with some weird device. On Windows anything like this will have a GUI app, but on Linux it will be a terminal app without a GUI, which limits its accessibility to non-power-users.

@YaLTeR and on Windows, wrapping everything in GUI first thing, limits the device's accessibility to everything else. I can't programmatically access, get the data and automate a GUI. If you make a GUI first, you can't make anything else second, it limits you.

If you get the logic of the app down, and make a CLI, you can make a GUI frontend on top of it, if you choose so. Or not. Or you can feed the stdout to some weird pipelene, and then make a GUI on top of THAT.

I know what you're thinking. May be it's not too user-friendly or something. But that's actually the correct way to build programs, that avoids a lot of complications down the line. Separating the backend and the frontend. The fact that we don't have a lot of good GUIs is the problem, but the main thing about it is that we need more front-end developers to do a proper job, instead of bashing the backenders.

@drq What I'm thinking is that there are a lot of applications (the CD ripping example here) where CLI *output* isn't any useful for piping—it's just a status report in human-readable format. You could say a GUI would make it strictly better. On Windows the developers go that extra mile to implement a GUI but on Linux they don't, leading to accessibility loss without any real benefit.

@YaLTeR @drq What kind of accessibility loss are you talking?

@nesc @drq "Regular users" for whom anything to do with command-line is a big difficulty and convenience spike.

@YaLTeR @drq There is no such thing as «regular user», are you irregular? That's some imaginary friends that mutate from person to person and every time they are inept in everything, and struggle to even breathe without help of irregular-guru types of people. That's learned helplesness perpetuated by people like you.
Have a good day.

@nesc You earned a spot on my blocklist, you achieved something today. I hope the likes of you don't have a good day on the other hand.

@YaLTeR There are probably couple factors for this. The valid usecase is sysadmins that do everything through ssh and tmux, and cli things are easier than a graphical session. Windows Server on the other hand ships with compositor, toolkit etc on the base image which makes it much easier to get a working rdp/vnc session.

Now there's this other angle about tui superiority for things it makes no sense for, which really is elitist trying to keep thing inaccessible so they can feel special.

@alatiera @YaLTeR one thing that “GUI people” tend to forget is that it makes no sense to have a GUI on a server: it takes resources (CPU, memory, disk space) and enlarges the attack surface. It's bonkers to pretend that “it is 2020 and everything should have a GUI, because we can”. Because something can be done, it doesn't mean it should.

Otherwise I can generally agree that GUIs tend to have a better learning curve for non technical people. But even that is not always true

@alatiera @YaLTeR a TUI can be well designed, and can be better in many metrics that something with a graphical UI. Even when both a GUI and TUI for the same task are equally intuitive and “learnable” for their target users, a TUI may still be preferable depending on what one is trying to optimize for. Ask user of TUI library catalog software (over Telnet, even!) and were moved to the same software with a GUI (same UX, even): the old was faster, hence better, more productive.

@alatiera @YaLTeR So “a GUI is always better” and “an user should never have to use non GUI applications” are principles which, taken to their full consequences, can (and will) do a disservice to computing. Let's not forget that in the end the computer is a tool which helps getting tasks done (processing information, at their core) and whichever programs optimize for that are intrinsically better regardless of their UI paradigm, and as long as the UX is good.

@aperezdc @YaLTeR Nobody said that everything should be a GUI, but there's no reason the goto solution for transcoding video should be arcane ffmpeg commands or for compressing jpgs calling jpegoptim

@alatiera @aperezdc @YaLTeR there are plenty of graphical ffmpeg frontends that look like airplane control panels and show why ffmpeg being a command line program is probably for the best

@ben @aperezdc @YaLTeR you don’t have to expose the whole functionality of your underlying utilities, poor ux done by programmers doesn’t excuse this mess.


what does "any SDK" mean, exactly ?

This is not a retorical question

How would life be if Linux had an SDK ?

What role would an SDK exactly perform ?

@AbbieNormal Where I am coming off from here, is I am a developer and I want to write a "linux" app, how do I get started, what do I target? How do I package it, distribute it.

All these, including the SDK against which you compile and can expect certain APIs and libraries from are parts of and expected to provided by the Platform you are targeting to develop your app against.

There isn't such a thing as a "Linux" platform or even "Linux Desktop".

More lengthy version:

@AbbieNormal Its on my drafts, I promise we will finish the series at some point!

Moving to written text format, I ended up expanding on things like binary distribution which will get its own part, so the whole thing be quite lengthy by the time we finish the series.


I' d love you to expand on how Guix is positioned in regard to your concern about what a platform is

@alatiera What do you mean with free labor exploitation, according to my liberapay account, I get 1€ per week. Enough to pay for my rent, my food and my others hobbies. \s

@carl I am really tempted from time to time to just switch hobbies to something that isn't as mentally taxing and the every rando with a pet bug doesn't act like they own the time I (must) spent on it.

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!