What does it mean for a Linux distribution to be stable and how much does it matter for casual users?

In the context of Debian specifically, and more generally when many distributions describe themselves, stability isn’t about day-to-day lack of crashes, it’s about the stability of the interfaces provided by the distribution, both programming interfaces and user interfaces. It’s better to think of stable v. development distributions than stable v. “unstable” distributions.

A stable distribution is one where, after the initial release, the kernel and library interfaces won’t change. As a result, third parties can build programs on top of the distribution, and expect them to continue working as-is throughout the life of the distribution. A stable distribution provides a stable foundation for building more complex systems. In RHEL, whose base distribution moves even more slowly than Debian, this is described explicitly as API and ABI stability.

This is a major reason why bug fixes (including security fixes) are rarely done by upgrading to the latest version of a given piece of software, but instead by patching the version of the software present in the distribution to fix the specific bug only. Keeping a release consistent also allows it to be considered as a known whole, with a better-defined overall behaviour than in a constantly-changing system; minimising the extent of changes made to fix bugs helps keep the release consistent.

Stability as defined for distributions also affects users, but not so much through program crashes etc.; rather, users of rolling distributions or development releases of distributions (which is what Debian unstable and testing are) have to regularly adjust their uses of their computers because the software they use undergoes major upgrades (for example, bumping LibreOffice). This doesn’t happen inside a given release stream of a stable distribution. This could explain why some users might perceive Debian as more stable than Ubuntu: if they track non-LTS releases of Ubuntu, they’ll get major changes every six months, rather than every two years in Debian.

Programs in a stable distribution do end up being better tested than in a development distribution, but the goal isn’t for the development distribution to be contain more bugs than the stable distribution: after all, packages in the development distribution are always supposed to be good enough for the next release. Bugs are found and fixed during the stabilisation process leading to a release though, and they can also be found and fixed throughout the life of a release. But minor bugs are more likely to be fixed in the development distribution than in a stable distribution.

In Debian, packages which are thought to cause issues go to “experimental”, not “unstable”.


What exactly is a "stable" Linux distribution and what are the (practical) consequences of using an "unstable" distribution?

Using debian Wiki to answer this question.

Debian Releases

Debian Stable

The "stable" distribution contains the latest officially released distribution of Debian.

This is the production release of Debian, the one which we primarily recommend using.

The current "stable" distribution of Debian is version 10, codenamed buster. It was initially released as version 10 on July 6th, 2019 and its latest update, version 10.8, was released on February 6th, 2021.

Debian Unstable

The "unstable" distribution is where active development of Debian occurs. Generally, this distribution is run by developers and those who like to live on the edge. It is recommended that users running unstable should subscribe to the debian-devel-announce mailing list to receive notifications of major changes, for example upgrades that may break.

The "unstable" distribution is always called sid.

@roaima's comment and debian wiki (debian stable) to answer Which Debian distribution (stable/testing/unstable) is better for me?

The release of Debian called "stable" is always the official released version of Debian. Ordinary users should use this version. See also DebianStability.

The answer is a bit complicated. It really depends on what you intend to do. One solution would be to ask a friend who runs Debian. But that does not mean that you cannot make an independent decision. In fact, you should be able to decide once you complete reading this chapter.

If security or stability are at all important for you: install stable. period. This is the most preferred way.

If you are a new user installing to a desktop machine, start with stable. Some of the software is quite old, but it's the least buggy environment to work in. You can easily switch to the more modern unstable (or testing) once you are a little more confident.

If you are a desktop user with a lot of experience in the operating system and do not mind facing the odd bug now and then, or even full system breakage, use unstable. It has all the latest and greatest software, and bugs are usually fixed swiftly.

If you are running a server, especially one that has strong stability requirements or is exposed to the Internet, install stable. This is by far the strongest and safest choice.

The following questions (hopefully) provide more detail on these choices. After reading this whole FAQ, if you still could not make a decision, stick with the stable distribution.

Saying Debian is more stable than Ubuntu is just an opinion.


What exactly is a "stable" Linux distribution

Stable Linux distribution is the distribution that provides packages that went through a development process of testing and patching. Packages had to meet strict criteria to move from unstable to testing and packages from testing ended up in stable distribution in the latest release. You can force the installation of the testing or unstable version, but it is at your own risk. This may vary by single distribution. For example, a package that is stable in Fedora may not yet be stable in Debian.

consequences of using an "unstable" distribution?

As @StephenKitt said in the comment:

The goal of “unstable” is always to prepare the next stable release

Packages here are under active development, so you may encounter some distribution-specific bugs, performance issues, unresolved dependencies, or you may not encounter anything mentioned at all.

Does it really matter for casual users (i.e. not sysadmins)?

Depends on the user's needs. If the user needs a secure, robust and reliable system, stable distribution is the best option. But those distributions are usually few versions behind upstream (in Debian case more than few version). So if the user for any reason needs the newest versions of packages, stable distribution is probably no way to go. In this case, switching to testing or some bleeding-edge rolling release distribution may be a good idea.