There was a few years where I pretty much only used Flatpaks because I was scared of the terminal. But now that I've learned how to use the terminal, it's so much more convenient because I can quickly update all my applications all in one place without having to open a separate app. Plus, some Flatpaks can fall really behind on software updates.
There might be a Linux userbase someday where no one other than developers actually knows how to use the terminal, because users can run everything they want without a command line, but maybe that's actually a good thing because it'll drive up how many people use a Linux distro.
With Windows and Mac, there's a shareholder incentive to enshittify. With Linux, if a distro goes bad and gets commercialized, there's always another distro people can move to, not to mention there's no financial incentive. The more people get on Linux, the less power these tech companies have. Personally, that and privacy are what drew me to Linux much more so than being able to tinker or fine-tune my experience.
I've never heard anyone say that Flatpaks could result in losing access to the terminal.
My only problem with Flatpaks are the lack of digital signature, neither from the repository nor the uploader. Other major package managers do use digital signatures, and Flatpaks should too.
I'm not a huge fan of Flatpaks, they're a lot harder to distribute offline versus something like AppImage. Seriously, you have to like create an offline repository, then create a bundle, and it's like 6 or 7 steps, it's honestly kind of ridiculous lol but other than that they seem fine, and they're easy enough to update (but so are apt packages)
I know some people may say "oh why do you need that", but Linux has taught me that my computer is my own, and I should be able to use it the way I want to. I shouldn't have to fight with my package manager to get it to do what I want. So I guess you could say, no I'm not really a fan of Flatpaks.
Personally, I didn't mind Snaps, but I'm getting kind of really fed up with especially for-profit companies etc so I don't like Snap that much now either.
Apt packages are nice, but the more of them you have installed, especially if you're using Ubuntu-based distros and have lots of PPAs, the more annoying upgrading your distro version can be because of all the dependencies and cross-dependencies.
AppImage tends to just work for me, as long as it's not compiled with a newer libc-bin version than the distro I'm currently using has, and I really enjoy that it's just one file I can copy and run pretty much anywhere.
I spent my time fighting AppImages until Canonical started to force Snap on me. I hated Snap so bad it forced me to switch distros. Now I appreciate Flatpak as a result and I don't find AppImages all that bad, either. Also, I haven't found myself in dependency-hell nor have I crashed my distro from unofficial Repos in well over a decade.
-It's a long way of saying It works for me and it's not Snap.
Flatpaks are great for situations where installing software is unnecessary complex or complicated.
I have Steam installed for some games, and since this is a 32 bits application it would install a metric shit-don of 32 bit dependencies I do not use for anything else except Steam, so I use the Flatpak version.
Or Kdenlive for video editing. Kdenlive is the only KDE software I use but when installing it, it feels like due to dependencies I also get pretty much all of the KDE desktop’s applications I do not need nor use nor want on my machine. So Flatpak it is.
And then there is software like OBS, which is known for being borderline unusable when not using the only officially supported way to use it on Linux outside of Ubuntu – which is Flatpak.
About the image: The joke's on you, I install my flatpaks via the terminal.
I've started using flatpaks more after starting using Bazzite and I liked them more than I expected. As a dev, I still need my work tools to be native, but most of my other needs are well covered by flatpaks.
Tip: Flatseal is a great config manager for flatpaks' permissions.
never tried flatpak, snaps were so bad as to never consider non-native installs or just use docker instances when I need to run something weird. so dunno.
whats the use case for a flatpak exactly? maybe im not the target audience???
Honestly, i'm not entirely sure what Flatpaks are all about. Not sure I could explain them. But I use them. I've used apt. I've even used Pacman and Yay in Manjaro for a few years. Now, I also Flatpak (no longer on Manjaro, though. I no longer boot to a blank screen every 6 months or so! Very nice!)
Certainly a fan, and I don't understand the hate towards it.
Flatpaks are my preferred way of installing Linux apps, unless it is a system package, or something that genuinely requires extensive permissions like a VPN client, or something many other apps depend on like Wine.
The commonly cited issues with Flatpaks are:
Performance. Honestly, do you even care if your Pomodoro timer app takes up 1 more megabyte of RAM? Do you actually notice?
Bloat. Oh, yes, an app now takes 20 MB instead of 10 MB. Again, does anybody care?
Slower and larger updates. Could be an issue for someone on a metered traffic, or with very little time to do updates. Flatpaks update in the background, though, and you typically won't notice the difference unless you need something newest now (in which case you'll have to wait an extra minute)
Having to check permissions. This is a feature, not a bug. For common proponents of privacy and security, Linuxheads grew insanely comfortable granting literally every maintainer full access to their system. Flatpaks intentionally limit apps functionality to what is allowed, and if in some case defaults aren't good for your use case - just toggle a switch in Flatseal, c'mon, you don't need any expertise to change it.
What you gain for it? Everything.
Full control over app's permissions. Your mail client doesn't need full system permissions, and neither do your messengers. Hell, even your backup client only needs to access what it backs up.
All dependencies built in. You'll never have to face dependency hell, ever, no matter what. And you can be absolutely sure the app is fully featured and you won't have to look for missing nonessential dependencies.
Fully distro-agnostic. If something works on my EndeavourOS, it will work on my OpenSUSE Slowroll, and on my Debian 12. And it will be exactly the same thing, same version, same features. It's beautiful.
Stability. Flatpaks are sandboxed, so they don't affect your system and cannot harm it in any way. This is why immutable distros feature Flatpaks as the main application source. Using them with mutable distributions will also greatly enhance stability.
Alternatives?
AppImages don't need an installation, so they are nice to see what the program is about. But for other uses, they are garbage-tier. Somehow they manage both not to integrate with the system and not be sandboxed, you need manual intervention or additional tools to at least update them/add to application menu, and ultimately, they depend on one file somewhere. This is extremely unreliable and one should likely never use AppImages for anything but "use and delete".
Snaps...aside from all the controversy about Snap Store being proprietary and Ubuntu shoving snaps down people's throats, they were just never originally developed with desktop applications in mind. As a result, Snaps are commonly so much slower and bulkier that it actually starts getting very noticeable. Permissions are also way less detailed, meaning you can't set apps up with minimum permissions for your use case.
My favorite part of the linux experience is the FREEDOM, but also being talked down to for not using my freedom correctly, I should only do things a specific way or I might as well just use windows.
I've heard Flatpaks aren't great at CLI tools, is that true ?
As a Nix user, I'm glad Flatpaks exist for other people, but I only ever use them when a package is not available from Nix directly. Seeing as Nix is literally the biggest package manager out there, it's a pretty rare occurrence.
If it's a mostly self-contained app, like a game or a utility, then Flatpak is just fine. If a Flatpak needs to interact with other apps on the host or, worst case, another Flatpak it gets tricky or even impossible. From what I've seen though, AppImage and Snap are even worse at this.
Flatpaks together with "immutable" distributions, Wayland and systemd are a heresy, a crime against the UNIX principles, a disgrace in the eyes of of SED and AWK. REPENT! Save your immortal core dumps and return to the one true /home !
I love installing things from the CLI and prefer to only do it that way but Linux needs a single click install method for applications if it’s ever going to become a mainstream OS. The average person just wants to Google a program, hit download and install. If not that then they want to use a mobile-like App Store.
Flatpak is kind of perfect at achieving both those things
I'd take a well-maintained native package for my distro over a Flatpak, but sometimes, a Flatpak is just the the easiest way to get the latest version of an application working on Debian without too much tinkering - not always no tinkering, but better than nothing.
This is especially true of GIMP - Flatpak GIMP + Resynthesizer feels like the easiest way to experience GIMP these days. Same with OBS - although I have to weather the Flatpak directory structure, plugins otherwise feel easier to get working than the native package. The bundled runtimes are somewhat annoying, but I'm also not exactly hurting for storage at the moment - I could probaby do to put more of my 2 TB main SSD to use.
I usually just manage Flatpaks from the terminal, though I often have to refresh myself on application URLs. I somewhat wish one could set nicknames so they need not remember the full name.
Otherwise I'm agnostic on flatpaks - I've used a couple and they're ok? They just remind me of old windows games that dump all their libraries in a folder with them.
On a modern system the extra space and loss of optimisation is ok, but on older hardware or when you're really trying to push your system to run something it technically shouldn't, I can see it being an issue.
I like them as an option, there are some programs like Bottles or specific game launchers that work under flatpak better than the versions available via native package manager (with Bottles in particular, you can use various built-in sandbox features via flatpak which makes things a bit more secure), but it's also a bit of a pain because it's an additional package manager you have to update separately now, or tweak if things go wrong.
Flatpak have their own set of issues. One thing is, that Flatpak applications do not integrate that easily and perfect like a native package. Either rights are to given, you need to know what rights are needed and how to set it up. Theming can be an issue, because it uses its own libraries in the Flatpak eco system instead your current distributions theme and desktop environment.
But on the other hand, they have actually a permission system and are a little bit sandbox compared to normal applications. Packages often are distributed quickly and are up to date directly from the developers, and usually are not installed with root rights.
I'm pretty much a CLI guy as well and prefer native packages (Arch based, plus the AUR). But I also use Flatpaks for various reasons, alongside with AppImages.
i had a hard time getting used to them but now i love them in mint i can switch between the package version and flatpak version and usually the fp one is more updated
Flatpaks are pretty great for getting the latest software without having to have a cutting edge rolling release distro or installing special repos and making sure stuff doesn't break down the line.
I use Flatpaks for my software that I need the latest and greatest version of, and my distros native package for CLI apps and older software that I don't care about being super up to date.
My updater script handles all of it in one action anyways, so no biggie on that either.
Flatpaks are the best all-in-one solution when compared to Appimages or Snaps imo.
There are merits to using flatpaks. With flatseal application, you can fine-tune the permissions given to a certain flatpak application. The best thing is restricting internet usage.
They always seem to have some critical limitation. Handbrake is too slow via flatpak to work. Flatpak Zoom had no camera access. Flatpak-only Zen browser can't use passkeys. Zen browser asks to be my default browser every time I open it, even though it is and I always say yes; is this a flatpak limitation? I don't know, and I'd prefer not to have to figure it out just for some theoretical benefits and more overhead.
I'm starting to think that in terms of features and possiblities, nix might truly be the best third party package manager of all. But the downside is that especially when using it the way it's recommended, combined with home manager, it has the steepest learning curve. Also graphical apps can be problematic. There is a tool called nixgl that tries to solve this, but it's a wrapper, so when a nix application opens a child process that needs to use the native system drivers, that childprocess is also wrapped in nixgl and it breaks. I recently found a neat workaround on github to solve this in a better way, which is to create a driver package manually with home manager, and symlink it to /run/, which is also where the drivers are linked on NixOS. This is a gamechanger to me because with no driver problems anymore, you can install almost everything through nix on pretty much any distro, except maybe for some programs that need system level access to run. You can install graphical programs, cli programs, and even entire window managers with it. I'm using full NixOS at the moment, but i'm seriously debating moving back to void linux with nix on top. Currently messing with it in a vm to test my configs.
I used them for some things, but other things still don't work quite right. Take Steam for example. I do love flatpaks for testing out apps, things with really finicky dependencies, or pinning a specific version of a software that I want to continue to work in the future. However, for most things, Arch + AUR just covers all my needs without any hiccups.
To me flatpaks are sort of like NixOS. All the benefits they provide aren't something I need on a daily basis. Rolling back works just fine 99% of the time with downgrade. I already have system backups. Despite what some articles might insist, things don't just break all the time. I'm not running untrusted software.
Basically no solution is perfect, but they don't need to be. If the benefits I gain can be recreated through other methods without the tradeoffs they introduce, then I will go with that. Of course, that isn't to say they don't have their place, but sometimes I feel like some people think that "being designed from the ground up" to handle certain use cases is always better than whatever "cobbled together" thing we currently have and that isn't always the case. I'm specifically quoting those two phrases because these are the exact phrases you will hear projects using to justify their existence. In fact, I would go so far as to say that some people have outright confused modularity for "cobbled together".
One last example I want to make is that I make use of projects like the fish shell and helix editor. In these cases, I find the features they introduce to be worth the tradeoffs and work better because of being designed "from the ground up" to do what they do. However, I don't make use of immutable systems, containers such as docker, or say filesystems such as btrfs. The features they provide are not useful enough to me compared to the problems they introduce.