Linux will continue to be a frustrating geeks-only club unless and until somebody starts getting paid to work on it
Hot take incoming. Just some thoughts I've been having recently as I experience Linux at work for several years now. To clarify, I mean Linux on the desktop as a consumer. As in, what our lord and savior Richard M. Stallman would call "GNU/Linux"; pick your favorite distro here. I'm leaving out Linux on the server, embedded Linux, and the billions of phones running Android that have Linux kernels, for which Linux there is a success story without rival. But Linux as a daily driver OS as a user/developer just...sucks.
I have to use it because there is no other option for building Android and embedded Linux which I occasionally need to do
I like to use it because I can change stuff about it that I don't like (can being the key word, here, usually I'm too lazy or busy)
I want to use it because getting one over on 'the man' tickles my rebellious funny bone
In this one obscure case, supposedly it's been fixed, but I'm on Ubuntu 20.04 LTS, so who knows, maybe the fix didn't get shipped out to this old dinosaur. Whatever it is, I don't want to spend the time to dig into the innards to find out what's causing it this time, and just uninstalled chromium from snap. (I thought I installed it through apt, but it turns out apt install chromium-browser just installs the snap instead. I get it, I read the post, I understand why they moved it to snap, I'm just annoyed to be one of the lucky 2 people that ran into WebSerial not working because of this or some related series of decisions.)
I usually use Brave, and I had already found out the hard way they ripped WebSerial out leading me to try Chromium
I sighed, installed Google Chrome with Google's apt repo, WebSerial works, I moved on. forsomereasonIcan'tgetittotalktomycustomESP32boardanyway,butthat'sanotherproblemIhavetofigureoutsomeothertime
Had I been using Windows or Mac at that particular time (or had I already been using Big Brother Google™ in the first place), I wouldn't have run into this obstacle that cost me a few hours. And that's not the only time I've ever encountered something that took some time to research and work around or learn to accept, don't fight it, no tears, only free software now
Stuff like that reminds me why Linux on the desktop is not receiving more mainstream adoption. It's not just esoteric electronics-geeks-only features that I mean, either. Basic ordinary stuff like the screen sleeping when I don't want it to, or not sleeping when I do want it to (thanks VirtualBox), or the lack of overall polish, like YES THANK YOU i know you've found the very same printer yet again as you've popped up a notification about it the last 500 times I woke up my computer. I'm sure I could fix any particular thing given enough time to investigate, but man, I just want my stuff to work so I can do my actual work.
As the old adage goes, "it's only free if you don't value your time". Imagine someone less technically inclined trying to cope with an issue like this...they're probably fine if they had a friend set up their Linux box and all they need to do is browse Facebook and get their Gmail. But if they need anything more elaborate than that, they're stepping into a minefield of gotchas. Need to reflash your phone? Better hope your browser wasn't installed via snap, or you gotta enable the raw-usb feature and hope your distro is new enough to have that fix. (when was the last time aunt sallie needed to reflash her phone?)
In a world where everybody can change things, everybody's got a different way to solve something, and some of them occasionally break stuff. There's no unified vision, nor any single authority figure with some common sense saying "why are we doing it like this, this sucks, fix it".
The thought occurred to me, macOS (my other main daily driver) is a much easier and more pleasant *nix to use because people get paid to work on the product, which is something I can't say for Linux.
Desktop environment rich with window management features and surprisingly few glitches (I say this just as a notification popped up on my Linux box and won't go away; I'm clicking on the x right now and it's just clicking on something underneath the notification...sigh.)
One unified app store that has a good enough selection for most people
Developers can still hack things up
Sleeps when I shut the lid
Wakes up when I open the lid
Runs browsers with any and all features intact exceptBrave,becausefsckyou,wedon'ttrustourusersenoughtoletyourunWebSerial
A team is paid to make sure it's accessible while blind, deaf, limited motion (and maybe that accessibility focus trickles down to benefit the average user too)
There are companies, RedHat, SUSE, Canonical, et al, who get paid in a sense, but my gross oversimplification of the matter is they don't really get paid to work on Linux as a product, they get paid to tell businesses how to use Linux and other free stuff to work around issues navigating what is otherwise a proprietary-software-dominated world. "But all my Microsoft Office™ files..." They work just fine in LibreOffice! That'll be $2,500. "Our team really likes Slack..." Have you tried [zulip/mattermost/insert other open source Slack clone flavor of the month]? Thanks, pay $1,000 at the next window.
That means Linux the product only gets the free fixes, for the most part. The fixes where some user crosses the Venn diagram between giving enough of a shit, being frustrated just enough by an issue, and having the ability and time to just go and fix it themselves and contribute the patch / PR / whatnot. Or the fixes that were sponsored by a company in the process of using the code for their product or service--if the company cares enough to upstream it (or doesn't care one way or the other)
Maybe I'm just suffering Ubuntu-itis and I can sort everything out by hopping over to Debian or arch btw. At least until the next issue I run into.
Does anybody else get tired of this, or is it just me?
I ain't reading all that crap edition: Linux on the desktop sucks because nobody gets paid to fix it, they only get paid by businesses to tell them how to shoehorn Linux into their business world.
So... it sounds like you're struggling with Snap. In addition to others' suggestion (try a different distro without Snap, perhaps one of those distros made by a different company such as Fedora (Red Hat), an OpenSUSE variety (SUSE), or even a corporate, less Snap-reliant Ubuntu-based distro like Pop_OS (System 76)), you could also try uninstalling Snap from Ubuntu or installing another binary option like Flatpak/Flathub and installing your software that way. Frankly, the amount of money these companies make working on Linux or Linux-based products has nothing to do with your struggles. Plus, the companies you mention do, in fact, make money working on the kernel itself because they contribute to the kernel as a project. Even Microsoft and Google do the same, though Microsoft does so for the sake of WSL and Google does for Chrome OS and Android. So plenty of people make money if the Linux kernel keeps having work done on it and keeps improving. I don't see what the problem is with the kernel itself. The lack of polish, as you call it, in Linux-based OSes is not a fault at all of the kernel but in all the various other parts that go into the OS. And that level of polish can vary quite widely. As you note, Snap has been holding Ubuntu back quite a bit due to lack and reluctance of community adoption. Even just trying a different Ubuntu-based OS such as Pop_OS, Linux Mint or Neon may change your view.
To keep this post short and sweet, I laser focused on the one issue that most recently grinded my gears. I can get rid of snap, but then, what's going to happen next? That's all I'm saying, really. There's no perfect story, even my Mac drives me bonkers at times (yes thank you I know I removed the drive without ejecting). But yeah, should really try something different than Ubuntu at some point, or start fixing some of the stuff that bugs me instead of banging my head on the wall about it. I used to fix stuff. Even contributed some code to a few open source projects over the years. I'm just always trying to deal with something else at the time I run into these things and don't have the patience to engineer my way out of it in the heat of the moment. I'm a whiny baby and I'd rather it just be fixed for me.