

If dependencies are articulated (and maintained…) properly, it is very doable and is intrinsically tied to what semantic versioning is actually supposed to represent. So appfoo
depends in libbar:2.9
and so forth. Of course, the reality is that libbar
is poorly maintained and has massive API/header breaking changes every point release and was dependent on a bug in libbar@2.1.3.4.5
anyway.
Its one of the reasons why I like approaches like Portage or Spack that are specifically about breaking an application’s dependencies down and concretizing. Albeit, they also have the problem where they overconcretize and you have just as much, if not more, bloat. But it theoretically provides the best of both worlds… at the cost of making a single library take 50 minutes to install because you are compiling everything for the umpteenth time.
And yeah… I run way too many appimages too.
Storage is cheap until it isn’t.
On my desktop where I have something like 6 TB of NVME storage because I am a sicko? The only thing that makes me think twice about a flatpak is if I need to give it access to devices or significant parts of my filesystem (yay permissions weirdness).
On my laptop where I can have one drive and replacing it involves opening the entire laptop AND reinstalling Fedora (or dealing with clonezilla/
dd
)? Yeah… I very much care about just how much bloat I am dealing with. And, as the other person pointed out, flatpaks can balloon REAL fast.