> You know how on Windows, you can just download a zip with a program in it, unzip, double click, and the thing runs? Wouldn't it be nice if we could have that on Linux? There's no technical reason we can't, just standard practices that are hostile to this goal.
Oh Linux.
The inability to trivially target arbitrary versions of glibc is so frustrating. So much of Linux is stuck with terrible patterns from the 80s.
Arch does not normally use or make you use flatpaks, nor is it immutable. You describe SteamOS, which is based on Arch, but with changes to it.
This is more clearing up ambiguity for others reading than a correction, there's a decent chance you knew this already.
Fedora Silverblue is a distro which heavily uses flatpaks and is immutable out of the box. I believe this is what Bazzite, a community alternative to SteamOS, is based on.
AFAIK Arch is neither flatpack-based nor immutable by default, that's just how valve configured it, or am I missing something since I've used it a few years ago ?
The linux model exposes it's complexity to the end user. Because of this the model is usually a lot simpler(the average user is expected to understand it). In the windows world the model is this huge unknowable beast with a facade over it. if you are fine with the facade this works great, but when things go wrong, it is much harder, a soul crushing wall of propriety internal interfaces. that is, it makes the easy things easier and the hard things harder.
Don't get me wrong microsoft is one of the good guys here, compared to apple they are a very programmer focused company and try very hard to provide the information needed to do things with the os. There are people who are very good with windows and understand it well, I just never liked all the hidden complexity and am much happier with linux and it's explicit complexity. I have to admit that statement is a bit of a lie, I actually think linux is far to complex and am happier with openbsd, which exposes and expects even more of the end user and is correspondingly much simpler.
maximizing the amount of complexity just because your current users are capable of dealing it and often no other benefits whatsoever (of course not always) just doesn’t seem like a great strategy.
> The linux model exposes it's complexity to the end user. Because of this the model is usually a lot simpler(the average user is expected to understand it). In the windows world the model is this huge unknowable beast with a facade over it. if you are fine with the facade this works great, but when things go wrong, it is much harder, a soul crushing wall of propriety internal interfaces. that is, it makes the easy things easier and the hard things harder.
This has not been my experience in the slightest. Supporting “Linux” is radically harder, more complex, more error prone, and more miserable than supporting Windows. YMMV.
AppImage literally lets you double click the file to run it, you don't even unzip it first. It couldn't be simpler. If you're a power user who eschews desktop environments, then you chmod+x the file and run it.
It's the other two that complicate the matter in order to provide sandboxing. Thankfully you can simply choose not to use snap or flatpack. Really though, to characterize AppImage that way makes your comment sounds like the sort of cope windows users tell themselves to explain to themselves why they continue to tolerate Microsoft's abusive business practices.
> tell themselves to explain to themselves why they continue to tolerate Microsoft's abusive business practices.
The arrogance and smugness of some Linux users is probably the main reason for me. I just don’t want to be associated with that kind of people..
Generally unpolished UX and poor UI design (even by Windows standards…) is the second reason. Overall IMHO usually for consumer/desktop use cases all the tinkering you need to do on Linux to do many of the things that just work on Windows/macOS it’s just more trouble that it’s worth.. (unless you’re into masochism and there is nothing wrong with that).
>Generally unpolished UX and poor UI design (even by Windows standards…) is the second reason.
Sure Linux has plenty of it's own issues, but nowadays it's Windows that has degraded so much on the UX and UI department that I would dare say it is inferior to KDE and specially inferior to Gnome.
When you first boot into Windows 11 you realize that all programs sourced from microsoft itself are all based on inconsistent UX and UI. No program "skin" look alike, no button look similar. No modal dialog with a simple yes no question look "proper". Compare that to Windows 95 where everything was 1000x more consistent, it's like night and day. Even the stuff that uses the latest and greatest internal toolkit (that will surely be deprecated in a year) have that plain "flat" ui taken to the extreme that I at least find boring as hell.
And then you have to deal with two control panels to configure the system, a legacy they've been trying to move away since the win 8 days, with some dialogs that came up straight from windows 95 and windows 3.1 that still has the UX from those days... it's like living in an apartheid state, where each department at microsoft has to battle for their dear existence and fail at cooperating with each other.
And yes, I do feel smug when I realize a 3 Trillion dollar company fails at things that the open source community been nailing more and more every year. I guess linux is a cathartic experience nowadays. Can't get enough of it!
Good news, installing Linux doesn't teleport me into your living room. Complaining about other users is just another lame cope windows users use to excuse themselves (which wouldn't even be necessary if they were actually happy with their choice to use windows.)
It’s kind of weird that you’re so concerned about the happiness of Windows users…
To be honest I’m surprisingly happy* about Windows 11, after minimal amount of tweaking (less than I need on any Linux distro I tried to make it usable) I turned off most of the annoying stuff and I don’t really have much to complain about it + WSL
*the only thing I really want from an OS these days is to stay out of my way and require the minimal amount of pointless busywork from me (all the package management nonsense on Linux + permanent issues with Nvidia’s drivers).
You can have your zip (well, conventional would be .tar.gz/.xz etc.) + double click if you want. You do it the same way you'd do it on Windows: Bundle your dependencies in the archive minus base OS components with stable ABIs.
How do big binary linux applications deal with it? ldd'ing my chrome, I see it using Ubuntu's /lib/x86_64-linux-gnu/libc.so.6 and even a lot of GTK/Gnome stuff is in there, with Gnome famously providing no backward compatibility guarantees at all.
They don't. They either just ship half a distro with the app (flatpak, etc) or make a couple builds for different popular distros and call it a day. Linux's userspace ABI compatibility is a joke. Who would want binary software right? Just build it from source!
You can make portable binaries if you statically link everything and use MUSL as your libc but this brings in a host of other problems. Dynamic linking is impossible to do completely portable too as the dynamic linker is a part of the distro and the executable bakes an absolute path to it!
This is FUD. Portable Linux distribution has been figured out as early as Loki and it's not all that different from Windows distribution: ship your dependenciens with your application (which is not even close to half a distro if actually care to think about what your dependencies are) instead of just assuming that whatever is on your dev machine will also be on other systems. It's really not that hard.
It's not the best, only the cheapest to port to if you already have a Windows version - at the cost of additional bloat from the abstraction layers added.