Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Software

The Amazing World of Software Version Numbers 321

Harry writes "In theory, software version numbers should be incredibly mundane. In reality, companies have long twisted them for marketing purposes, avoided ones they didn't like, and even replaced them with things other than numbers. I've prepared a tribute to them with some facts and ruminations, but there's a lot I don't know, and I'd appreciate help on the historical side of things. (Anyone know when the standard decimal point-based system came into use?)"
This discussion has been archived. No new comments can be posted.

The Amazing World of Software Version Numbers

Comments Filter:
  • w/r/t Windows (Score:4, Interesting)

    by gcnaddict ( 841664 ) on Tuesday July 14, 2009 @12:08PM (#28692179)
    Windows 7 is NT version 6.1, but that's because of appcompat reasons only.

    Microsoft frequently jumps build numbers before milestones (7000 for Beta 1 of Win7, 7600 for RTM)

    Microsoft often picks arbitrary numbers for revision builds (used to be buildnum.0, now it's buildnum.16384 as the starting point. Example: Vista RTM is 6000.16386, meaning there were three compiles of build 6000)
  • Irrational numbers (Score:1, Interesting)

    by pzs ( 857406 ) on Tuesday July 14, 2009 @12:15PM (#28692275)

    The proper way to use version numbers is to continually improve the precision of an irrational number, as in Tex [wikipedia.org].

  • Don't forget TIFF (Score:5, Interesting)

    by Anonymous Coward on Tuesday July 14, 2009 @12:19PM (#28692349)

    All TIFF files have a version number of 42, chosen, according to the developer docs, for that number's deep philosophical significance.

  • Oracle (Score:3, Interesting)

    by Major Blud ( 789630 ) on Tuesday July 14, 2009 @12:31PM (#28692529) Homepage
    My favorite has always been Oracle. The first commercial release of their flagship DB was version 2.0. There wasn't a version 1 because they wanted the product to sound more mature.
  • by maxwell demon ( 590494 ) on Tuesday July 14, 2009 @12:33PM (#28692553) Journal

    I'm not sure if the step in Word for Windows version numbers really was because of WordPerfect. Prior to 6.0, Microsoft had two independent Word release series: The original Word running on DOS, which already had reached version 5, and Word for Windows, which only had reached version 2. With Word 6, the DOS and Windows version numbers got synchronized; since 5 was the latest DOS version number, it made sense to use 6 next.

  • Re:What now? (Score:4, Interesting)

    by JamesVI ( 1548945 ) on Tuesday July 14, 2009 @12:40PM (#28692635)
    The typical three number scheme is derived from the numbering for shared libraries. Often called Major.Minor.BugFix.
    You increment the BugFix number when you implement a bug fix that makes no changes whatsoever to the interface. You increment the Minor number when you extend the interface (by adding new features). Both of these changes are backwardly compatible so you can just restart an executable that uses the library without having to rebuild or relink.
    If you alter the interface in a non-backwardly compatible way then you must relink your executable before it can work with the new version of the library. The Major number is incremented to indicate a non-backwardly compatible change.
  • Re:What now? (Score:2, Interesting)

    by Evan Charlton ( 1498823 ) <slashNO@SPAMevancharlton.com> on Tuesday July 14, 2009 @12:44PM (#28692687) Homepage

    I personally use the X.Y.Z and increment each under the following conditions:
    X++: New backwards-incompatible feature. For example, a new database schema would increment X.
    Y++: New feature or feature set. For example: Adding a new widget.
    Z++: Fixing bugs.
    It works pretty well for me.

    Why not just use a single version number that gets incremented by one every time there is a code change?

    That's what your version control revision is for. Some of us would like to be able to tell at a glance whether having 2.3.4 might cause problems when transferring data to a 3.4.5 installation. You try doing that with between version 36978 and 87498.

  • XP and Pentium (Score:2, Interesting)

    by Trevin ( 570491 ) on Tuesday July 14, 2009 @12:49PM (#28692767) Homepage

    One reason marketers have given products names instead of numbers, which isn't mentioned in the article, is that courts have ruled that companies can't trademark numbers (though I can't find a source reference).

  • by linebackn ( 131821 ) on Tuesday July 14, 2009 @01:03PM (#28692983)

    One of my favorite version numbers was the version of the first Doom II executable (which used a different version number than the game itself as it shared the exact same executable with Doom I, Doom I shareware, and Doom II). The initial release of Doom II was "Doom II Version 1.666"".

  • by Anonymous Coward on Tuesday July 14, 2009 @01:10PM (#28693105)

    I don't know what is the highest version number ever, but I know that it is bigger than 23.

    The latest stable release of the unix programm "less" is 429.

  • Starcraft maps (Score:5, Interesting)

    by AlpineR ( 32307 ) <wagnerr@umich.edu> on Tuesday July 14, 2009 @01:43PM (#28693605) Homepage

    I release several games as custom maps in Starcraft. Many of them are refinements of earlier versions made by others. And all of them are released unprotected so that others may add their own refinements.

    Version numbers get messy. I typically go to the next major number if I'm doing a serious overhaul of my own or somebody else's map. Then I increment the minor numbers for bug fixes, balance changes, and minor enhancements.

    But then somebody else comes along, makes a minor (and often terrible) change and releases it as the next major version. Or they make major changes and release it as the next minor version. Then when I make a new version, it either clashes with those other versions or looks older than the versions released with big jumps.

    I've tried adding descriptor names to my versions, a la Vista. So I have "Phantom BGH Gold 1.0" as my refinement of "Phantom BGH 2.4", but most people don't seem to get that. When my updates landed me at "Phantom BGH Gold 3.0" people at least paid attention that it might be newer, but they still complained that it was different than "Phantom BGH 2.4".

    I also tried adding "Classic" to a game version which was a totally rewritten implementation of a game type with other versions in the 3.0 to 9.0 range. I intended the "Classic" to signify I was focusing on the core ideas of the game type, but so many people thought it meant "old". As if the first version ever released of that map was labeled "Classic", and a label of "New" means new forever.

    TheNevermind

  • Re:What now? (Score:3, Interesting)

    by Hotawa Hawk-eye ( 976755 ) on Tuesday July 14, 2009 @01:51PM (#28693723)

    The difference between a minor and major bug fix is somewhat subjective. If a coder spent hours tracking down a bug that's been in the source code for ten years and never reported by any customers, that would seem to me to be a good candidate for the title "minor bug". If instead a coder spends 5 minutes changing a 1 to a 0 in a piece of code that has caused the program to crash for 50 customers (who have had technical support's phones ringing off the hook) since it was released yesterday, I'd call that a "major bug".

    As for the "increment the version number each time there's a code change" -- that would make a change that fixes the typo "teh" to "the" equally "important" with respect to the version number as a change that fixes a problem that crashes the entire program.

  • Reason vs Politics (Score:3, Interesting)

    by hazydave ( 96747 ) on Tuesday July 14, 2009 @02:17PM (#28694093)

    Engineers usually have a legit reason to brand a public version number... the next release, and the number indicates the level of importance. So far, so good.

    But then marketing and politics get into play.. and if you're in the business, these are good things to know. Sometimes it's just marketing... the DECT cordless phone standard somehow mutated version 1.6 into version 6... I guess that sounds more grown up in the marketplace. But it's also the first time they were using "DECT" as a buzzword in their marketing. No harm, no foul.

    Other times, it's keeping up with the joneses. Some have a method to their madness.. I use lots of Sony Media Software tools... you pay once for any major version, all of the minor versions in that release are free updates.. not just bug fixes, sometimes including new features. New one comes out, you can decide to upgrade or not... if you skip a version, you still get an upgrade price on the one after that. I'm really happy with the way these guys do business.

    At other times, something as stupid as a version number can become a billion-dollar weapon. This only happens when idiots are involved in contract law, I think, but it's happened. My classic example: MacOS and the open Mac platform. I was designing this kind of hardware in 1996-1997, the PReP, I mean CHRP, er, umm, I mean PPCP standard for Mac compatibility. This was largely at the urging of Apple's CHRP (um.. whatever) group, whom we (PIOS Computer AG, Hildesheim, Germany) met with in January of '97.

    So, like Power Computing, UMAX, IBM, Motorola, and others, we're off making a standard PowerPC platform machine. Maybe it should have been clear, after meeting at Apple and seeing that a Mot Starmax they had on-hand was the fastest Mac every recorded... at this side of an Amiga 3000 running a Mac emulator (a previous project of mine... the A3K, not the Mac emulator). Jobsie wouldn't like this, would he?

    So Jobs comes back, and like magic, at the Mac Conference in September, they announce MacOS 8... which is MacOS 7.6.something with a new name. And guess what... Motorola and IBM, the two big, old-school, real serious companies with more lawyers than PIOS Computer had employees (by some orders of magnitude, I suspect) had left a huge, ugly, gaping hole in the contracts they negotiated with Apple for MacOS... Apple gets to renegotiate the contract, completely and totally, on major revisions of the OS. But they get to decide the definiton of a major release of the OS!

    They didn't really cancel MacOS licensing then.. I don't think even IBM and Motorola were stupid enough to have allowed that. But it was only a small functional difference... Apple was going to licence MacOS based on the CPU in the box.. the faster, the more expensive. My little startup had produced the first full systems shipping at 300MHz (there may have been "accelerator boards" before then, but we integrated the system... we bought motherboards from UMAX and designed our own CPU cards)... that would have been something like $500 per MacOS version to license, despite the fact you could buy it off-the-shelf for like $75.

    I think this is also a good lesson for any engineer allowing lawyers to do things that have major impact on their future business course. Nothing I could have done about this, but after losing something like $100 million on the while Mac Clone thing, one would hope Motorola learned that hard-bought lesson. I do note they have "literally hundreds" of engineers working on Android-based cell phone stuff. Yeah, that ought to be a bit safer...

  • Re:Windows Fantasy 7 (Score:3, Interesting)

    by hazydave ( 96747 ) on Tuesday July 14, 2009 @02:31PM (#28694285)

    No, there was a Windows NT 4.0, and it wasn't just in name... it had some major architectural changes over NT 3.5.

    After that, brother, I'm with you. Windows 2000 was NT 4.something with tweaks to match the look and feel of Windows 98SE/ME/MOUSE/whatever. That wasn't a bad thing... it was as stable, give or take, as NT 4... I just had a problem with having to pay for a service pack. Maybe this is Windows 5.. or 4.something in actual fact?

    XP didn't at the time seem like much more than Win2K with additional surface tweaks. I skipped that for a few years, but eventually go sucked in based on needed add-ons.. new apps used new API frameworks only released for XP. And by then, it was stable, too.

    Vista.. better forgotten. They changes the look of it again.. I'm not convinced there's all that much new under the hood, much less anything good. They sure seem to change a bunch of code, for these releases or SPs or whatver.. still doesn't explain why the Windows shell sucks so badly.. my Amiga 3000 is faster at desktop disc navigation. Hell, AmigaOS running in emulation over top of Windows is faster at this stuff. So is Linux, of course. I think maybe I'd have more respect for Microsoft if they stopped fixing the look of the thing for one and instead tried to make it more usable. I mean, I'm on a four-core Q6600 CPU with 4GB DDR2 RAM, 3TB in the box, 6TB on USB, Gigabit ethernet to the house... thousands of times faster than that Amiga (also on the same network).... why should it ever, for any possible reason, take 30-60 seconds for me to see "My Computer" in the graphical shell? That's not hardware performance, that's retarded OS code. I'm sure it's the echo of horrible Windows 3.1 design decisions that oddly more modern OSs like AmigaOS (essentially stopped in 1994) and Linux (a hodge-podge of good ideas from the 70s and 80s) didn't screw up from the start.

    Well, with all the various and sundry new APIs, why not fix the fundamentals? There's this programming construct, called a "thread". No, you didn't have one in Windows in the 80s, but they do exist, and there's no reason to run everything through a single per task window event queue anymore, either. Machines have had real asynchronous behavior for decades, now.

    Yeah, I know this isn't the place... but sometimes, you just have to use Windows. A version that didn't suck in such fundamental ways would actually earn that (N+1) designation.

"Everything should be made as simple as possible, but not simpler." -- Albert Einstein

Working...