Its even worse when you force Firefox to use wayland its icon doesn't even show.
Edit: Oh since everyone now is confused; I only have the flatpak version of Firefox installed yet it doesn't use the pinned icon and doesn't even use the firefox icon under wayland at all.
The problem with dependencies, that’s the only reason for people to look at flatpak.
no, not really, flatpak is a distro agnostic way to build and distribute packages, which is HUGE for developers and distros, since those dont have to waste time to repackage (built+test) software to work on their systems and instead use that time to deal with other issues.
Not really, if you think about how many distros there are and how many people are currently wasting time with re-packaging software over and over for them i think you'll come to realize that this is a very clever and efficient move. The way it is done currently seems rather silly in comparison.
Sidenote: You keep using the term OS ... which is false in the sense, that flatpak doenst come with a direct hardware layer / kernel
just thought you wanted to use the term OS in a way that people will understand you.
Saying OS without the kernel ... sounds to me like i want a sandwich without filling .... .
Next evolution will then be to use flatpak from within flatpak or what?
Is this a joke about para-virtualization? - anyway, i think flatpaks abstraction and isolations make sense. Not to much and not to little. Just enought to keep an application isolated from the basesystem while using portals to interact with necessary apis.
Using the word OS puts across my point, because when you start packaging your toolchain with glibc and whatever libs you need for your application, you end up with a good part of the Linux file system. Yes there's missing services and so on but they could run if needed.
It's not a virtualization joke, it's more of a "we put flatpak in your flatpak so you can flatpak while you flatpak" recursion joke.
Sounds more and more like flatpak is a distribution atop of a distribution.
Good you can share libs, although I can't see sense in sharing more than the absolute basic libs, and even then some applications will need different versions of the basic libs.
Docker is made for servers, it's totally a different usecase.
I am not anti VM and docker, I just don't think we need more levels of indirection in the OS, I also don't think a distro based heavily on flatpak will be any good, one thing is sure it will be using a lot of diskspace and memory, as there's no sharing of libs. And if flatpak starts sharing libs it just re-invented the GNU linker.
Flatpak does support sharing 'libraries' (although not in the way you mean), however from my perspective the main problem is developers referencing Kde-Framework-420.69.1, and others referencing Kde-Framework-420.69.1-rc1 or various other variations of very similar dependencies, which tends to eat up additional disk space. I'm personally not too bothered by it, but that's only because I have the storage space for that.
With flatpak's shtick being isolation and a consistent runtime environment, I doubt there'll be true sharing of linked libraries and the associated memory space, so excess RAM usage and disk space as you've mentioned.
The distros based on Flatpak (can't remember the names right now sadly) are mostly immutable ones, where the base system remains untouched, and in that scenario I think it makes the most sense, particularly in education.
The instances I use flatpak are slightly similar to that, with the difference being the libraries available in the base system may be too old to run the application natively
Package managers like apt or rpmn(or whatever for your distro) are the standard way to install software. If there's a good reason to avoid them, OK, but no good reason was stated here.
There definitely is a problem that flatpak is trying to solve. That problem is dependency hell.
This most often (or rather most famously) occurs with python packaging. Sometimes you can have one package that requires a version that is incompatible with another version that another package requires. That's why people use python venv these days (or just use pipx).
IMO a better way of solving this is with nix. With nix, it doesn't require a container, it just builds in isolation.
Thing is, this will probably end up a VHS vs Beta Max.
I am very impressed by nix. I have tried nixOS and it was very nice. But, I might have to try the package manager as a standalone to see how I like that.
@lambda a lot of people do nix-env -ia nameOfPackage. I would recommend doing it properly with a file, and you just direct that command to the file (I would probably setup an alias). It gives you that declarative nature that nix is known for.
@lambda they should if you use the single user command. The command that does it for the whole system requires root access, something you don't have on the deck.
You can get root very easily. But, updates wipe out all but your home directory. So, I think you'd do the single user that you are referencing for that reason.
Oh I didn't know, I just remembered reading that it utilizes an immutable filesystem and thought that it also doesn't give root access as well. That's good to hear though.
Basically you install the application inside a little OS with dependencies each time you install a flatpak, that OS is rarely updated with security patches and most of the time has full access to the host OS. https://flatkill.org/
This is a lazy and insecure way of distributing applications with no real benefits.
I don't know what distro you use, but packages in their repos have "maintainers" that are usually volunteers. Downloading from repos from the distro is trusting whoever the maintainer is there. I don't see how that is any better than a flatpak.. At least with Flatpak many packages are maintained by the developer. I believe that would be more secure.
Major distros are usually backed by a compamny which provides enterprise version. Maintainers are actually employees paid for their work. Even if you pick a derivate distro you will inherit that testing process. So please get your facts straight before talking, you obviously need it.
Here how it is done:
https://openqa.opensuse.org
Each package update, distro install process goes through automated testing. This detects bugs, dependency issues, you name it. If something fails package goes back for human review. And as you can see it is an open process which YOU can review any time.
So… how are the flatpaks tested? Please show me some facts. I am interested in this new “trust me bro” QA framework.
You are very confrontational. I love being proven wrong so that I can learn more. But, your language is belittling. I hope my message didn't come across that way.
Either way, looking at DistroWatch OpenSuse is about the #10 most popular Linux OS. MxLinux, Linux Mint, Debian, and Ubuntu are all debian based and above OpenSuse. Debian is by volunteers according to the Debian Package Maintainers Guide. So, I would think that the most-popular distros (especially in the non-professional world) are maintained by volunteers.
That comes with nuance though and I understand that. For instance, debian is celebrating 30 years. In that time I am sure many package maintainers have probably done this for very long amounts of time. So they are probably more worthy of trust than some Flatpak maintainers. But, when a flatpak is maintained by the developer (not that common in my experience) I would trust them the most.
Now, something I wasn't aware of until someone else linked it is how bad Flatpak is as a sandbox. But, I never used it wanting a sandbox. I like it for the isolation of libraries (Dependency Hell). Updating my OS never breaks any packages, because the libraries are separated.
As for qa testing. It would be on a per-package stand point. I see how helpful that is. But, I'm not installing any command line utilities through Flatpak. Just desktop apps, like browsers, game launchers, etc. So, maybe we are talking about different types of packages..
I'm not convinced Flatpaks are inherently worse than packages from the OS's repos themselves. But, I will be trying nix package manager as a replacement.
You were responding to my reply to someone else... but ok I guess.
I am not here to convince you about anything. It's not my problem what you install on your thing.
I just don't like misinformation spread based on ones believes and feelings, belittling work of whole teams of maintainters and QA staff which is core of why you can trust Linux ecosystem. Them being paid or not is not being relevant.
Exactly. The QA of flatpaks is done in “trust me bro” framework.
Then you belittled anyone using Flatpaks.
You can just go back to windows at this point.
All I said was that they are not too different. You are right about some OS's having paid staff who have setup some great QA to handle it though. But, at some point you are "trust me bro"ing someone, paid or not.
Not a single person including you here was able to show any hint of package maintenance process, QA standard any kind of security awareness.
All I said was that they are not too different. You are right about some OS’s having paid staff who have setup some great QA to handle it though.
And I am saying it's an uneducated statement which fails to back itself miserably.
But, at some point you are "trust me bro"ing someone, paid or not.
Dude... really? Quite a desperate attempt to make an argument. Yes at some point people are just atoms stuck together ... a human being is not different from rock if you twist the point of view enough. This is just you pushing smoke in the room because you have nothing to back up what you are saying.
There is a huge difference in trusting blindly and trusting because you have transparency in processes and standards which are followed.
So if flatpak and distro repository is not so different... please show me any published standards or processes that are followed to ensure that flatpak is secure, up to date, without obsolete libraries. Would be cool to see there some transparency. Please show me that I am as secure and stable as while running OpenSuse on my machine at home.
Flathub has verified apps. This means the build either comes directly from the developer of the app itself or someone that they approved to distribute their app through Flathub. That's kinda the ultimate QA to me. If the developer of the app can't be trusted then who can? Other than that, the only checks are the community.
Imo a better alternative to flatpak is the nix package manager, but as I said to the other guy this'll most likely end up a VHS/betamax situation.
Both things are trying to solve dependency hell in different ways. Flatpak just builds and runs everything in a container, where as nix sets up virtual environments and builds things in isolation with per package dependency trees in an effort to make builds entirely reproducible (to the point that no matter what system you compile on, you will get the same hash).
Edit: as the other guy said, just use your systems package manager unless it doesn't exist in the repo and you can't be bothered to package it yourself. It's the standard recommended method.