Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!amdcad!ames!xanth!kent From: kent@xanth.cs.odu.edu (Kent Paul Dolan) Newsgroups: comp.software-eng Subject: Re: Free Upgrades and Bug Fixes -- A Policy Question Message-ID: <3782@xanth.cs.odu.edu> Date: 27 Jan 88 11:19:56 GMT References: <4082@june.cs.washington.edu> Reply-To: kent@xanth.UUCP (Kent Paul Dolan) Organization: Old Dominion University, Norfolk Va. Lines: 42 Summary: just a replacement for warranties [In response to a query asking why software vendors provide free updates when most products updates are sold at a profit.] First, if you buy a washing machine, and the door falls off in the first ten days of use, you call the vendor, and get it fixed under a "warranty", usually in a day or two, if the vendor plans to stay in business. However, software vendors are scared witless about giving warranties, because of something called "consequential damages". Also, (I've done this task) fixing up a broken piece of code is rarely an operation you'd like to guarantee to do in a couple of days. Instead, when the compiler you just bought can't compile a null program ("the door falls off..."), you call the vendor, it gets added to a long queue of things to fix, and, usually months later, you get an "upgrade". Sometimes it is really an upgrade, but most of the time, it is just somebody "putting the door back on" in such a way that it won't fall off when you use it. So, your "free" upgrade is just a little scam that you and the vendor agree upon, to replace the much too dangerous (to the venor) "warranty", while still getting things fixed, sometimes. If "software engineering" were yet a science, and programming could produce reliable, workable products at reasonable costs, this scam would not be tolerated. However, with the demand for software far outstripping the ability to produce it, and the reluctance of the buyers to pay the true cost, in time and money, of producing reliable software, we programmers continue to rebuild our bridges each time they tumble into the torrent, and call our efforts "engineering". What a terrible devaluation of a word! Software engineering - it CAN happen in our lifetime! Kent, the man from xanth. I code reactor power plant control in C. I add "count_of_recent_alarms" to "count_of_rods_to_lift". C has weak type checking; the compiler doesn't notice. A major coolant valve sticks, a spate of alarms occur. All die. Oh, the embarrassment!