this post was submitted on 08 Jul 2023
104 points (98.1% liked)

Linux

48315 readers
1114 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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] avidamoeba@lemmy.ca 9 points 1 year ago

Just like the holy grail, stable and up-to-date it 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.