As a user, the best way to handle applications is a central repository where interoperability is guaranteed. Something like what Debian does with the base repos. I just run an install and it’s all taken care of for me. What’s more, I don’t deal with unnecessary bloat from dozens of different versions of the same library according to the needs of each separate dev/team.

So the self-contained packages must be primarily of benefit to the devs, right? Except I was just reading through how flatpak handles dependencies: runtimes, base apps, and bundling. Runtimes and base apps supply dependencies to the whole system, so they only ever get installed once… but the documentation explicitly mentions that there are only few of both meaning that most devs will either have to do what repo devs do—ensure their app works with the standard libraries—or opt for bundling.

Devs being human—and humans being animals—this means the overall average tendency will be to bundle, because that’s easier for them. Which means that I, the end user, now have more bloat, which incentivizes me to retreat to the disk-saving havens of repos, which incentivizes the devs to release on a repo anyway…

So again… who does this benefit? Or am I just completely misunderstanding the costs and benefits?

-3 points
*
Deleted by creator
permalink
report
reply
26 points

Snaps benefit Canonical. They’re trying to build their own walled garden, and anyone else benefiting is not a consideration.

Flatpaks are different, because they aren’t purpose-built to benefit a single company. I wouldn’t use them to install most things, but there’s a few places where there’s benefits for at least some people. It’s a lot easier to maintain large projects like Firefox on older distro releases for example. You get sandboxing, so that say a bug in Firefox won’t let malicious javascript take over your system. It lets vendors release closed source software that would never be included in your distro’s repos. These are all things that may not benefit you, but in theory they’ll benefit enough people that it’s worth it.

I’ve also moved onto NixOS so don’t use either one anyways. I think Nix or something like it is the future, even if you’re running a more traditional distro, though that might just be misplaced optimism, see the success of worse is better.

permalink
report
reply
3 points

That’s a fascinating topic, and I wonder how AppImages sit in this argument.

permalink
report
parent
reply
3 points
*
Deleted by creator
permalink
report
parent
reply
3 points

AppImages are the Linux equivalent of portable .exe’s.

permalink
report
parent
reply
3 points

OH I asked a question like that not to long ago. Appimages do tend to be smaller, they have sandboxing, and getting updates can be hard. Sometime you have just download the new appimage and delete the old one. Other then that is does serve the same function of universal install format.

permalink
report
parent
reply
3 points

I’m an Ubuntu user, I’ve never bothered to try any other distro and probably never will. in essence, I just want my apps to work.

I have spent countless hours hunting down specific debian packages that the application that I want needs. I never wanted to worry about installing dependencies and worrying that they don’t interfere with each other in the first place. I really just want my apps to work.

People have complained that snaps have so much bloat, it runs slower, blah blah blah, I don’t care. It works and I’m happy.

permalink
report
reply
6 points

I don’t care. It works and I’m happy.

This is the usability aspect I occasionally see people overlooking. It’s hard to sell me on a solution with ideology alone, if the user experience sucks.

permalink
report
parent
reply
1 point

flatpak basically does the same thing but with a much better performance and less memory footprint, you could try it on ubuntu.

permalink
report
parent
reply
4 points

Try Flatpaks.

permalink
report
parent
reply
46 points
*

It benefits the end-user.

People do not want to be in dependency resolution hell; where they have three programs that all use different versions of libssl and require them to install all of them properly and point each application to the correct one. Most users have no ability to resolve problems like that. By not bundling, the application developer is forcing them to either try anyway or just not install their software.

Bundling dependencies with Flatpak or Snap helps the end user at the cost of only a few extra megabytes of space, which most users have in abundance anyway.

permalink
report
reply
5 points

Traditional distro repositories also solve these dependencies for the user.

permalink
report
parent
reply
3 points

Distro packagers solve the issue for the user. And it takes a lot of work

permalink
report
parent
reply
17 points
*

Only if everything you need is in the repository. If you have a application you want to install that doesn’t work with your repo supplied version of library, then you are gonna have fun making it work without messing other stuff up. And end users don’t really want to deal with that. Also disk space today is cheap, compared to the time it takes to learn and fix such issues.

permalink
report
parent
reply
14 points

Not really; they will try to automatically download dependencies, but they don’t provide the application with resolution to the correct dependency. So upgrading libssl for one dependency could still break another.

permalink
report
parent
reply
2 points
*

That hasn’t been my experience in Debian, which is the example OP gave.

permalink
report
parent
reply
5 points

this is just my opinion but if you aren’t after the sandboxing benefits then don’t bother with them. if you want to avoid dependency hell go with nix, if you are worried about storage space use your standard package manager, and if you want higher security without the knowledge/effort to manually do it, go with flatpak or snaps (although many flatpaks need to be further hardened via Flatseal as the dev gets to configure the sandboxing. I’m unsure how this operates under snap as I refuse to use it.)

permalink
report
reply

Linux

!linux@lemmy.ml

Create post

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

Community stats

  • 9.6K

    Monthly active users

  • 5.8K

    Posts

  • 162K

    Comments