this post was submitted on 29 Oct 2023
258 points (95.7% liked)
Linux
48364 readers
1242 users here now
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
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
For Linux in general? If I could decide? Here goes:
I love Flatpaks and have embraced them totally on my desktop. They just make sense for sandboxing applications with Flatseal. Distro maintainers also ship software with bad defaults. I want to be able to easily control that.
Sandboxing is nice, but is not exclusive to Flatpak. I'm talking about the software distribution model.
So you trade distro packages which you can usually customize pretty well if you need to (e.g. modified Arch packages on the AUR) for Flatpaks where you have no chance at all to do that because the package build script isn't available? And the problem still isn't solved because now the people who can set bad defaults still exist, they're just different people.
What are you talking about? Every Flatpak on Flathub has their build manifest available on GitHub, you can fork or download it for yourself and change it how you'd like, just like you can with an Arch PKGBUILD
For one, unlike with distro packages, lots of Flatpaks are made by the developers of their apps, so bad defaults aren't really going to be a thing for those since the developer would want to choose what's best for their own app
And for packages maintained by a third party, bad defaults are less common because maintainers don't need to account for each individual distro's unique package situation or specific dependency versions, and only have to package it once for every distro
Aside from all the things Flatpaks get right, a sandbox framework built right into the design is a major win and in my case, it's one of the big reasons I went with it.
You can also modify the build script for any flatpak's manifest and create packages with
flatpak-builder
. May not be as easy as PKGBUILDs but it's certainly possible.The problem of bad software defaults is easily solved with Flatseal. My point is that, it takes a few clicks to deny permissions to Flatpak applications as opposed to sandboxing a traditional app yourself.
Writing sandbox profiles for apparmor or something similar is usually a complex elaborate affair. And even when you do finally manage to get a working profile, it still requires maintenance to keep the sandbox functional as the target software updates. You won't face any of these problems with Flatpak's bubblewrap.
Does what they built work well? I suppose so. But is what they're doing a good idea? I would say no, and the reasons as to why are in the post I linked.
What would you consider a "futuristic packaging format"?
I can't find that flatpaks are mentioned in that article
I guess mostly sandboxing, permission control, distribution and reproducibility
Flatpaks, like Snap (that it does mention) are the "upstream packaging" the entire article is about. Specifically about how they both have software vendors directly publish packages to their repositories without maintainers in between.
Yes, those are good. (Not sure how reproducible it actually is since I can't find a way to download build files from flathub, though...)
What do you mean by that?
Snaps only have one central repository which is controlled by canonical. I can set up a flatpak repo myself if I want to.
I haven't validated a package either but I read that you are able to do it.