Hacker News new | ask | show | jobs
by jeroenhd 1458 days ago
They should, that's why Flatpak is excellent for wide-spread, cross-distro software support.

Snap is a slightly worse, proprietary sandboxing mechanism pushed by Canonical, the people making money off it. It has some fundamental problems (boot being slowed down by all the snaps being mounted, for example, Firefox acting weird and sometimes not even launching until I reboot since 22.04) and some ideological problems (the fact you can't host your own snap store without paying Canonical, the fact Snap blatantly refuses to follow standards like XDG or even just folder naming in the home directories, forcing a lowercase "snap" folder on everyone).

Some people are against the appification that's taking a toll on user freedom. Some people are in favour of the excellent permission monitoring and dependency conflict resolution it allows. Both sides seem to conclude that snap isn't the right answer.

1 comments

This thread is a perfect example of why we don't have clarity on what kind of distribution management we should have. We had:

1. Tar files of compressed binaries 2. No use your release's package manager 3. No, snaps 4. No you fool, flatpak is the superior solution. 5. I'll just finish this off by saying distributing source code is the obviously best way, you posers.

Nobody knows what kind of management we should have. Some people prefer directly distributing executables (AppImage). Some people prefer packages like Android/iOS (Flatpak). Some people prefer compressed files with installer scripts, like Microsoft's MSI files (.deb/.rpm). Some people prefer just a flat folder with binaries they can plonk down anywhere.

I personally prefer the distro-based approach, but for tools that need to be kept up to date independently of the rest of the system I'm a Flatpak fan.

People, collectives, and companies have preferences. There is no one single way.

In a similar vein, how do I distribute Windows software? Do I put it up on the Microsoft store, do I provide a download with instructions for my msix file or is appx more suitable for my use case? Do I add a compatibility layer for .exe to sacrifice the security sandboxing brings to make the file nice and clickable? Or do I use .msi to use the system UI that's easy to set up (but impossible to navigate for computer illiterate people). Or wait, maybe Steam and Epic Launcher are a better fit? Hell, maybe I can get away with uploading the APK to the Amazon App Store so I can target Android and Windows 11 in one go!

What about macOS? Mac Store, .dmg disk image, simple .zip file, or maybe a self-extracting installer? Do I need to include one of those weird screens that tells the user to drag an icon into a picture of a folder? That's what a lot of third party software had me do when I first tried it, though it took me a while to understand what it was asking of me!

Or is it better to use Brew/WinGet? It doesn't have the GUI, but it allows serious people to set up my software exactly how they like it.