Slashdot Mirror


The Amazing World of Software Version Numbers

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?)"

57 of 321 comments (clear)

  1. What now? by Anonymous Coward · · Score: 5, Funny

    ...standard decimal point-based system...

    What is this standard you are referring to?

    1. Re:What now? by Slashdot+Suxxors · · Score: 3, Insightful

      I'm no coder but to me the X.Y.Z format has always been where Z = minor bug fixes, Y = new features, more bugfixes, whatever, and X = major new features and such.

    2. Re:What now? by diskis · · Score: 5, Insightful

      1.1.1 -> 1.1.2 - bugfix only, no change in what the end-user sees.
      1.1.1 -> 1.2.0 - new features, perhaps a button in the UI has moved. Still fully compatible with the previous version. Documents should be stored identically, network protocols unchanged.
      1.1.1 -> 2.0.0 - major release, might very well break functionality, documents may have to be converted from previous versions, UI can change drastically.

    3. Re:What now? by JamesVI · · Score: 4, Interesting

      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.

    4. Re:What now? by Evan+Charlton · · Score: 2, Interesting

      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.

    5. Re:What now? by w3woody · · Score: 4, Insightful
      My favorite has been

      X.Y (B): X: major version as you've outlined.
      Y: minor version as you've outlined.
      (B): Build number; this is an auto-incrementing number which indicates the build. This is used for QA tracking purposes.
      I can also see adding a .Z, as you've also outlined: every public facing build increments Z before shipping, in order to indicate if it is a bug fix. If there is a .Z, then the build number can be hidden from the user--the only purpose it serves is for customer support to know which build the user has so bugs can be tracked appropriately.
      I don't see any reason why it needs to be any more complicated than that.

    6. Re:What now? by wkurzius · · Score: 5, Funny

      1.1.1 -> 2.0.0 - Expect 2.0.1 within the week.

    7. Re:What now? by Hotawa+Hawk-eye · · Score: 2, Interesting

      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.

    8. Re:What now? by davester666 · · Score: 4, Insightful

      > 1.1.1 -> 2.0.0 - major release, might very well break functionality, documents may have to be converted from previous versions, UI can change drastically.

      Um, you missed the most important part.

      1.x -> 2.x releases are when the business needs upgrade revenue, whether there is significant, useful new functionality or not.

      --
      Sleep your way to a whiter smile...date a dentist!
    9. Re:What now? by Darinbob · · Score: 3, Insightful

      Much of this is really up to marketing. I've seen big sets of bug fixes without new "features" cause a "1.1.1 -> 1.2.0" release, as long as marketing sees this as a relatively important release. I've also seen new features end up as only minor version changes "1.1.1 -> 1.1.2" if the marketing sees this as minor or not worth a bullet point in their talking points.

      Sometimes the version numbers are decided upon before the final set of changes has been determined. Often politics get involved, and other external issues. Ie, things like "version 2.5 will be the last one supported on old hardware".

      Last place I was at used "major.minor.dailybuild". This got confusing, since every day there was at least one more version to deal with, plus some incremental builds. The build engineer memorized all this stuff, but I could never distinguish 3.1.212 from 3.1.243...

    10. Re:What now? by icannotthinkofaname · · Score: 2, Funny

      1.1.1 -> 2.0.0 - major release, might very well break functionality, documents may have to be converted from previous versions, UI can change drastically.

      Wow. Sounds like back in 2007, Microsoft really wanted to put out a version of MS Office that they could label as "new", but had no good ideas for how to make it better, so they just followed this rule and broke functionality, rewrote the document format, and drastically changed the UI.

      --
      Let q be a radix > 1. I am in ur base-q, killing 10 d00ds.
  2. w/r/t Windows by gcnaddict · · Score: 3, Interesting

    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)

    --
    Viable Slashdot alternatives: https://pipedot.org/ and http://soylentnews.org/
    1. Re:w/r/t Windows by subanark · · Score: 5, Informative

      Actually the reason the minor version number started at 16386 is that the part of the upper bits for the version number are used to indicate branch. In this case the release bit is set to 1, if this was a 'test' build then it would be set to 0. Another bit (which isn't set) is used for the corporate branch, which includes security updates that aren't as fully vetted and changes to core components requested by corporate partners. Additionally, the lower 16 bits of the build (6000) is used to indicate service pack (at least that was the plan right before release). This change to how service packs were handled was done in the last month, and yes Microsoft fudged the version number towards the end so it would be 6000 (although it was close to that at the end).

      (I was the performance test engineer for Vista update services during the initial release of Vista)

    2. Re:w/r/t Windows by gparent · · Score: 4, Informative

      No, you're entirely wrong. The version number has been chosen specifically in regard to applications which check the first number (6) only, in order to not break them (since Windows 7 remains compatible with mostly everything Vista, this is a good thing).

      It still remains a major performance/stability/feature upgrade, thus why it is NT "7" theoretically.

    3. Re:w/r/t Windows by Littleman_TAMU · · Score: 2, Informative

      Actually, Microsoft has said it's only for application compatibility. Apparently a bunch of applications broke when going from 5.1, 5.2 (XP) to 6.0 (Vista). Why should Microsoft "lie to applications" and complicate things when they can just do what they did when going from 2000 to XP and change the minor number, as 91degrees said, version numbers are arbitrary. For what it's worth, I'm running the Release Candidate and it is a major improvement over the pre-SP2 Vista I ran for several weeks before reverting to XP.

    4. Re:w/r/t Windows by xsarpedonx · · Score: 3, Funny

      "I was the performance test engineer for Vista update services during the initial release of Vista" Shouldn't you have posted this anonymously?

    5. Re:w/r/t Windows by subanark · · Score: 4, Funny

      I really don't think the update services for Vista are that bad performance wise. But... my job didn't amount to anything, I was pretty much there so that the update division could state that they did performance testing.

  3. FFx2 by T+Murphy · · Score: 5, Funny

    All I know is with Firefox on 3.5 and Windows on 7.0, Windows must be twice as good as Firefox. AOL of course trumps everyone.

    1. Re:FFx2 by martas · · Score: 2, Funny

      so windows 98 is 14 times better than win 7? and of course, win 2000 is by far the best. (actually, that last part I believe. windows 2000 was like windows NT, but with graphics that didn't make you want to pull out your cerebral cortex through your nose.)

  4. First Post 5.0 by Anonymous Coward · · Score: 3, Funny

    Better late than never!

  5. Re:First V0.1 by homes32 · · Score: 3, Funny

    don't forget to upgrade to:
    V0.1 Basic - you don't really want this cuz we crippled it so you would buy our more expensive packages
    V0.1 Premium - just enough of a taste to make you horny for more features in our Platinum package
    V0.1 Professional - we stripped out some the the cool stuff and added some features for buisness that you will never use
    V0.1 Platinum - this is the best one yet! you get everything!(almost) it will even make you coffee and pancakes and walk your dog!
    V0.1 So awesome we can't even tell you the name edition! - we don't know what the hell this is, our marketing guys have been hitting the sauce pretty hard lately.

  6. Don't forget TIFF by Anonymous Coward · · Score: 5, Interesting

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

  7. os x by psyklopz · · Score: 4, Funny

    The article mentions OS X and the fact that they will be running out of cat names pretty soon.

    My prediction: as soon as they run out of cat names, they'll go to 'OS 11'

    Steve Jobs will market it by saying 'this one goes to eleven... It's one better, isn't it?'

    1. Re:os x by je+ne+sais+quoi · · Score: 3, Informative

      Oh, I don't know, there's lots of cat species. I myself an breathlessly awaiting Mac OS X version Iberian Lynx, which will be one better than Asiatic Lion. Perhaps that doesn't have quite the same ring to it though. They could also do extinct species, like sabertooth, which would be a decent name.

      In all honesty, I do wonder why they haven't done a Lion version yet.

      --
      Gentlemen! You can't fight in here, this is the war room!
  8. Oracle by Major+Blud · · Score: 2, Interesting

    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.

    --
    If you post as Anonymous Coward, don't expect a reply.
    1. Re:Oracle by Bigbutt · · Score: 2, Informative

      The first dBase was dBase II (from Ashton-Tate) to indicate it was more stable than the non-existant dBase I (Vulcan perhaps :) ).

      [John]

      --
      Shit better not happen!
  9. Word for Windows version numbers by maxwell+demon · · Score: 2, Interesting

    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.

    --
    The Tao of math: The numbers you can count are not the real numbers.
  10. Read it by Vollernurd · · Score: 2, Funny

    Well, that's 4 minutes of my life I'll never get back. Chrissssst... I'm a geek and even I thought that was dull.

    --
    Smokey, this is not 'Nam, this is bowling. There are rules.
    1. Re:Read it by Haxzaw · · Score: 2, Funny

      Thank you for playing, now please leave your geek card with the nerd at the door on your way out.

    2. Re:Read it by Hognoxious · · Score: 2, Funny

      Does that include the time to wipe your smudgy fingerprints off the screen?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  11. Another unusual case: 2 numbers for 1 version by maxwell+demon · · Score: 2, Informative

    Another interesting version number case occured during the gcc/egcs split: The egcs releases had two version numbers for the same release: One starting with 1.0.0, numbering the egcs releases, and the other one, IIRC starting with 2.91.0, giving a "gcc version number" to indicate that it was still considered to belong into the gcc family. After egcs officially bacame gcc again, the first releases had the form 2.95.x before the 3.0.0 release came out (starting from which the numbering followed the normal schemes again).

    As an additional twist, before it was decided to name the next release 3.0.0, the internal development code had the version 2.96.0, which also was used for a Red Hat gcc release. There never was an official gcc-2.96 release, though.

    --
    The Tao of math: The numbers you can count are not the real numbers.
  12. XP and Pentium by Trevin · · Score: 2, Interesting

    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).

  13. Re:0.97 0.98 0.99 ??? by idontgno · · Score: 5, Informative

    Which points up (no pun intended) the semantic confusion of using "." ("period", "full stop") as a version component separator. Semantically, it's not a decimal radix point. Therefore, the second component of your hypothetical version is not 99/100, it's integer 99. Therefore, integer 100 is indeed > integer 99, and the "." shouldn't be pronounced as part of it.

    That doesn't happen, of course; we all* say "point 99" or the like, which is exactly the same as if the "." were, in fact, a decimal point.

    *Not strictly "all"; I usually say "dot" instead of "point", partly because of this confusion. This usage became mainstream with "dot Net" since the string "Net" makes no sense as a real number "r" such that 0 > r > 1.

    --
    Welcome to the Panopticon. Used to be a prison, now it's your home.
  14. I grew up with by kenp2002 · · Score: 4, Informative

    A.B.C.D

    A: Major Release, violates backwards compatability

    B: Feature Add Increment. Indicates new features from prior release

    C: Bug Fix Release Increment.

    D: Build Identifier usually YEARMONTHDATE

    e.g.
    1.1.0.080215
    1.2.12.090714 (12th minor update to feature set 2 for release 1 built on July 14th 2009)
    1.3.1.091224 (First minor update for feature set 3 built on Dec 24th 2009.)

    Since most software tends to follow quarterly or monthly release schedules you rarely get more then 18 minor revisions if they are building weekly on a quarterly schedule or more then 4 on a monthly schedule.

    --
    -=[ Who Is John Galt? ]=-
    1. Re:I grew up with by codematic · · Score: 2, Informative

      The scheme makes sense... but i have personally had knock-down drag out fights over this and whats picked is something that has no structure, and no mathematical attributes whatsoever. Managements picks something that conveys little information to software, and less to the customer, then blames the developers when its shown to be useless... Thats modern day software development...

  15. Re:Different people, different numbering schemes. by veganboyjosh · · Score: 5, Funny

    Odd numbers for unstable releases?

    That you, Gene Roddenberry?

  16. Doom II Version 1.666 by linebackn · · Score: 4, Interesting

    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"".

  17. Re:Software version vs. sequels by oodaloop · · Score: 2, Insightful

    Forget version numbers. How did you pick that user name?

    --
    Tic-Tac-Toe, Global Thermonuclear War, and relationships all have the same winning move.
  18. Mac OS 7.5.1 was my first... by Cormophyte · · Score: 2, Funny

    ...personal encounter with a second decimal point in a version number. Although I was just a high school kid at the time I can still remember all the geeks on the other side of the Mac/PC divide claiming it was aberrant and wrong.

    Thus my general disrespect for proponents of the Windows operating system was born.

  19. Re:0.97 0.98 0.99 ??? by odflyg · · Score: 2, Informative

    That's actually not rare at all. For example Firefox went (briefly) to 0.10 after the 0.9 series. It merely depends on whether you think of the version as a decimal number with a fraction or as two (or more) numbers, separated by a dot.

  20. Algol 60 by pz · · Score: 2, Informative

    The article states,

    Did Windows 95 start the idea of using years instead of version numbers?

    Nope -- it's a far older conceit than that. The earliest example I'm aware of is Fortran 66 ...

    I believe Algol 60 predated that by a good 6 years, and Algol 58 by an additional two. While Algol 58 didn't see as wide usage, Algol 60 was, to many, the definitive version of that language.

    See http://en.wikipedia.org/wiki/ALGOL

    --

    Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
    1. Re:Algol 60 by zaft · · Score: 2, Informative

      Algol 60/58 or Fortran 66 are not "software version numbers". They are specifications that individual compilers complied with (to varying degrees). Each of those compilers had their own version numbers that were revised from time to time though the compilers were still a "Fortran 66" compiler. Naming by year definitely predates Win95; I seem to recall there was a Clipper release called "Summer of xx" (sorry don't recall the year).

  21. Re:os x - Don't forget LOLCAT editions? by Webcommando · · Score: 5, Funny

    Apple will have even more names when they move into LOLCAT space: Serious Cat, Ceiling Cat, Basement Cat, Itty Bitty Kitty Commiteh, and Monorail Cat.

    The possibilities are endless!

    --
    I love the sound of distortion in the morning -- webcommando
  22. Version 13 by Chrutil · · Score: 2, Informative

    The article asks "has anyone ever been brave enough to sell a version 13 of anything?"
    There was AutoCAD Release 13 back in the day.

  23. Starcraft maps by AlpineR · · Score: 4, Interesting

    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

  24. Re:Different people, different numbering schemes. by amicusNYCL · · Score: 2, Insightful

    I realize it's personal preference, but it irks me seeing applications with a version number less than 1. Yeah, it's fine to say "it's version 0.5 because it doesn't have all the features", but it's never going to have all the features you want or planned.

    The way I see it, by definition, the first time you hit Compile, you're creating "The First Version" - version 1.0. As far as I'm concerned, it starts at 1.0, not 0.1 or 0.0.0.1 or whatever else. If it takes all the way to version 2.0 to get "all the features" you originally planned or wanted, fine, the application is now at version 2, why is that a problem? It seems like a lot of applications, especially in the open source world, insist on always having a version number less than one. A lot of times when I see that I feel that if the developer isn't confident enough to call their application "The First Version", there's no way I'm going to use it. That's probably putting more weight on version numbers than is intended, but version numbers are all about perception anyway (just ask Netscape 5).

    And no, zero-based arrays are no excuse for now starting every numbering sequence with a zero. The word "first" is the ordinal form of the number one, not zero. By definition then, "The First Version" is version 1.

    --
    "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
  25. Reason vs Politics by hazydave · · Score: 2, Interesting

    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...

    --
    -Dave Haynie
  26. Dewey Decimal System by srussia · · Score: 2, Funny

    Oddly enough, the Dewey Decimal System is at v22, no decimal.

    --
    Set your phasers on "funky"!
  27. Re:Windows Fantasy 7 by hazydave · · Score: 2, Interesting

    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.

    --
    -Dave Haynie
  28. Metals by Jeremy+Erwin · · Score: 2, Funny

    Gold, Platinum, Platinum Plus were all substitutes for proper versioning in the 1980s and probably 1990s. This is parodied by many a perl script,

    $ua->agent("Schmozilla/v9.14 Platinum"); # give it time, it'll get there

  29. Netscape/Mozilla versions by Dracos · · Score: 3, Informative

    Netscape went directly from 4.8 from 6.0

    This was not as arbitrary as one might think. Toward the end of NS4's actual development cycle, there was an attempt to wring another major version out of that codebase, and it was called Mozilla 5. Eventually it was abandoned because the new NGLayout engine (now known as Gecko) was much better than the clunky old Mosaic-derived codebase. The NG stuff became the basis for Netscape versions 6 through 8, the Mozilla Suite, Firefox, Thunderbird, and lots of other things.

    I know there are some Netscape/Mozilla folks around here who could correct/expand that story.

  30. Slackware by Phroggy · · Score: 2, Informative

    Slackware Linux skipped from 4.0 to 7.0, because they wanted number parity with RedHat and other popular distros.

    --
    $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
    $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
  31. Apple's classic official recommendations by Etcetera · · Score: 2, Informative

    Apple's recommendations from the classic Mac OS days (as explained in Technote OV 12 -- Version Territory, now #1132) were what I grew up with.

    * First released version: 1.0
    * First revision: 1.1
    * First bug fix to the first revision: 1.1.1
    * First major revision or rewrite: 2.0

    The important part of version numbers is comparing them, and that's another place where Apple's classic metadata resource framework was ahead of its time.

    A problem can arise when comparing version numbers by casting them to unsigned longs. When compared this way, Golden Master (GM) version numbers will compare as being older than any of the final candidate versions.

    For the GM release of a file, the version resource will have the stage field set to final and the nonRelRev field set to zero. Most final candidate releases will contain a version resource, which has the stage field set to final and the nonRelRev field set to some value greater than zero. The problem here is that when the version numbers are cast to unsigned longs, the nonzero value in the nonRelRev field of final candidate version resources causes it to compare as greater than--and thus newer than--the GM version, which is in fact the newest version available.

    In the past, this is most often a problem during installations when installing the GM version of a package over a perviously installed final candidate version of the same package. The installer would complain that you are trying to replace newer versions of the files in the package when this is clearly not the case. The Apple installer (and most other installers) avoid this problem by comparing the individual fields of version resources.

    Years later Apple chucked many of these recommendations with QuickTime/iTunes version inflation. But it's nice to see things have stabilized somewhat in that regard. QT7 and iTunes8 have had lots of revs.

  32. a cautionary tale by anothy · · Score: 2, Insightful

    as a business-conscious engineer, i'm well aware of the business/marketing reasons for wanting to tweak or set the version numbers. in the commercial world, sadly, these things do actually have impact, so i'm willing to trust people with more experience than me in such psychological fields to have their input. what kills me is when they don't realize that there's actually valid technical reasons for version identifiers, too.

    at my last company, i was part of the new R&D department intended to make us no longer reliant on 3rd party contractors and consultants (which had been going poorly for us). we had multiple product lines with no coherence between any names and numbers. we had a product retroactively named Phase 2, an unrelated product retroactively named Phase 3, and its successor named Phase 3 Version 3, all with what amounted to point releases, without any identified version numbers or names. it was often just difficult to tell what we were talking about.

    so when we started working on our own stuff, we did better. we went "major.minor (build)". the head of marketing made a compelling case for being able to decide what was "major" and what was "minor" as far as our clients were concerned, and we thought that was fine. when we were on, say, version 2, we'd have a roadmap for the next several feature/fix packages and say "we think this bundle is version 2.1, this next one is 3.0, then 3.1, 3.2, 4.0". we went 2-5 feature/fix bundles into the future. marketing would come back and say something like "we really need a major-number release earlier than some trade show; make that 3.1, 4.0, and 4.1". some of the engineers were unhappy with this, but i think that's mostly because they discount the validity of marketing and psychology in commercial enterprises generally. in reality, it worked fine.

    for about 4 months. then the marketing guys decided to start changing things. frequently. they'd discover some other show they needed to get to, or decide one was less important, or a customer would tell them (stupidly) "we're going to wait for the next major version" or "we don't trust .0 releases". so then it became "er, make it 3.0, 3.1, 4.0, 5.0, 5.1....". the numbers got more divorced from any technical input. but at this point, marketing had already started printing literature with version numbers in it, and promising clients "3.2" on a given date, and so on.

    the biggest problem for engineering was that, again, it was hard to know what we're talking about. when we met to discuss the feature set to put in 3.2, or the planning for 4.0, which 3.2 was that? no good. so we gave up, told marketing that they could simply have the version number all to themselves, and we came up with a unique identifier series to use ourselves: each feature/fix bundle got a volcano name. we could talk about the features in Koko, or decide Krakatoa was too big and break it into Deccan Traps and Viti. we got everyone - including the head of marketing and the CEO - to agree that these were internal-only, engineering-defined designations for feature sets, not tied to published version numbers or whatnot. marketing got nice numbers to show clients, we got reliable, unambiguous identifiers. worked great.

    for a little under two years. then we had a review release for the "Kick 'em Jenny" release, where the head of marketing (yes, same one) "asked" us to change the name. R&D had been using it for about six months, so this was reintroducing the same problem we'd invented them to fight off, so, as the engineering manager on the project, i wasn't happy to see this happening, and asked why.
    "well," he says, "we can't very well tell that to clients."
    "er, right. that's half the point. these are engineering names, remember?" i responded.
    "yes, well, the clients like to know the names. we've been telling them all the earlier ones."
    (elided arguing and frustration on all sides)
    "okay, okay." i said. "a month or two ago, actually, they discovered a near neighbor to Ki

    --

    i speak for myself and those who like what i say.
  33. Here's how I interpret them numbers... by mcrbids · · Score: 2, Funny

    A.B.C.D

    A: Major Release, really freaking hard. Will probably deprive you of sleep for a day or two. Start with backups, and test the backups before you bother.

    B: Minor Release. Probably will not hork your computer, but will randomly do so.

    C: Some number that I pretty much ignore.

    D: LOL Wut?

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
  34. Oldest versions: by Subm · · Score: 2, Funny

    Oldest version numbers:

    Linear A: Linear A is one of two linear scripts used in ancient Crete before Mycenaean Greek Linear B... Linear A seems to have been used as a complete syllabary around 1900 - 1800 BC,

    Linear B: Linear B is a script that was used for writing Mycenaean Greek, an early form of Greek. It predated the Greek alphabet by several centuries (ca. 13th but perhaps as early as late 15th century BC).

    Linear C: (Redirected from Linear C [Already the marketers were messing with the version numbers!]) The Cypro-Minoan syllabary (abbreviated CM) is an undeciphered syllabic script used on the island of Cyprus during the Late Bronze Age (ca. 1550-1050 BC).

    Beat that!

    Can you imagine in 1800 BC how much of a pain the upgrade cycle must have been when everyone had to update their clay tablets?

  35. Re:Whatâ(TM)s the highest version number ever by jhdsl · · Score: 2, Informative

    It isn't a proper version number. Many in between has been skipped, like going from 290 to 330.