Help - Search - Members - Calendar
Full Version: Software Version Numbers
Hydrogenaudio Forums > Misc. > Off-Topic
THEMike
Ok to drag this debate out of my thread on software versioning.

My Technical Background

I have a B.Sc in Computer Science from the University of Manchester (UK), I've been working as a professional programmer since graduating. I've worked in a variety of industries on a variety of types of software. I've written freeware, shareware and Open Source code outside my Commercial software development. This includes MikroAMP, Skinmaster, shoutcASP, PHPNuke Modules, Geeklog modules, little windows apps etc etc.

About Version Numbers

Version numbers are typicaly of a form similar to major.minor.point.build Some software doesn't go that far, some goes further, depending on the needs. Some companies combine minor and point. Different companies and developers increment different things based on different reasoning. Typicaly if the Major digit is incremented, it's a pretty major change to the software.

In the case of Commercial Software (office, oracle etc) an increment in the Major number will equate to "We've changed it so much you need to pay again". Shareware often follows this too, making people re-register for a new major change but providing minor changes F.O.C.

Of course, this is all just 'typicaly' often the general system is bent around for commercial reasons, marketting reasons, random reasons. Take Notmad Explorer, they crank up the Major version all the time, and I don't see that much change. Winamp jumped from 2.95 to 5.0 for 'Marketing' reasons and because Winamp 3 was a bit of a muff job.

Microsoft piss all over this by going to Office 2000 and then Office XP.

No company ever releases pay software with a 0.x version number and expects people to pay for it. The public perception is that before 1.0 "it's not ready" (Queue grolsch adverts), people expect it to have bugs, missing functionality, to be in a state of flux. People want the finished product. Saying "we're not even at version one! But pay $29.99 for it" isn't getting you anywhere.

0.x versions in the commercial world are internal releases to show progress, for testing. For public betas even. But they aren't what you charge the users for. They want 1.0 (actualy, generaly they want what your team can't get ready until 2.5 or something because the company didn't give you enough time, because the bid had to be low to be competitive and they plan on making money by having you work 12 hour days or more for free, but even that's enough so functionality has to be de-scoped and the client managed...)

Open Source is Different
Of course, when we get into the Open Source community, things change totaly. We rarely see a Major version increment. A major version increment generaly means most of the code was re-written. See PHPBB2, Apache2, Geeklog2. Even minor updates are rare (see apache) so it's mostly point or lower updates.

With Open Source, the code is usualy out there from the very, very beginning. Stable builds of programs are released in the 0.x line. But they don't claim to be finished. Often they are far better than 1.0 releases of corporate software, but the developers will usualy say it's far from complete, things may well be totaly re-designed. Core features might not be there yet, bugs might be there.

Until it gets to 1.0, it's still generaly not finished. Take emule, you have a pretty damn good client there, but the team wouldn't say it's finished.

The great 1.0 in the sky may not be reached for a long time, they don't have the commercial pressure to get a stable 1.0 build to the clients to get cash in. It's open source.

Anyone care to discuss any flaws in my argument there?
Moneo
QUOTE
Anyone care to discuss any flaws in my argument there?

There's only one flaw: you're assuming that every developer of free software is following the same version numbering strategy that you have described.

Which simply isn't true.
kwanbis
what you say is maybe the "uninformed people" conception. i was using mozilla 0.8 long before reaching "1.0 status" (which they did because of people misunderstanding), and i can say that there was no problem at all with it. even fb2k, at 0.7.1 is much more stable, cpu/mem friendly than Winamp 3.x, did you knew that sun's solarix 9 is actually Solaris 2.9? (and solaris 8 is 2.8), this is only to show you that version number does not means quality per se. Another example, did you knew that Word 6.0, is actually Word 3.0? Ms decided to call it 6.0 because they felt that it was on par with 6.0 from DOS. or do you think that WordSTAR 2000 is better than say, Word 97 or Lotus WordPro 9.8? (2000 > 97 > 9.8) ...
sthayashi
QUOTE(THEMike @ Oct 21 2003, 05:44 PM)
No company ever releases pay software with a 0.x version number and expects people to pay for it. The public perception is that before 1.0 "it's not ready" (Queue grolsch adverts), people expect it to have bugs, missing functionality, to be in a state of flux. People want the finished product. Saying "we're not even at version one! But pay $29.99 for it" isn't getting you anywhere.

Apple. OSX. Enough said.

QUOTE
Open Source is Different
Of course, when we get into the Open Source community, things change totaly. We rarely see a Major version increment. A major version increment generaly means most of the code was re-written. See PHPBB2, Apache2, Geeklog2. Even minor updates are rare (see apache) so it's mostly point or lower updates.

With Open Source, the code is usualy out there from the very, very beginning. Stable builds of programs are released in the 0.x line. But they don't claim to be finished. Often they are far better than 1.0 releases of corporate software, but the developers will usualy say it's far from complete, things may well be totaly re-designed. Core features might not be there yet, bugs might be there.

Until it gets to 1.0, it's still generaly not finished. Take emule, you have a pretty damn good client there, but the team wouldn't say it's finished.

The great 1.0 in the sky may not be reached for a long time, they don't have the commercial pressure to get a stable 1.0 build to the clients to get cash in. It's open source.

What's your view on Open/Free SDKs? What about the fine line in between Open Source and Commercial software?

I ask, since this post was obviously in reference to the Foobar 2000 < 1.0. As far as I can tell, the software is neither open source, nor is it a commercial entity. It appears to be following your Open Source description of versionning accurately. It may be a VERY long while before we see a 1.0 release, however, I doubt that the functionality of the product will differ greatly from where it is now.
Messer
For some developers distance between 0.0.1 and 1.0.0 is from "software that does anything related to subject" to "software that meets minimum requirements and is fairly stable" (like Mozilla 1.0), for some this is from "software that does anything..." to "software that does all and more and is hard rock stable" (foobar2000, I presume). For others it is somwhere in between.

So although your version numbering scheme is comonly used it says close to nothing about the quality, features and degree of "completness" of software.
RIV@NVX
Version numbering is author's decision. You can't generalize it.
For example, let's look at IE 6.0 - it still has lot of security issues, renders badly, suffers stuff like years ago, and doesn't have any interesting features.
IE for Mac is a bit better, but not a lot.
On the other hand, Apple's Safari (based on KHTML, but that's not really relevant right now), was a lot better than IE for Mac even before it reached 1.0; and it's commercial software (you buy it with OS, there is a free download for all those who use OSX).

As someone said, Mozilla was very usable a long time before 1.0 - M builds crashed a lot, but they were usable. Mozilla 0.6 was already way better than IE; let's not mention current relases.

There is no rule. I have seen shitty software without support for modern cool features with big version numbers, and 0.x.x software with very cool features.
eltoder
No software project is ever finished. Never ever. Judging different programs by their version numbers is one of the most stupid things to do.
When thinking about a progam I personaly consider it's
- features
- compatibility
- stability
- cost (rarely actually, because I'm in a wild country smile.gif )

-Eugene
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.