It might surprise you, but Microsoft finally stopped issuing licenses for Windows 3.x on the 1st of November. Of course, Windows 3.x wasn't sold to anyone other than vendors, who've use it as the operating system of choice in certain embedded devices since the end of 2001. Melancholy aside - yes, I grew up with DOS and Windows 3.11 - the closing of this chapter brings to mind a problem common to SMBs.
Compared to larger organizations that are likely to have enterprise-wide software licensing agreements and budget for the gradual replacement of existing hardware, SMBs attempting to maximize their IT budget invariably find themselves running multiple generations of aging computer terminals with disparate operating systems.
I term this situation "operating system sprawl" and, based on my personal experiences, I can assure you that operating system sprawl in any organization is a siren call for a whole load of grief. Chief among the woes would be the difficulty of maintaining interoperability among the various operating systems. For example, one of the companies I previously worked for purchased a new batch of computers running on Windows Vista, only to realize that it is not usable with the server - which runs an obsolete version of Novell. Or how about the version of an application that only runs well on Windows 98, not on Windows XP? Indeed, the longer operating system sprawl hangs around, the harder it will be to change.
The most common refrain I hear for tolerating operating system sprawl is due to perceived cost savings. What I have come to realize is that any such savings are effectively negated by higher costs due to the lack of qualified support and higher hiring costs.
I think it is a no-brainer that it will be more costly to support an obsolete operating system. As the existing pool of professionals with a specific skill set dries up, so would their asking rate increase. Expect the suitable candidate to cost plenty. Indeed, this can be a bigger concern in that it might not even be possible to get qualified candidates with diverse enough skills to handle the existing systems. How would an entry-level system administrator know how to use Linux, BSD, DOS, and the various versions of Windows, for example?
At the end of the day, my take on this is simple: Avoid operating system sprawl like the plague.