I don’t know who started it. It probably wasn’t Microsoft, but Windows 95 is definitely a bit-player in the confusing story of how software companies mismanage their version numbers.
I used to work for a software company at the end of the eighties. Early in our product’s development, a methodology for handling the version number was conceived. It was pretty straightforward,
Microsoft Windows initially adopted a pretty sane version numbering scheme. Everything was fine up to Windows 3.11, then suddenly we were at Windows 95, followed by Windows 98, a bewildering Windows 98 SE (Second Edition), Windows Millennium Edition (designed to conflict with Windows 2000, its NT cousin?). What a mess! What was so great about 1995? But under the hood, the major version numbers were still ticking over. Windows 95/98/Me = Version 4, Windows XP = Version 5, Windows Vista = Version 6, and then back to numbers again with Windows 7, and the list is soon to supplemented by Windows 8. But wait! Under the covers Windows 7 is actually Windows version 6.1. That makes no sense. I mean it really doesn’t. Apparently the reason for this is to allow software that checks for compatibility to run correctly. Specifically, software written to run in Vista will run in Windows 7. This is stupid. Windows 8 will be version 6.2! So, Microsoft has decided to follow Sun’s equally nonsensical version naming of Solaris. Solaris’ version numbering was never going to make much sense. Solaris 1 was really SunOS 4.1. Not really unusual to re-number with a re-brand. Solaris 2 was SunOS 5.0, and things were OK up to 2.6, which was SunOS 5.6, then it went all wonky. SunOS 5.7 became Solaris 7. Sure, a 64-bit OS is a big deal and deserves a major version change, but why not update the SunOS version at the same time?
Don’t even get me started on Pentiums, OS X, or Adobe CS!