Stable vs. Unstable version of applications?

What EXACTLY is the difference between a stable and unstable versions of an application? In this particular instance I refer to GnuCash as that is what is relevant to me at the moment and I can make reference to a specific application. GnuCash established the last stable version 2.2.9 (I believe) and version 2.3.0 began the climb up to the present 2.3.3 unstable. What prompts or defines the declaration of a stable version? What defines the unstable version and progressive changes, fixes and updates? Kind of a newbie question I know but I’ve been rock solid with openSuse 11.2 with the exception of some apparently less than optimal choices of app. versions on my part. Accounting is not an area where I’m comfortable with development software beyond a few minor bug fixes.
Edit/Delete Message

You need to look up the exact meaning for the repo for example at one point, not so sure now kde-unstable was vanilla. Generally unstable will mean it has no/little testing now that could mean it will take out something. i.e if opened perhaps you may even lose the whole file. Now stable doesn’t quite mean released either that would mean as far as known it has no killer bugs but it still may have bugs.

Generally unstable still in development a moving target…
Stable not a moving target getting ready for releasing.

If I understand this then. Stable does not necessarily mean “stable” in that it is essentially bug free but that for the features of the stable version it has been tested and worked on more. The stable version is no longer being updated with fixes and is what it is at the time it was designated stable. A newer unstable version is a restart of the process because of new coding or features within the app that could be considered an overall upgrade and improvment and is more likely to have problems for the user?

Sort of and sort of not again you would need to look up info about certain repos I explained one example.

I for one doubt that it is not being worked on. Take kde KDE/Repositories - openSUSE here stable means 4.1.3 then lets take OO.o - openSUSE so that has two different meanings of stable.

“…is more likely to have problems for the user”
Both are not designed for the “user” they are for people that are interested in development or perhaps to get a feature that is needed with risks. Yes in theory you’re likely to encounter less problems but that is not the same as a distro release version, that is frozen and tested by many.

I think I’m getting it. The app. is a work in progress until a distro rlc is decided to be ready. If no final distro release has been made then the stable/unstable versions are/were all in flux to a degree. The stable/unstable designation is sort of a relative term used within the apps. dev and testing community that varies conditionally for the app., plugin, or OS distro as the case may be. Each new version would/could contain bug fixes for previous versions as well as additional features or changes that require further evaluation and testing because they are, well, new. Sooo … for me to decide on a non-release version of an app. it would be best to review the updates and fixes by the dev team for the version and see how things are progressing and what if anything to watch for. Am I close?

I think you made a fair assessment, whilst ideally stable maybe a rc candidate(This is not guaranteed), it also may not be the distro rlc.

All in all I would say you summarised it very well.

Only thing I would add … is for example as you get closer to a distro release you may find with certain distros. The closer unstable/stable/rc would be aligned if not almost completely aligned. You can see this happen in the OO.o repo.

Thanks. It explains why I’ve been sorely disappointed with the performance of some “stable” versions and found little or no fault with some “unstable” designations. Onward and upward!!!

I will reply to both your topics on the subject:
The linux use of stable and unstable is not exactly the same as the norm:
stability in the real world implies something solid, something that is concrete, something that wont crumble.
While in the linux world this means things that have been known to work without issue, it doesnt mean these are the most secure things nor the most up to date or that these things are without faults… no these are just things that are known not to cause any mission critical issues.
Unstable in the real world implies weakness, something not built to code or sub par, something that will fall apart at any minute.
In the linux world however this is not always the case, in fact unstable can in fact be very stable but the thing in question might not have been completely tested or considered betaware.
But even betaware (my personal term for beta quality software) can be rock solid too, heck betas can be more stable then the supposed finished product.
The traditional terms basically fall apart when concerning linux.