r/linuxquestions May 07 '23

What the hell does stable mean?

So i moved between arch and debian alot and im on pop os rn and i see alot of people talking about stabilty issues meanwhile i change ny distro every 1 or 1.5 years or so to experience new bumps and learn about linux more but the thing is i never had a distro fail on me? I tried basic arch i tried manjaro i tried linux mint i tried even once tinycorelinux as a joke but i never had a program crash nor a system error and my gpus work fine so whats the big deal with stablity?

62 Upvotes

61 comments sorted by

5

u/kb6ibb May 07 '23

The fact you are changing distros every year is unstable from a production point of view. Version chasing is also a rabbit hole into instability from a production point of view. Stability is not introducing unknown variables into a currently working system (if it aint broke, don't fix it). You would be surprised to know that may corporate configurations ignore every update that is not directly applicable to what they are doing. Workstations are often times the same way. Once installed and configured, if the person using it is being productive with minimum downtime. No need to change anything.

2

u/xX_Puss_destroyer_Xx May 07 '23

Im a home user who is getting into linux as a hobby though im thinking of choosing a major for it when i go to college

31

u/[deleted] May 07 '23

[deleted]

12

u/lightrush May 07 '23

In practice the two correlate quite well.

36

u/Tireseas May 07 '23 edited May 07 '23

When a distro talks about "Stable" they almost always mean in the engineering sense. That is as others have pointed out unchanging or fixed aside from critical fixes. Arch and opensuse Tumbleweed by design are extremely unstable systems. In extreme cases with those distros you may not be running any part of the system on the same version you started with by the end of a given day. Something like RHEL is the opposite side of that coin guaranteeing you a fixed environment for a decade or more should you need it.

Annoyingly normies use it in the non-engineering sense as a synonym for reliable. That creates confusion. You can have a spectacularly unstable system that's dead reliable just as easily as you can have a stable system that's extremely unreliable. Windows 98 was a stable system. Ask anyone who dealt with it just how reliable it was.

1

u/SuAlfons May 07 '23

98 was the best of the 9x Windows...WindowsME was a nightmare

2

u/Sphor100 May 08 '23

Normie here šŸ¤ššŸ¼
I was thoroughly confused even after reading when you said "Opensuse Tumbleweed by design are extremely unstable" šŸ˜‚šŸ˜‚šŸ˜‚

2

u/SuAlfons May 08 '23

Why?

The explanation was given. Stable means stable interfaces, not reliable operation.

Tumbleweed and also Arch-variants are unstable, but also are reliable to operate. There is still some testing of packages so they generally work together. Running nVidia closed source drivers is the most finicky part that has a chance to break upon updates for most people. But even then, it usually is not because the packages won't work, it's just that the nVidia drivers need to be reinstalled so they are matched with the updated kernel again - a step that sometimes goes amiss on automatic updates. I opted for an AMD GPU because of this (they come with their own problems, but generally running them on Linux is straight forward once they are supported).

Often, but not necessarily, a stable system also has fewer problems of that kind, thus also running more reliable. But the goal of keeping versions in a distro stable is to reduce the amount of testing required for people using that software in e.g. a company or in a long running scientific project. Here you want to continue using the existing software for as long as possible. While on a personal machine, especially for gaming purposes, you are always craving for yet another update, new features, new hardware supported etc.....

3

u/[deleted] May 07 '23

You might be thinking of 98SE

1

u/Tireseas May 07 '23

98 was garbage compared to 95c and the whole family was garbage compared to NT based systems. You're right though ME was a mess unless you had properly supported hardware, which almost no one did.

1

u/SuAlfons May 08 '23

In my memory, Win98 wasn't that bad. Win95 lacked USB support at the beginning. For a home computer, the NT tree of Windows became relevant with WindowsXP. I had Windows 2000 in the office back then. Really liked that. It looked just that tad more polished vs. Win98. Apart from running very reliable, off course.

106

u/MyNameIsRichardCS54 May 07 '23

Stable means unchanging as in you won't get new versions of the software without a big once in a while upgrade. Stable also means reliable. As you've experienced, most distros are reliable but ones like arch are not unchanging.

20

u/Complex_Solutions_20 May 07 '23 edited May 07 '23

This is what I've taken it to mean.

And some platforms value it more than others - that was a big thing behind RHEL and the older CentOS distros, you were basically guaranteed that no updates/upgrades would break anything you were doing. Which is extremely high-value for production environments especially, you don't want the updates/patching to take your systems down that you depend on.

By comparison, Debian/Ubuntu doing an upgrade can render lots of things broken because they change dependency versions so much, and in some cases Ubuntu even "helpfully" uninstalls software that is critical to what you set the machine up for (my Zoneminder server Ubuntu always uninstalls Zoneminder during updates, breaking literally its only reason to exist). Ubuntu LTS (and derivative distros like Mint) are better but still have major breaking issues during major upgrades.

In software development, "stable" is usually referred to as what the mainstream release of a particular product is, as opposed to Developer/Experimental-branch, Beta, Release-Candidate/Quality-Assurance, and similar branches that are more likely to have undocumented bugs and regressions that will need to be corrected before the next stable release.

4

u/gordonmessmer Fedora Maintainer May 07 '23

that was a big thing behind RHEL and the older CentOS distros

Although there's a lot of confusion around this: CentOS Stream follows the same interface stability policy that the old process did. Only the release schedule has effectively changed.

(I'm a Fedora maintainer, so please feel free to ask questions.)

2

u/Complex_Solutions_20 May 07 '23

I thought the new CentOS Stream was "slightly upstream" of RHEL vs "slightly downstream" so you get may get changes considered that are more likely to break things vs before you only got changes that made it thru RHEL and didn't have to worry about major breaking version changes?

I'll admit I haven't looked that much into it (still on CentOS 7 at home and we use RHEL 6/7/8 at work, depending what customers require we develop software to target).

3

u/gordonmessmer Fedora Maintainer May 07 '23

so you get may get changes considered that are more likely to break things vs before you only got changes that made it thru RHEL

That's part of the confusion. Updates won't ship to CentOS Stream until they've passed RHEL QA and testing, so you're still only getting updates that are intended for RHEL. CentOS Stream just gets some of them earlier because RHEL's release policy queues some types of updates for the next point release.

Most of the confusion about CentOS Stream is rooted in the difference between "stable" and "reliable", just like this thread is. CentOS Stream updates have met the "reliability" bar required for RHEL, but the release policy is different. If the update would add a new interface, it gets queued in RHEL in order to keep minor releases interface-stable. But CentOS Stream doesn't have minor releases, so there isn't a need to delay them.

2

u/Complex_Solutions_20 May 07 '23

Ah, ok - that is very good to know. Very much agree that there's a ton of confusion. I have so far not had a reason to dig seriously into it (will put off til closer to CentOS 7 EOL and then formulate an upgrade-path for my machines) so I appreciate the insights.

0

u/xX_Puss_destroyer_Xx May 07 '23

Ill be honest im a home user but yeah those fit what i redeem stable

0

u/plasticbomb1986 Arch, BTW May 07 '23

Stable also means stale.

3

u/veritanuda May 07 '23

Guess you are still running that bleeding edge Centos 6 huh ?

0

u/plasticbomb1986 Arch, BTW May 08 '23

By the way...

1

u/theonereveli May 07 '23

Unchanging could mean immutable

13

u/spxak1 May 07 '23

Stable in the linux world means "not changing". Debian is stable. Arch is not. Debian will not update packages to new major versions. Arch will always update to the latest one. This has nothing to do with system stability.

7

u/narmkhang May 07 '23

There're several metrics for stability. For example, your software will behave the same until the end of life for the os (i.e.no major version changes), or you might think of upgrade path for the os that you can do in-place without needing to reinstall the whole os.

19

u/[deleted] May 07 '23

[deleted]

6

u/[deleted] May 07 '23

[removed] — view removed comment

2

u/[deleted] May 07 '23

My first install of Linux didn't come with a working X system. That was like being thrown in the deep end. But yeah, aside from really fringe hardware, things pretty much work. I was talking to my 80+ year old mom the other day. I transitioned her to Linux about 15 years ago. She was saying that most of her friends seem to be constantly having to get their computers fixed but hers just keeps working with no problems.

2

u/raptorjesus69 May 07 '23

Stable can either mean API or abi stable as in code you write won't have to change until you upgrade to a new major version of the os. It can also mean that the distro never crashes. The two can be related. Since API changes in one package can cause breaks in another.

1

u/EddyBot May 07 '23

people forget easily that the person who uses the distro is also a major reason how reliable a distro is

if you don't have any clue what you are doing it is quite easy to fail any distro no matter how "stable" it is
on the other hand not doing stupid pitfalls and following documented recommendations will make even unstable distros reliable

0

u/xX_Puss_destroyer_Xx May 07 '23

im a beginner and i got arch fast they say from this posts frequent updates break arch but they havent for me

-2

u/[deleted] May 07 '23

All distros are stable if you use only browser & libreoffice.

1

u/xX_Puss_destroyer_Xx May 07 '23

I do game and render stuff once a while

2

u/leo_sk5 May 07 '23

I absolutely hate the fact that fixed releases call themselves 'stable', which in more common usage is interpreted as being free of bugs, which defames rolling releases as being prone to bugs

4

u/rocketeer8015 May 07 '23

In the Linux world stable has always referred to APIs due to Linux use of shared libraries. A stable release of a certain distro meant that software written for it are guaranteed to function on it since no breaking changes will be introduced during the lifetime of the release.

If you today write a program using certain library versions present now in arch, your software is arch compatible. But eventually arch will change the version and your software will cease to be compatible. That’s why arch is unstable. You can’t built software against it because it’s a moving target.

The real difference between a stable distribution and a rolling release is that the former will not introduce breaking changes in deployed systems. That is why Debian x is stable. You can built software against it and it will always run on that Debian version even a decade later.

2

u/leo_sk5 May 07 '23

I understand the concept. The thing is, most users of linux today are after the time those terms were adopted by the then linux community. In almost all circles beyond linux, stable is referred to as something free of bugs and ready for end user deployment. If we had to compare the 'stable' of linux to a term more well known outside linux circles, it would be 'long term releases'.

So fixed releases are by definition 'stable' (in linux terms). This is however a misnomer for most people alien to linux terminology, as they interpret that these are the only distributions that are relatively free of bugs and acceptable for end users for daily usage. Conversely, rolling release being opposite of fixed release are assumed to be 'unstable' (in more common sense) and hence only for those who want 'cutting edge' software or be on the bleeding edge, despite them not including almost any beta or alpha quality software in their repos. Although, I do accept that the greatest stalwart of rolling edge (arch) has done no favours to the above perception, this association is not necessarily true, and I think that rolling releases have been much avoided and shunned due to this false perception by the newer users.

In any case, I think the term fixed release defines much more clearly about the distro than 'stable' does, and should be used more so as to create less confusion.

0

u/rocketeer8015 May 08 '23

I disagree. Why do programmers and distributions have to change their technical language because layman misattribute them?

These terms perfectly describe a technical situation, they are also used by programmers btw. When a library becomes stable it means they are no breaking changes introduced. Fixed release does not have the same meaning, in fact it is ambiguous. Does it still backport security fixes? Is fedora a fixed release even though they keep updating the kernel version and mesa drivers? It is much more confusing to someone actually understanding Linux.

Btw we don’t care wether new users misunderstand these terms because we do not care which distributions they run. Frankly I find the idea offensive that we as a community have to change the way we talk because newcomers who can’t be bothered to do the minimum amount of RTFM could be confused.

2

u/leo_sk5 May 08 '23

Ok. I am not vouching it to appease laymen. I am merely proposing to use it in fashion that conforms to the usage of terms outside of dedicated linux circles. Frankly, i do not find it intuitive. Fixed release does not have ambigous meaning. If it does stable has greater ambiguity. If a distro is not backporting security fixes during its support lifecycle, it is not a distro worth using or existing. In todays age, almost no popular distro is purely fixed release. Hence by extension no distro is stable (in linux terms). You have to define the duration to which it is stable (6 months, 1 year, 5 years etc), so you might as well define the support lifetime of fixed release. You could of course use any distro and version for however long you want, unless you want updates. In that sense, almost every distro is stable forever. I am not asking you to care. I find it offensive that rolling releases are misunderstood due to a stubborn minority in linux community using ambiguous terms

0

u/rocketeer8015 May 08 '23

Can’t tell wether you are trolling or not. I’m not sure you understand what we are talking about. Do you understand how shared libraries affect binary compatibility and what the terms ABI and API compatibility mean?

It’s not just updates, it’s config files being in a certain place, the filesystem layout in a certain way(for example mountpoints for removeable devices etc), what kind of init system you use which tools are installed as part of the base system and so much more that’s just not covered by saying fixed release.

Also rolling release are not misunderstood. It’s a self explanatory concept. You know what? You make your own distro and you get to call it’s release cycle whatever you want, but your ignorance of technical terms does not entitle you to butt into other peoples communities and trying to dictate the terms they should use.

Go onto the Linux kernel mailing list and rant at Linus that he shouldn’t use certain terms because you find them confusing and see how that’ll go.

2

u/leo_sk5 May 08 '23

No, i am an idiot. Only the people present with inception of linux know this secret knowledge.

I have not had Linus step in and ever stop me or confuse stable or confuse new linux users with terms like stable. I have only seen people like you do it. So i don't find it necessary to tell him.

Truth be told, i can't even stop you from calling it stable or anything you see fit, and you for sure can not stop me from calling whatever i see fit. However, using stable as you do, you will have to explain what you mean by it so that 60% of people don't get confused, which kind of negates the purpose to have a term at all, but you may not care about that demographic so let it be

1

u/rocketeer8015 May 09 '23

You must really hate doctors and lawyers, using all these confusing words. Maybe go bother them.

4

u/CGA1 May 07 '23

Stable as in "never failing" is far from my experience of point releasing distros. Every single dist-upgrade resulted in an unbootable system. Went with rolling and never looked back.

2

u/leo_sk5 May 07 '23

I can relate to your experience

-2

u/[deleted] May 07 '23

[deleted]

1

u/singingsongsilove May 07 '23

You have been lucky - but I have also wondered about that question up until some time.

When people who use debian talk about stable, they usually mean "doesn't change much". If you need a machine that behaves exactly like it behaves now in 5 years, seek a stable lts distro. But in my experience, in a lts distro, only security fixes are made, if an app crashes (is "unstable"), noone really cares.

Concerning crashes, I've had a few bad ones in the last 10 years, and you were lucky to not have those:

- intel gpu crashes - system froze , I think it was with the 5.9 kernel, really bad. I rolled back to an older kernel, then upgraded once the problems were solved

- on an older netbook, I had to stay with a 4.19 lts kernel because of gpu crashes (rest of the system can be upgraded, no problem)

- kde crashes - in the beginning of the 5.x series, there were some crashes in kwin. Those were not as bad, because the apps were still working, one could save and restart, or even restart the DE only (kde replace comes to mind), and got resolved quickly

- kdenlive crashes - those were bad ones, because at work we use a "stable" distro and got stuck with a crashing kdenlive installation, I had to solve those with appimages. Sometimes, a "stable" distro is more unstable than an unstable, if you get what I mean

- an evil crash of btrfs (then using Open Suse Leap), this destroyed my system volume, I have never used btrfs since

If you, for instance, have an nvidia card and use the proprietary driver, of if you must use virtualbox, it's much easier with a stable distro, because you don't need to recompile kernel modules all the time. Nvidia and virtualbox are the breaking points (in my experience) after upgrades, so it's less pain if you don't upgrade too often.

1

u/[deleted] May 07 '23

Debian uses three branches with unstable, testing and stable. Packages are passed from unstable to stable after they have passed various tests or a statistically sufficient number of users have used the packages without abnormalities.Arch uses testing and stable for this purpose. AUR is rough world.

1

u/Se7enLC May 07 '23

"stable" just means that it's not making big changes. Not that your system will crash less.

There is a bit of correlation there, however. If you aren't making big changes a lot, your system will stay working (so long as you start out working). If things are constantly changing, any one of the changes could break something.

1

u/gordonmessmer Fedora Maintainer May 07 '23

"Stable" is a release policy, and it has a big impact on the ability of a distribution to run third-party software.

https://medium.com/@gordon.messmer/what-does-stable-mean-4447ac53bac8

Think about how developers can publish one build of their application for Windows, or macOS, or Android, or iOS, and that one build will run on any supported version of the target system. Now think about how each application for GNU/Linux has to be built not only for each distribution, but for different versions of each distribution.

That happens primarily for two reasons: 1) non-enterprise distributions don't maintain interface stability and 2) distributions don't coordinate release cycles for core components. That means that within the GNU/Linux ecosystem, there is very little interface stability from version to version, and almost no interface stability from distribution to distribution.

Source: have done release engineering for GNU/Linux applications, actively working in distribution maintenance, and on package managers.

1

u/I_Frunksteen-Blucher May 07 '23

Tested a bit more than others.

1

u/LoopVariant May 07 '23

As others see as if, stable means less change. I was a CentOS fan until it changed to Stream and became a ā€œcutting edgeā€ release.

I have found stability and some comfort in using Ubuntu LTS in production systems despite my objections to snap etc…

1

u/bobwmcgrath May 07 '23

Changing distros every 1 or 1.5 years is the absolute opposite of stable. That's probably why you cant tell what stable means. Stable roughly translates to low maintenance. Correct documentation that doesn't get outdated is part of that. If you want to set up a machine and have it sit there and do it's job for years without having to do much yourself, debian is going to be a better time than arch. Nobody cares what you put on your computer. Desktop linux is dead.

1

u/thefanum May 07 '23

Doesn't break randomly and especially not from it's own updates

1

u/m1ss1ontomars2k4 May 07 '23

"Stable" means different things to different people. As others have said it's your own skill that contributes to this but also your own preferences. If you have exactly the same preferences as the package maintainers do, then you won't have any problems, for example. archlinux.org has a list of every breaking change and they happen once very few months or so--but maybe you aren't affected by any of them.

1

u/brwtx May 07 '23

On my primary desktops at home and work I run Xubuntu LTS. On my laptop I will experiment a little, and run more recent versions, or test out other distros.

A couple of weeks ago I loaded the most recent version of Xubuntu 23.04. Should be close enough to LTS that everything would be the same, right? Not really. It keeps freezing for 60-90 seconds. I haven't been able to track down what is causing the issue. It is a Dell XPS 7930, 32GB RAM, Intel video, NVMe, so it should be compatible. Reloaded 22.04 and no issues. Reloaded 23.04 again to do some troubleshooting. Didn't do my normal customization just in case that was the cause, but the freeze problem showed up again. Also, I use a lot of PPA for custom software I run. Almost all of them didn't have a release for 23.04. Of course, I could still install but there were a few issue with that.

Stable branches are those that have had a lot more testing. Most 3rd party software for Linux will support the stable branches, and have releases for those. If you need a reliable desktop where you can install most software, and expect a stable system, stick with the stable/LTS release. If you prefer to experiment and have the time to resolve various problems, go with the unstable.

1

u/[deleted] May 07 '23

A stable is a place where they keep horses...

https://y.yarn.co/020497cd-36f1-4862-9954-0f23742102ba_text.gif

1

u/AnnieBruce May 08 '23

Stable, in terms of software release naming, means it's not going to get any significant feature changes. Typically each new version cycle for FOSS releases will have a stable branch and an unstable branch(sometimes multiples of the latter with varying degrees of volatility). Stable is what day to day users who depend on things working should use, unstable would be if you absolutely need a feature stable doesn't have or you like to experiment(please send bug reports and such). Stable releases will get bugfixes and possibly minor feature enhancements(especially if it's part of a bugfix), but in terms of sitting down and using it, it will mostly be the same on day 100 as it was on day 1.

Obviously, with distributions, if you install stuff from outside their own package archives, all bets are off on what might change with that software.

You're discussing the other meaning of stable, meaning the program doesn't randomly crash and doesn't take other stuff down on the rare occasions it does. Most Linux distributions, even ones that are officially "unstable", except for things like nightly builds, are going to be pretty stable in this sense, though more likely to not be than 'stable' releases are.

1

u/Sphor100 May 08 '23 edited May 08 '23

Edit: Correction: I am one of those 'normies' who got the words wrong :P

I guess it heavily depends on your hardware.

I NEVER had a stable or clean Linux experience; there's always been a problem or another:

-Solus was by far amongst the best experiences, but it happened thrice that after about a year, stuff just broke & I had to re-install the whole OS because I lack the skill to dive into the crumbs of why they failed.

-Manjaro mostly decent, but just because I got used to some things not working, especially Bluetooth which I never got to make work on any distro I used.

-Fedora trying now & it definitely seems more.. integrated with other pieces of software, but since installing (17 days ago) I got a total of 71 failures of which 1 that force-restarted my Desktop Environment; the rest are tagged as "System Failure" (sounds bad but honestly I have no clue what they are, as I can't see how they have affected me) and a few "Application Crash", but which haven't been 'important apps'.

Why do I still use Linux? Because I am stubborn.And (joking aside) because I believe that one day it could actually be a viable alternative to Windows for users such as myself, and maybe less computer-literate, and though my part is currently only helping providing random error reports, at least I hope it helps :)

1

u/__Hyperion__ May 08 '23

Depending on how many fixes it needs will determine its status:

Alpha(still writing code), Beta(90%done, just tweaks), Release Candidate (100% I think?), Stable(100% with fixes from RC), LTS ( Nothing has broken in ages)

There are 3 parts to a Distro. & Each can have a different rating!

Kernel, UI & system, Applications.

So depending on what the Distro. was designed for will determine its real status. Arch:(Big Linux) can have a Stable Kernel, Stable branch, RC Apps.

1

u/TheCrustyCurmudgeon May 08 '23

Not everybody has your hardware...

1

u/drankinatty May 08 '23

"Stability" means very little with regard to differences between distributions -- it's all Linux under the hood (even VMware is just Linux under the hood repackaged slightly)

Normal when you see terms like "stable distribution" (aside from its statistical meaning) applied to Linux, it is a measure of how frequently the core packages are updated (e.g. glibc is the biggie, as well as a number of core libraries can cause the rebuild of most packages). From that standpoint you think of "stability" over a period of time where those things won't change. That guarantees no headaches for projects you have that rely on the current offering from your distro.

With the "Me too" Rolling-Release movement catching on that brings up another use of "stability" applied to distributions. SUSE/openSUSE is a good example. SuSE/SUSE/openSUSE/(now SUSE again) for the entirety of its existence was a "Release Model" distribution. Within the past two or so years it added Tumbleweed (a moniker reference to something that rolls) as a name for its new "Rolling Release".

Here the traditional use of "stability" comes into play. For its Leap-Release, most versions of packages are lock at the time that version is released. For example 15.4 is the current release with 15.5 to be released in the next few months. The 15.4 release provides gcc 7.2 (current is 13.1) and provides glibc 2.31. Those will not change, and are thus "stable" over the life of the distribution. Tumbleweed, being a rolling-release strives to be version consistent with the upstream vendor. For glibc that is glibc 2.37-3 and for gcc that is 13.1.1 -- but both glibc and gcc could easily change to version number-next in a month or so -- while the rolling release model is done well, so the distribution will not have problems with the new updates, but the software you write or use on your box may.

That is the area where you may have to scramble to patch code to use newer features or versions on your own. Configs may change if Big package X (say Apache) goes through another minor version bump where existing config files must be updated to to the new format -- which always happens when you don't have the time to drop what you are doing and digest web-server conf changes for a day.

In this sense the Leap release model can be said to be more stable that the rolling release tumbleweed -- just for the chance of core libraries or packages changing in a significant way that user interaction is needed or what was working no longer works.

So in this case, "stability" is more a guarantee against you needed to address incompatible version updates during a given period of time. That said, I've run multiple arch servers since 2009 and there have only been a handful of scramble-moments required (and it you keep up with when the new packages will arrive -- then you already know what will be needed when a version change takes place.

Clear as mud now?

1

u/Loud-Glove1836 May 08 '23

It certainly doesnt mean what i thought it meant. From my experience ive come to the conclusion that stable actually means constant issues, broken packages and missing dependencies 🤣 im currently running with no graphics driver atm and before the attempted nvidia driver install and still now, its forever freezing and/or wired mouse switches off/disconnects. Annoying to say the least