Stable does not mean reliable

Most of computer users expect their software to be reliable: to work as expected, have as few bugs as possible, and not crash. Users often incorrectly refer to these traits as "stability". While stability and reliability tend to correlate, they are not the same thing. This article describes what stability actually is.

There are 2 primary software release models: stable, or point release, and unstable, or rolling release.

Stable release

Stable release systems offer fixed states of the operating system and the software that comes with it. The only changes that take place on system updates are bug and security fixes. While stable release are typically made with reliability in mind, that is not the defining characteristic of a stable release. The main trait of stable release is fixed, non-changing state of the system and software that comes with it. The reason for this is compatibility: having a fixed version of software means stable software and user interfaces, which implies software compatibility. Another important aspect of stable releases is support: every stable release has a certain support term, during which support service is provided and bug fix updates are released. Once this support term expires, the system has to be replaced with a newer release. Examples of stable release systems are Debian Stable, Ubuntu, openSUSE Leap and NixOS.

Rolling release

In contrast, rolling release systems do not have fixed states. Instead, the software is continuously updated as it is released. This does not mean that the software is not tested, beta-quality or otherwise unreliable, just that new versions of software are continuously added to the system. There is no "end of life" for rolling releases, and as such, no need to replace the system with a newer release. Examples of rolling release systems are Debian Sid, Arch, Manjaro, openSUSE Tumbleweed and Solus.


Available as video here


2020/12/24