ffmpeg has been updated to 6.0 in both the flatpak and Alpine, but the ffmpeg package has had 9 updates because if codecs that have been updated.audacity has been updated 4 times in the flatpak.Since we’re now almost exactly half a year into 2023 I’ll look at the updates for the last 6 months and compare it to the same dependencies in Alpine Linux. So lets look at how well dependencies are managed here. This gets really nuts by looking at some software that deals with multimedia. Furthermore, I trust even less the package managers that allow dependencies to self-destruct in case something goes wrong. Likewise, I don’t trust the worryingly large amount of non-programmers/developers that package dependencies in larger distributions, especially when they have no real world experience in developing apps. That’s completely fair, as you’re entitled to your own opinion. 1Īnd one thing is for sure, I don’t trust application developers to maintain dependencies. In this case, letting developers manage the dependencies is a better approach, as it’s easier to maintain and troubleshoot. However, Flatpak targets graphical apps, which are typically large and sophisticated and need a model that can scale well. Separating all dependencies is easier for smaller programs and dependencies, as they have a small volume of dependencies, and thus are not as difficult for troubleshooting. So, as mentioned by the author, the solution is to let the developers bundle everything, as they test their apps against an environment that is easier to understand. If, for example, a flatpak named XYZ needs 10 dependencies, whereby one of the dependencies changes the version that the developers of the XYZ flatpak have not tested, then it could lead to bugs or even breakages that would make it really difficult for developers to trace back, as they would need to frequently contact each packager and figure out together. Separating every dependency would be really inconvenient, just like managing graphical apps in a Linux distribution. So now instead of being the developer for your application you’re also the maintainer of all the dependencies in this semi-distribution you’re shipping under the disguise of an application. The solution is to also package the dependencies you need yourself and let the flatpak tooling build this into the flatpak of your application. If you need a dependency that’s not in the runtime there’s no package manager to pull in that dependency. To quote from Flatpak’s documentation: “ Flatpak is a framework for distributing desktop applications across various Linux distributions.” Even Flatpak agrees that it’s a distribution. It makes it even easier for us to troubleshoot, because the environment is near-identical. If anything, this seems to be a really good thing to me, because we’re bundling a distribution and deploying it to users’ systems, meaning that they’re getting the exact same builds that we, the developers, tested against. I’m not really sure who denies that Flatpak is a distribution, but I’m certainly not one of them. Since there’s no package manager those will be in seperate runtimes. Because sometimes you need Gnome libraries, sometimes you need KDE libraries. Conveniently it also provides multiple runtimes to make sure there’s not actually a single base to work on. Instead of providing seperate packages with a package manager it provides a runtime that comes with a bunch of dependencies. It lacks a kernel and a few services and it lacks the standard Linux base directory specification but it’s still a distribution you need to target. While the developers like to pretend real hard that Flatpak is not a distribution, it’s still suspiciously close to one. I recommend reading his article before my response, as I won’t be replying to every point raised. While Martijn, the author, contrasted Flatpak with Alpine Linux, I’m going to be contrasting Flatpak with popular Linux distributions, as, to me, it makes sense to contrast Flatpak with some of the most used distributions. I want to go over the article and address some points that were raised. Recently, the article “ Developers are lazy, thus Flatpak”, by Martijn Braam, was published to criticize a few things regarding Flatpak.
0 Comments
Leave a Reply. |