views:

85

answers:

3

There seems to be a frequent trend in the growing open source world to number releases as 0.x even if they are to be treated as a major release. In some cases, there may not even be compatibility between two minor releases. Can anyone help me understand if there's a good reason or rationale for doing this in certain cases, or is it just a perfectionist streak leading developers to feel like they aren't ever really done?

A: 

In many organizations (OSS or other), the first digit of a version corresponds to a complete new generation of products, usually tied to a major reorganization of the code base or even a complete rewrite.

Releases that bring significant change, but are still built upon the same architecture or internal framework would see their second digit change. One usually adds a third digit or a release number for minor maintenance releases.

Without explicit examples, I'd guess that is the kind of numbering scheme you're seeing.

Kena
+2  A: 

Version numbers are a matter of personal taste.

There are standards, but they differ wildly - some projects use them as a marketing tool, some as a precise expression of backward compatibility.

I'm not sure exactly what you mean by a major release, either. If you mean one that breaks compatibility, then I would point out that sub 0. releases imply to me that no compatibility can be expected, since they have had no product release yet.

But that's just my taste.

Alex Brown
I understand what you're saying about sub 0 means "anything goes" but as an example, I'll point out the Trac project. Their first stable release was 0.9. They're now at 0.12, and neither 0.12 nor 0.11 nor 0.10 are substantially cross-compatible. Thousands of organizations use Trac in production without major defects, and there's an organized development effort. If being in production all over the world and not crashing much doesn't constitute some sort of GA, what does?
brokenbeatnik
A: 

It's not entirely a matter of personal preference - in some settings (in the enterprise proprietary software world, at least) the decision of whether an update is a point release or something else triggers business and legal consequences, such as a requirement to provide the release for free (or not).

I suspect that paid support contracts for open source software deployed in business have similar consequences - what services are included and what have an extra charge, my depend on the level of the update.

For more general discussion about versioning here are two SO questions: This and this.

Will M
By personal taste I believe Alex was saying that there are no rules for such numbering per se. If I were the owner of an OS project I could very well make dot releases to be considered major releases. There's no ISO standard requirement for anything otherwise.
Webjedi