3 ms·
>> That’s completely fair, as you’re entitled to your own opinion. Likewise, I don’t trust the worryingly large amount of non-programmers/developers that packag
by phkahler 3y ago
>> That’s completely fair, as you’re entitled to your own opinion. 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.
Sadly I have to agree with this. How many "package maintiners" are just wannabe developers that are just doing a bullshit job. Sure they can edit a .deb or .rpm when someone tells them what needs to be fixed, but they couldn't build an app and create the package in the first place.
Another problem is that library devs don't always maintain compatibility. If you're changing a minor version number you should not break any apps using you lib. Full stop, don't tell me your sob story - you are someone's infrastructure and need to act like it.
Fedora (my fave) should ship the latest gtk3 and gtk4 and no app should have to depend on a specific minor version - 3.12 or later is reasonable if the distro is tracking the latest for example.
There's plenty of responsibility here for app developers, library developers, and packagers. If they would all do their job there would be no problem. The real issue is that nobody is perfect, nor has infinite time, so we keep trying to delegate. Modern software development and deployment is at the edge of human capability. I'm not sure what the solution is, but complex dependency management (npm) is not the answer.
- eschaton 3y agoReally, the lack of a stable base platform is what ultimately kills Linux as a commercial deployment platform. You can’t install a “Fedora 38 SDK” or an “Ubuntu 2023.04 SDK” and reliably build software that will be binary-compatible from that point forward—much less use a mechanism like Deployment Target on Apple’s platforms or whatever Android calls the same concept (API version?) to build binaries that can run across a range of distro releases and use features from newer distros when running on them but gracefully handle the case where they’re not available. Hence commercial software will target something like RHEL or an LTS release and many users will ultimately wind up running that software in a VM anyway as time goes on and binary compatibility isn’t maintained. Flatpak and snap are both just admissions of failure when it comes to this stuff. It’s been straightforward to build platforms this way for multiple decades now, just do it already.
- taeric 3y agoI take issue with calling them wannabe developers. Especially as the number one way to tank a project at a job is to make yet another way to distribute it. Many companies would do well to have a package maintainer position.
- phkahler 3y ago>> I take issue with calling them wannabe developers. I did say "how many... ?" Certainly not all, but I once did a fresh Fedora install once, and the latest version of something didn't work. Not at all. I managed to do some searching, tracked down the root problem (in a dependency) and found a workaround, posted that to the IRC, and a while later the package was updated. The workaround was something like passing an option in the launcher - no "code" or rebuilding.
- bsder 3y ago> Sadly I have to agree with this. How many "package maintiners" are just wannabe developers that are just doing a bullshit job. I'd be a little more charitable. "Package maintainers are overworked, thus Flatpak." Flatpak is not an improvement on any technical axis. It's going to bloat your disk usage. Your apps are going to have slight inconsistencies as app developers are going to lock to a specific version of Gtk/Qt/etc. and never move. I can go on and on. However, that's not the point. The point is that package maintenance is work that nobody is willing to do or to pay for. At the end of the day, there simply is no choice other than shoving this back at the app developers.
- saidinesh5 3y ago> The point is that package maintenance is work that nobody is willing to do or to pay for. It's also work that shouldn't have to exist in the first place. Same application being packaged in different formats - rpms, debs, tarballs and what not -, linked against different set of libraries - so that end users can unpack and run the application developers develop. I know I'm simplifying the issue, but when you step back and look at the issue of how much time, energy and money goes into maintaining packages of the same software for different versions of different distributions, makes you wonder how we got into such a situation. I remember having to update whole Ubuntu version to get a newer version of an application I wanted to use.
- kaba0 3y ago> If you're changing a minor version number you should not break any apps using you lib That has never been a thing. There are plenty of software where even fixing a bug is compatibility breaking. Just make the package manager in a way that it can handle any number/kind of different versions.
- phkahler 3y ago>> That has never been a thing. See Windows. See MacOS.