Software Version Numbering After 2000?
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? "
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.
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.
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.