Slashdot Mirror


Software Version Numbering After 2000?

apsmith wrote in wondering what software makers (like Microsoft) will be doing with their software versioning now that we've passed the year 2000 milestone. It's a humorous look at software versioning and it poses some interesting questions. What do you do when you cease using a sensible versioning system in favor of marketing hype (ala "Windows 2000")? Click below for the full text.

apsmith asks: "As I just heard that Microsoft is naming the next version of its database SQL Server 2000 it got me wondering - what happens to all these software products with big "version numbers" in a couple of years when 2000 seems like ancient history? Will we see more factor-of-20 leaps to Office 65535, Windows 1048575, etc? Merely modifying the fourth digit of the version number seems too insignificant to make upgrading seem worth the hassle - does Windows 2008 catch your eye any differently than Windows 2005?

It's not just Microsoft products that seem to have written themselves into a corner with high version numbers, though they are probably the worst. But even Emacs is up to version 20. Sun pushed Solaris from 2.6 to 7. RedHat at 6.1 is somehow way beyond the Linux kernel. At the other extreme is the model that Donald Knuth took for TeX, with the version numbers slowly approaching Pi (the latest teTeX distribution has TeX version 3.14159) but TeX hasn't changed much in the last 10 years either, so a lot of extra pieces have evolved around it to keep it functional.

In the real non-hyped world it seems any version number over 5 or 6 implies it's about time to switch to a new product or start over from scratch. There are countless examples - from recent history think of libc6 -> glibc2 (a bit of a mess there), HTML 5 -> XHTML, or perhaps even Netscape 5 -> Mozilla. Or is that just a geek's view of the universe? How should we be numbering our products these days? And what is Microsoft going to do after 2000? "

9 of 524 comments (clear)

  1. Switch to hexadecimal by Imperator · · Score: 4

    If your product has a single digit version and you're running out of integers, switch to hexadecimal. You can say you were using hex all along. Or do what Apple is doing, and move to Roman numerals.

    --

    Gates' Law: Every 18 months, the speed of software halves.
  2. Year Versioning Makes Sense by VAXman · · Score: 5

    I think year versioning makes sense, especially since software revisions tend to be every year or every couple of years. It is easy to pinpoint exactly which products go together, and how up-to-date your package is (which is good from a marketing standpoint). On something like VMS, the current OS version is 7.2, the current DEC C is 5.6, the LSE editor is something like 11.2. The version numbers are all out of sync. A number like 7.2 is meaningless. With Linux it is even worse, especially with the kernel version and distribution version out of sync, and all other product versions out of sync. For Microsoft products, it is obvious that Windows 2000 is the most up to date version, that Office 2000 goes with Windows 2000, etc., so I think that's good. I hope that VMS and Unix products go towards year versioning. The bottom line is that a year version means something, while an ordinary version is meaningless and arbitrary.

    I also hope hardware goes to year versioning also. What does 21264 mean? What makes Pentium II newer than Pentium Pro? It would be much easier if it was "Pentium 2000", "Alpha 2000", etc.

    Cars use that convention. As computers become consumer type appliances, it makes sense that they use the conventions also.

    1. Re:Year Versioning Makes Sense by Plasmic · · Score: 5

      Year Versioning is only half of the solution:

      Even Windows 98 has a Second Edition and countless updates, Windows NT/2000 have always had build numbers, and the list goes on and on. What it amounts to is that 'year versioning' is the marketing/public side of versioning, and the real versioning takes place in the alleys, with my Internet Explorer 5's version at 5.00.2919.6307 q246094 (really!), and Office 97 at Service Release 2b and the Jet 3.5 update.

      What it amounts to (as far as most people are concerned) is that year versioning is good for when I'm talking to my relatives so that all I have to do is say "does the screen with clouds at the beginning say 95 or 98?" to begin troubleshooting their problems at Christmas get-togethers, but when I'm talking to computer-savvy folks, things like "Slackware 7.0" don't even begin to describe what's really inside my box.

  3. Year-based naming by retep · · Score: 4

    Year-based naming may be nice and easy to follow. But you have to remember that when you say Windows 95 it "feels" old. Tieing the name to the year the software was released is just a way of making sure people remember how old their software is.

  4. Year versioning sux! by Roadmaster · · Score: 5
    Back when word leaked out that the then next release of Windows would be named after the year (95), there was a lot of talk that Microsoft would have to back off and return to standard versioning schemes. Those who said so cited the apparent failures of other attempts at year versioning (Mace Utilities 90 which later faded out of sight, and Illustrator 89, which was followed by Illustrator 5.0).

    5 years later, it seems as if Microsoft succeeded in doing things their way, and now everybody is wondering whether this is where the industry will be headed.

    I for one think year versioning is stupid. It doesn't, as Microsoft and others claimed, help customers unambiguously identify a product's latest release. Take a look at the (at least) four different versions of Win95. A major.minor versioning scheme would have been better for identifying the latest release.

    Then you have the "year" releases of other products, and then you see the "clearer" year versioning scheme fail as you see people talking about "windows 97" (since a big "97" pops up when they run Word or Excel from Office97) or Windows 2000 (same thing, except they bought Office 2000). It makes knowing *what* version people have a nightmare.

    Also, as with cars, you have year-named stuff being released before the year. How does a common mortal know that office 2000 was *not* released in 2000? How will it help when, in 2001, say they release Windows 3500 and Office 16384? And since they are no longer sticking to the "name it for the year it was released" scheme, how do I know whether my version of Office 2000 is the latest, or has been superseded by "Office 2048", released by microsoft heralding the coming of power-of-2-based versioning schemes?

    I say just use the tried-and-true major.minor.revision scheme.. it has worked well for years.

  5. Sun is almost as bad by THB · · Score: 5

    I hate the way that sun versions their product. SunOS 5.7 = Solaris 2.7 = Solaris 7
    This becomes worse when you are also dealing with people running different verions of both Solaris and SunOS.

    What seems to have happened with both MS and Sun is that the marketing people are now controlling the versions, not the developers.
    Solaris 7 sounds (at least in their eyes) more mature than 2.7, and microsoft follows the same logic with with windows 2000 over NT 5.0.

    I think that microsoft will stick with the year system at least until the two braches are merged, which was what was supposed to happen with 2000, oh well.

  6. Solaris 2.7/7 name by ChrisRijk · · Score: 4
    Sun have a page & FAQ about this change. It is basically just marketing. I think their statement about how that the '2.' part is basically redundant because they have no changes planned that would justify a '3.' release, is pretty fair. So, instead of Solaris 2.5,2.6,2.7,2.8, they did "Solaris 7", the next is "Solaris 8", to be followed by "Solaris 9".

    btw, unlike what some people do, the name only shows up in marketing/documentation/logos. With 'uname', the OS reports itself as being SunOS 5.7! (Solaris 2.X is SunOS 5.X) Backwards compatible with 2 levels of marketing re-branding ^-^

    I don't particularly care what Microsoft do... btw, The Register has an amusing article on "Microsoft Year 2000".

  7. Parts have versions, systems have names. by Above · · Score: 4

    I think the key part that is being missed is that parts have versions, but systems have names. This is particularly true when the systems have interchangeable parts. I think the car analogy was a good one, so I will go with that.

    When you design a part, like a spark plug, you give it a version number. These probably are some take off on the traditional software scheme, with "major" and "minor" revisions. The first three copper ones are 1.1 1.2 1.3, and the first three platnum ones are 2.1 2.2 2.3. This makes a lot of sense, and tracks the evolution of a spark plug nicely.

    When you use those parts in a system, there are a wide variety of version numbers, and they don't mean anything relative to each other. Version 2.1 of the spark plug was not designed at the same time as 2.1 of the muffler. So, you name the system (or version it, if you must) as a whole, and leave the individual version numbers as something to be droned on about in the detailed spec.

    This works out nicely. I go buy a 2000 Viper (hehe, i wish) and it comes with version 2.3 sparkplugs. Later, when they make a better one I can go to 2.4...or I can swap out for version 1.7 of another manufacturers design, which are better. It's still a 2000 Viper.

    Software works too, Red Hat "6.1" (a name, not a version) is made up of parts of all different versions, and that's ok. We also all know you can interchange at least some of those parts, and update it individually.

    So, I expect all "parts", eg software components to have monotonically increasing versions numbers like they always have. I also further expect marketing types to come up with cool names for new products that let me know one is better than the next. Cheetah is faster than Baracuda is faster than Wren, you know... but all those disk drives are made up of many versioned parts.

    I think the "2000" name is a fad, and will quickly fade now. I expect the next name to appear equally stupid to many of us, but the lemmings will buy it anyway.

  8. On the obscuring of version numbers in Windows by xdc · · Score: 4

    Version numbering used to be simple and sensible, but lately -- in the Windows world, at least -- it has become incomprehensible. It used to be that you'd have the major-point-minor version. Since some minor versions amounted to tweaks and bugfixes, they would increment the version by 0.01.

    Now observe what has happened with Microsoft products. Microsoft started using years instead of version numbers in its product names, but did so inconsistently. Instead of Windows 96, it was Windows 95 OSR 2. Instead of Windows 99, it was Windows 98 Second Edition. But it gets worse...

    Windows NT 4.0 has undergone some very significant updates that certainly merit at least new minor version numbers. A lot of NT software won't even run without these enhancements and bug fixes. But instead of calling it Windows NT 4.3 or at least 4.06, we have Windows NT 4.0 Service Pack 6.

    Internet Explorer versions are the most baffling. Various schemes are mixed and matched, so we end up with things like IE 4.01 SP2, which is slightly different than the other IE 4.01 SP2 that was released before. And the version number embedded in the software is some crazy dotted quad beginning with 4.72! (I probably erred a bit on the exact version and service pack numbers in the preceding example, but I am not making this up!) The latest nonbeta IE is 5.01, but when I check its version number, it says 5.00.2919.6307! Why not 5.01?!

    I suspect that this confusion may ultimately be part of a long-term plan of intentional deception. From Microsoft's point of view (as I see it), users should be kept out of system internals. In fact, operations should be so transparent that one will not and should not know whether something is coming from the local hard drive or from an Internet connection to Redmond. Both good and evil updates will be quietly slipstreamed through users' always-on broadband connections.

    Already, Microsoft Outlook hides the email addresses of email and newsgroup messages, showing only names like "John Q. Random". Though it is possible to find the return address via a troublesome multistep process, I have found no way to disable this misfeature in any of the option dialogs. Sure, these are just small annoyances. The end result is that users will have even less of a clue how the systems their livelihoods depend on works. Although I'm for intuitive interfaces and ease-of-use, I deplore the dumbing down of people.

    I think the future holds some corrections. Namely, the use of codenames or other product names in place of major version numbers. It seems that at this rate, the world may see Microsoft Windows 2003 Professional OEM Service Release 2.0 Service Pack 3. But I think it will probably be more like Microsoft Windows Neptune Server, and if you want to scrounge around in DLLs, you can find out each component's version number.