(Or, How I Learned to Stop Worrying and Love the Cloud)
//Background
I’ve been a Linux user since I was a child. There are a few factors in that: one, kids have a lot of time and basically no money; two, I’ve always been a weird nerd; and three, I’m about as stubborn as it gets. When Windows started shipping SkyDrive – today’s OneDrive – I looked at it with skeptical disdain. When Microsoft started selling Office as a monthly or annual subscription, rather than as a product one could simply buy and own, I started to get a sinking feeling. And then, I got into the workforce and started to see that everything had done this. Pretty much any software you can imagine, you’ll find that it’s gone from a product that has discrete upgrade versions that you spend money on when they make them… to a subscription product, typically updating without the users’ control or input.
I absolutely hated this change. In fact, I still don’t like it very much. Just as a matter of principle, I think that when you buy something, you should be able to do with it what you please. I also think that one of the pillars of the modern tech economy – massive surveillance – is bad for society, ethically, morally, and practically. This all instilled in me what I’m going to call a very “cloud contrarian” attitude: if something was a subscription service, if it was a cloud-based product, I would reject it by default. It couldn’t be trusted.
At the same time as this cloud revolution was happening, something else was happening, too. Linux was growing. Far from its roots in a Finnish university computer lab, Linux was becoming an unstoppable juggernaut. All these cloud systems? Powered by Linux servers, running in datacenters all over the world. All the apps people loved? Running on Android smartphones, powered by Linux. From watches and appliances to massive supercomputing clusters pushing the edges of computer science, Linux dominated the field.
…everywhere except where I was using it – the PC. Despite desktop Linux making vast strides in usability, despite the warning signs of enshittification everywhere in Windows (remember Windows 8?), pretty much nobody was willing to make the switch. And honestly, I let it turn me into something of an elitist. Why wouldn’t people happily take a little hit in convenience, or be willing to learn a new workflow, in order to escape the clutches of their corporate overlords? Well, it must be something wrong with them. Certainly, it couldn’t be something wrong with my beloved desktop Linux! How hard is a terminal to use, anyway?
//Derailment
Well, I kept on thinking that way, until Windows 11 and Recall. Microsoft bungled the Windows 11 thing on so many levels, from 11 existing at all (remember, they’d promised Windows 10 would be the last version of Windows you would ever have to buy!) to its massive increases in telemetry, advertising, and now so-called “AI” gumming up the works of your machine as a fun little built-in bit of malware. People started flocking to Linux, at least somewhat techy people. And my lovely wife wanted to get off of Windows, too.
I got her set up with a great Linux distro for gaming – CachyOS. All the power of Arch, but with a graphical installer, optimized kernel, and packages compiled specifically for newer x64 instruction sets: what’s not to love?
She hated it. Things just didn’t work right for her, and a million little friction points agglomerated into a big operating system rugburn. It took less than a week before she asked me to reinstall Windows for her. And this moment started me down my journey. Because all of a sudden, my usual response to negative desktop Linux feedback – “I’m sorry you had a bad experience with it; Linux isn’t for everybody” – started ringing alarm bells in my head. Why isn’t Linux for everybody?
And more importantly, I’d thought Linux had made great strides in usability! What happened to that? More GUIs replaced config files and terminal commands, more desktop apps started to get feature parity with their proprietary equivalents, and Wine was getting better all the time, letting folks just do their thing! What in the blazes was going on, if despite all this, Linux still wasn’t for everybody?
I was well and truly lost. Like most of the times when I get lost, I turned to art to pass time, explore feelings, etc. I picked up my Steam Deck, powered it on, and was greeted with a game I’d never played in my life: Sonic Adventures 2. My wife had been playing it. This is the moment when the penny began to drop, as the Brits say. See, my wife was using Linux all the time. On her Android phone, on the Steam Deck, behind the scenes of every website she’d ever visited, give or take a few Windows Server weirdos. But something about the desktop Linux experience – outside SteamOS – just wasn’t working for her.
I wanted to figure out what that thing could possibly be.
//Enter Player Two
There’s a hot new desktop Linux distro* making waves, and its name is Bazzite. (*They don’t call it a distro, for reasons I’ll explore later.) The pitch to those who aren’t developers or long-time Linux users is simple: “This thing works like SteamOS. It’s like making your whole computer work like a Steam Deck.” It’s getting thousands of new users a month, so clearly that pitch is resonating with people. So what’s the difference between it and the desktop Linux I knew and loved?
I dug deeper, finding out that Bazzite is just the most popular of a family of OSes published by an organization with a name that sounds like a military psyop: Universal Blue. And the stuff I saw on the Universal Blue website drove me feral.
“What the fuck is a “cloud-native” Linux desktop?” were my words at the time, and when I saw that it had to do with containerization a la Docker – another technology I’d mostly dismissed as “some cloud bullshit I don’t want to deal with” – I just let my brain skip to the good stuff: what made these operating systems different.
They’re built and deployed as images, not as lists of packages. The whole OS is split into user-level stuff, which you can modify as you please, and system-level stuff, which is generally read-only; applications come from Flathub, not a distribution’s package repositories, and OS updates happen automatically in the background without the user ever having to be aware of them.
That last bit sounded awful to me. Why in the world would I want my computer to auto-update without asking me, without even letting me know? What if the update broke something? What if it contained malware?
But then I read further. Because of the image part of the process, updates don’t overwrite the old version. If the update doesn’t work, users are free to just reboot into the version before the update happened, with nothing but an arrow key at the boot menu. No rollback process, no package manager hell, just a boot option. That sounded pretty nice, honestly.
That’s when I started to dig into the meat of this “cloud-native desktop” stuff. What it is, how it works, why it happened. Reading blog posts, digging into what Docker even is, anyway… being open-minded about my long-held Linux Person(tm) beliefs.
//Are We The Baddies?
“With great power comes great responsibility.”
Yes, it’s the iconic motivation of Marvel’s Spider-Man, the “Gospel of Uncle Ben,” but it’s also the gist of the lecture every Linux user gets the first time they use sudo on a freshly installed machine. It also happens to be one of the things holding desktop Linux back from mass adoption. Desktop Linux is easier to administer than ever before, but it still needs administering.
My old elitist barb – “oh, I guess Linux isn’t for everybody” – has a bit of truth to it, but was misaimed. Being a part-time, unpaid sysadmin isn’t for everybody. And as long as that’s the price of entry for desktop Linux and the FOSS ecosystem, then those things aren’t for everybody, either.
So why the absolute fuck is that the price of entry for desktop Linux? There’s a meme making the rounds on the Linux side of social media. A Windows user tries to uninstall Edge, and Windows throws a fit, saying “You can’t do that, you’ll break your system!” A Linux user says, “I’m going to uninstall the bootloader.” Tux the Linux penguin replies, “You’ll break your system, bro!” He says, “Sudo I’m going to uninstall the bootloader,” to which Tux replies, “You got it, lol.”
The people sharing this meme seem to think this is a good thing, a thing that proves Linux’s superiority. And about a month ago, I’d agree. On some level, I sorta still do. You should absolutely have the right to break the system you bought. But the meme reveals the biggest problem with desktop Linux: it’s aimed at nerds. All the vast strides in usability desktop Linux has made over the years don’t erase the core problem. Those haunting words from Uncle Ben (or GNU sudo) don’t herald the beginning of a power fantasy for most people. They scare the living daylights out of ’em.
The average person who uses a computer doesn’t want that responsibility, and that’s not some kind of psychological flaw with the average person! It’s not stupid to want a system you’re not going to accidentally break, and it’s not stupid to want your computer to not need a damn wiki to operate. As much as I love Arch Linux and the Arch wiki – I love them a whole hell of a lot – the Arch way of thinking isn’t going to ever be accessible to most people who use computers. And despite what the Arch crowd will tell you, that way of thinking is also in every other major desktop Linux distribution, too. Software updates? That’s on you, the end user, to make happen. If something breaks on your computer, the support system is a bunch of folks on a forum, half of whom will just smugly reply “well if you were using Y software instead of X software, you wouldn’t be having this issue, would you?”
I know because I’ve been the smug forum folks. I’ve been on every side of this equation, and it fucking sucks. But with Universal Blue’s “cloud-native” images, so much of this disappears. It’s as hard to break as Mac OS, and much easier to fix when it does break. These OS images aren’t for people who want to be part-time, unpaid sysadmins, and the more I use one, the more I start to understand that I never really wanted that in the first place. It was the price of entry for a thing I did want – free and open source desktop computing – and I was so willing to pay that price that I did some creative accounting to mark that cost as an asset.
I’m not willing to cook those books anymore.
//How I Learned To Love The Cloud
I’m a self-hoster. I have a small server (it’s a repurposed SFF office PC) on my bookshelf, hosting a bunch of services for me. File storage, media library, this blog, and more, all in one convenient package living ten feet from my desk. It runs a Linux distro called Yunohost, a Debian spin, and hosts all of these services with ease. None of them are in Docker containers; there’s no virtualization going on at all. And for a while, I thought of that as a benefit. See, I never learned how to use containers, but good old Debian packages and shell scripts? Those, I know.
Sure, all that software only gets updated at the speed of Debian’s package maintainers; sure, if one of the services goes down, there’s a nonzero chance it takes all the rest of them with it; and sure, many of those services were explicitly built to be deployed in Docker containers, rather than installed on bare metal; but they all work, right? And I don’t have to learn a new technology!
I’m sounding an awful lot like the people I derided earlier, aren’t I? Not wanting to use something with proven benefits, because of image issues and not wanting to learn a new workflow? Interesting, isn’t it?
See, I still have massive beef with the cloud industry’s titans. I still can’t stand intrusive surveillance, the ever-ratcheting monetization dial, or the lack of ownership over my own data. But these things aren’t the technology of the cloud itself. These things are policy choices, largely made by the US government and multi-billion dollar corporations. The tech itself is pretty damn awesome, actually.
Reproducible build environments for software, able to be spun up and discarded as needed. Consistent images for deployments, where the architecture of the host system hardly matters at all, beyond the processor’s instruction set. Automation and orchestration, allowing scalability without requiring construction.
The entire cloud-based build process of these Universal Blue images could run on my bookshelf server, if I wanted to. It’s portable like that, because it’s cloud-native. I could have my own image forge, taking one of the images like Bazzite or Bluefin – or even an Arch bootc image – and applying my own customizations in realtime, then deploying it to as many PCs on my network as I want, without any of the compute or storage for that being on someone else’s machine. (This is why Bazzite and the other Universal Blue images don’t call themselves “distros”, by the way; the only thing they’re “distributing” is a set of scripts, some artwork, and a Dockerfile!)
Or I could have GitHub host it. Or GitLab, or any of a dozen others.
These things that I thought were at odds – my freedom and the cloud revolution – don’t have to be at odds at all. If I don’t want to support Microsoft or Google, I don’t have to – and I don’t have to give up the benefits of cloud technology, either.
It’s a whole new world, and I’m excited to explore it. And maybe, the next time I spin up a home server, I’ll run it with containers.
Leave a Reply