I use Linux as desktop/laptop whenever I can. I love the ease of installing software when it is available in official repo / homebrew.
On the other hand, packaging for Linux is such a mess currently. Packaging for individual distributions is no harder than Windows/MacOS, but supporting all of them is such a pain.
We have appimage, flatpak, snap (?) now. Unless a de-facto standard emerges, we may be far from a good solution.
The only one of those I use is appimage, which doesn't require any constantly-running daemon or putting files in root-owned folders. The downside of appimage is that it doesn't do any sandboxing, but I feel like that should be a separate issue from how it's installed. (Why can't the distro sandbox appimages for me? Instead of just saying "this needs to be marked +x to run", it could ask "what permissions do you want to give this?" and some appimage metadata says it needs permissions x y and z)
On the other hand, packaging for Linux is such a mess currently.
However true that may be, it's also not your job. Packaging is done by the maintainers, you just need to make it able to be built reasonably easily.
This only breaks down for closed-source applications that can't easily be recompiled, and open source authors trying to mimic that distribution method.
This can break down when distro maintainers aren't willing to coordinate with the project or double down on poor packaging decisions. Back in the day a project I was involved with got tons of bug reports and support requests for issues that had been fixed years before because a popular distro mistakenly shipped a thoroughly obsolete version of our software when they cut a new LTS release.
dilawar | 19 hours ago
I use Linux as desktop/laptop whenever I can. I love the ease of installing software when it is available in official repo / homebrew.
On the other hand, packaging for Linux is such a mess currently. Packaging for individual distributions is no harder than Windows/MacOS, but supporting all of them is such a pain.
We have appimage, flatpak, snap (?) now. Unless a de-facto standard emerges, we may be far from a good solution.
pyfisch | 17 hours ago
The emerging standard is Flatpak, Ubuntu is the odd one pushing snap.
Sanity | 18 hours ago
The only one of those I use is appimage, which doesn't require any constantly-running daemon or putting files in root-owned folders. The downside of appimage is that it doesn't do any sandboxing, but I feel like that should be a separate issue from how it's installed. (Why can't the distro sandbox appimages for me? Instead of just saying "this needs to be marked +x to run", it could ask "what permissions do you want to give this?" and some appimage metadata says it needs permissions x y and z)
dilawar | 16 hours ago
+1.
sanbox-it ~/bin/foo.appimagesounds lovely.I kinda miss
pledgefrom BSD land. It was far easier to write security policies.kolja | 14 hours ago
However true that may be, it's also not your job. Packaging is done by the maintainers, you just need to make it able to be built reasonably easily.
This only breaks down for closed-source applications that can't easily be recompiled, and open source authors trying to mimic that distribution method.
jamesgecko | 9 hours ago
This can break down when distro maintainers aren't willing to coordinate with the project or double down on poor packaging decisions. Back in the day a project I was involved with got tons of bug reports and support requests for issues that had been fixed years before because a popular distro mistakenly shipped a thoroughly obsolete version of our software when they cut a new LTS release.