It has gotten much better, though I hope this is because most of the problems were found and not because people aren't paying attention.
Yesterday I wrote about the analysis of slow fixed by Microsoft, which may be true, and seems like human behavior to me. I'm not giving MS a free pass, however. I think that they have gotten much better in fixing things and they are doing a good job. But they can, and should do better.
I know they have been training people to write better code, and I know it costs money to look back at older OS's. And I'm not saying they should be supporting Windows 98, but I do think they should be scanning ALL their code for the "types" of issues that have been found (buffer overflows, malformed inputs, etc) and proactively issuing patches during the regular release cycle for these things.
And they should be going back to Windows 98 at least, just to be sure that those code bases can be patched. Maybe they would charge for those patches, but I think it would be a great PR move to just release those patches. Hiring 10 people to be bug catchers couldn't cost much, especially compared to the positive advertising they'd get.
Every software has bugs and the OS's are no exception. Even Linux and its core packages are constantly releasing patches for issues they find. Both camps do a good job of working on and releasing patches, just on different schedules. But they can do better.
I just hope Microsoft bundles these patches up and limits the burden on admins with a set schedule. And maybe a month off here and there.
Follow me on Twitter: @way0utwestForum Etiquette: How to post data/code on a forum to get the best helpMy Blog: www.voiceofthedba.com
Being in the commercial software development business myself, I can attest to the fact that it makes little business sense to support the older versions of the software. We are constantly encouraging customers to upgrade to our latest version, that way our development teams can focus on fixing issues in only a few code bases, not everything we ever sold. This frees up resources for development of better functionality and staying up with the latest technologies.
Companies have limited resources and have to decide how best to apply those resources not only to increase profits, but usually just to stay in business in a competitive environment. Just because MS is huge does not mean that they do not face the same kind of pressures that the rest of us do in the software business.
So excpecing MS to update older versions of their OS does not make sense to me.
Well, upgrading software is not exactly like selling a car with a new paint scheme so I'm not sure the analogy is correct.
Just in the 11 years that I have worked at this company, we have upgraded from DOS, to Windows 3x, WIN95, 98, to NT operating systems. We've modified our installations from floppy based, to CD, to web based distribution. The develoment system has gone from 16 bit, to 32 bit, to .NET based. In addition we have fixed bugs and added features to the software. Also upgraded support for the database from Sybase to SQL 4x, SQL 6x, 7x, 2000 and 2005. So there are other external factors which force us to upgrade the software to keep pace with changing technology.
Another difference from the car analogy is that our customers pay a maintenance fee which covers the upgrade of the product. This helps us and them stay current and add new features. Thats a totally different model than the auto industry uses.
All that said, there are customers that decide to stay behind on older versions of our software, and we do end up supporting them. We just do our best to encourage them to upgrade. Also, there is a risk for us as a software vendor that when they are faced with a decision for an upgrade, there is always a chance that they will select to go with a competitor. So we are not in the business of forcing customers to upgrade just to get more money out of them, but that is the way this business works (by the way, we sell ERP software and most deals are in the 100K-1M dollar range, just to give you an idea of the business I am in).
Now, I do agree with you that there may be a market for 3rd party support of retired products. In fact we have a channel of 3rd party vendors that resell and support our product and they sometimes do sell support for retired versions.
You know, there may be better ways to sell software, but for now this makes the most sense for our business.
I want to respond to Steve's comment that "every software has bugs".
I'm not perfect, but I bend over backwards to provide deliverables that are bug free. Do I succeed? Most of the time. When I don't succeed, are my bugs resolved quickly? Almost immediately. Am I smarter or more knowledgeable than my colleagues? No, but I care about the quality of my deliverables, and I do whatever is necessary to deliver bug free products.
C'mon Steve. The development community needs to quit delivering crap (defined as bug infested software that needs to be supported for weeks, months or years) and raise the bar.
Maybe somebody needs to offer 3rd party support for software that companies retire. NT is an example of that could be supported by 3rd party for price.
Interesting idea and one that I've never seriously considered. But how do you patch an OS or application without the original source code? I'm by no means a developer, am I missing something?
Thanks for your comments. First let me say that I appreciate your site, your editorials and the tremendous resource that SQL Server Central provides. I use it daily, and I really appreciate you.
I also want to apologize for my self-righteous tone. I'm usually a bit more diplomatic, but this is an issue I feel strongly about.
I can't control governments, courts or the insurance community. Nor can I control unreasonable expectations of my customers with regard to issues of timing (for example, expecting a 12 month product to be delivered in 12 days).
However, like all developers and DBAs, I can control the quality of my own deliverables, and I am not sympathetic to the "all software has bugs" take on things. A co-worker once told me that database relationships are "textbook" stuff, not “real world”. Another co-worker tried to make the case that source control is needless bureaucracy. A 3rd party component I recently purchased for $500 only worked after three days of trial and error because their support documentation didn't bother to mention a couple of necessary "workarounds". A colleague told me just today that normalizing his table to 3NF (41 fields) was unnecessary (1 table normalized to 15). And, last week, I had to uninstall and reinstall SQL Server 2000 (Enterprise edition) to get Full-Text Search installed (it was not installed during the initial installation and I could not get it to install during a customized install).
You are correct that delivering bug free software for business applications is unrealistic. But I believe that the primary reason is not because of the complexity of our work, but because of the fact that many (if not most) in the development community have seriously low standards for quality with apologists to defend them. In my view, that’s not acceptable. Not from MS, not from Oracle and not from me. I honestly believe that we software/database developers can do better ... much better.
Yes ... bug free. I'm very serious. NASA software engineers' deliverables must be bug free when used in the space shuttle. Software used by air traffic controllers better be bug free before the end users put it to use. Electronic voting machines ought to be bug free before November. Am I being unrealistic here? Lives and democracy don't depend on my deliverables, but then again, my products are not nearly as complex as the space shuttle.
Thanks for listening and letting me vent.