My piece last month about the scary Windows NT 4.0 security bug that Microsoft won't fix drew a lot of response--both in agreement and disagreement. But I was surprised by the dozen or so folks who argued that NT 4.0 is obsolete, and you can't expect firms to support obsolete software. That argument got me to thinking: Who decides when a piece of software is obsolete? Microsoft released NT 4.0 to manufacturing 7 years ago this July. Is a 7-year-old piece of software obsolete? I don't think so.
First and foremost, I don't think that the vendor holds the power to brand a piece of software obsolete; I believe the software's users make that decision. When Microsoft stopped supporting NT 3.51, NT 3.5, and NT 3.1, I heard not a peep from users--and with good reason: Those OSs' user bases had nearly vanished by that time. But many people still use and need NT 4.0. Many need it because they don't yet trust or aren't yet ready for Active Directory (AD), and Microsoft never thought to enable Windows 2000 systems to act as NT 4.0-type domain controllers (DCs). Others use NT 4.0 as part of another system, such as a point of sale (POS) system, or, in the case of one reader, as the controller for a sheet metal bending machine. Because that machine is available only in a form driven by an NT 4.0 system, that reader is stuck. Microsoft didn't tell us that NT 3.51, Windows 3.1, or DOS 6.0 were obsolete; we told Microsoft. I think the same should be the case for NT 4.0.
Second, I hear constant complaints from organizations that simply can't afford the upgrades to Windows Server 2003, Windows XP, or Win2K or can't justify the benefit of these new OSs compared with the money, migration time, and retraining that upgrading costs. Does that mean I'm not upgrading? Heck no; I'm a techie and my job involves using the latest technology and equipment. But if my job weren't technological, I might have more pressing concerns than computer software upgrades.
While I'm on that subject, let me comment about those techies who can't understand why someone wouldn't or, more likely, couldn't, upgrade. For instance, I've heard more than once, "Anyone who can't see how much easier Win2K is to support is an idiot." I agree that the newer technology is easier to keep running, but that doesn't mean that because you run NT 4.0 you're an idiot.
Third, a major force behind software obsolescence in the past has been radical hardware change. In the late 80s, the constant pace of radical hardware change and the challenges of making 16-bit OSs with microscopic memory models meant that most software truly was obsolete in a few years. But that situation has leveled out, and despite the marketing hype, computer hardware hasn't changed all that much. Compare a 1983 PC to a 1993 PC. The 1983 PC probably ran a 16-bit/8-bit hybrid 8088 processor; about one-third of the PC-compatible machines had no hard disk, networking was virtually unheard-of, mouse devices were unknown, roughly half the systems had no graphics capability, and mass storage was, well, 360KB floppy disks. By 1993, the average PC had a 32-bit processor, much more memory, graphics capability, a mouse, and a ubiquitous GUI. More than 90 percent of business-owned systems were networked, and CD-ROM burners were around but not yet common. All of those hardware changes demanded support, and older OSs and applications lacked that support. When newer OSs and applications arrived with support for the new hardware, the older stuff was doomed--obsolete.
What, then, has changed on the hardware front in the past 10 years that might make earlier OSs obsolete? Let's make another 10-year comparison. Compare a 1993 PC to a 2003 PC, and you find that hardware hasn't changed all that much. Yes, processor speeds are greater, we can afford more memory, and networking and CD-ROM burners are more common, but the major hardware changes for the average PC are USB and FireWire. Not surprisingly, NT 4.0 supports all these changes except USB and, I'd argue, FireWire (configuring FireWire to work on NT 4.0 isn't fun at all). Are USB and FireWire support significant enough to spell the end of NT 4.0? Not for most of us. But in fairness, I should point out that I've only discussed hardware that you'd find in your average PC. If we're talking server hardware, then yes, some big improvements have arrived--Non-Uniform Memory Access (NUMA), tons of storage changes, gigabit networking--and NT 4.0 either ignores those advancements or supports them very badly. For those fortunate enough to have state-of-the-art hardware, NT 4.0 is obsolete. But for many folks, that's not true yet.
Fourth, the notion that 7-year-old software is obsolete because of its age is, well, obsolete thinking. NT isn't a word processor or a standalone desktop OS whose only networking functions are to connect to the Internet; it's enterprise-level technology. In the mainframe world, 7 years is no time at all. Hewlett-Packard (HP) through acquisition of Compaq, who acquired Digital Equipment, has been supporting VMS for about 30 years. Plenty of people are running versions of VMS software older than 7 years, but HP's not, to my knowledge, shoving them off VMS in favor of HP/UX or True64. Many IBM mainframe customers run mainframe software that's almost old enough to vote.
Ultimately, though, Microsoft is trying to kill off NT 4.0 and IBM is trying not to kill off ancient versions of CICS for the same reason: the pricing model. You typically don't buy mainframe software, you rent it with an annual fee. In contrast, we buy Microsoft software outright and don't pay any more to continue using it, Licensing 6.0 notwithstanding. If Microsoft could get a few bucks every year from every NT 4.0 user, you can bet that the company would be pumping out NT 4.0 security patches.
So should Microsoft continue to support NT 4.0 but charge for that support? On one hand, I'd argue that a defect is a defect, and ethical companies make good on their faulty products. But Microsoft probably never imagined that anyone would use one of its OSs for 7 years and didn't factor long-term maintenance into NT 4.0's price, so perhaps the company is within its rights to start charging for NT 4.0 patches. On the other hand, it's hard to argue that Microsoft would lose money by continuing to support NT 4.0 given that the company revealed a few months ago that it makes about 87 percent profit on its Windows products.
Furthermore, even if the company charges for NT patches, I don't believe it can charge much. NT 4.0's maturity level means that we would probably see no more than a half-dozen security patches a year, and how many programmers does Microsoft need to retain to produce those patches? The bottom line is that although NT 4.0 might have become the red-headed stepchild of the Windows family, it's still part of the family. And as long as people continue to use the product that they purchased in good faith, then those folks deserve support.