If you download and install an open-source project only to find that it doesn't work with your MINIX operating system, do you blame yourself for using an operating system that wasn't popular even at its peak? No, you blame the open-source project team for not catering to your every whim.
And we wonder why so much software is chock-full of security holes and bugs and is more bloated than a college kid after a beer blast. Surprise.
Keeping Up Holds Them Back
In his "Myth" series of novels, Robert Lynn Asprin talked about Dragon Poker, a game in which the rules change based on seemingly absurd lists--the phases of the moon, the color of the clothes the person next to you is wearing, whatever. And that's kind of what we're doing to software developers: giving them an insanely long list of factors to take into account just to produce even the simplest program.
The Microsoft development folks still have to support Windows 95 whether they like it or not because one or two really big customers demand it. But think about it: That means they have to consider six base versions of Windows (plus WinCE) with each revision. No wonder everything Microsoft produces is so late to market!
The same goes for open-source teams. Download the source code to the minicom open-source project and try to get through the code without cutting out all the parts applicable only to MINIX or only to SVR2 or only to ... let's see, what phase is the moon in?
When Microsoft proposed some changes in the first beta release of VB.NET that would have made Visual Basic programs safer to use, Visual Basic developers complained until Microsoft backed off. Why? Because they didn't want to have to update their old source when they ported it. Little did they know they'd be rewriting for .Net anyway.
We cannot support every old DOS application and continue to move forward. Find a DOS clone and use it to host old systems if you're desperate, but try to let go of the past.
In our industry, security is becoming more important each month. If you want to support secure systems in the future, help us all move out of the past by upgrading outdated systems and hardware instead of demanding support for them. The number of combinations and permutations created by adding support for each old piece of hardware or each out-of-date OS is mind boggling. In the case of complex systems, these variances make it nearly impossible to ensure security and stability.
And if you work for one of those companies that has enough pull to force Microsoft to maintain support for some outdated API--or if you're one of those newsgroupies that can guilt open-source developers into supporting some obscure little variant--heed the advice my wife gives our children: "Just because you can, doesn't mean you should."
--Don MacVittie, dmacvittie@nwc.com