https://s3kshun8.games/blog/flatpak-won/

This should be mandatory reading for everyone invested in the Linux ecosystem, whether you leave feeling heard by or enraged by the author.
Gabe Newell Is Shitting Yacht Money into Flatpak and You're Still Arguing about Init Systems

S3kshun8's Lair
@asie I'm leaving feeling… neither?

I agree that applications should ultimately be distributed by their developers, and that flatpak is a genuinely good approach for this that has beaten the alternatives (snap, appimage) for good reason. The historical "devs suck at packaging their stuff" remains accurate, but at a small-enough cost we're bypassing this for the most part.

I guess what leaves me feeling off about this is the general perspective; I end up disagreeing with the fundamental premise. Is the primary purpose of a book to be read? A painting to be seen? Should we see creative output as something to be consumed, and therefore whose delivery pipeline must be optimized? Is it a failure to not record a lullaby you sing to your child because you didn't optimize for how many people receive it?

There are many kinds of software, and many ways to see it. The author works on games (well, open source game mods), the most profitable entertainment market in the world, which certainly shifts one's point of view. This tends towards a very supply and demand worldview.

Recently, one of my closest friends decided to switch to linux for gaming purposes again. I recommended an immutable distribution optimized for this (bazzite), and for him to use the store (flatpak) for as much as possible. I considered his use-case and made the suggestion that makes the most sense for it. This is not in conflict with what I do otherwise.

I guess the issue is that the post is a rant towards a specific subsection of people that I am simply not part of (this is fairly obvious given the very first example). It's why it's full of "you, yes you"s. Those just tend to be narrower by definition.
@[email protected]

I agree that the post does presume an investment in the "growth of the Linux ecosystem". If one sees distribution/operating system/packaging work as a creative endeavor for its own sake rather than an utilitarian craft for usage by and/or empowerment of the masses, then most of the criticism will naturally bounce off as unrelated.
@asie for me, in some cases it’s for its own sake, in some cases, it’s for a specific audience ^^
@toast @asie i don't mind if devs distribute their own apps, but that absolutely shouldn't be the *only* way to get the apps. it's a simple proposition: i don't trust all devs, but i do trust my distro maintainers. apps that assume/require a certain distribution method are apps that i simply will never use. moreover, distribution methods that assume/require everything else to use the same distribution method are going to be similarly problematic. (practical example: obs-studio built by arch doesn't have the twitch/youtube/etc api integration, but obs-studio flatpak doesn't work with blackmagic decklink drivers, but obs-studio-tytan652 in the aur just works.)

the far bigger problem i take with the article, other than the tone being really unpleasant, is that one of its central claims is that increased centralization is a good thing. first of all, it's a complete non-sequitur to why appimage sucks (and it does suck). beyond that, i don't think the historical framing is accurate either -- hostile software is not a thing of the past, "well-paid engineers that act in good faith" aren't the only participants nor are they a guarantee that problems won't occur, and "compilation and distribution [being] more centralized [...] than [they've] ever been" is not an unquestionably good thing. "Towards improvement, towards centralization" sounds like an oxymoron unless you accept that centralization is aligned with improvement, which... there are many reasons *not* to accept that???? when the strawman being constructed is "you're somehow above just using the developer's build of the developer's application they provided to you", as if there aren't *any* valid reasons to take any sort of issue with those builds?

but also the tone, my god:

> 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.

like, hoo boy, for someone complaining about "ideology" this paragraph alone is full of ideology

> 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.

which i guess illustrates the fundamental flaw of this whole article, that it complains about one thing but uses it to somehow justify something completely different and unjustifiable. what is "the democratization of technology" to this person? is it "democratization" when all the technology is controlled entirely by whatever gets corporate funding, and anything that isn't valuable to those corporations remains unpaid? should linux be this club run by those "well-paid engineers" they seem so fond of? how is "democratization" compatible with "centralization"?

in conclusion i didn't get anything useful out of reading this article and whatever useful points could have been salvaged from this, i'm sure others have made those points in far more coherent arguments 

@a @toast @asie

one of the hardest jobs on earth

How can anyone say this about software development. Holy first world tears, give me a break.

@asie

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 Spot on. Every distribution of Linux has their own major asterisk. If you are on Fedora you need to manually grab unencumbered patents, or if you are trying to choose an arch distro it usually doesn't hold your hand, or if you use Ubuntu they might swap apt packages for snaps that sometimes have known issues.

Flatpak won when the Steam Deck shipped Flatpak as its default package manager for its desktop mode. SteamOS is by far the most popular desktop distro* and it has made its mark.

*chromeOS treats its dev terminal as a developer thing, not an end user thing.

@asie the most contentious bit in that post is that FOSS maintainers would've prevented the crowdstrike incident when the only mechanism by which that is true is the shitty state of packaging that is also being criticized

see xz backdoor being noticed in debian unstable
@aura you know that's a pretty good point actually
@asie
sorry I quit after the first sentence

@asie to elaborate:

> As a software engineer

very few programmers would qualify as actual engineers, certainly not me

> the most important thing in the universe is your ability to actually get people to experience your work.

No.

If we take "engineer" literally, the most important thing is to prevent your work from putting users in danger. Sometimes that means not releasing your software.

If we ignore the "engineer" part, I still think there's too much software already.

@asie ah, the weekly blog post about how fragmentation bad centralisation good

the problem is that doesn't work. you cannot trust one single entity with all the power that would be given to them this way, for example flathub maintainers have time and time again shown themselves to be actively hostile to application devs

the part about recompiling is also pretty much worthless, reproducible builds is specifically there to allow us to be sure the provided build is correct, without extra added things. if no one else than developers ever recompile it, we're entering a security and trust nightmare, and i want no part in it. also the electricity "wasted" recompiling is a distraction from actual electricity hogs

@asie
Here is a thought, the binary incompatibles is more due to the idea of move fast and break things than folks who want the ability to recompile everything and have an init system that is modular and non centralized.
Look at llvm for an example, right now you are required to have something like 4 different versions to get a system running. While with gcc you just need one version.
The same is true of most other more recent c++ library. And you wonder why there is dll hell now. There was no learning from the 90s. It repeated itself. This is how docker and such came about because of dependency hell.

@asie

As a penguin, I was exposed early on to the ideas of Stallman. I respect and agree with what he believes in.

fossbro, opinion discarded /s

i think the author fails to actually touch on the core of any of the issues he’s writing about :/

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.

HALF OF THE TIME I DOWNLOAD SHIT FROM FLATPAK IT DOESN’T FUCKING WORK. not to even mention how much it sucks ASS for console applications. like, sure, i don’t want to erase the author’s experience, i bet it works okay for his userbase, but he’s generalizing.

also the casual hate on nix, explaining issues you’d never face unless you explicitly decided to start using nixos. what the fuck man

@[email protected]

i think his position in that regard is coming from that of a software maintainer. if my opinion on NixOS was based solely on the disappointment in users' faces when I told them "haha, good luck" when asked about how to make Wonderful Toolchain run on it, i would have a pretty low opinion of it as well

I remember when some software projects banned bug reports from Gentoo because the combination of USEFLAGS, unusual configurations, and tinkering-happy users made it impossible to reproduce anything
@[email protected] (yes yes I know NixOS solves exactly the problem of it being impossible to reproduce anything)
@[email protected] (also someone did make Wonderful Toolchain run on Nix!

https://github.com/pgattic/blocksds-nix/blob/master/flake.nix

well BlocksDS but I wouldn't mind someone adapting it to do the WonderSwan part)
blocksds-nix/flake.nix at master · pgattic/blocksds-nix

❄️ Build Nintendo DS games with Nix. Contribute to pgattic/blocksds-nix development by creating an account on GitHub.

GitHub
@domi @asie for me, flatpak is just the second choice if the native package doesn't work. as someone who rices their everything, having something that ignores most env variables and systemwide configs is somewhat useful for those cases, but equally annoying for daily use. but more often than not, the flatpak one doesn't work either (usually for unrelated, unique flatpak reasons)

and all that after I spent many days trying to get into flatpak because I like the idea in theory, and the execution is at least better than canonical's snap… I still can't get myself to like flatpak. It's just too flakey, ironically

@asie x86 is my container, statically linked binary is my appimage.

No, jk, but sometimes it feels ppl could use a reduction in the amount of the abstractions.

@asie I think this post is good in the wake of lots of maintainers of (gui) applications being against flatpak.
I want to run a simple command to install your application, and not download an appimage which likely never ends up leaving my downloads folder.
I want automatic updates for those applications (whenever I decide to run
flatpak update) instead of them doing their own update checks and bothering me with popups on startup.

I get that publishing to flathub is extra effort, but why is barely anyone building
.flatpaks for their releases, when it is "close" downloading and running an appimage?
@tea There are some programs which can't be published to Flathub, unfortunately. In particular, I'm thinking of Minecraft launchers, where old versions of the game don't run well on Wayland at all, while new versions of the game run worse on xwayland than native Wayland:

https://github.com/flathub-infra/flatpak-builder-lint/pull/935
add exception for com.moulberry.PandoraLauncher by fluoriteByte · Pull Request #935 · flathub-infra/flatpak-builder-lint

Needed to allow older versions of the game to launch

GitHub
Add warning when X11 is unavailable on linux · Moulberry/PandoraLauncher@1db9c06

Pandora is a modern Minecraft launcher that balances ease-of-use with powerful instance management features - Add warning when X11 is unavailable on linux · Moulberry/PandoraLauncher@1db9c06

GitHub
@asie but that's what I mean, why can't they put a flatpak in their release assets in addition to the appimage?
in this case I'd probably phrase the error differently since the issue is not the flatpak itself and you can enable the x11 socket yourself (I know we want to avoid the user having to do extra fiddling, but still)

flatpaks could just be a "one click installer" even without using flathub
@tea @asie

> I want automatic updates for those applications (whenever I decide to run flatpak update) instead of them doing their own update checks and bothering me with popups on startup.

package managers solved this decades ago, though?

"i want automatic updates for those applications (whenever i decide to run {apt update, dnf upgrade, pacman -Syu}) instead of them doing their own update checks and bothering me with popups on startup"

in that regard, flatpak is just another package manager. (yes appimages suck but appimages aren't packages and they don't really have a good way to manage them or integrate them with your system)

> why is barely anyone building .flatpaks for their releases

more effort than just providing sources and letting people / distros build it for themselves? flatpak also forces sandboxing on you so all your dependencies need to be in flatpak as well. (one practical example is the obs studio flatpak not working with blackmagic decklink drivers)
@a @asie so what you're saying is we shouldn't bother with flatpak at all since every distro packaging something makes less problems for the user? (apart from updates being slow depending on the distro, and no sandboxing (for applications where it makes sense).

no one ever claimed flatpak was the perfect format for and should be used for everything, but it makes sense for a lot of cases and should be used where it makes sense
@tea @asie no? i'm not sure how you got that from what i said. you can use flatpak just like you can use anything else
@asie
I find that Wine frontends are much worse than the packaging situation, when it comes to perpetuating and causing "problems that shouldn't even exist".

The common practice of giving every app it's own prefix seems to mostly be a workaround for Wine's inability to handle DLL Hell conflicts, and everything else they do could probably be implemented as plugins for your file manager/program launcher/system tray/etc.

It's supposed to be one of the pillars of universal Linux adoption (especially for gaming) yet is always treated as a wierd crutch rather than a proper environment.
@asie
speaking of Packages:
- Never really built software from source, but every OS should strive to treat it as a first-class feature rather than a nerdy/paranoid detour

- Flatpak works well enough, at the expense of clobbering the user's disk with gobs of redundant libraries

- I've stuck to Debian and derivatives, because it has a good supply of binaries that aren't Flatpaks

- I have a certain respect for the BSDs: because the differences between Free, Net and Open go deeper than "we made our own package format because X Y and Z" or "we use MUSL because it's safer and faster than GNU's C library" (no grudge against people who use and maintain such distros)

@asie I read it and came away thankful that I stopped writing code for others several years ago. 🤷‍♀️

I still write code though, and put it out there, but had to walk away from the “community” part.

@asie

If we were to agree with author I find it hard to "exercise the four freedoms" (https://www.gnu.org/philosophy/free-sw.en.html#four-freedoms) with some of their points.

What is Free Software? - GNU Project - Free Software Foundation

Since 1983, developing the free Unix style operating system GNU, so that computer users can have the freedom to share and improve the software they use.

@xgqt

I think the author's trying to point out that it is hard for most users of GNU/Linux to "exercise the four freedoms", or in fact benefit from other people exercising those freedoms in a practical sense today; in this way, the offering of the corporate machine becomes more compelling.

Having the freedom to do something does not absolve its user of criticism.

@asie

> freedom from.package managers
> look inside
> centralized google play esque package manager

also i fail to see how flatpak doesnt also have the problem with vendoring that doesnt work on your system, and its not like flatpak has more granular packages than app and "desktop runtime". like i have stupid font issues on flatseal probably for that reason

@asie I really hope the yacht money gets used and used well.. It's quite impressive what Flatpak has already accomplished but there's so much to do still