Ionuț G. Stan
Ionuț G. Stan

Reputation: 179219

Which open-source projects use odd-unstable/even-stable style of versioning

One of my colleagues told me today that some projects use a weird, IMHO, way of versioning their releases. If the release is unstable, the minor version is an odd number, eg. 1.3, 1.5. On the other hand, stable releases have an even minor version number, eg. 1.2, 1.4.

At first I couldn't believe my ears, it seemed unreal. Then Wikipedia enlightened me that it is a practice coming from the Linux kernel community, although it seems(?) to have been dropped recently.

A few hours later, I'm reading Programming Ruby's preface, and what do I see? Ruby uses the same convention for version numbers.

What's your experience with this? What (open-source) projects/products you know of that use this versioning schema? Is there an easy way to figure it out quickly if they observe this convention? Is it that popular? I've begun software development a little more than 3 years ago and haven't heard about this practice before.

Thanks for your responses.

Upvotes: 10

Views: 7287

Answers (3)

hlovdal
hlovdal

Reputation: 28268

The linux kernel dropped that practice with the start of the 2.6 kernel in 2003 (i.e. 2.4 was the last stable with a corresponding 2.5 development branch). I just looked up what I wrote in my master thesis about projects generally:

A split between a stable and a development branch is a very common strategy in open source projects, although some use more{footnote}. The release numbers used is then also often using a odd/even scheme on the form a.b.c where a is a major release number, b is even for stable and odd for development and c is a sequence release number (sometimes an additional d is also used).

{footnote} For instance, the XEmacs development is split between three branches: stable, gamma, and beta. Debian uses experimental, unstable, testing and stable.

For more details about the linux kernel, feel free to read the whole "2.2.4 Linux development branches" chapter.

EDIT: The original link has gone away, here is a new link and proper citation:

Løvdal, H. (2006). Analysis and description of an open source janitor project (Master's thesis, Høgskolen i Agder).

Upvotes: 6

sepp2k
sepp2k

Reputation: 370455

GTK+ and GNOME also use that versioning scheme. Note that ruby does not use this scheme anymore since 1.9 (which is stable).

Upvotes: 2

Zifre
Zifre

Reputation: 27008

Many open source projects did use this, but most have changed to other methods. For example the Linux kernel used to do this (quite a while ago). Recently, Mesa (the open source OpenGL stack for Linux) stopped using this method with version 2.5.

IMHO, all releases should be relatively stable. If it is not yet stable it should be an alpha or beta release. For example, the KDE 4.0 release was a terrible mistake. 4.0 should have been alpha. 4.1 should have been beta. 4.2 was the first really usable release.

Upvotes: 2

Related Questions