Maybe what I’m looking for is the holy grail, but what do you guys suggest as a Distro with a good balance between stability and up-to-date packages?

  • Avid Amoeba@lemmy.ca
    link
    fedilink
    arrow-up
    9
    ·
    edit-2
    1 year ago

    Just like the holy grail, a stable and up-to-date distro doesn’t exist. Stability and recency of software typically constitute a tradeoff. Human software developers produce some number of bugs per line of code. Unless all changes made to a piece of software are bug fixes, new changes mean new bugs, almost invariably. Therefore the only way to stop the increase of bugs in a piece of software is to stop the changes to it or only do changes that address bugs. In the context of distros, a stable one is a distro where the number of bugs stays constant or decreases over time. This is how Debian, Ubuntu and every other distro that locks its software versions for a certain release work. After a release is out, only bug fix changes are permitted, with some special exceptions. The idea that there are multiple types of stability is a bit of a false narrative. Adding features, adds lines of code, which increases the number of defects. This is a fundamental fact of software engineering that’s actively managed during the development cycle of most software. A collection of software like a rolling Linux distro that receives a constant stream of new features may feel bug-free to specific users, however that is typically a coincidence. Just because those X number of people didn’t hit any significant defects during their usage, doesn’t mean that you won’t. This is true for every distro, however stable distros generally have an ever-decreasing number of bugs over their lifespan. In addition, bugs that are never fixed can be documented, workarounded and the workarounds will keep working for the lifespan of the release because there are no changes.

    With all of that out of the way I hope it’s clearer why there’s a tradeoff between stability and recency of software in distros. There are various strategies to have a bit of both and they typically revolve around letting the bits you want be recent, while keeping everything else stable. These days the easiest and most foolproof way to get new software is via Flatpak or Snap.

    You could of course abandon stability and go for recency via some rolling release distro and see if you step on any significant bugs. Maybe you won’t and you’ll be happy with that. Many people are.

    As a personal and professional Linux user that lives with and maintains a significant number of machines, I typically go for a stable base like Debian or Ubuntu LTS and update only the software I need via Flatpak, Snap and Docker. I no longer use PPAs. This provides a great balance between stability and recency. But that’s just me.