I don't use them for most things I install but proprietary apps I want sandboxed or programs that have weird issues with dependencies I grab the flatpak.
For me on Arch, Flatpaks are kinda useless. I can maybe see the appeal for other distros but Arch already has up-to-date versions of everything and anything that's missing from the main repos is in the AUR.
I also don't like how it's a separate package manager, they take up more space, and to run things from the CLI it's flatpak run com.website.Something instead of just something. It's super cumbersome compared to using normal packages.
I also prefer to get my software from the distro's repos, but for software from third parties, flatpak adds a security layer, making it more secure when compared, for example, to aur.
Lol, what a pointless map.
It’s impossible to tell at a glance which countries have more or less downloads, other than a couple of countries with a slightly lighter colour.
I think they count every download of every package, every version, every time. It's not the number of unique users or even packages.
If you install 3 apps you might need to download 3 versions of graphics driver, 3 versions of desktop environment libraries and so on, It won't count as one user installing 3 apps, it will show up as 10 -20 downloads. And that's just the initial install, every time you update them it counts another 10-20.
To everyone saying you can’t mirror a flatpak repo… you’re absolutely right. There should be a far easier way to set up your own mirror without needing to build everything from scratch. That being said, if you wanted to try to make your own repo with every one of flathub’s apps, here you go:
Edit: Some did get a flathub mirror working. The issue is that a. Fastly works good enough and b. There is no concept of “packages” on the server side. It’s just one big addressed content store because of ostree, and syncing is apparently difficult? Idk, not being able to sync the state of content is like the entire point of ostree…
It’s not about funding. Many prefer mirrors because the main instance isn’t globally available (the GitHub issue I linked, for example, is all about people trying and failing to access flathub in China) or because they can’t for compliance reasons (many businesses already mirror stuff like epel, too, which is what throws off Rocky’s stat counters). Neither of those issues can be assessed by throwing more money at a CDN.
Sorry to ask, I'm not really familiar with Linux desktop nowadays: I've seen Flatpak and Flathub talked about a lot lately and it seems to be kinda a controversial topic. Anyone wanna fill me in what's all the noice about? It's some kind of cross-distro "app store" thingy?
Flatpak is a universal application packaging standard for Linux. It allows devs to create a single application that gets bundled with all necessary dependencies including versioning.
These apps run in their own semi-isolated "container" which makes immutable distros possible. (Distros like Fedora Silverblue that are effectively impossible to break by installing or removing critical system files.)
This means that a Linux app doesn't have to have a .deb version, an .rpm version, or be pre-compiled for any other distros. A user can simply go to Flathub, (the main repository for Flatpak apps), download the flatpak, and install it on their distro of choice.
It's quickly becoming the most popular way for users to install apps on Linux because it's so easy and quick. But there are a few downsides like size on disk, first party verification, per-distro optimizations, and the centralization of application sources. That's why some users aren't fully endorsing or embracing how popular they are becoming.
a single application that gets bundled with all necessary dependencies including versioning
Does that mean that if I were to install Application A and Application B that both have dependency to package C version 1.2.3 I then would have package C (and all of its possible sub dependencies) twice on my disk? I don't know how much external dependencies applications on Linux usually have but doesn't that have the potential to waste huge amounts of disk space?
What about those apps using out of date libraries? Wouldn't that become a security issue - since containers usually aren't that secure, right? And all app developers would have to update their container libraries separately, instead of just updating the system libraries?
Most of the issue is that they're unreliable. Sometimes the app will work. Sometimes it doesn't. Sometimes you have to fiddle blindly with flatseal settings, which ones? Who knows? Guessing is part of the fun.
In over 3 years of daily flatpak use (of multiple apps) I've never had a single reliability issue with flatpak, the only ones being caused by me because I was trying out settings in flatseal that the app didn't like. On the flip side I've found native packages to be broken more often than not, with .Deb files sometimes just not working and throwing an error or something. Package managers are better for sure but I've had dependency issues that I have never experienced with flatpak.
I don't hate flatpaks, but flatpaks require more disk space than the same apps from traditional repositories, and they only support a handful of the most common default themes. Since I only ever use older and slower computers, my disk space is limited, and I like to rice my desktop, I personally avoid them. But your use-case may differ.
Flatpak is the best - thats all you need to know!!!!
But seriously, apart from obvious things other people have said, I would like to add that the HUGE advantage of flatpak is that each app is using its own dependencies, this way you can avoid dependency hell, which is mostly time-consuming and hard to fix.
yes it's cross distro, it's controversial becaune some people don't want to install apps with their own libraries or dependecies, and some apps are not oficial so they break with the flatpak sandbox
I went a step further and have user-installed flatpaks with a custom flatpak directory so everything installs on a separate small hard drive. If the whole system goes down (usually due to my testing things!), I can reinstall set up the custom flatpak and everything works again. In theory. But it borks inter-flatpak communication (flatseal cannot find any other flatpaks and is thus unusable). I moved over to distrobox (which has its own issues, but works better for the OS wiped/reinstall scenario).
One can distribute flatpaks along with their dependencies on USB drives (or network shares, etc.) which is especially helpful in situations where Internet access is limited or non-existent.
Cache/mirroring would be great for those who need it.
Edit:
Thinking about it, I wonder if there's enough "core features" with 'create-usb' that its just matter of scripting something together to intercept requests, auto-create-usb what's being requested and then serve the package locally? If a whole mirror is required, it may be possible to iterate over all flathub packages and 'create-usb' the entire repo to have a local cache/mirror? Just thinking "out loud".
Thinking about it, I wonder if there’s enough “core features” with ‘create-usb’ that its just matter of scripting something together to intercept requests, auto-create-usb what’s being requested and then serve the package locally?
The issue is that... there aren't enough “core features”. It doesn't even handle different architectures and their dependencies correctly. It wasn't made to be mirrored, nor decentralized.
Apt for instance was designed in a much better way, it becomes trivial to mirror the entire thing or parts and for the end tool it doesn't even matter if the source is a server on the internet, a local machine, a flash drive or a local folder, all work the same.
Flatpak's usecase for me is Alpine Linux and other distributions that use musl or other libc implementations. I don't love it, I think its cli interface and the way you add flatpak servers to be obtuse and annoying, but it is useful for getting glibc dependent software.
What's the issue? I installed mint because I know fuckall about Linux, and tbh it's a dice toss if I have used the Flatpak option not knowing what the actual difference between them are
Honestly, you don't have to worry about what others say, you should use what works best for you. Personally I find them to be nice and comfortable to use, myself 😅
I'll add upon what others have said here, for me the main downside is the size they take on disk since they don't really share dependencies (they do but not as efficiently as native or nix packages) so they take a lot of room and take a while to update. Otherwise they're amazing IMO and you should use them! :)
Thing is, if your flatpak software needs something not in its container, it gets a little complicated, because first you have to realise what exactly the problem is and secondly you have to use something like flatseal to give it access to wathever it needs to work (no real help there)
So this was what took me back to pacman (or better said yay)
I imagine the largest mobile phone operating system on the planet has a few more downloads than one of the several available package managers for the comparatively very small desktop Linux audience, yeah. This is the Linux community, not the Android or Google community, so I'm not sure what you're yapping away about or why.
edit: i wanted to know how many devices run android and according to this it's three billion so you're wrong anyway lmao