As a software engineer, the most important thing in the universe is your ability to actually get people to experience your work. Period. If you don't have an effective and trustworthy build pipeline in this day and age, you do not have an application - you have a big source tree nobody can do shit with. Having a deliverable is the difference between someone happily downloading your game and making them cry because you forced someone who doesn't know how to try and compile your application. Bluntly, it is purely self interested behavior which refuses to acknowledge why we're all here as engineers in the first place - serving the people. That covers everyone from Billy Bash Badass to the single mom with a bad job and way too many problems already that just wants to sit down, shut up, and play The Sims.
I've spent years embedded in virtually every layer of the OpenMW ecosystem — contributing to the engine itself, the editor, the scripting API, building out Modding-OpenMW, working across multiple multiplayer forks, writing mods, mod templates, and tooling. If there's a part of this project I haven't touched, I haven't found it yet. So when I tell you that our ability to actually deliver OpenMW to people has been repeatedly hampered by packaging dysfunction and maintainer politics from organizations that have never contributed a line to the project, I'm not theorizing. I watched it happen, repeatedly, from the inside.
So here I am one day sitting on South Beach in Miami on vacation with my girlfriend, trying to do my job as a project developer for OpenMW. I make a simple comment on an issue I made last year - "I just don't really see any reason to invest in AppImage considering the existence of Flatpak and the good work being done to improve generics." It seemed simple. Straightforward. Easy conclusion to arrive at. And before I've managed to wipe the sand off my phone screen and get back to enjoying myself, I'm suddenly getting all caps DMs from someone who hasn't participated in the community in months. I'm called arrogant. Closed minded. That I'm shutting down AppImage because I don't like how the sausage is made. Demanded to join a voice chat to relitigate straightforward conclusions that most of us had already settled long ago. This wasn't a new conversation. We'd been living with this problem for years.
I don't know if that friendship will survive. I'd like for it to. But not at the cost of anti scientific behavior infecting our community and making it worse for all of us just to serve some ideological bent. Bar none.
So what's actually wrong with AppImage in the first place? Why is this a demonstrable technical problem? Firstly, in context of OpenMW, it explicitly runs counter to the fundamental architecture of the project. We have one repository with maybe something like twelve applications. Slightly more, slightly less, honestly I lose track, but the point is that we have a single shared source and dependency tree. The generic archives are a single directory with all the apps and deps you need for the thing to run. AppImage is one bundle, one application. Meaning we've duplicated all the dependencies each application shares and needs to function properly, too; what if you have an old-ass copy of SDL2 in that AppImage which doesn't actually work very well on your system and breaks windowing, which I've actually seen happen? The "what" is the same thing it always is with the Linux community: my friends and I have to sacrifice our time and mental well-being dealing with problems that should never have existed in the first place.
This is long before we get into the more fundamental failures of the build system AppImage provides. It has no relationship with whatever build tooling you're already using, guaranteed. You need appimagetool, linuxdeploy, a whole technology stack and someone who's willing to put up with all that in parallel to your actual development team whom legitimately knows how it should get put together correctly and is already doing that for people. And then, when the one AppImage guy disappears, you're left holding the bag for a community that relied on their build system that only they understand or even think should exist in the first place.
Topping off the shit salsa sandwich we find ourselves faced with in this situation is the fact that AppImage makes zero attempt to handle the problem of application distribution. It does not attempt to vindicate or expose your work to the end user - it's fundamentally designed to keep you in Plato's Cave, shipping and building everything yourself without any discoverability while Flatpak users across the ecosystem and on all distributions casually download things off the Discover store, expect them to Just Work, and actually that's exactly what happens every single time.
None of this happened in a vacuum. The ideology that built this mess was once the right answer. It was forged in a specific moment when source distribution was the only reliable way to get software running on heterogeneous hardware, when corporate software was actively hostile, when the only way to know what was running on your machine was to build it yourself. Those were real problems with real stakes and the people who built the FOSS movement around them weren't stupid or malicious. They were responding rationally to the world they lived in.
The problem is that world doesn't exist anymore.
Today's Linux ecosystem is proudly staffed largely by well-paid engineers that act in good faith and still genuinely contribute to FOSS projects. Powered by reproducible builds that stem from centralized build systems offered by the likes of GitHub and GitLab. Compilation and distribution is more centralized and trustworthy today in the Linux ecosystem than it's ever been. All my Rust applications are sent to VirusTotal and signed through SigStore. Every commit. Every tag. Every build. All reliable and validated and guaranteed to be trustworthy and secure by bigger powers than myself. All of that is automated and finishes in less than five minutes and my consumers never need to know what a package manager is and it doesn't matter what distro they run. And I'm just some guy that makes OpenMW mods. It's not even slightly difficult to achieve this if you just care about the people you're working for every day.
There's a deep and sickening irony to all of this. And it's that the Linux community has largely lost sight of its own ideals. As a penguin, I was exposed early on to the ideas of Stallman. I respect and agree with what he believes in. Proprietary software is a weapon against users whose obscurity creates a false sense of security in its creators and silently damages the entire economy of technology. See the 2024 CrowdStrike disaster which took down the global travel infrastructure for days due to a bad update. An Open Source team would have caught that before it went live. Rushed corporate interests did not, and we all paid for it as a society.
So why is it that mega-corporations are sinking billions of dollars into OSS such as the Linux Kernel, Proton, Flatpak, and the rest of the immutable distro stack? Why might it be that all these big players in the industry are making huge and sudden moves towards change? Towards improvement, towards centralization, reliability, and generally getting rid of package managers and maintainers?
It's because those are all stupid roles that fundamentally should not exist. They solve problems that we as a society have moved on from at this point. The fundamental nature of the Linux ecosystem is changing, and it's happening because most of you turned it into a nightmare hellscape where nothing is ever consistent, logical, or just plain fucking easy to deal with. For anyone. Not the single mom who wants to play The Sims or the ten-year-sysadmin-turned-Rust-developer that just wants to entertain people.
Before you start clutching your pearls and writing me angry comments and emails. Stop and consider this for a moment. How much electrical and intellectual energy goes into recompiling the same damn application? Every single day. Think about what it costs us as a society for you to be recompiling every package you install on Gentoo. For every ridiculous declarative config you HAVE to make yourself on NixOS because you're somehow above just using the developer's build of the developer's application they provided to you. Every smart developer who bounced off Linux fragmentation and went to write Swift apps or ship on Windows instead is a permanent loss. That person isn't coming back. That's not a hypothetical cost, it's a real one that compounds every year the ecosystem keeps fragmenting itself needlessly.
How many thousands of work hours have been wasted on this crap, how many skilled and smart people have we lost out on because the split between Arch and Fedora and Debian and Ubuntu and Nix and whatever the hell else is all just too much for sane individuals to deal with? Nobody actually knows. That's the damning part. We've never bothered to measure it because measuring it would require admitting it's a problem. But the answer is obviously enormous and obviously negative and we've collectively decided not to look at it directly.
Most saddening of all is that the legitimate and valid communal focused ideology that the old guard purports to hold up - is actually being lived and expressed by the corporations those same people would argue are capturing the ecosystem. The guys out there with big Che Guevara energy are the real ones building and perpetuating a misery machine fueled by your ideology and nothing else. It's a wealth transfer from the hearts and minds of real and talented developers to ideologues at the top of the ecosystem that would rather take value from your work whilst not actually contributing anything and hoping you'll join in singing kumbaya, drinking the kool-aid, and starving to death while you do one of the hardest jobs on earth. Valve, Canonical, Red Hat - these are all large corporations with well paid employees that are legitimately doing great things for the community and the users and developers are happy. This is incontrovertible fact you can only fail to see if, to you, Linux is not the democratization of technology but instead the intimate satisfaction of init scripts sliding up your butthole in just the right way.
You cannot ever lose sight of who we as technologists are here to serve. Moms who don't know or care what the hell an init system is. Normal gamers who just want to chill and play Overwatch with their friends. Young children inspired by the genuinely good ideas of our forefathers that this ideological nonsense eventually will scare out of the community. That's the real loss behind all this. Every time you succumb to the fragmentation of the Linux ecosystem and tell some poor clueless kid that can't run a bash script yet that he should run Mint on his gaming desktop because it's "stable" - that's one more person that inevitably decides we're all fucking crazy and never comes back and spends the rest of their lives telling everyone they know that Linux is hard and confusing when it hasn't been either of those things for years. If you care about Linux, then, you need to recognize you are probably a huge part of the problem. Yes, you.
This not only drives users away, but inevitably it discredits the positions of every single Linux enthusiast on Earth in the eyes of normal people. In many cases it's simply impossible to argue that Linux actually IS easy to use and learn and why that's the case, because the Linux community traumatized them and damaged their worldview so significantly that they think Linux enthusiasts and software engineers are all a bunch of crackpots that place absolutely no value on anyone's time or ease of use. And as a person who is both a Linux enthusiast and a software engineer DEDICATED to making people's lives easy, this pisses me off infinitely. I can't even fix the damage you people caused because you fucked up so badly that I get discredited before I've even started the conversation.
Our biases are killing us as a community. Moreover, we've completely failed to live up to the original ideas that birthed this community. We created a misery machine powered by idealism and left a sanity vacuum corporations gladly filled in our place, and the result is actually verifiably great. Linux is growing more now than it ever has, and it's more accessible than it's been for my entire life. I remember in my youth having to compile GZDoom myself and fucking up and not getting any audio. Those days are gone. What we have now is a coherent and easily accessible ecosystem being held back by oligarchs who wish to preserve their old places in a world that no longer wants or needs those places to exist in the first place.
Freedom from the tyranny of package managers is the most exciting thing I've ever heard of as a developer. I swear, if I have to make one more architectural decision whose reasoning starts with "But the Debian package distribution guidelines say that . . .". Yeah, well, the Debian people don't participate in my work. They're more than welcome to have a voice in it, but, actually they don't care about my project, they just want to tell me what to do. Have you heard that one before? I wonder where.
You're welcome to disagree with me if you want. Feel free to be furious and angry about the receipts laid out in this piece. But keep in mind while you lecture me about how wrong I am, that Gabe Newell is out there shitting his yacht money into Flatpak and wipes himself with the hundred dollar bills he made proving you all wrong.