Slashdot Mirror


Calling Software Reliability Into Question

phillymjs writes "CNN is running a story on software reliability, and how the lack of it may cost more and more lives as technology creeps further into everyday products. It appears a debate is finally starting amongst everyday (read: non-geek) people about vendor liability for buggy software. Some opponents of the liability push are unsurprising: Says the story, 'Microsoft contends that setting [reliability] standards could stifle innovation, and the cost of litigation and damages could mean more expensive software.' The article also says, however, that consumers' favortism of flashy products over reliable ones is partly to blame for the current state of software."

412 comments

  1. Microsoft by Pres.+Ronald+Reagan · · Score: 3, Informative

    I like what Microsoft has been doing qith security these days, quite frankly. The new security features in Windows Server 2003 look innovative and very modern, and quite easy to use.

    Linux may be secure when configured correctly, but Windows Server 2003 looks to be the most secure OS out of the box at the moment.

    --

    Abortion is advocated only by persons who have themselves been born.
    --Ronald Reagan
    1. Re:Microsoft by miketang16 · · Score: 2, Insightful

      This post shouldn't be modded down that badly. I mean, this guy is giving his truthful opinion, albeit a wrong one... ;)

      --
      -------
      "In times of universal deceit, telling the truth becomes a revolutionary act."
      -- George Orwell
    2. Re:Microsoft by djcapelis · · Score: 2, Insightful

      troll? *mumbles something about OpenBSD

      --
      I touch computers in naughty places
    3. Re:Microsoft by Anonymous Coward · · Score: 0

      Windows 2003 and OpenBSD share a philosophy --"secure by default". AKA, everything's turned off after you install it.

    4. Re:Microsoft by Namaseit · · Score: 3, Insightful

      Yah windows NT/2k/XP *looked* secure out of the box also. Then the exploits came.

      --
      75% of all statistics are made up!
    5. Re:Microsoft by Anonymous Coward · · Score: 0

      I like what Debian has been doing qith security these days, quite frankly. The new security features in Debian Sarge look innovative and very modern, and quite easy to use.

      Nintend64 may be secure when configured correctly, but Debian Sarge looks to be the most secure OS out of the box at the moment.

    6. Re:Microsoft by Prof.Phreak · · Score: 1
      And them inserting IIS components into the kernel is secure? I mean, they'll be going HTTP request parsing in the freaking KERNEL now!!!

      Are you forgetting this?

      --

      "If anything can go wrong, it will." - Murphy

    7. Re:Microsoft by Sicarius-128 · · Score: 1
      And this is new and shocking, how?

      from linux/Documentation/Configure.help:


      CONFIG_KHTTPD
      The kernel httpd acceleration daemon (kHTTPd) is a (limited) web
      server built into the kernel. It is limited since it can only serve
      files from the file system and cannot deal with executable content
      such as CGI scripts. Serving files is sped up if you use kHTTPd.
      If kHTTPd is not able to fulfill a request, it can transparently
      pass it through to a user space web server such as apache.


      Sure you could leave it out, but it is there.
  2. But how... by C.Maggard · · Score: 4, Interesting

    ...could reliability standards stifle innovation? How hard is it to design something that works well and is extremely robust, yet, be creative and innovative in its design?

    1. Re:But how... by Tyler+Eaves · · Score: 3, Insightful

      Well, based on all the software I've ever seen, pretty damn hard.

      --
      TODO: Something witty here...
    2. Re:But how... by ctr2sprt · · Score: 5, Insightful
      Look at how much time NASA's programmers spent writing bug-free code. That's a pretty reasonable estimate, unfortunately. The number of bugs in any given program increase dramatically with the size of the program. (I don't know if it's geometric or what, but trust me, it goes up fast.) So while you may be able to whip out 1000 lines of code a day at the beginning, by the end you'll be writing 5 new lines a day if you're lucky. The rest of your time will be spent making sure those 5 lines work correctly with the 150,000 you've already written.

      This is what Microsoft is, quite rightly, afraid of. If I can sue Microsoft for $100k because IE crashed, MS isn't going to have time to do anything except fix bugs. This isn't even entirely their own fault, since the nature of programming makes it impossible to write any large program without bugs. And unless you grandfather all of MS's products, they'd be screwed.

      But this is even worse. Unless the laws are written to special-case free software, we might see Linus sued because Linux crashed one day. RMS might end up $15m in debt because Emacs ate somebody's email. How's that for stifling innovation? If I (personally) might get sued for some bug I missed, there's no way I'm going to give away my programs.

      The guy in the article advocates only a limited sort of liability: you're liable only up to a point, or only if you don't divulge the bugs you know about. But does anyone out there really think the politicians, who are more in the pocket of trial lawyers than of anyone else, are going to make it hard to sue?

    3. Re:But how... by 91degrees · · Score: 1

      Unless the laws are written to special-case free software, we might see Linus sued because Linux crashed one day.

      This just means that the laws should special case free software. If free software fails, then the person responsible is the person who sold it, not the one who wrote it.

      I believe a similar approach was taken with UCITA.

    4. Re:But how... by rsax · · Score: 1
      Well, based on all the software I've ever seen, pretty damn hard.

      Have you seen this piece of software? Regardless of what your opinions are about DJB, he delivers what he promises. Companies like M$ which spread FUD about open-source software claiming that there's no liability or anyone to approach when shit happens should step up to the plate and hold themselves up to those same standards. Especially since they're charging their customers insane amounts of $.

    5. Re:But how... by smcdow · · Score: 1
      If I can sue Microsoft for $100k because IE crashed, MS isn't going to have time to do anything except fix bugs.

      How, exactly, is this a bad thing?

      --
      In the course of every project, it will become necessary to shoot the scientists and begin production.
    6. Re:But how... by Anonymous Coward · · Score: 0

      Because if you can sue Microsoft, some other bastard can turn around and sue you even easier. Liability may be a good idea but it must be limited only to applications which bill themselves as fault-tolerant, mission-critical, etc.

    7. Re:But how... by JimDabell · · Score: 4, Insightful

      Where life-critical systems are put in place, there will be an insurance policy. The insurance company should require a guarantee from the software vendor. Therefore, in life-critical systems, the software vendor should always be able to be held accountable. Yes, this will be expensive, but not as expensive as all those lawsuits.

      Most software does not fall into this category. Virtually every business is heavily dependant upon software though, so it is mission-critical. The nature of closed-source software is a massive imbalance between vendor and customer though. The vendor is the only one who can fix bugs; it's the ultimate form of vendor lock-in. Those vendors with monopolies (for example Microsoft) should therefore be regulated in some way, as they can literally hold a majority of businesses to ransom.

      Suppose a defect that only affected a small number of businesses was found in Windows? Microsoft has little economic incentive to fix the issue. The businesses are heavily dependent on the software, yet nobody can help them - the only thing they can do is work around the issue somehow, which may not be possible, or an expensive migration to another platform (expensive in terms of resources; even if the software is free, the downtime is not).

      What can be done to fix this situation? Obviously, if you run a business, you take appropriate notice of this business risk, and plan accordingly. But this doesn't escape the fact that sometimes you have to resort to using software you cannot rely on. I'm a web developer; I have no choice but to test in Internet Explorer. If a bug prevents me from running it, it's a major setback.

      I believe a solution to this is to loosen the grip the vendors have on the software. Copyright is an artificial monopoly on creating copies; it shouldn't be an artifical monopoly on fixing bugs. If you are a software vendor, you should have three options:

      1. Provide the software in a form that allows the customer to fix bugs and rebuild. In other words, provide the source and everything needed to compile it.
      2. License the buildable source code to third parties for free. These third parties should pay the original vendor the retail price + 10% for any copies they sell. Any third party should be able to license the code in this way.
      3. Be unable to disclaim liability for the software.

      This, I feel, is the balance between protecting businesses from having no control over their software, and protecting the rights of the software vendor. Have I missed anything?

    8. Re:But how... by Anonymous Coward · · Score: 0

      This is one time I wish posts could be moderated +10, Insightful.

      This is the most well reasoned and logical post I have read in a long time.

    9. Re:But how... by Tyler+Eaves · · Score: 1

      Seen it? Hell, I run it (Qmail anyways). It's also a pain in the ass to configure and administer. Not quite software utopia, but closer than most..

      --
      TODO: Something witty here...
    10. Re:But how... by Anonymous Coward · · Score: 2, Interesting

      NASA's designing cutting edge, one-off product for employees fully aware of the dangers. Software companies rely on consumer ignorance, knowing lawsuits aren't as likely against new and unfamiliar tech. They don't know software can be reliable and secure, believing, as another poster wrote, reboots, registry creep and viruses are normal. Get ready to see EULAs overturned once software is seen less like NASA and more like the familiar, necessary and integrated into daily life cars and appliances.
      We don't stand for unsafes car or leaky microwaves today for the sake of innovation, future consumers won't stand for 'feature rich' software capable of billions of dollars in damages. How OSS will adapt is anyone's guess, but you can bet it's coming.

    11. Re:But how... by Mr.+Piddle · · Score: 1

      RMS might end up $15m in debt because Emacs ate somebody's email.

      When is the last time anyone has seen Emacs crash? For me, it's been years, and I can't remember the circumstances. Emacs + VM makes a pretty darn good IMAP mail client, too. The VM module has a few quirks, but it has definitely never eaten my mail!

      Oh yeah, Emacs sucks, but Emacs + Viper rules!

      --
      Vote in November. You won't regret it.
    12. Re:But how... by morleron · · Score: 2, Interesting

      Evidently Microsoft thinks it's very difficult or impossible. Given their track record when it comes to being truly innovative, instead of just buying or stealing the technology, I believe their assertion to be true for MS. This is one area where I think that the Open/Free Software community can make a telling case against MS. Our products are known, anecdotally if nothing else, for being much more stable and reliable than those of the Redmond monopoly. Given the recent study that showed far fewer errors in the Linux kernel TCP/IP stack, we now have some facts to back up our claims.

      I think that it behooves us to push for greater software reliability. I'm sick and tired of the proprietary software concerns that can get away with a warranty that essentially limits their liability, even when the software fails to function, to "we'll replace the CD or floppy if it's defective." It's time that the software industry be forced to live up to the reliability and liability laws that other industries must abide by. I would prefer, given my libertarian leanings, to see this done without resort to new laws and some new government department. However, given the monopoly conditions that most of the industry operates under that may not be possible to achieve.

      Just my $.02,
      Ron

      --
      Impeach Barack Obama for violating the Constitutional requirement to be a "natural born" citizen to hold the office of P
    13. Re:But how... by geekee · · Score: 1

      Money spent paying lawyers and lawsuit claims is money not spent paying programmers to write more code. Therefore, less code is written and innovation is stifled.

      --
      Vote for Pedro
    14. Re:But how... by KilerCris · · Score: 1

      All this will do is make them add a clause to the shrink-rap EULAS "I accept responsibility for any loss off blah blah as a result of software defects"

    15. Re:But how... by drsmithy · · Score: 1
      Given their track record when it comes to being truly innovative, instead of just buying or stealing the technology [...]

      Please list all the "truly innovative" bits of software development you can think of in the last decade and where they came from.

    16. Re:But how... by Namaseit · · Score: 1

      If thats the case then microsoft hasnt innovated in a few years with all the laywers they have already been paying to say they arent a monopoly. lol.

      --
      75% of all statistics are made up!
    17. Re:But how... by Namaseit · · Score: 1

      Well generally open source software says somewhere on their sites that they arent at fault for lost data and crap. Plus who are you gonna sue? some guy in Peru, Korea, Germany, Netherlands, etc?

      --
      75% of all statistics are made up!
    18. Re:But how... by v(*_*)vvvv · · Score: 2, Insightful

      Since you ask...

      1. Provide the software in a form that allows the customer to fix bugs and rebuild. In other words, provide the source and everything needed to compile it.

      You as a programmer may benefit from this, but most customers will not. Rarely do "customers" know better than the developers. It is most often the case they just have more time. Furthermore, I would say most web developers would benefit little from IE coming with source code. A) they won't know how to fix anything, B) even if they did, microsoft would have to agree to incorporate the fix for it to be worth anything... A fork for every bug is not going to improve any software.

      2. License the buildable source code to third parties for free. These third parties should pay the original vendor the retail price + 10% for any copies they sell. Any third party should be able to license the code in this way.

      The vendor gets 110% for writing buggy software that others need to fix? Or do you mean anyone who calls themselves a vendor can get the software for free?

      3. Be unable to disclaim liability for the software.

      Unfortunately for most developers/vendors, this will read, "Be unable to distribute software". That is, I believe to be, the legal truth.

    19. Re:But how... by JimDabell · · Score: 3, Interesting

      You as a programmer may benefit from this, but most customers will not.

      That depends on the size of the company. For small companies, I agree. For larger ones, hiring a contract programmer for a month or two could be cheaper than the alternative.

      Rarely do "customers" know better than the developers.

      I agree. However, the customer will have more of an incentive to fix the bug that is causing them grief than the original vendor will.

      Furthermore, I would say most web developers would benefit little from IE coming with source code.

      I was using my particular situation as an example of how people must rely on proprietary software for *mission-critical* purposes. I wasn't implying anything about web developers in particular.

      microsoft would have to agree to incorporate the fix for it to be worth anything...

      No. I'm not referring to bugs where a developer has to deal with the lack of, say, attribute selector support in IE. I'm referring to bugs whereby there is a problem with IE that prevents me from relying on it - i.e. it refuses to run on my particular machine. If you'd like a different example, consider before Y2K. An organisation uses a mission-critical application all day long, but when Y2K rolls around, it refuses to work. They can't fix the bug because nobody has the source but the vendor, and the vendor has no reason to fix it, as they are no longer selling the application, made the programmers involved redundant, and so on. They might not even have the source themselves.

      A fork for every bug is not going to improve any software.

      The aim is not to try and graft on an open-source development model. The aim is not to improve the software; it's merely to have a get-out clause when the original vendor screws you. In the Y2K example, for instance, an independent contractor could fix up the application and sell it on at a marked-up price.

      The vendor gets 110% for writing buggy software that others need to fix? Or do you mean anyone who calls themselves a vendor can get the software for free?

      Perhaps this was a badly thought out option. The intent was to provide a way of third-party bug fixing, without giving out the source to every customer, maintaining revenue for copies sold, yet discouraging "forks" where somebody could sell a superior version and take over the original vendor's market.

      [About being unable to disclaim liability] Unfortunately for most developers/vendors, this will read, "Be unable to distribute software".

      That's why the other options exist. I'm not sympathetic to people who claim their business will be hampered by disclosing source code - the expensive part of development is not some radical new way of writing a function, it's the project management - and unless somebody directly violates copyright, disclosing source code will not help competitors.

    20. Re:But how... by Anonymous Coward · · Score: 0

      Did you know that Microsoft claims Windows 2000 is suitable for mission-critical applications? Not to mention the amount of things they've developed that they call fault-tolerant.

    21. Re:But how... by spirality · · Score: 2, Insightful

      Doesn't matter, as soon as you click through that EULA you've already accepted that the software is not necessarily reliable. ...could reliability standards stifle innovation? How hard is it to design something that works well and is extremely robust, yet, be creative and innovative in its design?

      Have you ever designed/written software? It's not as easy as it may sound! We try. I try. I do my best at all the design and coding work I do, but sometimes still fall short. I find many of my bugs, I'm entirely sure that there are some I don't find.

      Software is *MUCH MORE* complex than a bridge or many "real" devices. It is likely that it will never be perfect.

      On the practical side though, if people demand "perfect" software the price for software will sky rocket. No one can afford 100% bug free software. Therefore there will always be that chance of unreliability.

      I have to agree with Microsoft here as much as I hate to admit it.

      -Craig.

    22. Re:But how... by spirality · · Score: 1

      How, exactly, is this a bad thing?

      In and of itself it is not, but companies and people only have so many resources they can throw at things, and it so happens that maybe some companies would rather innovate than fix bugs, and too some extent that is good.

    23. Re:But how... by Anonymous Coward · · Score: 0

      You would think that MS would be the premium proponent for programming reliability, but maybe they looked at what they had and decided to try another tack...

    24. Re:But how... by Anonymous Coward · · Score: 0

      Well, it takes a lot of innovation to advance software engineering to the point where we can make robust, yet creative software! Today, the innovators in the field of software robustness are niche players struggling to find buyers in a market where people just don't care... sometimes I think legislation is the only way to change this.

    25. Re:But how... by hesiod · · Score: 1

      > sometimes I think legislation is the only way to change this.

      It's attitudes like that that got us into this horrible political situation we are in now. We (I know, not everyone) complain about all these stupid laws, yet when we get some "brilliant" idea or someone pisses us off a little; "We should make a law."

    26. Re:But how... by Anonymous Coward · · Score: 0
      Where life-critical systems are put in place, there will be an insurance policy. The insurance company should require a guarantee from the software vendor.

      The day may come when business interruption insurance, FDIC insurance, and other insurance against economic loss may require some form of software warranty for the systems they use. Auto makers, for example, are not only paranoid over product liability suits, but also over warranty/recall costs. They're the ones who must pay the bill, so they have strong incentive to do the job properly.

      otoh, shrink-wrap software vendors [claim to] have no liability that their product functions correctly. The only incentive they have for making reliable products is their reputation. In some cases that's not much of an incentive.

      Add a non-competitive market to that mix and the customers is doomed both ways: they must pay a higher price, they get a less reliable product, and they have slim prospects for compensation for the consequential damages(*).

      (*) IANAL, can someone who is comment on precedents for upholding or overturning the shrink-wrap license disclaimers?

  3. UnReliability = Innovation according to MS? by linuxislandsucks · · Score: 0

    Next they will be saying that poor security= innovation!

    Wait its true?!!!!!!!!! AUGHHHH THE NIGHTMARE BEGINS!!!

    --
    Don't Tread on OpenSource
    1. Re:UnReliability = Innovation according to MS? by Anonymous Coward · · Score: 0

      christ, you sound like you're a comment from fat chicks in party hats

      AHHH IT IS A MONSTER IT WANTS TO EAT US FOR A SNAKC

  4. strange by fjordboy · · Score: 2, Funny

    So...basically people are just finding out now that not all software is as perfect as it is intended to be?

    Great..I'm gonna have to explain this one to my parents...

  5. Re:Wait... by jointm1k · · Score: 2, Funny

    It is, but monday was just not long enough ::)

    --
    You know it makes sense, a little reminder from jointm1k.
  6. It's a vicious circle by Ed+Avis · · Score: 5, Interesting

    The trouble is, the more accustomed users become to bugs, the harder it is to get them reported and fixed. If my computer crashes, I just reset it and get back to work. I don't bother to investigate what caused the bug, to try to reproduce it, to contact the vendor (hah!) and try to work out the problem. Crashes occur much too frequently for that.

    OTOH, if computers were reliable enough to crash only once every few years, then users might report every crash that happens, the vendor can diagnose it, and fix the bug or family-of-bugs so that it never happens again. This is roughly what happens when a mainframe crashes, I believe - it's a big event.

    Imagine if when your microwave crashed, you could call some hotline, they would come and replace the microwave and take away the old one for analysis. Instead, even on complex software systems the standard first resort for the help line is 'reboot and see if it goes away'.

    --
    -- Ed Avis ed@membled.com
    1. Re:It's a vicious circle by jralls · · Score: 2, Insightful

      And yet those IT staffs who run mainframes are quite willing to install NT servers running IIS or SQL-server and put up with Microsoft's poor security and stability. Where's the sense in that?

    2. Re:It's a vicious circle by teromajusa · · Score: 2, Informative

      "
      "OTOH, if computers were reliable enough to crash only once every few years, then users might report every crash that happens, the vendor can diagnose it, and fix the bug or family-of-bugs so that it never happens again. This is roughly what happens when a mainframe crashes, I believe - it's a big event."

      I think that has alot more to do with the critical, often costly, tasks that mainframes are used for than because its an infrequent occurance.

      In my experience, infrequent crashes are much easier to ignore than one that occurs constantly :P

    3. Re:It's a vicious circle by Anonymous Coward · · Score: 0

      Because Microsoft's poor security and stability is still better than the rest of the industries.

    4. Re:It's a vicious circle by Dark+Lord+Seth · · Score: 5, Insightful

      Because some IT staffs have a higher-up who went to the most recent Microsoft seminar ($25.000,- for entry & attendance, $750,- for the hotel, $2.250,- on the flight) and got amazed by MS. After budget-cutting away the drinks dispenser and replacing it with an old coffee maker (Hey, that $28.000m- is more important then employee satisfaction! *sarcasm*) hte higher up has a great idea, replacing all server with Windows 2003 Enterprise Server! All the crying and complaining from the IT staff wont convince the higher-up, because a shifty, 40b USD company that can throw a flashy seminar is far more trustworthy in his opinion then his IT staff, who worked with the company before he got there. Several budget-cuts later to accomodate the win2k3 licensing costs, the entire department switches to Win2k3. Several more budget-cuts later, mainly used on MS support, the entire company goes to hell. IT staff gets fired, along with the rest of the company while management gets scattered among several other companies, ready to ruin them anew.

      Welcome to the modern economic system.

    5. Re:It's a vicious circle by gmhowell · · Score: 2, Funny

      Ditto.

      BTW, you're down to 66 freaks. I have no idea why I foed you.

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
    6. Re:It's a vicious circle by Arandir · · Score: 4, Funny

      Hmmm, you work for the same company I do, don't you?

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    7. Re:It's a vicious circle by vondo · · Score: 2, Insightful
      Exactly. I have a homebrew machine running my linux firewall/NAT, web server. In 2+ years it has had exactly one freeze not attributable to a power outage. I rebooted it. I don't care what happened; it's not worth my time to try to figure out.

      On the other hand, when I was managing physics reconstruction software, that software, when I started, would crash once every couple of days. Those were repeatable so you track them down and fix them. When that process was done, we could run for months on 60+ machines without an application crash.

      It all depends on how easy it is to track down the problem and what the costs of not doing it are.

    8. Re:It's a vicious circle by deaddrunk · · Score: 1

      Damn right it is. I've seen one mainframe crash in 13 years of working on them. 13 days, however, seems to be the average Windows screw-up.

      --
      Does a Christian soccer team even need a goalkeeper?
    9. Re:It's a vicious circle by sasami · · Score: 5, Interesting

      The trouble is, the more accustomed users become to bugs, the harder it is to get them reported and fixed.

      This is absolutely and shockingly true. Microsoft is almost singlehandedly responsible for the widespread cultural mentality that faulty software is okay.

      You'll find this notion all over the place but the worst part is seeing it in the upcoming generation. I work with teenagers, bright kids who are totally immersed in technology. Yet almost none of them understand why I complain about Windows all the time. If I tell them that a real OS doesn't crash and is not permitted to crash... they laugh -- or glare -- and say, you're crazy.

      --
      Dum de dum.

      --
      Freedom is not the license to do what we like, it is the power to do what we ought.
    10. Re:It's a vicious circle by aztektum · · Score: 1

      Not everyone has time to investigate every computer bug they come across or dig for why their system keeps crashing. If just a simple reboot makes it go away then most people that don't have time to take away from their job or whatever are just glad they can get their shit done.

      --
      :: aztek ::
      No sig for you!!
    11. Re:It's a vicious circle by GnarlyNome · · Score: 1

      Yes but why are we the ones to get it in the neck? Boss FUBARS a situation you pull him out. so he now convinced of his expertise TFubars it . You get blaimed, company folds.He on moves to bigger FUBARs
      you onthe other hand hit the UE line. TANJ

      --
      Diplomacy is the art of saying "Nice doggie" until you can find a rock. Will Rogers
    12. Re:It's a vicious circle by The+Cydonian · · Score: 1

      "When confronted with a bigger foe, make friends with a smaller one"- Loose translation of a verse from the Mahabharata :-)

    13. Re:It's a vicious circle by Valluvan · · Score: 1

      I think this is an issue that was waiting to break free. We have attained a critical number in the number of software and IT projects that the management side of the business is caught with it's pants down. There is very little innovation or excellence in technical management staff. They are ill-prepared for their new roles. Big problems ahead. Everybody blow the whistle loud.

      --

      Science as a way of life.
    14. Re:It's a vicious circle by Ed+Avis · · Score: 1

      Yep. But in some ideal fantasy world, you could ring a hotline and men wearing hats with sirens and flashing lights on them would burst into your office, take away the computer for inspection and give you a new one. Then they would work out what caused the crash by poking through core dumps.

      Or better, software could send a log of what it was doing to some central location, the processor could track the last N instructions executed, and then every crash would be reproducible.

      I know both these things tend to happen with Windows licensing and the BSA, but that's not what I'm referring to :-).

      --
      -- Ed Avis ed@membled.com
    15. Re:It's a vicious circle by Ludo.Sanders · · Score: 2, Insightful

      Wanna know ho gets the blame? That same IT staff, that didn't want win2k3 in the first place.

      --
      "It is not because no one sees the truth that it becomes a mistake" (Mahatma Gandhi)
    16. Re:It's a vicious circle by Anonymous Coward · · Score: 0

      this article is a load of crap and shows how misinformed the reporter was.
      from my experience PHBs don't give a damn about design and programming.
      Programmers have no importance, they are just there to transform the wishes of marketing
      in reality. that's it and they want the software yesterday.

      solution? start treating programmers and coders with the respect they deserve.
      Getting software to work correctly is a tough job.
      Give us time to develop products that work instead of treating us like slave labour pawns
      and insisting they that want software now!

    17. Re:It's a vicious circle by metamatic · · Score: 1
      If my computer crashes, I just reset it and get back to work. I don't bother to investigate what caused the bug, to try to reproduce it, to contact the vendor (hah!) and try to work out the problem. Crashes occur much too frequently for that.

      Gee, I wonder what operating system you're running...

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    18. Re:It's a vicious circle by 4of12 · · Score: 1

      Reminds me of a post several years ago on Slashdot.

      Paraphrasing, one of the most dangerous things that will present itself to you in your career was

      Boss With Idea.

      Bosses weigh a lot, so when they get moving at a rapid velocity, it takes a helluva a lot of torque on the steering wheel to get them pointed in the proper direction.

      Bosses that can be swayed so easily by a sales pitch don't sound like very good bosses to me. The best bosses get multiple points of view, digging deep, before they come out with a decision because they know that any single party will have their own agenda.

      --
      "Provided by the management for your protection."
    19. Re:It's a vicious circle by Anonymous Coward · · Score: 0

      Could be an application crash... restart the app, and you're set. xmms, evolution, mozilla, gnome, x... I could go on and on.

    20. Re:It's a vicious circle by Ed+Avis · · Score: 1

      The main cause of crashes on my machine is the hard disk going bye-bye: the disk indicator light stays on, all disk access blocks, so the system is up but things start to freeze when they want to use the disk. Pressing the reset button doesn't always work because the hard disk may seem to be absent at POST. However power-cycling does wake up the disk and I can boot as normal.

      I run Linux-Mandrake 9.0, I haven't worked out if this is a problem with the disk itself (Maxtor 52049U4), the motherboard (A7V333), or a bug in the kernel's IDE drivers. The last is most likely, but if so why is the disk still in a 'stuck' state after a reset?

      --
      -- Ed Avis ed@membled.com
  7. Cutting Edge software - Debian? by Anonymous Coward · · Score: 1, Insightful

    I agree. Users want cutting edge, not reliability.

    Hence Debian is less popular than you might expect.

    1. Re:Cutting Edge software - Debian? by DietHacker · · Score: 1

      Why can't there be a "cutting edge" in reliability?

    2. Re:Cutting Edge software - Debian? by egreB · · Score: 4, Informative

      Why can't there be a "cutting edge" in reliability?

      Because software needs to be thoroughly tested before it can be called reliable. "Cutting edge" software tends to be poorly (relativly speaking) tested, since it hasn't had that much time in the real world.

      Therefore, for instance, Debian stable still uses kernel 2.2 by default (alltough there's a 2.4 installation flavour), because it's well tested and reliable. As a result, I've never experienced inconsistency or crashes with a Debian stable release.

      (Now, if you want cutting edge Debian, there's always Debian Sid (also known as unstable)).

    3. Re:Cutting Edge software - Debian? by hazem · · Score: 1

      Because by the time you take something that is "cutting edge" and test, debug it, redesign it, retest it, certify it, and release it as "reliable", it's not longer "cutting edge".

    4. Re:Cutting Edge software - Debian? by DietHacker · · Score: 3, Interesting

      "Because software needs to be thoroughly tested before it can be called reliable. "Cutting edge" software tends to be poorly (relativly speaking) tested, since it hasn't had that much time in the real world."

      This is circular. You nearly imply "cutting edge" is not reliable by default. This is a mistake. If there is a market demand for reliability on the consumer level, then it may need a cutting edge solution: New diagnostics or testing mechanisms. Perhaps OSS is that cutting-edge methodology and it simply has not caught on everywhere.

    5. Re:Cutting Edge software - Debian? by DietHacker · · Score: 1

      Circular thinking. Find the golden tool required to reduce (dramatically) the time and expense to "debug it, redesign it, retest it, certify it, and release it". If you think it can be done, then you may not be the person to do it. I'm not either but problems should be seen as opportunities. How do I open all these cans quickly...

    6. Re:Cutting Edge software - Debian? by lsdino · · Score: 2, Informative

      Circular thinking. Find the golden tool required to reduce (dramatically) the time and expense to "debug it, redesign it, retest it, certify it, and release it". If you think it can be done, then you may not be the person to do it. I'm not either but problems should be seen as opportunities. How do I open all these cans quickly...

      There is no golden tool, or to quote a more famous source (Frederick P Brooks, Jr) there's no silver bullet.

      The article discusses the magic tool idea saying the Sustainable Computing Consortium "wants to create automated tools that analyze software and rate its reliability." But the problem with reliability is it's BIG. Not only must your program not crash, not leak resources, not have race conditions, and not degrade in performance over time, but it also needs to be doing the right thing during all of this (you know, what the software was written for in the first place). Finally the software has to be able to do all of this in the face of all the possible failures the system could throw at it. That's no small feat. Now what type of tool will work across the board? I won't stand in the way of someone trying to make one, but honestly I don't see it happening.

      There are a lot of different testing techniques that solve different parts of these problems. And each application is going to need it's own unique testing methods in addition to tried and true techniques. But all of this testing is going to take time to develop and/or adapt to the product at hand and finally run. And as you discover reliability bugs you may be blocked before you can find (and fix) more. So it will take a long time to work through the issues.

      But your original question is "Why can't there be cutting edge reliability?". And the answer is that there can be, but it has to be what the consumer demands. If the consumer will choose features over reliability that's what the market will deliver. This is simple - if you spend time doing all of this testing and improvement to your product someone else will ship the unreliable product first and everyone will use that. They may curse the developers name while they're using it, but they'll use it. Meanwhile they're improving their product AND getting revenues, and you're just improving your product. They end up having more money to improve their product, and they win.

      In cases like NASA the customer demands it, and they get it. A magic tool is a long way off - our code needs a lot more metadata before a magic tool can even begin to tell what's going on.

    7. Re:Cutting Edge software - Debian? by miu · · Score: 1
      Why can't there be a "cutting edge" in reliability?

      Same reason there will never be a "World's Kindest Man" competition.

      --

      [Set Cain on fire and steal his lute.]
    8. Re:Cutting Edge software - Debian? by alext · · Score: 3, Informative

      Because software needs to be thoroughly tested before it can be called reliable.

      This is not strictly true. I know that my Java program will never have a buffer overrun because it is impossible for me to produce JVM instructions that corrupt buffers or alter pointers. Therefore, I can download and run any Java program to my Java smartphone without invalidating the phone's network certification.

      Throughout this discussion, I've noticed that /. contributors have consistently ignored the role played by trusted components such as VMs and safe compilers. Bottom line is that we all need to get away from the mindset engendered by years of Unix and C hacking and recognise that not all problems are going to be solved by employing programming whizzes or spending a fortune on testing.

    9. Re:Cutting Edge software - Debian? by arkanes · · Score: 1

      This is true. Cutting edge, by definition, is untested, unproven technology. If the cutting edge product has time to become well-tested and proven, then your industry doesn't really innovate.

    10. Re:Cutting Edge software - Debian? by PostItNote · · Score: 2, Insightful

      True-ish.

      But what about the many bugs in most JVM's? Are you sure that your java code won't tickle these bugs and bring the whole system down? What about bugs that aren't just buffer overflows? What about it dropping a fork bomb on the system? What about memory leaks (harder with Java, but still very possible)? What about running out of memory?

      As far as I can tell the only way to get code that doesn't flop over in these situations is by "employing programming whizzes or spending a fortune on testing".

    11. Re:Cutting Edge software - Debian? by Anonymous Coward · · Score: 0

      Your reasoning explains why nobody uses BSD (or BSD is dying).

    12. Re:Cutting Edge software - Debian? by jilles · · Score: 1

      You cannot get guarantees but a bufferoverflow in a JVM is a lot less likely to go unnoticed than a buffer overflow in your own software. It's a simple matter of reducing the amount of points where stuff can go wrong. If the JVM has a bug, one of the millions of developers is likely to run into it at some point.

      95% I read about security issues in linux/bsd/unix related software (e.g. bind seems to be affected often), seems to indicate that buffer overflows are the cause. Eliminate the cause for these buffer overflows (either by updating the C language or the C programmers) and you eliminate 95% (ok, guesstimate) of the security issues.

      Updating the C programmers has been tried for decades now and we still have buffer overflows -> so that has never worked and probably never will work. This leads to the extremely obvious conclusion that C is not a good choice for building reliable software. If you require reliability, don't use C or be prepared to invest heavily in testing, programmer training, etc.

      --

      Jilles
    13. Re:Cutting Edge software - Debian? by egreB · · Score: 1

      I know that my Java program will never have a buffer overrun because it is impossible for me to produce JVM instructions that corrupt buffers or alter pointers.
      That is so, and Java eliminiates the buffer overrun problems. But that doesn't mean a Java application is reliable by default. There's still a lot of stuff that could go wrong (a bug doesn't always crash a program, often it just does undiserable things). Software needs to be tested, no matter what the pitfalls of programming might be. You could argue that lots of the problems in the Unix-world is caused by C, but no software is perfect, no matter what the language it is written in.

      You Java application may not crash your smartphone, but it might not work as expected.

    14. Re:Cutting Edge software - Debian? by treat · · Score: 1
      Because software needs to be thoroughly tested before it can be called reliable.

      Nonsense. Testing helps, but no amount of testing can show that software is reliable. You can't test for every state of the system. Only proper design can produce truly reliable software.

  8. It really depends upon the product by conan_albrecht · · Score: 2, Interesting

    What's wrong with flashy stuff for somethings? I like flashy (i.e. sometimes buggy) software for my laptop. I don't mind if my beta-version browser crashes once in a while because I get the new features.

    My servers, OTOH, are another story. I wouldn't use anything but Debian (for linux, that is) because it is incredibly stable. My two Debian boxes on woody stable run 2+ yr old software. Guess what? They don't crash. I didn't upgrade from potato right away, but waited a little while.

    Consumers are generally willing to accept more buggy software because they don't run servers. So what if Word crashes once in a while? Most consumers are so conditioned to it that they don't think another thing of it.

    I realize that mail servers, electricity systems, and space probes need stable software, but most consumers don't administer these things. They use browsers, email, and cell phones that don't cause (much) physical harm when they crash.

    1. Re:It really depends upon the product by Sycraft-fu · · Score: 1

      The problem is that people want it both ways: They want comptuer to be cheap, open, flexable and totally under their control. However they also want them to be totally reliable and verified.

      Sorry. Not happening.

      Like you said, when you have a server, you don't mess with it. The more mission critical it is, the less you can touch it. For extrememly mission ciritcal stuff like, say a powerplant or something, this is taken to the extreme. All teh users are trained in its operation, they are only able to interface with it in a given way, they may not modify or even see the interal works at all. The code is designed to do a job and tested and tested and tested. It is then deployed on a closed, controlled system that is not to be messed with.

      It just doesn't work both ways, you can't have a system that is totally open and under user control and also totally verified and bug proof. If teh user can make modification, they can modify it in such a way to break it.

    2. Re:It really depends upon the product by Lord+Ender · · Score: 1

      "My two Debian boxes on woody stable run 2+ yr old software. Guess what? They don't crash."

      What's the IP address of your servers witht he 2 year old linux distros? ; )

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    3. Re:It really depends upon the product by sasami · · Score: 1

      This is true for mission-critical systems, as you say, where no risk is tolerable.

      But in general, software should be resilient in the face of unexpected conditions, including user modifications.

      This is called robustness, and it generally revolves around checking your inputs for validity before acting on them, so that unexpected results don't have a chance to occur.

      Robustness is not the same as reliability or availability. Those things are hard; robustness is both easy to implement and easy to verify, and there is no excuse for doing it any other way.

      It's worth noting that Microsoft policy is (or was?) to disable all such checks before shipping, "for performance reasons."

      --
      Dum de dum.

      --
      Freedom is not the license to do what we like, it is the power to do what we ought.
    4. Re:It really depends upon the product by conan_albrecht · · Score: 1

      "What's the IP address of your servers witht he 2 year old linux distros? ; )"

      I just checked ifconfig: 127.0.0.1 and 127.0.0.1. Please attack this address and let me know if you can crash them. I dare you! ;-P

    5. Re:It really depends upon the product by Sycraft-fu · · Score: 1

      Uhhh, I dunno what Microsoft OSes you are tlaking about, but the new ones, teh current ones, teh ones based on the NT kernel (2k/XP) are quite robust. They feature a complete protected userspace, seperate from teh kernel and no pure user mode program can bring the system down. They also feature a full set of access controls, more featured (to the point of being too featured at time) than UNIX's. IT's real easy to have a Windows system that doesn't crash. You need to have good (non-broken) hardware with stable drivers, and you (and your software) needs to not mess with system files.

      As for the security probelsm, I guess I haven't seen anything that seems special. I mean let's think what we've seen in, say the last year or so. There's been a couple of remote, buffer overflow kind of attacks. Well, I see plenty of those for different *NIXes and theri related programs all the time (like, say, BIND). Then there's been a whole bunch of dumb-user related ones. IE scripts that get e-mailed to people who run as administrator. Well, that is just that: dumb user problem. If I mail you a shell script and you are dumb enough to run it as root, you will get nailed just as well.

      Matter of fact, I look over the lists of problems that have come out for various OSes and Windows doesn't seem to have any particularly bad problems, or even any more than Linux. No, what it seems is that the vast majority of clueless users run Windows, therefore making it an easy target. I could discover a nasty bug in VMS and release a code-red style worm for it and it wouldn't do shit since there are like 10 VMS systems left in the world (5 of them where I work :P) and the admins are generally real clueful so it would get patched in a big hurry.

      The problem is that whenever you are the biggest, you are going to be teh biggest target. First, since you are the biggest, that's what most people are going to go after. IT's like car theft, theieves go after the cars that have parts that work with popular cars. If everyone shifted to a different kind of car, it wouldn't help, theives would shift their targets. However the even bigger problem is that most computer users are not, and never will be, computer savvy. They will do stupid things that will leave them open to attack. Dumping them on Linux won't fix anything, since they'll be running as root doing what they please.

      It's not like a locked down Windows system can't be secure. I've run a Windows web/database server for over a year and there is not a sinlge remote exploit that has come out in that time that it has not been afe against, even with no patch. Code red? URLs are parsed by a wrapper to ensure no overflows can happen. SQL bug? Behind a firewall, no public access. NetBIOS? Turned off, don't need it.

      However, clueless users (and admins) aren't going to do this kind of thing. Same kind of thing happen on Linux too, and is often WORSE. So (clueless department) on campus decides to have their admin (clueless boy) setup a Linux webserver for them, rather than using the campus provided servers. He wrestles with it, and gets Linux installed. However it isn't serving since it is one of those distrons that comes all locked down by default. His solution? Turn on EVERYTHING, since he doesn't know what specifically he needs (or what else he might need in the future). Yep, that got hacked, which is why I heard about it.

    6. Re:It really depends upon the product by sasami · · Score: 1

      Uhhh, I dunno what Microsoft OSes you are tlaking about

      Well, clearly not, since I never said anything specifically about their OSes.

      Is robustness at the application level less important? A mission-critical service must be trustworthy from end to end. A dependable OS with an undependable application is undependable. The only thing the client sees is an outage.

      But we can talk about the OS, too, if you like. Did you bother to look at the link to CMU's Ballista? It's quite an eye-opener. Their methodology is to try every system call with every combination of bad arguments. All major Unix flavors, plus WinNT/2000/XP, fail miserably. There are hundreds of calls that will crash your application if you feed them the wrong input. Several Unices actually had some total system crashes -- yes, initiated from user space and 100% reproducible.

      Notably, Linux and NT-lineage Windows had no crash-level failures (not of this type anyway), but they were no better than anyone else when it came to application aborts. Let me say this again: the OS crashes your application. In several cases, the system call actually hangs the application, requiring a manual kill.

      but the new ones, teh current ones, teh ones based on the NT kernel (2k/XP) are quite robust.

      The whole point of my original post was that robustness is a concept distinct from reliability and availability, hm? And I have no idea why you went off on a rant about security. Would you like to rephrase your assertion?

      --
      Dum de dum.

      --
      Freedom is not the license to do what we like, it is the power to do what we ought.
  9. Not just bad for MS, but FOSS too! by supton · · Score: 4, Informative
    Free and open-souce software are threatened by the idea of forcing liabillity on software, This has been discussed on ./ before.

    Remember, one thing M$ does well is pay lawyers.

    1. Re:Not just bad for MS, but FOSS too! by spongman · · Score: 1
      Indeed. For-Pay software vendors will just pass any legislated liability costs on to the customer. I read somewhere that, on average, about 15% of the cost of goods bought in america goes to cover liability insurance. It doesn't make the products any more reliable, it just makes them more expensive, and protects the manufacturer's asses. Oh yeah, and it makes a whole bunch of lawyers filthy rich. Besides, have you read a EULA recently? They usually have a section that says you can't sue the developers for any reason.

      Who's going to insure the little guy?

    2. Re:Not just bad for MS, but FOSS too! by coyote-san · · Score: 1

      It's only a problem if a "one size fits all" approach to liability is taken. What many of us would like to see is consumers given a choice:

      - they can have access to the source and are responsible for identifying and fixing their own problems. This won't help the average user, but organizations can often provide their own support more efficiently than going through the vendor,

      - they don't have access to the source but the vendor has to deliver what they promised,

      - they have access to the source but paid extra for liability protection (which they can pass on to their clients) and support. They can make small changes without invalidating the warranty.

      What would not be permitted is what is now common: you have no ability to solve your own problems or to get any meaningful help from the vendor. Hell, under the UCITA the vendor is not only not held to any standards, it can prevent you from discussing your problems with others.

      --
      For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
    3. Re:Not just bad for MS, but FOSS too! by sheldon · · Score: 2, Insightful

      No, the Open Source zealots have an answer for that...

      Their software will be exempted.

      Of course that right there guarantees Open Source software will never be used in government or business climates.

      Most regulations are in place to protect the existing companies from competition by raising the barrier to entry even higher. So I'm actually surprised Microsoft is against this, although maybe it's a Brer Rabbit defense.

    4. Re:Not just bad for MS, but FOSS too! by BitterOak · · Score: 1
      No, the Open Source zealots have an answer for that...

      Their software will be exempted.

      Since when do lawmakers take their guidance from the Open Source Community? I think such regulation will be devastating for open source or low-cost software. It will be like medicine, where malpractice insurance will raise prices. And don't expect any exemptions for free/Open Source software.

      --
      If I can be modded down for being a troll, can I be modded up for being an orc, or a balrog?
    5. Re:Not just bad for MS, but FOSS too! by alext · · Score: 1

      Don't forget that you can separate the role of a certifier (of integrity, of quality etc.) from the software owner or the development group.

      In fact, this probably happens inside a commercial shops anyway.

      Just as I trust SuSE to pull together a decent set of Linux apps for me, I might trust them or some other organization to certify a package by signing the code or similar technique.

    6. Re:Not just bad for MS, but FOSS too! by ispinstr · · Score: 3, Insightful

      I think that there is one large distinction here. In the case of Microsoft and other vendors, people are buying the software. If you are BUYING a product, you SHOULD expect that the vendor is subject to a degree of liability. If you are using a product that you have not "bought", such as OSS, you should NOT expect a degree of liability on the developer. Sure this may stifle the acceptance of OSS, but I hope that lawmakers keep this in mind. On the other hand, I believe that if you have paid for a modification to that software then that is a different story.

    7. Re:Not just bad for MS, but FOSS too! by gilesjuk · · Score: 1

      How does this affect the license terms contained in most products?

      Microsoft are one of the pioneers of the "we're not liable for anything" licence.

    8. Re:Not just bad for MS, but FOSS too! by Arandir · · Score: 1

      If you sell me a product, I want it to work. No questions asked. I don't care if it's "Free", Open, closed or proprietary. If you can't even make the fundamentally basic warranty of "your money back", then don't even bother going into business.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    9. Re:Not just bad for MS, but FOSS too! by Ian+Bicking · · Score: 1
      I think you underestimate the positive effect of liability. Certainly some doesn't help much -- I think medical liability has little positive effect on day-to-day medical practice, and possibly some significant negative effect (though I would say otherwise for drug liability)...

      Anyway, it matters. Our cars are relatively safe, SUV owners pay higher liability insurance (at least a small punishment for making the streets more dangerous), most things we buy aren't particularly unsafe, things generally work as advertised.

      That said, a lot of the same things are achieved through regulation. The safety of my home is ensured through zoning and inspection, not liability. Same with my food, and regulation is important to drug safety and otherwise.

      I don't know how you'd regulate software, though... (ISO 9000-like?)

    10. Re:Not just bad for MS, but FOSS too! by Anonymous Coward · · Score: 1, Insightful

      It's unavoidable. Home washing machines had nifty arm crushers for decades until consumer litigation removed the design from the market. The novelty wore off, people became accustomed to having a washer at home and no longer accepted dangerous design in a ubiquitous product. Software is still in the novelty phase, consumers haven't yet asked why a single e-mail can cause billions in damages or who's responsible when a bug results in a medical tragedy. Given today's manic technology curve, I'll wager their kids will pose te question.
      Software liability is coming, OSS needs to start working on a strategy now.

    11. Re:Not just bad for MS, but FOSS too! by dogfart · · Score: 3, Insightful
      Or companies would buy OSS from middlemen who would obtain the appropriate insurance. In order to ensure a reasonable profit, the middlemen would have to perform some sort of due diligence to minimize their risk. Even with the insurance (plus other costs plus profit) passed through, the software would be MUCH less expensive than what you would buy from Microsoft.

      Sort of like the RedHat/IBM model for making money from OSS/FOSS - sell the services, give away the software. In this case the service is managing the risk.

      What about free (as in beer) software? In this case, the best solution would be for the user of the software to assume the liability. The software user could either accept the liability for free software, or pay someone else to assume that liability (meaning buy the software from the middlemen).

      The point is we need the ability of software users and producers to rationally cost the risks of software malfunction, then assign these risks to the party that makes most sense. What we have now is a unilateral non-negotiable assignment of ALL risks to the purchaser.

      Why should software companies face multi-million lawsuits for software errors? The same reason that software users ALREADY assume multi-million dollar costs of flawed software. Allowing tort liability does not change the fact that there are real costs to bad software - it only allows a mechanism for allocating these costs (versus the current unilateral buyer-takes-all-the-risks).

      --

      "dope will get you through times of no money better than money will get you through times of no dope"

    12. Re:Not just bad for MS, but FOSS too! by miu · · Score: 1
      Remember, one thing M$ does well is pay lawyers.

      All large organizations have hordes of lawyers for offense and defense, it is a cost of doing business. A larger (somewhat related) problem is how much money companies pay for advertising.

      I'd like to see some sort of requirement for companies to meet a minimum spending ratio on how much they pay for quality assurance versus how much they pay for adversting. Service companies should have a similar limit on money spent on advertising versus money spent for supporting the customers they already have.

      The problem is that in both software and service we often have limited choices, so poor quality and bad service don't have a negative effect on profit - which is the only thing (baring legislation) that would cause companies to change their behaviour.

      --

      [Set Cain on fire and steal his lute.]
    13. Re:Not just bad for MS, but FOSS too! by blibbleblobble · · Score: 1

      "Free and open-souce software are threatened by the idea of forcing liabillity on software"

      To which the American government's answer is "Free software will be liable, but commercial software won't. (SCSSA)"

      Great idea guys. Whose idea was it to outsource law-writing to microsoft?

    14. Re:Not just bad for MS, but FOSS too! by WNight · · Score: 1

      Of course open source software would be exempt from liability. It's *FREE*. If you don't pay for something you have no valid recourse against the maker for accidental damages.

      You're saying open source advocates are being hypocritical because they don't believe you should be able to sue people when the no-strings-attached gift they give you stops working. Jerk.

  10. Welcome to Reality by RichDiesal · · Score: 1

    Consumerism and the pursuit of the most pretty product has been a thorn in the side of every industry for years. Remember, people spend years of their lives dedicated to mastering to the science of marketing, to make the average (stupid) consumer buy what he doesn't need. That is the fuel for capitalist economy. When people are too scared to waste money on things they don't need due to flashy lights and pretty pictures, recession enters here. "God Bless America."

  11. MS is right, stifles innovation by croddy · · Score: 1
    I've got to say MS is right on here; reliability standards won't just hurt commercial/proprietary developers -- imagine the mozilla project trying to get testing done on an unstable beta/alpha under a software standards regime. I think informed consent on beta software is a much better solution.

    Of course, more deaths are caused by human error than by bad software, and modern society would be unthinkable without Web servers, word processors and autopilot.

    (this confuses me. isn't bad software a *kind* of human error?)

    seems like wide beta testing and open source code provide a better solution than enforcement of reliability standards and liability for bugs.

    1. Re:MS is right, stifles innovation by Anonymous Coward · · Score: 1, Funny

      Well deaths caused by buggy software in an autopilot are sort of "human error."

      I think it is a safe bet that if the person who wrote the buggy autopilot code were seen setting foot inside of a cockpit the crew would hit him on the head with an axe and restrain him since he clearly has no business anywhere near the flight deck.

      Of course since he is sitting behind a keyboard stuffing his face with Cheetos and washing them down with Red Bull (it gives you wings) while writing the buggy autopilot code there is no chance for the crew to spot him and hit him with the axe and restrain him before he is insinuated into the cockpit in the guise of his buggy code.

  12. If they wont let you fix it... by Realistic_Dragon · · Score: 5, Insightful

    IMO if a company is unwilling to supply you with the source code (under whatever license) to let you see and fix problems that exist they should have no possible exemption from litigation, no matter what POS EULA they persuade you to sign.

    They are asking you to place your trust in them that their code is good enough to bet your business on. If their software is not all it's cracked up to be and you had no chance to check their claims (but instead had to take their word for it) then they clearly are responsible for breaking their word.

    Unless they told you that it was a buggy product that you couldn't rely on in the first place... now that would make for amusing adverts.

    (Can you imagine Windows boxes with cigarette-health-warning style labels on them saying "The Computer-General warns that this product may be bad for your business.")

    --
    Beep beep.
    1. Re:If they wont let you fix it... by Acidic_Diarrhea · · Score: 1
      So if NT came with the source, you'd have the time and education to go through, what, 29 million lines of code, and fix the problems?

      And where do you see these guarantees concerning software being "good enough to bet your business on"? I've bought a lot of software in my time and I've never seen that claim printed on the box.

      --
      I hate liberals. If you are a liberal, do not reply.
    2. Re:If they wont let you fix it... by Steveftoth · · Score: 2, Interesting

      no, but you could at least get a second opinion from a better educated source.

      Right now, with CSS (Closed Source Software) all you have is second opinions based on ancidotial evidence. The evidence that software X will work for you is only as good as what other people have done with it. At least with OSS, you can pay an expert to help you get an educated second opinion, and see if the software can work for you.

      OSS is not the solution to the problem but rather it can help you decide if software can work for you. And probably for the general case, most people can trust the MS verdict on what their software can and can not do. But if you are doing something strange and experimental with say MSSQL, you can't rely on what they say. In that case it might be a better choice to use an OSS product that you can see the source and have a better indicator for predicting what the software will do.

    3. Re:If they wont let you fix it... by Realistic_Dragon · · Score: 1

      There are how many users of NT?

      Enlightened self interest would ensure that users would uncover most of the security holes and share the data, and apply enough pressure to get the problems fixed.

      If MS denied that they existed (business as usual then) then it may well be time to move on.

      Every time you use a closed source app for something critical you _are_ taking the vendors word that it is fit for purpose. If it is not, they should be liable.

      --
      Beep beep.
    4. Re:If they wont let you fix it... by teslatug · · Score: 1
      If their software is not all it's cracked up to be and you had no chance to check their claims (but instead had to take their word for it) then they clearly are responsible for breaking their word.
      That sounds great but who determines what "is not all it's cracked up to be" means. There is no objective measure. No software is perfect, and most companies have neither the resources nor the will to look through the source code. I do believe that companies have to be held responsible for bad software, but there has to be some pre-established conditions. EULA's shouldn't be one-sided. Unfortunately, until we see people rejecting EULA's alltogethere there won't be a change in the current situation.
    5. Re:If they wont let you fix it... by Anonymous Coward · · Score: 0

      Where are my mod points? I would mod down your post purely for the fact that it created another use for the acronym "CSS" it already stands for "Cascading Style Sheets" and the DVD encryption scheme "Content Scrambling System".

    6. Re:If they wont let you fix it... by sfe_software · · Score: 1

      Every time you use a closed source app for something critical you _are_ taking the vendors word that it is fit for purpose.

      Even if the vendor never gave that word?

      If it is not, they should be liable.

      Because you assumed that their product would be fit for your specific purpose?

      Really now, you get what you pay for. The market doesn't want reliable software. More accurately, the market doesn't want to pay for reliable software.

      If there were regulations requiring that software be up to some arbitrary standards, on some arbitrary combination of hardware -- I wouldn't be in the business. It wouldn't be worth the risk of being sued because someone used my software, in some mission-critical manner, that I couldn't have foreseen.

      Realistically, I think things should remain as they are. Look at the electronics components industry. Many (most) components specify that they are not intended for use in life-critical systems. Parts that *are* certified for this cost many times more, due to the serious testing *and* the serious liability that goes with making that claim.

      The same thing happens with software: you want mission critical, you buy/contract software from someone willing to assume that risk. NASA's programmers are paid to do just that. Microsoft is catering to average users. If I run a life-critical system under Windows XP, that's my fault -- just like if I used cheap replacement components in a life-support system's electronics.

      I see nothing wrong with stating in an EULA that a product is not fit for any purpose. If that is not acceptable to you -- and in any critical situation, it shouldn't be -- then find something else that makes the guarantees you (or your particular task) requires.

      --
      NGWave - Fast Sound Editor for Windows
    7. Re:If they wont let you fix it... by danila · · Score: 1

      Make it "The General Protection Fault warns that this product may be bad for your business."

      --
      Future Wiki -- If you don't think about the future, you cannot have one.
  13. Sad. So very sad... by mcrbids · · Score: 4, Interesting

    The company with the most to gain from this (with its unique cash reserve - Microsoft) is the company most in opposition...

    Yes, I said it. I'll say it again. Microsoft could gain *alot* from this movement.

    With their resources, they are the ones that could easily afford a true source-code audit the likes of which the BSDs are only beginning to approach.

    They could build an operating system that fully, completely, and truly matches the concept of "secure by default" and they have the resources, manpower, and ability to do so.

    But, instead, they oppose it. Building a secure system is against corporate culture, so they won't do it.

    Thanks xBSD!

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
    1. Re:Sad. So very sad... by Juanvaldes · · Score: 1

      and this would be bad WHY?

    2. Re:Sad. So very sad... by Tomster · · Score: 1

      IMO it's not the corporate culture that's keeping them from supporting it. It's the fact that any kind of legal requirement of quality exposes them to huge liabilities. That impacts the bottom line. Microsoft would be a big fat target for lawsuits, simply because they have deep pockets. Lawyers can smell money like... ugh, please shoot me... like sharks can smell blood. Microsoft's budget for legal counsel will balloon just to keep enough lawyers on staff to handle the cases.

      -Thomas

    3. Re:Sad. So very sad... by Ian+Bicking · · Score: 2, Interesting
      They could build an operating system that fully, completely, and truly matches the concept of "secure by default" and they have the resources, manpower, and ability to do so. But, instead, they oppose it. Building a secure system is against corporate culture, so they won't do it.
      I think you dramatically underestimate the work in creating a secure, robust system.

      First, Microsoft's money only buys them so much. You can't just put more money into something and get more out of it. Of course, they can pay to hire the best people and the supporting staff to keep those people focused. But it still takes time.

      But even suppose MS invests not just money, but also time in this. Can they really achieve what you think they can?

      Security isn't as hot as people seem to think it is. Security is usually a compromise -- increased security usually means a system is harder to work with. Maybe there's ways around the difficulties of working in a secure system, but there's no conventional, proven solution. And security is a system, not a single piece of software.

      The same goes for robust operation. You can decrease the complexity of the system through partitioning, but that also makes certain functionality more difficult. Coming up with the right partitioning is difficult -- it's a factoring problem, and factoring a program (or system) is not something that has a Right Way. Factoring depends on backward compatibility, current features, and most impossible to get right, on future features.

      And partitioning is a compromise as well. The more you integrate things, the easier they are to automate and control, the better they work.

      Then there's the extensibility of the system. So long as you don't control the system entirely, bugs can creap in. The deeper the extensibility, the deeper the bugs can be -- including hard crashes and security holes. Microsoft doesn't create an insular system, and that's not just some bizarre corporate culture.

      The problem isn't a lack of resources. It's just a hard problem.

    4. Re:Sad. So very sad... by zangdesign · · Score: 1

      And who would they get to perform an audit of their source code? Finding enough qualified software security experts to go over everything in Windows would be extraordinarily expensive. Then, out of that, you have to find those you can trust not to give away the keys to the kingdom by releasing it on the net.

      You see, they can't just go over it in bits and pieces, they have to be able to go over the whole thing and that opens up Microsoft to a world of hurt if just one reviewer is not trustworthy.

      It's really a catch-22 for them. They can't open the source, and they can't let anyone see the whole source at one go.

      --
      To celebrate the occasion of my 1000th post, I will post no more forever on Slashdot. Goodbye.
    5. Re:Sad. So very sad... by mikefocke · · Score: 1

      To build a truely secure Operating System takes about twice as many resources as to build one with equivalent functionality. And it runs slower.

      To audit such an Operating System for security takes a two+ year multi-million dollar effort to prepare for audit/evaluation and a ~million dollar one year audit/evaluation.

      How many people are willing to pay for this level of assurance which must be reflected in the price? Suffer this delay? Run slower? The installed base of all such operating systems is less than 2,000.

      An operating system product I work with is in the middle of just such a rigorous security evaluation.

      For business or security critical use, you need that evaluated product (http://www.entrust.com/entrustcygnacom/labs/ and look at the XTS-400 entry). But be aware. it costs many times as much as the "good enough for desktop use" one from Microsoft. And is always going to be behind in features because that evaluation takes so many resources away from pure development. And to do all that security checking takes CPU cycles.

  14. Flash and burn by HanClinto · · Score: 5, Insightful

    Isn't the trend towards "flashy products" rather than reliable ones the same reason why current marketing pushes sex rather than product qualities (Pepsi, A&F, etc), movies flaunt big-name actors and actresses, and people won't go see a movie unless it has a high PG-13 or R rating (PG? It's got to be boring). This is the same reason why Legos now has 3-piece dumptrucks and 8-piece Hogwarts castles. Why is this? Dumbed-down education? Why is it that people have just started to gobble up whatever the media tells them rather than understanding what they need for themselves. *sigh* What's society coming to?

    1. Re:Flash and burn by DietHacker · · Score: 1

      "Isn't the trend towards "flashy products" rather than reliable ones the same reason why current marketing pushes sex rather than product qualities (Pepsi, A&F, etc), movies flaunt big-name actors and actresses, and people won't go see a movie unless it has a high PG-13 or R rating (PG? It's got to be boring)."

      If a movie advertises itself as being raunchy, edgy, in-your-face, full of T&A, and is rated as PG-13 or even PG then hell yeah don't go! PG doesn't have to be boring, but if it is a PG movie then I expect a PG preview. The other unfortunate is that knowing the rating is - in a sense - like a spoiler. Viewers know where the line is drawn and that can limit suspense - the possibility to be intelligently taken off guard.

      "What's society coming?"

      Exponential increases in the bitch and moan department?

    2. Re:Flash and burn by Overly+Critical+Guy · · Score: 1

      For some reason, people love to get into a fit and breathlessly say things like "What's society coming to?" when people have always gobbled up what the media tells them. It's not like a switch was flipped and all the sudden society is headed downhill. There's nothing different from before except that there are more mediums. But people haven't changed.

      --
      "Sufferin' succotash."
    3. Re:Flash and burn by Valluvan · · Score: 1

      The society is coming to eat it's own shit. Society created these 'media' and 'pop culture'. Oh, by the way, I am not talking just about the American Pop Culture. It's a phenomenon happening world over with US leading the pack.

      --

      Science as a way of life.
  15. Blame the Company? by Acidic_Diarrhea · · Score: 1, Insightful
    "We say: 'Give me the phone that takes the picture. Don't give me wireless security!"'
    Most people have no understanding of how programming works and what is entailed by the process. Thus, they don't want to pay the price tag on a product that is developed using rigorous standards and adequate design and testing cycles. But they want the companies to be liable? Also something to consider is the fact that many problems cost as a result of user misuse. While erroneous input should be considered, the range of all possible user inputs, behaviors, and system setups can't always be considered. People just don't get it and think they're owed money because their application crashed when they didn't configure it correctly.
    --
    I hate liberals. If you are a liberal, do not reply.
  16. I've thought about this before... by fjordboy · · Score: 4, Interesting

    I've often thought about how many products use simple programs and stuff to run correctly...like traffic light systems...right now they work pretty well and everything goes together properly. However, the day that cities decide to have a central server run the traffic lights so they can...say, control traffic around accident areas...things will go wrong. The "foolproof" software will cause all sorts of problems.

    I don't see this so much as software causing problems as much as the tendency we have to make what used to be simple things really complicated. One example I have in my life is a train system that runs around inside a building by the ceiling at a camp I work at. The system looks really nice..and it could work well. However, having a couple of electrical engineers volunteer their time to make the system made it very different. Now, what could have been a simple on off switch is a whole panel with an LCD display and all sorts of error lights and little IR detectors on the track to make sure the train is in the right place. It is a geek paradise...but the train NEVER works. Despite all the fancy assembly code they have running the whole thing, it doesn't work. An on/off switch would have worked..I'm certain of it!

    As we complicate more and more appliances with complex software, there are going to be more problems. Heck..what's gonna happen next time your toaster oven timer crashes...you could burn down a house!

    The caveman had something going for them...

    1. Re:I've thought about this before... by sheldon · · Score: 2, Insightful

      "However, the day that cities decide to have a central server run the traffic lights so they can...say, control traffic around accident areas...things will go wrong. "

      Actually I wouldn't be surprised if traffic lights aren't already centrally controlled in some urban areas.

      Traffic lights have a human safety factor, in the event of bad instructions they can fail over to flashing red in all 4 directions. Humans are trained to understand that flashing red means stop. So the worst case, that the lights are signalled green in all four directions at once can be mitigated by throwing an exception and falling into the flashing red mode.

      "I don't see this so much as software causing problems as much as the tendency we have to make what used to be simple things really complicated."

      KISS should always be applied. The simpler a system, the more reliable it will be.

      However, as technology improves over the years the barrier which defines simplicity increases. Traffic Lights 100 years ago were manually operated, today they are controlled by sensors monitoring traffice flow.

    2. Re:I've thought about this before... by Anonymous Coward · · Score: 0

      Traffic Lights ARE centralized today. That's how they can fix them when something goes wrong, like power failure, bad weather, etc. And yes, a computer is used to collect all the relevant data at the back end. The computer used to collect and crunch the data runs VMS.

    3. Re:I've thought about this before... by VCAGuy · · Score: 1

      I know that in my fair city of Orlando, FL, FDOT already uses a central management system--each light has a modem and a phoneline that dials in (or is dialed in to) every 30 minutes or so to get updated data. In case of an accident, the center can call the lights and change their programming--all from a central management office. The lights here (most of the time) work just fine; and when they're down, they're not down for long (5 minutes is the longest I've ever seen a frozen light).

      --
      Q: "Why do sound techs say 'check 1, 2'?"
      A: "Cause if they could count any higher they'd be lighting techs."
    4. Re:I've thought about this before... by cyril3 · · Score: 1
      So the worst case, that the lights are signalled green in all four directions at once can be mitigated by throwing an exception and falling into the flashing red mode

      Except that would cause immeadiate gridlock. That's why they default to flashing orange so there can be some traffic.

      Australian traffic systems seem pretty advanced from what I've seen. Very little is fully automated system wide but most traffic lights have street-side controllers that change the timing depending on the day/time based on traffic at that site. They can also be changed from central monitoring sites.

      As well most non-major intersection lights have an induction loop in the road bed that changes the signal for the minor road traffic pretty much as soon as it arrives at the intersection. There can be a small delay if you arrive just after a change. None of that 'wait 10 min minimum till the next change'.

    5. Re:I've thought about this before... by Anonymous Coward · · Score: 0

      What? There's obviously a communication problem here, traffic lights don't have orange lights, they have red, yellow and green and a blinking red would not cause gridlock, it's like a stop sign, you stop and then go.

    6. Re:I've thought about this before... by Anonymous Coward · · Score: 0

      Since you asked...

      I gave up stupid superstitions for lent. Lent then consumed itself.

      I'm not quite sure how it's on topic, but there ya go ;)

    7. Re:I've thought about this before... by arkanes · · Score: 1

      The poster is talking about US law, I assume, and is being unclear. A flashing red light is treated as a stop sign, not just "stop". In the more civilized (West coast :P) parts of the US, most lights are dynamic - they use road sensors to adapt themselves to traffic, so late at night you've always have green (or wait just a couple seconds). I've noticed that on the east coast, things aren't as advanced. Many is the time I've cussed about that while waiting several minutes at a light on a 4 lane road late at night when there's no cross traffic.

    8. Re:I've thought about this before... by ssdairy · · Score: 1

      Two points:
      1. A flashing red light is treated as a stop sign, not just "stop".
      In a busy enough area, this alone can cause some pretty nasty gridlock. Even in the mid-size city where I live, I've had 7-minute delays getting through intersections whose lights failed back to flashing red.
      2. Many is the time I've cussed about that while waiting several minutes at a light on a 4 lane road late at night when there's no cross traffic.
      This is why I think you should be allowed to proceed through a red light, after you've stopped and confirmed there's no traffic. If you're wrong and there's an accident, you're presumed to be at fault.

  17. Oh the hilarity... by Anonymous Coward · · Score: 0

    Microsoft, accusing something of stifling innovation?!? Oh my god, my sides... they're splitting...

  18. Software reliability article summary by Anonymous Coward · · Score: 0
    The first guy was for it. The second guy was against it. I disagree with both of them, even though they have completely opposing views. I'm not even going to explain how that's possible!

    FUCK IT G!

    Jesusgeeks!

  19. a perfect example... by thadeusPawlickiROX · · Score: 0
    Y2K

    Poor programming practice to save a few bits here and there led to millions of dollars in cost for software fixes and updates. A classic case of bad programming leading to even worse events down the line.

    --
    take off every sig for great justice
    1. Re:a perfect example... by insecuritiez · · Score: 1

      You must be new here; Slashdot doesn't believe in the Y2K myth.

    2. Re:a perfect example... by Acidic_Diarrhea · · Score: 2, Insightful
      Poor programming practice? Apparently you've never done any serious programming. Programming is all about tradeoffs. Sometimes you make sacrifices in order to get the job done. If it comes down to making a sacrifice to get the job done and not getting the job done at all, I figure out how to shoehorn the solution into the system.

      This is part of the reason that much commercial software has so many problems. The consumer wants their programs cheap and they want their programs released two weeks ago. Sacrifices in the development and testing cycles are constantly being made in order to bring the product in at a lower cost and in a shorter timeframe.

      --
      I hate liberals. If you are a liberal, do not reply.
    3. Re:a perfect example... by Anonymous Coward · · Score: 0

      "to save a few bits" ?
      Hmm.. The Y2K problem occured because dates were stored in the form of 2 digit characters. So that's 2 bytes for 100 values (00 to 99). That is _waste_ of bits. In 2 bytes I can store values from 0 to 65535.

    4. Re:a perfect example... by alext · · Score: 1

      I doubt if many people with a day-to-day concern with reliable software would find this very insightful.

      Buggy software is often also late software: both are symptoms of deficient processes and tools, whether it's failing to properly track requirements at the beginning or that huge overrun at the end referred to as 'integration testing'.

      For example, it is a fact that choosing Java or C# for a project over C++ will eliminate whole classes of potential faults from the product. Something like Eiffel might do better still. Yet simple conservatism will ensure that many projects (especially Linux projects) will ignore such basic factors and proceed to develop systems that take inordinate amounts of time to reach acceptable levels of quality.

      I don't see that groups taking such decisions deserve the level of sympathy you imply.

    5. Re:a perfect example... by uchian · · Score: 1

      Well, having recently started my career in the software industry, I agree, except that I don't believe the cost is actually lower, but much higher.

      What tends to happen is that someone says "we want this done yesterday", so everyone codes like mad (and as a result, produces shite code) to meet the deadline. Then, after the deadline, they have to go back and write it properly, if they are lucky. Otherwise, they have to throw more crap on top of the old crap until it becomes too late to tidy up and the only solution is to throw everything away and start over from scratch.

      When they cycle begins all over again.

      Now I haven't been in the industry long enough (heh, like, two or three months) to know that this is the case for sure, but it's very obvious that if you write code badly, at some point your going to have to write it again.

      If your told to write crap code (i.e. write it quick, cut all the corners, ignore coding standards, don't test it properly, don't design for reusability, just get it finished) then your company has just pissed money down the drain.

      Oh well, that's capitalism for you.

    6. Re:a perfect example... by arkanes · · Score: 2, Insightful

      Choosing high level languages does NOT remove potential faults. It simply delegates those faults elsewhere. In some cases thats a reasonable tradeoff for the performance hit of a VM, in some cases it isn't.

    7. Re:a perfect example... by alext · · Score: 1

      Well, it delegates them to a much smaller, more generic, more easily testable unit - is that what you mean? I'd say that this counts as progress.

    8. Re:a perfect example... by Anonymous Coward · · Score: 0
      Y2K is more an example of products greatly outliving their expected useful life at the time of design. Who'd think the 1960 COBOL accounting system would still be running 40 years of patches later? Who'd think CP/M would morph into DOS, which would lead to Win 9x, that would still running in 2000?

      Be careful how you code--design legacies are the maintainers' worst nightmare!

  20. Two guys are sitting in a bar by ptarjan · · Score: 5, Funny

    And Bill Gates turns to the CEO of GM Motors and says, 'Why is your technology moving so slowly? If you advanced at the same rate as we do, we would have flying cars by now!' Immediatly the CEO of GM turnes to Billy and says, 'Because the government doesn't allow us to build cars that crash 4 times a day.'

    1. Re:Two guys are sitting in a bar by Anonymous Coward · · Score: 0

      That was a pretty good joke back when cars weren't as complex as they are now. Anybody who follows cars these days knows that new cars get recalled for various problems all the time. It usually takes 2 or 3 revisions before they get all the bugs worked out.

    2. Re:Two guys are sitting in a bar by CAIMLAS · · Score: 1

      This is why I buy older vehicles. I'm not talking about a 1990 Ford Taurus, I'm talking about things like older BMWs, Volvos, Mustangs, and the likes which hvae been taken care of for the most part. Sure, I'll probably have to start replacing and fixing things "right away", as opposed to the 6 months - 1 year that is generally the case for new vehicles, but I'm still paying drastically less. In the case of a Volvo or BMW, maintainance work will likely be even less frequent.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    3. Re:Two guys are sitting in a bar by Anonymous Coward · · Score: 0

      I've been told that a quarter (soon to be a third) of the cost of a car is the computers, and that most of the innovation in car design is in the computers. By the way, those computers are fully verified. If those computers cost $5k-$15k, I would imagine that a $2k PC with similarly verified software would basically do nothing.

  21. Ignorance. by insecuritiez · · Score: 2, Insightful

    I'd say that most non-geek users are completely ignorant of software reliability. A computer just has errors. They have grown to accept that. To them that's why they have a warranty and that's why tech support exists. The typical windows 9x users believes that a restart is the natural second step to every click or change they make. I knew a girl that thought an illegal operation meant she could go to jail (for what she did not know.) So the first step in making software companies more reliable and more accountable is educating the common users. If people know what they are getting is bad their excuse wont be that Dell sold them a shitty computer, it will be that Software Maker X sold them buggy crappy software. Until then companies like Microsoft will run-amuck.

    1. Re:Ignorance. by DietHacker · · Score: 1

      The typical windows 9x users believes that a restart is the natural second step to every click or change they make.

      Restart is the natural second step to many installation changes if you are running Windows 9x. Do you imply users should be faulted ("non-geek users are completely ignorant") for correctly identifing this? "I knew a girl...", now I *KNOW* you are lying. : )

    2. Re:Ignorance. by Anonymous Coward · · Score: 0

      I knew a girl that thought an illegal operation meant she could go to jail (for what she did not know.)

      I hope you offered to take her temperature and give her a lollipop afterwards!

    3. Re:Ignorance. by insecuritiez · · Score: 1

      You're right. After many installs a restart is needed. What I was getting at is that a restart has become the end-all-fix-all. Users have gotten so used to this that they no longer even call it into question. Instead of looking into a problem just reboot and poof! Problem gone. You've made my point perfectly. It's totally unacceptable for a reboot to be the second step to making a change or installing software. It's been going on for so many years now (in the Windows world) that people expect it. It's not a flaw in the OS, it just is.

      And about the illegal operation. Sadly I am not lying. Granted, she was a high school student, but that aside, she actually believed that an illegal operation meant that she, or her computer, was doing something against the law. She was using AOL 3.0 which was giving her the error seemingly randomly. She thought that it meant that her brother had accessed porn on the computer and it was warning her that it was illegal.

    4. Re:Ignorance. by DietHacker · · Score: 1

      By the way, I just did three series of XP patches last night and each required a reboot (critical, drivers, then some misc crap). So Windows 9X ---> damn near all Windows!? "She thought that it meant that her brother had accessed porn on the computer and it was warning her that it was illegal." Maybe she knew something else... dang kids!

  22. kevin@mccusker.com by Anonymous Coward · · Score: 0

    -SpamTroll sez you cannot hide from spambots NO MORE!1!

  23. Frosty piss by Anonymous Coward · · Score: 0

    I'd really like to see an ice cold mug of piss. Like real frosty piss. I would like that. Thank you.

  24. UCITA is the worst of both worlds by TheSHAD0W · · Score: 1

    Just noting that the regulations in UCITA give you the worst parts of liability and disclaiming against it... The bill states that software companies must warranty their software's performance -- but says that they can disclaim that warranty in their license agreement.

    So what does that mean? It means that companies like Microsoft can ask their lawyers for the appropriate legalese to have no liability against their software fuck-ups, but some hobbyist who coded up something and stuck it on their web site may be sued because their software malfunctioned.

    Now THAT is stifling innovation.

  25. Fair Reporting is what is needed by johnynek · · Score: 1

    I think regulation would be a BAD THING. Especially for Free Software (since almost always there is no warranty). On the other hand, if the government wants to get involved, it should sponser fair software testing and encourage distribution of information related to software reliability.

    In many (most?) cases Free Software will be more reliable. Let the market have the facts, and if people want dangerous, flashy software, give them what they want.

    In the mean while, I'll stick to Debian.

    --
    jabber: johnynek@jabber.org
  26. Odd example by MarkLR · · Score: 1
    The article states:

    Bad code can be more than costly. Sometimes it's lethal. --The $165 million Mars Polar Lander probe was destroyed in its final descent to the planet in 1999, probably because its software shut the engines off 100 feet above the surface.

    I didn't know the Mars Polar Lander was a manned mission.

    Had it been a manned mission - there would have been a greater demand for reliability and the metric vs. imperial measurement problem would have likely been caught. You get what you pay for.

    1. Re:Odd example by insecuritiez · · Score: 1

      And the Polar Lander accident was not the cause of bad coding, it was the cause of poor communication among international collaborators.

  27. It won't stifle innovation... by Macrobat · · Score: 4, Interesting
    Holding software liable for failure won't stifle innovation. A great deal of (most?) innovation goes on in academic settings anyhow, where results are published and critiqued by outside experts (i.e., from other universities), not hidden away like some Special Sauce recipe.

    Moreover, how innovative has MS (or anyone else) been about reliability? Adding new features like embedding full-length motion pictures into Word documents (apologies to Neal Stephenson) is one kind of 'innovation,' but it comes at the cost of gains in stability. One could argue, and people have, that most commercial software is derivative anyhow, and its mass adoption has stifled opportunities to create more stable products.

    And finally, do we really need that many new twists on things? I'm not saying stop research or trying new things, but mainframes running COBOL code have been hosting most of the world's financial and business information for decades, and they are legendary for their stability, with low incidence of data corruption and uptimes measured in years to decades.

    --
    "Hardly used" will not fetch you a better price for your brain.
    1. Re:It won't stifle innovation... by teromajusa · · Score: 1

      Sorry, I have to agree with Microsoft on this. I work for a small financial software company. We sell trading software to brockerage houses. If every feature we introduced exposed us to potential law suits, I doubt we could stay in business. A single lawsuit could sink us - regardless of whether the software problem was do to a bug we introduced or user error etc. The only company that could take the legal risks of introducing new features in an evironment like that would be software giants like MS or IBM who could fight off the inevitable law suits. Small software companies would simply vanish.

    2. Re:It won't stifle innovation... by insecuritiez · · Score: 2, Insightful

      "Adding new features like embedding full-length motion pictures into Word documents (apologies to Neal Stephenson) is one kind of 'innovation,' but it comes at the cost of gains in stability."

      So if you mounted a rocket on your car to help with acceleration but you knew that one out of every ten uses it would completely fail and likely destroy your car are you innovating or are you being stupid? Innovating is when you add a feature and it just works. When Microsoft or any other company adds a feature to their software the end users expect it to work. They use it assuming it does. If it's still an un-reliably "beta" feature than what the companies is really doing is passing off all the testing costs onto the user.

      About the only group of people out there that do accept new features at the cost of stability is the Open Source community. But even then, take 99% of the OSS community and put them in a business situation where real cash rides on software stability and they'll opt to not have that "cool new" feature.

    3. Re:It won't stifle innovation... by 91degrees · · Score: 1

      A single lawsuit could sink us

      Yes, but a single bug could sink them much more easily.

      What's needed here is someone to nderwrite the software. Simply insure yourself against lawsuits. The chances of a bug causing damage are actually quite small. Lets assume the odds are 1 in 1000 that there is a bug that will cause the company to be wiped out. Then you need to charge $1000 + usual price for the software, offering a full guarentee that the software will not cause the company to go bankrupt, and make it very clear that the software is not suitable for any comapny with a net worth over $1 000 000.

      Then it's just a matter of finding an insurance company to underwrite you that will agree with your odds of failure, and get them to cover the costs (up to $1000 000) if the software does go wrong.

    4. Re:It won't stifle innovation... by teromajusa · · Score: 1

      Insurance for software? Imagine having to get new features ok'd by your insurance company because it increases liablity. Imagine scrapping features because you couldn't afford the increased insurance costs.

      Now think about how hard it would be to fix a client's bug when they won't disclose user errors because it could adversly affect any potential law suits. You'd have to talk to their lawyers to get access to a log file. :p

    5. Re:It won't stifle innovation... by 91degrees · · Score: 1

      You'd have to talk to their lawyers to get access to a log file. :p

      Suits me. If they want to take full responsibility for the bug.....

      Sure, the specifics need some sort of work, but the basic principal is just a risk management situation to be dealt with by the free market.

    6. Re:It won't stifle innovation... by CognitivelyDistorted · · Score: 1

      Keep in mind that academic researchers create ideas, algorithms, and prototypes, but products only occasionally. Someone still has to write the code for new products. And one of the reasons computer technology is advancing so quickly is that you can put out a low-quality piece of software, and thousands of people will willingly download it and test it for you. Regulation will absolutely kill innovation.

  28. Re:Wait... by destiney · · Score: 2, Funny


    Not to worry, the same article will be posted on Slashdot again tomorrow, possibly sooner.

  29. acidic_leaking@hotmail.com by Anonymous Coward · · Score: 0

    -SpamTroll r0x0rz j00!

  30. How to build reliable software by ZenShadow · · Score: 4, Interesting

    10 steps for builidng a successful software product:

    1) Fire half (perhaps all) of your programming staff. Most of them don't know know the difference between a heap and a stack, don't have a clue beyond the Java language, and if faced with the prospect of learning x86 assembly language, they'd faint.

    2) Hire people that *do* know the difference between a heap and a stack, perhaps have written in some assembly somewhere (even if just in college), and have figured out how to use a few more languages besides Java.

    3) When doing #2, ignore college degrees. Whether or not someone has one doesn't indicate whether or not they're a good programmer, at least until our the majority of our school system can actually teach the *relevant* skills.

    4) Plan. Plan. Plan. Document. Plan. Flowchart. Plan. Plan. Discuss. Plan. Discuss. Plan. Document. Plan.

    5) Code.

    6) Discuss. Test. Fix. Discuss. Test. Fix.

    7) Refactor

    8) Repeat 6-7 until all the software has been reduced to the simplest, most error-free possible codebase for its functionality.

    9) QA. (Yup, this happens *after* the testing in (6)!)

    10) Ship.

    --
    -- sigs cause cancer.
    1. Re:How to build reliable software by Lysol · · Score: 1, Troll

      Wow, so it's either assembly or nuthin, huh? That's kinda lame. Granted, it's very valuable to know the diff between a stack and a heap, but that's not the end all of everything.

      And frankly, after leading teams, the last thing you should do is fire people on it. I would suggest letting go of clueless managers and real payroll hogs. Then teach/mentor your jr. level programmers. I dunno, being l33t like that actually will hurt a project more than help.

      Also, Step 9.5 should be refactor, test, repeat 9, since that's ususally how it goes.

    2. Re:How to build reliable software by Rumagent · · Score: 1

      Sounds like waterfall to me. No handling of risks, no plan for changing requirements. In short : Crash and burn in ten easy steps.

    3. Re:How to build reliable software by Rombuu · · Score: 3, Insightful

      Boy what fucking useful advice.

      And if someone asked you how to play a flute you'd say, "oh, just blow in here and move your fingers."

      --

      DrLunch.com The site that tells you what's for lunch!
    4. Re:How to build reliable software by gazbo · · Score: 0, Flamebait

      Well, y'see, the parent poster is obviously someone who doesn't have a compsci degree, but has taught himself x86 assembler. It's the only explanation for his unrealistic, unworkable, rhetoric filled post.

    5. Re:How to build reliable software by Anonymous Coward · · Score: 0

      That post doesn't say much, but it's more of an if someone asked you what they were doing wrong with the flute you'd tell them not to blow into the end situation, better than nothing.

    6. Re:How to build reliable software by ZenShadow · · Score: 2, Interesting

      I said *have written in* assembly. Not *will continue to write in* assembly.

      The point of knowing assembly on the target platform is not due to some misguided plan to build the project in assembly. Hardly realistic in today's world. The reason for it is because most anyone who has ever successfuly written a program in any assembly-level language, will understand vaguely how the machine works.

      That's the point. As a person who is tasked with hiring a staff to write software, I don't give a damn about a college degree or whether or not you know Java. I want to know if you understand the machine in general -- because if you don't, you're pretty much guaranteed to write crappy software.

      But then, most people that respond with comments like this typically fall into the Java programmer category...

      --ZS

      --
      -- sigs cause cancer.
    7. Re:How to build reliable software by Anonymous Coward · · Score: 0

      He said "... perhaps have written in some assembly somewhere (even if just in college), and have figured out how to use a few more languages besides Java."

      That is hardly assembly or nothing. In any case someone who is able to successfully code in assembly language has a whole hell of a lot more knowledge about programming and the inner workings of computers than someone who writes code that has to run in a sandbox.

    8. Re:How to build reliable software by ejeetify · · Score: 1

      You can't be serious when you imply that college degrees are irrelevant. If you are, I weep for the fate of your company's products.

    9. Re:How to build reliable software by Anonymous Coward · · Score: 0

      You hit the nail on the head.

    10. Re:How to build reliable software by Tony-A · · Score: 1

      Wow, so it's either assembly or nuthin, huh?
      If you can code and debug effectively in assembler, you can code effectively in most other languages, even COBOL. As for the diff between a stack and a heap, how do you implement recursive coroutines without multiple stacks implemented in heap storage?

    11. Re:How to build reliable software by MythMoth · · Score: 1

      Somewhere in one of the iterations of step 8, you omitted

      8.1) Go bust.

      --
      --- These are not words: wierd, genious, rediculous
    12. Re:How to build reliable software by cpeterso · · Score: 4, Funny


      11) Profit?

    13. Re:How to build reliable software by Arandir · · Score: 1

      Waterfall works. Not in the modern corporate environemnt of course, but it does work. You see, before you start coding you had better know what you're going to write. I don't care how carefully thought out the Requirement Change Process is, if I've already coded the requirement and then you change it, it's going to take twice as long to fix/implement it then if you had planned it correctly to begin with.

      For the corporate environment, which has to live within the realities of budgets, resources, and lame upper management, the spiral model works well. This is essentially a whole bunch of waterfalls strung together. You work on a few requirements at a time, adding more at each iteration.

      But regardless of which model is used, you have to at least have a solid architectural design. Because if the architecture changes you're back to square one.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    14. Re:How to build reliable software by Lord+Ender · · Score: 1

      I did assembly in college. I can code in something other than java. But what's the difference between a heap and a stack who should I care?

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    15. Re:How to build reliable software by NotoriousQ · · Score: 1

      I highly disagree with you that knowledge of assembly is required. I also disagree with you that people that know only java can not do reliable code. One of the major points of java, and some other languages is that they have a virtual machine. Thus the language of the virtual machine is the only required knowledge of how your code works.

      Does it really matter where your object/value is stored. No! All one should care about is when this object is available for you. And even then, why does the programmer even need to care about this. The semantics of the language already make sure that your code does not go against the rules of the machine. (especially in the case of the statically typed languages)

      The only thing that the programmer needs to do is to figure out how to solve the problem he needs correctly. The rules of the machine are already enforced.

      So I do agree. Do not hire someone for college education. Hire them for problem solving skills. Although people with college education will typically have better problem solving.

      Do ignore my comment if you are thinking systems code (drivers, OS). The correct, safe languages are not there yet. They will be, but not yet. Until then this type of work will need the knowledge of machines.

      --
      badness 10000
    16. Re:How to build reliable software by Anonymous Coward · · Score: 0

      I did assembly in college. I can code in something other than java. But what's the difference between a heap and a stack who should I care?

      How did you get through assembly, or for that matter any serious programming at all in college without knowing what a stack is? A stack is a pretty basic data structure. I don't know what kind of programmer doesn't know what that is. Well yes I do... the industry is full of them, which is why real programmers can't get jobs right now.

    17. Re:How to build reliable software by error0x100 · · Score: 1

      Then teach/mentor your jr. level programmers.

      It shouldn't be the job of your senior programmers to be teaching the jr programmers the difference between a stack and a heap. That is something that ANY Comp Sci graduate SHOULD already know. If a Comp Sci graduate doesn't even know such basics by the time he/she graduates, then typically this means that they are just plain lazy, and training isn't going to solve this. Usually, it just means that you are going to end up burning a lot of money/man-hours while your hard-working, clued-up programmers spend time "training" the lazy programmers and/or spend time fixing the broken code that was supposed to be the jr programmers job.

      Its one thing to train people who are hard-working and willing to learn. And you definitely need to do some amount of teaching/mentoring of jr programmers, always. But that means teaching them complex, job-specific issues, not COS 101 basics.

      Lazy programmers just do not 'train' well. They are always back at your door, asking you "how do I do XYZ again? I know you told me, but I can't quite remember .. where do I set that option again? What was that function again? What does __cdecl mean again? Could you come help me quickly"? Blah blah, etc etc.

      The point about assembly is not so much that assembly skills should directly be used, but that anyone who is serious about programming will already have learnt some assembly, even in their free time. If a programmer has never done assembly, it says something about their lack of interest in programming, which in turn says something about whether or not you want them on your team. Its not black & white, of course, but there is a lot of truth in this generalisation.

    18. Re:How to build reliable software by error0x100 · · Score: 2, Informative

      But what's the difference between a heap and a stack who should I care?

      Basically, you need to know the difference if you ever want to write really good, efficient code, particularly in C/C++. Its basically about the fact that in order to do so, you really need to know what is going on "behind the scenes" / "under the hood" etc with the compiler. You can't write "good", highly optimized C++ code without at least a solid understanding of how the compiler turns your code into assembly code, and how the CPU executes that assembly code (e.g. stack, registers, cache etc). If you don't truly understand what is happening 'behind the scenes', you not only end up making design mistakes that impact performance, but you also will never really be able to do as good a job at optimizing the C++ code. (This could be seen as a problem with C++, i.e. that you basically need to know assembly to use it properly, but thats the way it is).

      Stack is temporary storage space where function parameters and variables with function scope are created. When the function returns, the variables are popped from the stack (not physically, the stack pointer just gets incremented). Anyway, the point is, stack memory is rather limited (usually about 1 or 2MB in an application today). So, a fairly common programming error that you see from not-so-clued-up programmers is to use the stack (variables local to a function, function parameters) for thing that really belong on the heap (new/delete/malloc/free). Heap memory is effectively "unlimited", and persists across functions until manually freed by the programmer. Now, the clueless programmer might know new, delete, malloc, free etc, but doesn't understand when he is using the stack or the heap. So they make mistakes like the following:

      void foo() { char toobig[10000000]; ... }

      And next thing they are knocking on your door asking why their program crashes on that otherwise innocent-looking (or so they think) code. The array is allocated on the stack, and the stack basically overflows immediately. They should have used new/delete or malloc/free.

      So why is this so bad? Not because it is bad per se, but because it reveals a fairly deep lack of understanding of 'how to program'. Seeing this mistake is, in a way, a very useful benchmark of a programmers level of knowledge. Basically, if you are seeing a graduate comp sci. student on your team make such a beginner mistake, you know that they are very far behind, and will need a LOT more training and experience to become really good programmers. But more importantly, if a comp sci graduate doesn't know the difference between a stack and a heap, it also usually means that they lazy: they have never wanted to have a 'deep' level of knowledge of programming. And this laziness is an indication that you probably don't want that person working for you.

      This isn't all necessarily that important for many types of applications. For "typical" VB or Java apps, it isn't. But for any serious C++ project, you generally do not want such a programmer on your team; you rather want the sort of person who is actually willing to learn these basics either in university/college or on their own time.

      An analogy: its like a car repair place hiring a mechanic who has a general idea of how an internal combustion engine works, but doesn't understand details (e.g. doesn't understand what distribute timings are about). Its not as if you won't be able to get useful work out of that person -- but you are always going to have to do a fair amount of "hand-holding" in order to get it ("bring that here, put that there, unscrew this" etc).

    19. Re:How to build reliable software by CharlesEGrant · · Score: 3, Insightful

      This is an absurdly narrow view of computer programming. While appropriate to some types of software projects it would be entirely wrong for others.

      Much of what computer science has accomplished in the last 50 years has been to hide the hardware behind abstractions more suited to the tasks at hand. If I'm running a team bulding a web application I'm going to be looking for folks who really understand user interfaces, HTTP, TCP/IP, and security issues. Experience in assembly is not necessiarily going to shed a lot of light on their knowlege in these areas. One of the sharpest guys I ever worked with was a trade school graduate and an absolute wizard with SQL. He had no knowlege of processor architechture. I had to explain floating point number representation to him. However, he had totally internalized the relational database model, and he could crank out efficient queries in minutes that it took me days to understand.

      If I was writing a database engine I would want people who really understood the low-level hardware envirnoment. But if I writing an applications that uses a database engine I'll happily trade that low level knowledge for someone who really understands the abstractions of the engine.

    20. Re:How to build reliable software by arkanes · · Score: 3, Interesting
      A college degree is only as good as

      a) the college who granted it
      b) The degree to which the philosophy of the people who designed the curriculum matches yours
      c) And, most importantly, the student who took it. Since, given the modern US education system (I'm not familiar enough with other countries to judge), a degree at any level less than a Masters or PhD does NOT mean you've actually learned the skills - it simply means you can pass the courses. Those aren't the same thing at all.

      Being a good programmer requires alot more than a dozen classes. There's a mindset involved thats not common and hard to teach.

      On top of that, software is something new. It's not well-defined and proven the way most other disciplines are - it's common, for example, for ground breaking new work in software to be done by amateurs. To cut yourself off from that because you insist on a piece of paper that doesn't neccesarily guarantee skill is stupid.

    21. Re:How to build reliable software by Anonymous Coward · · Score: 0

      cheap shot from scheme bigot: aren't all C++ projects "serious" in the medical sense of being near "critical" aka "at death's door"?

      in any case, having some warning flags like "programmer does not grok stack" is useful -- no argument here -- i'll just mention it's probably best to move these revelations forward to the interview stage (configure time instead of runtime ;-).

      to up-scope and try to get back on-topic, the same approach can be used for the nebulous "software liability" meme. in the same way the good essayist or speech writer tells the audience what to expect, tells them the body, then wraps it up; in this way, software publishers can publish the 3-tuple SW-TEST-RESULT and disclaim liability on anything that falls outside of this. already that's the mindset in support of "standard configurations", although proprietary software kind of loses on how fine-grained the TEST and RESULT aspects are (to the extent of prohibiting discussion on those aspects in some cases!).

      free software is not so encumbered, wow what a surprise. free software can publish the unabridged 3-tuple and say "please study our TEST and RESULT aspects, see if your data resembles ours, plop it into the directory, munge the Makefile a bit, do make check; if there are problems let us know and we will try a fix, if not, try more data until you find a problem, have a nice day in the meantime". this way, the customer, who has historically been part of the verification process only implicitly, now is explicitly part of it, has access to not only the final stamp of approval (fwiw) but more importantly the methods of verification. trust can build up from unit testing, the extreme programmers will harp; same idea.

      this solves the liability problem because, really, at the end of the day, pointing fingers (i.e., determining liability) is still not a wise use of time/resources; it is better to work together vendor and customer w/ the knowledge that life is full of imperfections, but that's ok if you have a clear path towards cultivation, using software as a mode of communication and not as a secret dirty lie.

    22. Re:How to build reliable software by CharlesEGrant · · Score: 1
      If a programmer has never done assembly, it says something about their lack of interest in programming

      All it really says is that their interest in programming is not like your interest in programming. Computer programming has become a huge field, and different sub-fields require interests and different skill sets. Being able to write a bullet-proof device driver in C or assembler does not translate to being able to write efficient SQL and visa versa.

      As an example, I currently work in bioinformatics. Much of the work in bioinformatics is being done in java or perl, and algorithms are of far more concern then machine architecture. I would be much more interested in seeing candidates who had a solid grasp of the abstractions of those languages and used their free time to study biology or graph theory.
    23. Re:How to build reliable software by Jim_Hawkins · · Score: 1

      Now...see...I always had a problem with that "writing efficient C++ code" stuff. The compilers now-a-days can optimize like crazy already. Half the time you can write the code to be understandable...and then just the compiler take over. Granted, DRASTIC programming errors can destroy the programming efficiency, but, little ones can be fixed.

    24. Re:How to build reliable software by error0x100 · · Score: 3, Insightful

      It really depends what you're writing, how critical speed is, and how much the application needs to be optimized. I'm developing 3D graphics software development toolkit, where you REALLY have to know where every little bottleneck could appear. Something as seemingly harmless as simply having a constructor in your 3D vector class can kill your apps. (Obviously not having a constructor is dangerous, so we provide a version with a constructor and one without, and the programmers need to make sure they know what they are doing). You need to look very carefully at all sorts of aspects, such as possible speed hits of pass-by-copy to functions, where all your inline functions are etc (not having inline functions in crucial spots can also kill your 3D apps), caching aspects etc.

      3D graphics is obviously a relatively "extreme" case, where you simply cannot just rely on a good optimising compiler, but there are others. For example, you might be required to write a text 'search' function for a very large database (e.g. the Oxford English Dictionary 2nd Ed software has a search system that allows text searches on over 600 MB of text data to be completed in under a second or so .. probably not unlike Google's I would guess). So for these systems, you also really need to know what you are doing, you cannot just "throw some code at the compiler" and "hope for the best", that just wouldn't be good enough.

    25. Re:How to build reliable software by error0x100 · · Score: 1

      All it really says is that their interest in programming is not like your interest in programming

      True. But in general, you usually find that even with people who are programming only with 'higher level' systems (e.g. even SQL) that the people who are the best at it are usually the ones who do have a good understanding of everything that is happening "behind the scenes". They tend to be faster corders, write better code, and have a much better understanding of where bottlenecks appear (e.g. understanding why some particular SELECT queries are running very slow) and how best to fix them (redundant data? stored procedures? optimize the query? locking issues? or some "broader" network system design issue? Or whatever.).

    26. Re:How to build reliable software by redtail1 · · Score: 1

      11. Go out of business after blowing your entire budget on development for a product that's still vaporware. Great ideas. I'd love to see them implemented. Unfortunately, they seldom happen in the real world. Maybe in academia.

    27. Re:How to build reliable software by Anonymous Coward · · Score: 0

      College degrees mean sweet FA these days. The CS degree I'm doing is a complete joke. 90% of the class couldn't tell you what a pointer is, yet they'll all be graduating with honours and get the jobs 'cos they know the answers to the HR bitch's stupid questions.

    28. Re:How to build reliable software by greenrd · · Score: 1
      Basically, you need to know the difference if you ever want to write really good, efficient code,

      No, that's misleading. In many, many cases you don't need to know that at all. There are situations where even the most academically frowned-upon inefficiencies, such as bubble sort algorithms, can be perfectly adequate for the task at hand. (However, people definitely should know of the existence of prewritten, pretested sort routines so that they don't waste time writing and [inadequately] debugging what thousands of other programmers have already done!)

      Consider GUI-bound or disk-bound applications, where CPU speed for internal computations hardly matters. Premature optimisation can be a waste of time.

    29. Re:How to build reliable software by toriver · · Score: 1

      The reason for it is because most anyone who has ever successfuly written a program in any assembly-level language, will understand vaguely how the machine works.

      So? Most software development is about expressing a solution to a business problem, where the concerns are non-machine concepts. You don't write software for the benefit of the computer, but for the benefit of the customer. If you write a store application, it's more important to think about stuff like "prices" and "products" than "CPU registers".

      But then, most people that respond with comments like this typically fall into the Java programmer category...

      It seems you have an irrational hate of people who write in Java - are you perhaps one of those antisocial C programmers who worship execution speed over usability and reliability?

    30. Re:How to build reliable software by ZenShadow · · Score: 1

      It seems you have an irrational hate of people who write in Java - are you perhaps one of those antisocial C programmers who worship execution speed over usability and reliability?

      Actually, no. I don't hate anyone, first of all; it's a perfectly rational annoyance with people who program in Java to the exclusion of all else, seeing it as the end-all and be-all of languages. And yes, I've written in Java, and probably will again at some point -- I believe in using the right tool for the right job.

      And you'd be quite surprised at how often execution speed and reliability come up in the modern world -- usually after a product's been released. My last two jobs alone have seen instances of people writing software non-optimally and not worrying about it because "it's not necessary." As the product scales (or rather, fails to scale), they quickly rethink that position. The way to avoid this is to learn what the pitfalls are and avoid them by nature. It's not as hard as it sounds, if you know how the machine does things.

      My personal belief is that all the garbage about not needing to know how the machine works because you're writing in <insert favorite language here> is simply an excuse for laziness or simple lack of interest.

      As to your last question, you could've had it right if you'd stopped at 'antisocial'. I am, in fact, an antisocial perl/C/C++/... programmer, and I enjoy providing the utmost in execution speed when the time budget allows. But you will find that the vast majority of my software is among the most usable and reliable written within an organization that I work for. Not always, but usually.

      --ZS

      --
      -- sigs cause cancer.
    31. Re:How to build reliable software by ejeetify · · Score: 1

      That's pretty sad. I've taken exactly one computer science course at my university, and we spent about a good deal of time where not knowing pointers would mean horrible grades.

    32. Re:How to build reliable software by error0x100 · · Score: 1

      Premature optimisation can be a waste of time.

      Indeed! Apart from the necessity of having a good "overall" design, one should generally optimise "defensively", i.e. as long as the program is running "too slowly", one should regularly run it through a profiler (a decent one like Intel's, NOT Microsoft's little toy profiler) to find out which parts of your code are currently the slowest, and work on those. Then basically repeat this process until your program runs "fast enough" (the definition of which will depend on the application, the client, the organization's own personal ideas about quality, and unfortunately, deadlines).

      I fully agree, optimising some arbitrary sort routine that already only takes 0.00001% of program execution time is stupid, you would be just throwing your own time and money away.

    33. Re:How to build reliable software by Razor+Blades+are+Not · · Score: 1

      So obviously you should fire everyone except those people who know assembly, because you *think* that these people should be the *best* at whatever you are working in right now.

      Don't be obtuse.

      The code-jockeys who wrote assembler demos in high-school are not necessarily the same people who make constructive team-members in the business world.
      You need people who can communicate effectively. Not arrogant loners who think they know better than everyone else on the team and brood at their desks all day banging out incomprehensible, undocumented code that inexplicably works.

      Oh wait - was I generalizing ?

      Finding good people is far harder than you seem to think it is.

    34. Re:How to build reliable software by error0x100 · · Score: 1

      So obviously you should fire everyone except those people who know assembly

      Don't put words in my mouth. You are being obtuse. If you read my post, you will see I never said anything even remotely like what you are claiming I said.

    35. Re:How to build reliable software by error0x100 · · Score: 1

      Finding good people is far harder than you seem to think it is.

      I never once made ANY claims about how difficult it is to find good people. I know it is difficult, WHERE DID I SAY IT WASN'T?!?

      Come back when you feel like debating claims that I did make, rather than a bunch of claims you seem to somehow think I made. You must be confusing me with someone else.

    36. Re:How to build reliable software by Axiom_1 · · Score: 1
      11) Profit?

      Nope:

      11) Venture Capital runs out.

      12) Still haven't gotten rid of all the bugs...

      13) Mortgate house.

      14) Still haven't gotten rid of all the bugs...

      15) Bankrupt.

    37. Re:How to build reliable software by CharlesEGrant · · Score: 1
      My personal belief is that all the garbage about not needing to know how the machine works because you're writing in is simply an excuse for laziness or simple lack of interest.

      I think we can all agree that more knowlege is better then less knowlege, but I think your are failing to take into account the 'guns vs butter' tradeoffs of education and how diverse the tools and goals of computer programming have become.

      I am currently working in bioinformatics. Much of the work in bioinformatics is done in perl and java. For a worker in this field a thourough knowledge of algorithms and the abstractions of those languages is going to deliver a much greater benefit then knowledge of any particular machine architecure.

      To put the matter concretely: I have two books on my desk, "Inner Loops", a guide to optimizing code for the x86 architecture, and "Computational Molecular Biology" a survey of algorithms used in bioinformatics. It is going to take me several months to work through either of them. Which do you think will provide the most benefit to my work? If I was writing web servers rather then bioinformatics tools do you think I would give a different answer?
    38. Re:How to build reliable software by ZenShadow · · Score: 1

      I was gonna write a long drawn out post, but I'll skip that, and simply say this: I don't disagree that knowledge of the particular field you're working in is absolutely crucial. It is my belief, however, that you should know the basics of your tool, first. In terms of a co-sci education, this should be tought in the first couple of years of college. It shouldn't take longer than that (although unfortunately it usually does).

      Knowing the basics will only enhance your ability to work in your specialized area. Once you've hit the field, it's really too late -- IMHO, people should know this stuff prior to having a job in the computer field.

      This is all JMHO, of course -- and admittedly I'm a bit jaded because I've worked with so many folks that couldn't figure out how to put a Windows machine on a network if their lives depended on it.

      --ZS

      --
      -- sigs cause cancer.
    39. Re:How to build reliable software by Anonymous Coward · · Score: 0

      Did you do x86 ASM? You kinda have to at least know what a stack is if you're gonna do x86. (risc is a little different as I remember, using register shadowing to accomplish the same thing.)

    40. Re:How to build reliable software by Anonymous Coward · · Score: 0
      The reason for it is because most anyone who has ever successfuly written a program in any assembly-level language, will understand vaguely how the machine works.

      This will be very important if you are working on a project in which you are re-inventing the wheel. For 99% of programming projects however, it is far better to leave the compiler writers to worry about "how the machine works" and have your programmers focus on the business problem with which they are concerned. It might be said that Dijkstra's dictum re BASIC applies equally to people who have been exposed to assembly language (for much the same reason). Indeed, I've found this kind of programmer is not usually very well adapted to learning higher level constructs such as functional, or even merely object-oriented, programming methodologies.

      While assembly language coders might make poor general programmers, that is not to say these skills are entirely unecessary (or destructive). Clearly in certain domains (compiler/intepreter implementation, embedded systems). This is the point, different skill sets are required in different domains.

      If we didn't have the low-level monkeys, none of us higher-level monkeys could do our work. On the other hand, if you hire someone to work on the Web interface to your database, on the basis of their assembly skills, you are a madman.

  31. No kidding?! by inertia187 · · Score: 1

    "It always takes us by surprise when the rocket blows up or the ATM goes down," Guttman says.

    That was Microsoft all this time? Wow. I guess I shouldn't feel so bad when my workstation acts funny. Just one reboot and I'm back to work. But if my workstation blows up, I'll know who to blame.

    --
    A programmer is a machine for converting coffee into code.
  32. One word by Anonymous Coward · · Score: 0

    Debian!

    Or, if you speed and on the edge AND reliability...

    Gentoo!

  33. The perfect segway?? by Lysol · · Score: 1

    So Frontline has a great 52 min show on this exact thing - viewable on line! (Personally, I copy out the links in the html and watch it in RealPlayer or Quicktime, but whatever suits ya..) It's called Cyberwar. Interviews with white house/govt types along with a cracker and an M$ guy. It's got more of a 'war' slant, but nonetheless, pretty relevant. Check it out here

    Ah, gotta love Frontline..

    1. Re:The perfect segway?? by Anonymous Coward · · Score: 0

      segue

  34. Reliability and licences by jesterzog · · Score: 1

    Says the story, 'Microsoft contends that setting [reliability] standards could stifle innovation, and the cost of litigation and damages could mean more expensive software.'

    The story also specifically proposes holding vendors legally liable, and in some respects I half agree with Microsoft on this one. At the very least, any legislation would have to be very well designed.

    If I write software freelance (as many people here do), I want to be able to give it to people and tell them to use it at their own risk, because with a complicated product I can't be bothered to go through all the rigours of testing every conceivable thing that could go wrong.

    Unlike something like bridge building, software just hasn't reached the stage where anyone actually knows how to do it safely. Trying to force people to do it safely just isn't going to work in any feasible way.

    If there's ever going to be legislation in place, I think it needs to begin by focusing on the methods that software vendors use to impose licenses on their customers. In the end, it's the shrink-wrap end-user licence agreements which customers have no say in that tell people they have no rights to expect anything from the software -- including what it's supposed to do, and even though they might have paid thousands of dollars for it.

    Normally everyone has different requirements from a piece of software, and everyone has parts of it that they consider more important and mission-critical than others. Customers should be able to negotiate what's important to them with software vendors.

    Exactly what the rights of an end consumer are regardless of the licence, and how much can be claimed under various circumstances, needs to be properly established. Just as importantly, businesses need to be stopped from putting silly and mis-leading agreements on their products.

  35. Re:Wait... by t0ny · · Score: 0, Flamebait

    Everyday is "Bash Microsoft" day at Slashdot. But subtlely is not a skill ever really displayed here. At least, not regarding bashing MS.

    --

    Manipulate the moderator system! Mod someone as "overrated" today.

  36. liability for the little guy by Anonymous Coward · · Score: 0
    the little guy has to self-insure. the best insurance against bad luck is certainty of good luck. the best way to be certain about good luck is to make your own luck (and keep it good). the best way to make your own luck (and keep it good) is to be self-reliant. there lies the beauty of free software; it helps the little guy self-insure if the little guy invests in its practioners. (support your local free software programmer today!)

  37. Website about Bugs and The Impact on the World by Anonymous Coward · · Score: 0

    latedecember.com Blog for Software Testing, Bugs, Quality, Security and Stability.

  38. Slightly disingenuous by Timesprout · · Score: 2, Insightful

    "The idea that we depend on something that's inherently untrustworthy is very frightening," he says.

    This is such crap. Software is not inherrently untrustworthy. The fatal incidents cited all appear more due to human error rather than software bugs, as has happened since man started building machines.

    If software was so inherrently buggy no one would get on a plane or dare trust a traffic control signal.

    As for making manufacturers liable, you can but I would expect a negatibe response rather than an improvement. I am in favour of anything that improves software quality but I think what is most overlooked when people talk about 'buggy' software is logic errors, and misinterpretation/misexplanation of user requirements. If the developers/manufactures are to be held liable should we not then turn around and litigate against the subject experts who helped build the use case's?. What about the users who misuse/abuse their software causing unexpected results or loss?

    If developers/manufactures do become liable then the insurance and testing costs will probably drive the price of software beyond the reach of the individual.

    --
    Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
    What truth?
    There is no dupe
    1. Re:Slightly disingenuous by 91degrees · · Score: 2, Interesting

      I agree. Most software is very reliable. More aircraft crashes are caused by mechanical problems than software issues. If there is a life threatening fault in a piece of software, this usually results in a recall. The only software that's really unreliable is consumer level, and you are quite unlikely to die from Word crashing (even that doesn't happen to me much).

    2. Re:Slightly disingenuous by Error27 · · Score: 1

      >The fatal incidents cited

      The fatal incidents were pretty stupid. There wasn't anyone on board the mars probe to actually be killed.

  39. Who is liable? by robbo · · Score: 1

    I think a big problem is determining the question of who is liable: the person who wrote the software or the person who deployed it? I think software vendors can often successfully argue in court that the user "was trying to do something with it that it wasn't designed to do".

    --
    So long, and thanks for all the Phish
    1. Re:Who is liable? by Arandir · · Score: 1

      The firm who sold the product as mechantable is liable. The hobbyist is not, because the hobbyist never made any such claims.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    2. Re:Who is liable? by robbo · · Score: 1

      What about the engineer who uses a third-party program in a mission-critical setting? He or she has to clearly demonstrate that they either QA'ed it to death, or at least operated it within specs, before they can hold the third party liable.

      In the case of the hobbyist or casual user, what if the software failure is a fully disclosed, fully documented bug? Is the vendor responsible when the user fails to inform themselves?

      Look at all the poor saps who fail to install security upgrades. Microsoft can't be held liable when they provide a patch and you fail to install it.

      --
      So long, and thanks for all the Phish
    3. Re:Who is liable? by Fulcrum+of+Evil · · Score: 1

      Look at all the poor saps who fail to install security upgrades. Microsoft can't be held liable when they provide a patch and you fail to install it.

      Sure you can. Microsoft so screwed up its security patch system that patches couldn't be relied on to not hose the machine, reverse previous patches, alter system functionality, or expose new vulnerabilities. Given that, how can you not hold Microsoft responsible?

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
  40. So what? by ekephart · · Score: 1

    This is media hype. Critical apps have ALWAYS had to be reliable. If reliability becomes what consumers what then it will creep into non-critical apps. Unfortunately (someone already said this), the trend is toward "flashy products" not reliable ones. In the end the free market will make all products *reliable enough*. Software that makes my refrigerator explode? No. Software that makes my refrigerator more snazzy but spoils the milk every week. Still, No. Software that makes my refrigerator link to my PDA with a shopping list so I know what I'm out of, but spoils the milk one every two years? Eh, ok.

    --
    sig
  41. Software reliability on NT by Anonymous Coward · · Score: 2, Interesting

    I guess I've had a different experience with reliability than most of the posters here have had.

    Given a piece of software that has both Windows and Linux versions, the Windows version is almost always more reliable/less buggy.

    The Linux version usually seems to have been done as an afterthought, and most of the development work goes into the NT product.

    I'd like to choose the Linux version everytime, but for most software, the Linux implementation just isn't there yet.

    1. Re:Software reliability on NT by YetAnotherDave · · Score: 2, Insightful

      are all those cases programs written originally for win32?

      I've seen it work both ways, usually the original is more stable than the port...

  42. $5 is not enough for you by snuffdiddy23 · · Score: 1

    i remember seeing in the license agreement for windows you can sue them for up to $5. what more could one ask for?

  43. And in the meantime.. by Kwil · · Score: 0, Troll

    ..file for bankruptcy because you're paying people to do all this while not having a product to put out.

    --

    That Jesus Christ guy is getting some terrible lag... it took him 3 days to respawn! -NJ CoolBreeze

    1. Re:And in the meantime.. by ModsOnCrack · · Score: 1

      Hahahaha... marked troll for intruding with real-world concerns!

      What are the mods on? I believe you know the answer...

      --
      The mods are on crack
    2. Re:And in the meantime.. by error0x100 · · Score: 1

      Indeed... honestly, Kwil's post was certainly not a troll. It was a good point, was accurate, and completely on-topic. *sigh*

    3. Re:And in the meantime.. by Anonymous Coward · · Score: 0

      Some jerk didn't agree, which makes it a troll in the Slashworld -- 'objectivity' is a dirty word around here. That's what happens when you don't toe the company line around a bunch who knows no other way.

  44. Let's be realistic by phillymjs · · Score: 3, Interesting

    As long as companies like Microsoft are around to pump money into lobbyist firms and election campaigns, we'll never see a software-reliability law that's actually beneficial to consumers.

    I'm pretty much willing to settle for some sort of truth-in-software-advertising law... so when William H. Macy's voice tells us that Microsoft's server software is totally secure and reliable, it also has to tell us that Microsoft's EULA says that if this turns out not to be so, tough shit on you for believing it in the first place.

    ~Philly

  45. Steak vs. Sizzle by t0ny · · Score: 1
    The article also says, however, that consumers' favortism of flashy products over reliable ones is partly to blame for the current state of software

    Very true. If it werent for flashy junk, I wouldnt have to make a huge project to uninstall the million varieties of Hotbar's spyware.

    However, on the server level, it will hardly be a consumer thing. If they install SkyNet, it probably wont be running a commercial OS.

    --

    Manipulate the moderator system! Mod someone as "overrated" today.

  46. it's not just software... by Anonymous Coward · · Score: 0

    hardware suffers from this also. i had a conversation with a friend the other day, and we came to the conclusion that most hardware made after ~1998 has been 1/4th as reliable as hardware made before.

    fuck innovation and agp 20x, i want my box to last more than 2 years and keep it from crashing every other hour.

  47. Stifling innovation by Anonymous Coward · · Score: 0

    Is that going to be Microsoft's response to everything?

  48. Blame the User but... by west · · Score: 4, Insightful

    It is certainly true that users place reliability very low on their list of priorities when buying products, but that does not necessarily means that they don't value reliability. It merely means that they take reliability for granted.

    For example, the last time I filled in a car survey, I didn't put "does not explode when ignition key turned" anywhere on the form.

    The problem is a fundamental one. There are way, way, way too many possible parties to blame. The only logical reaction for MS if such a law was enacted would be to immediately cease running any software that wasn't authorized by MS (with approriate fees, bars for competing programs, etc.), a situation that I imagine they see only in their fondest dreams. Legislation like this would be the perfect excuse. To be honest, even I would barely question their right to secure their system if they are going to be held responsible for its flaws.

    As for the idea that open source software should be exempt - I doubt that you'd accept the idea that cars should be exempt from safety standard if they provided you with the blueprints :-).

    1. Re:Blame the User but... by strider3700 · · Score: 1

      If I build my own car I am exempt from most safety standards. Beyond then basic Needing bumpers at X height and working lights/horn.... there are no standards on kit cars. In many locations you don't even need to do emissions testing.
      Would it be so bad to have Similar rules for software? The powers that be shouldn't care if the machine fails to open windows on demand, but they should care if that machine could be dangerous to other machines

    2. Re:Blame the User but... by Otter · · Score: 1
      It is certainly true that users place reliability very low on their list of priorities when buying products, but that does not necessarily means that they don't value reliability. It merely means that they take reliability for granted.

      I think there's also a cost-benefit tradeoff that people make, which varies from item to item. I spend a lot more time in Word than in vi because the added features and usability are worth far more to me than the occasional crashes or file corruption costs.

      If it were a pacemaker, and not a word processor, you can bet I'd use the sturdy, stable codebase instead of the flashy, featureful one.

    3. Re:Blame the User but... by Webmonger · · Score: 1

      Hmmm... One of the suggestions in the article was that companies only be liable for bugs they fail to disclose. If the entire source code is disclosed, does that mean all the bugs are disclosed?

    4. Re:Blame the User but... by alext · · Score: 1

      I doubt that you'd accept the idea that cars should be exempt from safety standard if they provided you with the blueprints

      Quite right, but a car represents a package that has very little value if it is unsafe, as opposed to, say, a collection of car parts. Free Software, by contrast, may well have value without proof of quality.

      In time, I think the distinction between distributing information and distributing programs will blur and elements of trust and certification will apply similarly to both. We do this already to a certain extent, ascribing greater trust to an the Reuters than to a rumour board.

    5. Re:Blame the User but... by starseeker · · Score: 5, Insightful

      "As for the idea that open source software should be exempt - I doubt that you'd accept the idea that cars should be exempt from safety standard if they provided you with the blueprints :-)."

      But I would if the car were given to me for free with the blueprints. When I use such a car I am knowingly accepting the conditions that, while the designers may have done their best to make it work properly, I accept the risk of failure. That's where the no free lunch part comes in for free stuff - you don't get to nail hides to the wall if it doesn't do what you want. If you want someone behind it, pay them to take the legal risk. Otherwise, you're at the mercy of the developer's good will unless you want to become an auto mechanic. The difference is - with the blueprints, I can figure my way out. Commercial software sues you if you try the equilivent operations.

      Anyway. Bad analogy. The act of paying someone an agreed upon sum for support is where the responsibility part comes in. Not supplying blueprints.

      --
      "I object to doing things that computers can do." -- Olin Shivers, lispers.org
    6. Re:Blame the User but... by west · · Score: 1

      But I would if the car were given to me for free with the blueprints.

      I suspect that most people would be afraid that it would be the end of the *commercial* open-source movement.

      And surely you would agree that without Red-Hat, and the other commercial organizations working to sell Linux, Linux in the outside world would be a shadow of its current self.

      That's why legislation could be so disasterous. The reason that commercializing open source works is that the source material (sorry :-)) is free. It can't be a high margin business when you're selling free stuff, which means you don't have the resources to maintain liability for a huge project that you didn't create yourself.

    7. Re:Blame the User but... by Jester99 · · Score: 1

      As for the idea that open source software should be exempt - I doubt that you'd accept the idea that cars should be exempt from safety standard if they provided you with the blueprints :-)

      But if a friend of mine built me a car and gave it to me for free, I'm certainly not going to hold it to the same standards as a car made by GM or Ford.

      If it blows up, well, a friend made it. T.S.

      The liability of the software company should be some function of A) how much they paid for the software, and B) how expensive the system is that it's running.

      So, if you pay $5000 for a software package, they're more liable for damages than if you only paid them $50.

      And... if you didn't pay anything cuz you just downloaded slackware, wel, $0 X anything is still $0.

      (This would, however, put an onus on Redhat et al who do charge for boxed copies to make sure it's reliable. But, that's their whole game -- creating a support infrastructure for Linux.)

  49. slashdot@simra.net by Anonymous Coward · · Score: 0

    Another address for the bots!
    -SpamTroll

    1. Re:slashdot@simra.net by robbo · · Score: 1

      I'm not trolling for spammers. If someone wants to reach me by this address, I'll probably read it, at least until it becomes flooded with cheap viagra ads. Just don't put "Make money fast" in the subject header. ;-)

      --
      So long, and thanks for all the Phish
  50. Are New Laws Necessary? by limekiller4 · · Score: 1

    I'm not entirely sure that new laws are the answer here. So far as I am aware, if someone commits a reckless act that they knew or should have known would cause injury or death to someone, isn't that already actionable?

    --
    My .02,
    Limekiller
  51. slashdot@stango.info by Anonymous Coward · · Score: 0

    Feel the wrath of SPAM!
    -SpamTroll

  52. $60 billion??? by HornyBastard77 · · Score: 1
    The study mentioned in the report can be found here.

    Interesting reading, especially since they actually only studied two industries (and from the info provided it doesn't look like those two were studied in too much detail either). They then took the results from those two and extrapolated them to the entire economy. IMHO that just results in the findings of the 'study' being nothing more than an educated guess. Just how educated it is is anybody's guess.

  53. What amazes me by gmhowell · · Score: 1

    What amazes me is that some shyster (pronounced: Peter Angelos) hasn't filed a class action lawsuit against Microsoft and everyone else. Seems like the money he could make on that deal would dwarf what he expects to get in the (bogus) cigarette lawsuit.

    --
    Jesus was all right but his disciples were thick and ordinary. -John Lennon
  54. Cars crash everyday to! by rufusdufus · · Score: 1

    So computers crash. And you know what? Cars crash everyday to. Few software bugs end up killing people, but crashing cars is one of the top killers! Why don't they make cars that can't crash? It could be done!

    Get some perspective here people. Computers aren't made perfectly reliable because the free market says they don't have to be. And they don't. The cost of making bug-free software is much higher than the value of bug-free software. If you are going to argue the point, please take that energy and go save some lives by fighting for safer cars.

    1. Re:Cars crash everyday to! by MilesBehind · · Score: 1

      The car manufacturers are responsible for the quality of their product. If my air bags spontaneously pop into my face without any reason, snapping my neck and making me paraplegic, you bet Hyundai's gonna have a lawsuit on their hands! And I am pretty sure that they will lose. Marketing substandard products for uses that could result in bodily harm or death from product malfunction should be illegal. This is why we have standards.

      That said, I don't think that OS should be uncrashable to get to my computer. I lost my biochem lab (2 nights worth of work) to a MS Office glitch, but I don't think I should be able to sue microsoft for that. It's just that if a company claims their software is good enough to run air traffic control systems on, they better be ready to answer a few questions when BSOD causes a mid-air collision.

    2. Re:Cars crash everyday to! by arpit · · Score: 1

      Good point there. Users expecting software to not crash is like expecting that you won't end up in a car wreck no matter how badly you drive.

    3. Re:Cars crash everyday to! by Anonymous Coward · · Score: 0

      What the fuck? I'm willing to wager that, more often than not, car crashes are due to operator error and are NOT due engineering defects in the car. Are you saying that computer crashes are the same way: entirely the user's fault and with no blame on the design of the program?

      BTW, it's "too" not "to".

    4. Re:Cars crash everyday to! by An+Onerous+Coward · · Score: 1

      Of course, most car crashes are caused by user inattention/incompetence. A smaller number are caused by people driving badly maintained cares. Manufacturer defects are way down the list.

      If 50,000 people died every year from manufacturer defects in cars, my hunch is it would be front page news every day until it stopped.

      My belief is, when they start letting computers do the driving, the accident rate is going to go way down, but every car crash is going to make the front page.

      --

      You want the truthiness? You can't handle the truthiness!

    5. Re:Cars crash everyday to! by Anonymous Coward · · Score: 0

      It's just that if a company claims their software is good enough to run word processing systems on, they better be ready to answer a few questions when BSOD causes the computer to loose the entire document.

    6. Re:Cars crash everyday to! by SuiteSisterMary · · Score: 1

      Aye, and most computer problems are caused by user inattention/incompetence.

      A smart driver knows not to suddenly veer into oncoming traffic. A smart naval officer knows not to type '0' into a 'divide by?' field. In neither case does the car or database stop you from doing it.

      Yet when the driver veers into traffic, he's obiviously an idiot. When the naval man tries to divide by zero, well, it's all Microsoft's fault!

      --
      Vintage computer games and RPG books available. Email me if you're interested.
  55. The world (yet) is non-homogenous by WetCat · · Score: 1

    Imagine the liability law on software has been accepted.
    Ok. I am an software creator. I just move to a different country, which have no such law,
    and will continue to create and publish software. It'll just will bear clause in license: Not suitable for use where prohibited by law (US).
    Whenever.

  56. fear the reds!! by Anonymous Coward · · Score: 0

    www.marxism.org

  57. Is there a downward trend? by bcrowell · · Score: 3, Interesting
    Is there really a downward trend in quality? How should we measure quality?

    I started using computers ca. 1979, when my dad got a TRS-80. I don't remember ever encountering a single software bug on that system, although the hardware certainly had its problems.

    But does that mean that quality is getting worse? The OS on that machine was on ROM, and was about 4 kb. A modern OS weighs in at many, many megabytes. It's possible that the number of bugs per line of code has actually been going down.

    Another possible metric is how often the user encounters a bug. By this metric, non-OSS consumer-level software has certainly been getting much, much worse. I switched to Linux from MacOS, and my average number of bugs encountered per day went from maybe 5-10 to some number less than one.

    Some things have definitely changed since 1979:

    • In the early 80s, software mostly came as BASIC source code. If you encountered a bug, you could fix it.
    • Software houses used to be much more open about bugs. I briefly worked on tech support and quality assurance for Digital Research around 1983. We had a list of known bugs in each product, and we would fax customers the list on request.
    • Performance is much worse. A TRS-80 would boot in a matter of seconds, whereas today the Windows boxes at my work take up to 3 minutes. The first word processor I ever used, Electric Pencil, started up in a fraction of a second, and never had any noticeable delays in handling input. This was on a CPU a hundred times slower than current ones!
    1. Re:Is there a downward trend? by Anonymous Coward · · Score: 0

      Oh you bring back memories. My old TRS-80... still have it actually, Model-I, 48K LII basic, LDOS, floppies.. and a moving box or two full of software. Yup, it booted in *seconds*. The only software I ever used on that machine that had bugs was the software I *wrote*, or code that I keyed in from a magazine and mistyped something.

      Still got it, still works fine. Every once in a while I still power it up and play a game of Galaxy Invasion or something, just for kicks ;-)

    2. Re:Is there a downward trend? by Anonymous Coward · · Score: 0

      In the early 80s, software mostly came as BASIC source code. If you encountered a bug, you could fix it.

      In the early 80s pretty much every user was also a programmer. How large portion of users today could fix even simple errors? 1%? 0.1%? 0.01%?

    3. Re:Is there a downward trend? by bluGill · · Score: 1

      I don't think your memory is very good, because I recall serious bugs from that age.

      I didn't work with the TRS80, but I did work with the atari 800. Basic SHIPED with a bug that is locked up randomly. I learned to save my work often so that I didn't lose much, a skill that is still critical in todays world, because most other program lock up or crash once in a while. The correction for that problem worked, but now everytime you save a bunch of garbage was written to the file, after several save/load cycles the program would no longer fit in memory due to the appended garbage. In all it was nearly 10 years before Atari released a basic that didn't have bug that you needed to be aware of.

      As for booting fast, sure cartrages booted fast, but then my BIOS boots fast. Anything from disk took a long time. Windows boots fast on most computers today than atari dos did then, despite the atari only having 80k disks, while windows is many meg.

    4. Re:Is there a downward trend? by fferreres · · Score: 1

      It's possible that the number of bugs per line of code has actually been going down.

      You've found the solution! Let's just add ^M or spaces whenever we need to get the bugs per line lower. Great for stability.

      Really, I don't think anybody cares about bugs per line, they care about crashes per day or maybe lost revenue per year (goverment should see it as lost taxes per budget year also).

      It is not even funny. IE can crash, but the OS should not crash. Stop optimizing and comparing based on marginal speed gains. That beign said, xmame is kinda slow for my celeron 433...so i tend to optimize it as much as I can, so the thing is having optimization where you don't care about it being stable.

      --
      unfinished: (adj.)
  58. Why should... by Uber+Banker · · Score: 5, Insightful

    Why should liability be software or hardwar based?

    If i design a system to move some gears via an operator pressing big electronic buttons as a mechanical engineery, why should an electronic engineer who designs a program to operate the gears be exempt?

    We are both designing a system to do a job. As an electronic engineer, I make my system based on some OS, so either I or the OS manufacturer (which, I add, licences an OS, if it is used against the license terms, it is my liability) has the liability.

    Don't be lazy allocating responsibility.

    1. Re:Why should... by Anonymous Coward · · Score: 0

      As a potential operator, I hope your electronic engineery skills are better than your grammatical.

    2. Re:Why should... by Anonymous Coward · · Score: 0

      I don't think an engineer is an operator, nor do I think you grammar is an good...

      > ...electronic engineery skills...

      wtf is engineery?

    3. Re:Why should... by Fulcrum+of+Evil · · Score: 2, Interesting

      why should an electronic engineer who designs a program to operate the gears be exempt?

      • Because none of his development tools are sufficiently accountable to trust.
      • Because he is paid less than a plumber - he can't afford to be bonded on the wages you're willing to pay.
      • Because nobody is set up to bond programmers.
      • Because nobody wants to pay for quality.
      • Because guaranteeing the correct operation of a complex piece of machinery in an uncontrolled environment is idiocy. At least a manual gearbox leaves evidence when it gets overtorqued.
      • Maybe the safety interlock wasn't in the spec.

      As an electronic engineer, I make my system based on some OS, so either I or the OS manufacturer (which, I add, licences an OS, if it is used against the license terms, it is my liability) has the liability.

      What are you really? electronics engineers build circuits and hardware. Programmers build on top of an OS. Unless you got a RTOS, you almost certainly got no claim of correct operation. You really want to warrant that MS or Sun makes a bug-free product?

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    4. Re:Why should... by dubious9 · · Score: 3, Interesting

      Programmers build on top of an OS

      Not always. There are alot of embedded applications where there is no operating system at all. Each program would function as its own operating system. There is overhead with OSes and sometimes you don't need the functionality. When you have simple hardware with a simple interface, dropping the OS is a good option.

      Also, I'm pretty sure the software that runs air traffic control or cars has a chain of responsibility going back to the programmer.

      --
      Why, o why must the sky fall when I've learned to fly?
    5. Re:Why should... by Anonymous Coward · · Score: 0

      If you knew how air traffic control systems are built, you would not want to fly anymore. Believe me!

  59. Re:Frost piss on a Sunday by Anonymous Coward · · Score: 0

    Actually, there was this one time when I was in the mountains with my parents that I really had to take a piss. It was really cold, and were were on highway 18 going up to Big Bear. My dad pulled over, and I got out to take a piss. I opened just enough of my pants to allow my tiny peter to stick out so I could piss effectively. Only, I miscalculated - and I pissed inside my pants. How? Well, I wasn't paying much attention I guess, what with all the cars going buy and the cold. So, there I was, soaked, in the cold. I got back in the car. My parents knew I had a problem, probably because it smelled like piss in the car. Good thing it was a rental. That reminds me of the time I was on an air plane. Basically the same thing happened. But this time, 200 people got to enjoy the smell of piss for 5 hours. Man, I'll never forget when the food trays came around. Lots of people were puking too. That was the worst. Puke and piss smell. It smelled like the mental hospital. That reminds me of the time I was at the hospital. That was fun. No one cared when I pissed my pants. They even let me walk around for hours with pissed pants. I guess I was pretty pissed, HAHA. After a while some guy in a white suit came over and told me to take off my clothes. Then he hosed me off, and gave me new clothes to wear - what service. Then I could piss myself all over again. Pissing myself is great - it's so warm and wet. It reminds me of being a baby. Baby's have it best. They can piss and shit their pants. I don't shit my pants because it's hard to get clean. But piss just comes right off with very little effort. It's nice to be clean again after pissing my pants. My bed has these plastic things that are like huge diapers. I don't have to wear a diaper because those things are always there. The hospital people tell me that pissing my pants is the least of my problems. I take like fifteen different pills for all my other problems. That sucks, because one of them makes me really jumpy. They tell me to take it when I have bad toughts. I think I'm having one right now. HAHA...that's a good one. My head hurts.

  60. For example, Java by alext · · Score: 1

    Indeed. In fact, Java is probably the greatest example of IT innovation in the last decade or so, and that was specifically designed to address security requirements.

  61. WTF not? Vote with your feet! by FallLine · · Score: 1
    IMO if a company is unwilling to supply you with the source code (under whatever license) to let you see and fix problems that exist they should have no possible exemption from litigation, no matter what POS EULA they persuade you to sign.

    They are asking you to place your trust in them that their code is good enough to bet your business on. If their software is not all it's cracked up to be and you had no chance to check their claims (but instead had to take their word for it) then they clearly are responsible for breaking their word.

    Unless they told you that it was a buggy product that you couldn't rely on in the first place... now that would make for amusing adverts.

    (Can you imagine Windows boxes with cigarette-health-warning style labels on them saying "The Computer-General warns that this product may be bad for your business.")
    What nonsense. This is a problem best left to free markets. If you truly believe open source is that important, that you or someone else might _effectively_ audit the source for you, then you can always vote with your feet by going to the open source competition or developing it yourself. If it's that important to consumers, then it WILL become a driving force in the market. The fact of the matter though is that it is NOT in the majority of cases. Please note that not ALL software is free from liability (for instance, medical device software, guidance systems, etc), but that the majority of non-critical off-the-shelf software that you buy is. One of the problems with a system such as yours is that it reduces the flexibility of the market. Yeah, it's possible that someone might want to write medical device software application on Windows 95--but why force MS to write to such a level when 99% of the users do not need or want this (the costs associated with it...the lack of features, etc) In other words, even that 1% is better off with a different product, one that is engineered from the ground up to be safe.

    Furthermore, the idea that the opening of the source is sufficient for the consumer to audit the code or absolve the developers of liability is laughable. Properly auditing software is very time consuming, complicated, and expensive. It is beyond the means of any individual consumer to audit all their software whether their name is Joe Schmoe or Lockheed Martin. I would argue that the mere opening of sizable application's code is like just letting the consumer open the hood up to their car (the status quo, even if you throw in the service manuals). Would you release automakers of liability just because they give you what they're giving now (opening the hood, manual, etc)? No. The reason is that, like software, most consumers cannot be expected to see the millions of little details that can lead to failure. They can't be expected to know the specifications that a particular joint was engineered to, even if they can see it, measure it, and even evaluate the material. Auditing CAN be done better by trusted 3rd parties--which makes opening the source code unnecessary and even risky in some cases.
  62. Guess you did not read the UHH did you? by Anonymous Coward · · Score: 0

    I switched to Linux from MacOS, and my average number of bugs encountered per day went from maybe 5-10 to some number less than one.

    Of course you encountered fewer bugs. Linux simply decided there was no need to disturb you with any mention of the fact that things were not going as you expected them to.

  63. Scary Stuff - Merchantability by TheNumberSix · · Score: 1

    There might be something to the idea that consumers are to blame.

    Disclaimer: IANAL

    Most EULAs include denials of Merchantability and denials of Fitness.

    This is usually the part of the EULA that is in all caps. (It was required to be in all caps by the state of CA in an effort to make sure people read it, but as an aside, I would argue that putting in caps almost guarantees that no one reads it.)

    Now, could you imagine if you were about to drive over a bridge and there was a sign saying "By driving over this bridge, you acknowledge that this bridge is not warranteed for any particular purpose and the owner makes no guarantees whatsoever that it may do or not do anything."

    Essentially translated: "This bridge should not be driven over by anyone for any reason whatsoever. If you still want to do that, stop and pay a toll!"

    I don't think people would stand for that. Yet people accept denials of merchantability and fitness all the time in software. Those terms in EULAs were put there specifically because software makers back in the day were getting sued under product liability laws. It's rather shocking that people put up with it.

    --
    Never confuse feeling with thinking.
    1. Re:Scary Stuff - Merchantability by Anonymous Coward · · Score: 0

      I dunno about you, but I live in CT. It seems to be that every highway has a sign that says "State Liability Limited", and in essence states that you drive on this road at your own risk. ...and yet, we *do* have to get to work on time.

    2. Re:Scary Stuff - Merchantability by Anonymous Coward · · Score: 0

      I dunno about you, but I live in CT. It seems to be that every highway has a sign that says "State Liability Limited"

      My uncle has lived in CT for as long as I can remember. To hear him tell it, the state's economy went in the shitter a long time ago because a tour bus crashed into a tollbooth somewhere in the state, and the state got the shit sued out of them over it. They got rid of all the tollbooths (typical stupid, knee-jerk reaction), and the revenue has been tough to make up elsewhere ever since.

      After that, I wouldn't be surprised at all if they passed all kinds of laws limiting their liability if you drive on their roads.

    3. Re:Scary Stuff - Merchantability by SuiteSisterMary · · Score: 1

      Part of the reason is, I suspect, that the bridge is built by trained and accredited engineers; they know how to build a damn bridge.

      But when some idiot uses, say, PHP to build an e-commerce site, but fucks it up, because he sucks soooooo terribly at PHP programming, is that PHP's fault?

      --
      Vintage computer games and RPG books available. Email me if you're interested.
  64. my solution by gyratedotorg · · Score: 1

    what we need is an independent organization to certify that a given program is secure, stable, reliable, etc.

    company x would submit program y (with complete source code) to this independent organization to be tested and audited, etc. the cost of this audit would be paid for by company x. sure it would be expensive, but in return for this investment, company x would be able to say "yes, program y meets all existing standards for security, stability, and reliability."

    so by making this a totally opt-in process, companies that apply for these software audits would benefit, consumers would benefit from better software, and free/open software developers could be left alone to produce as much buggy software as they want, knowing that they wouldnt be held liable. =)

    --
    Gyrate Dot Org - "Where high-tech meets low-life"
  65. the notion that... by zogger · · Score: 3, Interesting

    ..the notion that vendors would be liable for *bugs they know about* has some merit. Think about it. If the large companies-we'll pick on MS because it's such a good example-were forced to fix bugs in a timely manner, then they would need to accept bug reports. They would also have to release bug reports as soon as they knew about them, ie, they couldn't sit on a critical exploit and let people hang out in the wind for months and months. Once a report was made to them, it would then become an official bug they couldn't ignore. They'd have two choices then, switch to open source to find as many bugs as possible in the shortest time, or keep paying claims forever because they ignored bugs. Either way they would release less of better quality, not really a bad idea. If they wanted to hire professional beta testers, so what? More paid jobs. I don't see that as being all that bad. Nope, I don't.

    Open source -FOSS- is in a unique position because it's "free". There can't be any damages if you haven't paid for it, or at least that could be part of "the law" written into it.

    Normally I'm against new laws, but instituting some sort of consumer protection should be in order, if these companies want to make serious profits all the time. There are very few examples of consumer products out there that have no liability at all attached to them. With just a short time reflection on it, I can't think of any off hand, just *some* software. Eventually it's going to happen, so better to sort it out now, it really should have been sorted out 30 years ago, IMO. I tell you what will cause it too, if it's not done voluntarily in advance and adhered to, the first uber killer mass virus or trojan that makes code red or slammer look like a case of the sniffles, a net-killer. You'll get ten times worse legislation out of washington if the software community waits until that happens.

    I'd say it's bound to happen sometime, too. The article cites 50 some odd billion a year already in losses due to either bad or insecure programs, you have something bad happens that does ten times that in one day or something, you WILL see the mother of all knee-jerk reactions from "the software consumers".

    Well, OK, say that "something" is needed - What would be reasonable, but still not stifle development? One would be outright sales of software, not just renting -licensing of software. You buy it, you OWN it. You get it at such and such a date, as of that date it worked as advertised, after that date, well, up to the vendor then, anything "new" that needs to be added is up to them, from free unlimited patches and updates to pay-for individual bugfixes and exploits as you go, forever. Could be a yearly lease thing, whatever. For-profit vendors would get on the ball pretty quickly then if they charged too much or it didn't work all the time. they'd be forced into auditing as the most important part of production. Hmm, is this a bad idea really? The software is sold as "works on this and this, won't work with that and that". Yes, that would make software developers tend to work around just a few pieces of hardware and one or two OSs max no doubt. It would also be very expensive. Very expensive. Maybe people would go to the no liability but free stuff then? And I can see various versions in between those two extremes.

    Could there be set limits per incident? Perhaps. Max liability, perhaps.

    How about classifications of software?

    "Entertainments" might be of lower criticality (so less liable in terms of maximum cash) then say the pacemaker software, or auto-controlling software. "Communications" like browsers and email and chat would be in the middle someplace in those terms of criticality. If your business depends on UPS or FEDEX to ship widgets, and they constantly don't get there or they are smashed, those companies would be sued out of existence. but if your widgets are electronic, well? It's just your tough luck as the consumer then, the software and the infrastructure has let you down, but they all get to say

  66. Not if they do it right by Sanity · · Score: 2, Interesting
    It sounds like they are proposing that people will only be liable for bugs that they know about and don't disclose - not exactly a serious problem in the Open Source world.

    Forcing companies to disclose bugs in this way could only serve to allow users to make more educated purchasing decisions on the basis of software reliability.

    Imagine that I wrote some software that I *knew* was buggy, and then sold it to a hospital or into another situation where people's lives were at risk. Imagine then that one of the bugs I knew about before selling the software killed someone. Why shouldn't I be responsible for that?

  67. Sir, by Anonymous Coward · · Score: 0

    as a major fan and scholar of the "rambling insane monologue" style of troll post, I salute you. This post should be saved and treasured.

  68. Re:how NOT to build reliable software by blastedtokyo · · Score: 2, Insightful
    This sounds a lot like what companies are doing today. They rank their employees and then cut 50% of them because their sales are in the tank.

    The real right answer is to move that 50% to testing, double project timelines, add diagnostics and plan for quality from the very beginning.

  69. Cost/benefit by Tomster · · Score: 1

    Like most everything else, this falls into a cost-benefit analysis. The Shuttle code, as many of us know, is perhaps the most high-quality code on the planet. Medical software ranks pretty highly as well (with a few exceptions). The script you put together to analyze hits on your corporate webserver was probably not given the same thorough analysis and attention. Why? Because if it fails, all it costs is some embarassment for you, maybe a little financial loss for the company if it based marketing/advertising decisions on your script's incorrect results.

    In general, however, software quality is poor. It's usually one of the first things to get thrown out when the schedule slips (as it usually does). I would like to see higher quality standards enforced through an industry-acceptable mechanism.

    -Thomas

  70. Re:WTF not? Vote with your feet! by alext · · Score: 1

    Auditing CAN be done better by trusted 3rd parties--which makes opening the source code unnecessary and even risky in some cases.

    I think you're conflating the idea of visibility and control. There's no reason that a 3rd party can't sign a distribution - this happens already. Of course, if a recipient changes the code then the certificate no longer applies.

  71. reliability tradeoff by Anonymous Coward · · Score: 0

    Software is generally unreliable because we are not willing to spend the money to make it reliable.

    Building a bridge may take millions of dollars and hundreds of people, but an equivelently sized software project has a handful of programmers and a ridiculously short timeframe.

    Programming can be extremely complex, much more so than "bridge building". If we treated software development like a real engineering discipline, the costs would be astronomical.

    Critical software has always been rigorously tested before shipping. For everything else I'm happy to suffer a few bugs for the sake of having things sooner and keeping costs down.

  72. Its not a bug its a feature!!!!!!-nt- by Anonymous Coward · · Score: 0

    nt

  73. Long overdue by Anonymous Coward · · Score: 0

    Whenever a new buffer overrun or whatnot pops up I always hear, "It's the admin's responsibility to patch. No software is secure." Blah blah blah. Imagine if there were a defect in your CPU that allowed remote intruders to take over your system. Would you be so soft on Intel or AMD? Software is complex, but that's no excuse, it's why we pay these supposed experts obscenely large piles of money to write it for us. Lots of other things in our daily lives are complex too and they certainly don't crash several times a day.

    Sure, software is a new industry, but at some point it has to grow up and be as robust as architecture or aviation. That will never happen as long as the government continues to coddle them by withholding liability. Why spend money improving your products when you can just obfuscate the file formats again and tighten your vendor lock-in instead? So what if that needless complexity adds still more bugs which cost your customers even more money--hey, they can't sue you!

    It's time to put an end to this crap. If you sell something, it has to work, end of story. As for free software... well you don't expect a warranty on anything else that's free, so I don't know why people think a software liability law would be any different. Companies like Red Hat that make money off of free software would bear the liability instead.

    Anyone who says vendor liability would stifle innovation is full of themselves. If anything, the embarrassing unreliability of software is what is holding it back. No one dares use software for anything important unless they have to because it's just so untrustworthy. Does the "Keep it simple, stupid" principle really reflect a desire for elegance or a fear that we simply have no inkling of how to determine if what we build actually works or not?

    How much of the typical IT guy's job is essentially patching holes in other people's products when they could be writing new software? Even other software developers waste time chasing bugs in the libraries/OS/drivers they depend on. The interdependence of software components is an argument for liability, not against it.

    The complaints here are no better than the RIAA's that internet downloading stifles innovation. You want the government to protect your inefficient business model while the public bears the cost.

  74. Flashy by Arandir · · Score: 1

    The article also says, however, that consumers' favortism of flashy products over reliable ones is partly to blame for the current state of software.

    Apropos the "newbie" Linux distros, with their flashy installer, flashy autoconfig, flashy tools and flashy packaging. Compare them to droll, dry and boring Debian and Slackware. Which group is more reliable?

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  75. No need for a uniform policy. by praksys · · Score: 1

    There is a somewhat old, but still very good article about this kind of problem on salon. Worth a read I think.

    Anyway, the number of deaths that can be attributed to software failure is quite small, and just as importantly no one has a clue as to how many lives have been saved by software reliability. For the most part software is used to replace human activity, and humans are notoriously unreliable. We really need to know what the trade-off looks like because if we delay the use of software with regulation, and are forced to live with even more unreliable humans in the meantime, then more people will wind up dead rather than fewer.

    I would also note that there is no need to have a uniform policy on software reliability. Consumers may prefer flashy over reliable, but unless they are performing heart surgery with their mp3 players, who cares?

  76. It is not so much the bugs, but.... by rspress · · Score: 1

    It is not so much the bug but how the are handled. Some errors would not be so bad if they were handled correctly when the happen. I was talking to customer relations at Dr. Pepper and the person I was talking to put an '*" in the address field of the program she was running. The whole customer relations computer network crashed when she did this, causing lost time and money for the employees maning the phones, extra phone charges for the company and lost time for the customers on the phone. A simple error like this should have been handled by the software company that wrote the program. Even when I was writing basic language programs I took into account bad data input. It may have looked like spaghetti code to some, but it never crashed.

  77. Is there an RFC for the storage of X-rays? by stalinvlad · · Score: 1

    You know as in I got a broken leg?

  78. Secure platforms help by alext · · Score: 1
    In the early 80s, software mostly came as BASIC source code

    ...or as tokenised BASIC "executables", of course.

    The interesting point here is that the interpreter approximated a secure platform, meaning that the whole class of buffer overflows and wild pointer problems we got used to later were absent. This level of assurance only reappeared in mainstream IT with the advent of Java.

  79. Um... it already exists to a large extent. by RyanFenton · · Score: 0, Redundant


    Really - why do you think vendors place the "this software is not meant for any purpose, express or implied" language in licence agreements? Because if the vendor promises something, and that thing is blatantly not promised, then the customer can still generally get their money back en mass, thanks to resellers demands, and if it goes far enough, the legal system will generally enforce contract law with regard to purchases and false advertising.

    Similarly, if a company were to go insane, and actually make a clear promise on people's lives with their software, down to the legal writing, with no one signing any waivers, and someone got killed as a direct result of the very design of the software, then under existing laws, at least someone in that software company would be legally brought up on charges for that death.

    To add any extra levels of "blame" on top of that seems to me to be as superfluous as, well, the DMCA.

    The moment anyone starts "getting away" with what otherwise would be crimes just because a computer was used (not because of encryption, which can be done without computers also) - then I'll agree that new laws might help... but to add special liability for sofware companies seems more an act of hysteria than anything else.

    Ryan Fenton

    1. Re:Um... it already exists to a large extent. by RyanFenton · · Score: 1

      Eek. Wrong thread. I... dislike it when that happens. :^)

      Ryan Fenton

  80. Simple by Anonymous Coward · · Score: 0

    Of the products from a company constantly crash on you...just don't buy from that vender any more :-)

  81. human errors by Anonymous Coward · · Score: 0

    "more deaths are caused by human error than by bad software"

    Aren't bad software due to human errors?

  82. Liability = Regulation? by joab_son_of_zeruiah · · Score: 2, Insightful

    Medical devices controlled by software have stringent FDA approval cycles. Basically you establish the quality of the engineering process, document the heck out of it, and then show clinical effectiveness in random control trials.

    What I find fascinating is that legal basis for this is Food and Drug Act -- for the protection of the public as the reason. But the more important side benefit for the approval process is to protect physicians from liability. It's frightfully expensive. And, BTW, physicians *don't have to do this* if they are involved in active oversight when using an experimental device.

    Conclusion: Most software products should be viewed as experimental devices which are being used by competent individuals and which therefore all liability is absorbed by the user. Check your EULA and GPL.

    Overall this article is regrettably superficial and quite predictable given the history of the quotees, which in the case of Peter Neumann goes back at least 25 years. Not much has changed. Even the examples have the same kind of air about them.

    Don't expect progress any time soon. Usually we need some kind of highly visible public disaster (e.g., like the recent nightclub fires) to motivate action.

  83. Because it would kill the computer market by Sycraft-fu · · Score: 4, Insightful

    You want verified design? Cool, you can get it. You can get a design that is gaurenteed to have no bugs and to never crash. This exists today, however you need to be prepared to PAY for it, in many ways.

    First, say goodbye to the concept of being able to load your own apps or run it on your own hardware. If the company is going to certify that everything will be bug free, they need to know that a 3rd party isn't going to fuck that up. Your system will be verified to run on a certian hardware and using certian software. You will not change any of that without consulting the company first to do a verification of the proposed changes, or you'll invalidate the gaurentee and service contract. After all, you can have 100% stable code, but if a peice of hardware has a dodgy kernel mode driver it doesn't matter, that can being the system down.

    Second, you will have the access restricted. You won't be able to just put this system on teh Internet to be accessed in any way you like, it will be accessed only through verified channels. You cannot potentially have the integrity compramised by clients sending unforseen data to it so all access must be controlled.

    Finally, you will pay in terms of price. IF you want a system of this level you are not getting it for under a thousand dollars. Think 6 or 7 figures, plus a yearly matenence contract since you yourself aren't allowed to maintain it.

    We have systems of this level in the real world. Like the AT&T/Lucent phone switches that run most of your phone network. We have one at the university and know what? IT never goes down, it didn't even go down when they upgraded it from a 5ESS to a 7R/E. It is 100% reliable. However, it is totally inflexable. We can't mess arnound with new technologies with it, it does phones and it does them only one way. We don't even work on it directly, it came with two technicians as part of the service contract. Oh, and it cost nearly 20 million dollars.

    Look, if you want to have a computer market where anyone is free to build hardware and assemble it how they like, and you can freely use whatever software you want, you have to accept that there WILL be problems and you won't get verified design. The big part of a verified design is just that, verification. You check EVERY part of the design and make sure it works properly with the other parts and has no errors. Well the problem is that hardware, software, and user interaction are all a part of that and all have to be restricted. Once a design has been tested and verified, it can't be changed without reverfying.

    So, if you really want 100% reliability, and can afford it in terms of monetary cost and teh sacrafices you have to make, then don't whine, go and get it. Talk to IBM, EMC, Dell or the like. They'll design you a system to do what you need that will never crash ever. However you'll need to decide what it needs to do and be happy with that, because you won't be able to change it, and you'll have to pay a real cash premium for it.

  84. Re:Wait... by morleron · · Score: 1

    I thought it rather ironic that the main ad on this page, when I loaded it, was for the MS .Net developers kit. Somehow I just think that the sentence fragment "reliable Microsoft software" makes no sense on any level.

    Just my $.02,
    Ron

    --
    Impeach Barack Obama for violating the Constitutional requirement to be a "natural born" citizen to hold the office of P
  85. But why would they want to audit the code? by hndrcks · · Score: 1

    Remember, it was Bill himself who said the biggest competitor for Windows 98 was Windows 95. Sure, everyone would prefer reliable, stable code - but then, what would be the customer's justification for upgrade? Where is the company's future revenue stream to come from?

    I thought the article was a little disengenous referring to the customer's 'favoritism' for flashy software... the practice of upgrading to solve old bugs has been beaten into the rank-and-file Windows consumer.

    --
    Everyone will start to cheer when you put on your sailin' shoes.
  86. Hmm by stalinvlad · · Score: 1
    I don't know about you but...

    I ve taken FreeBSD of this m/c and put win2k on

    Never looked back, crashes less, feels quicker, couldn't understand the source code anyway so who gives a f*ck

    oh yeah and it runs all the s/w I need and use

    There you go Bill, have another dollar

  87. No liability for defects? by nomadicGeek · · Score: 5, Insightful

    I disagree about the article's assertion that there is no liability for defects in software.

    I deal with embeddeded controls in industrial control equipment all of the time. I just had to change my insurance company last year and my rates went up because companies are being held accountable and insurance companies are paying out when people screw up. Many companies don't want to insure programmers anymore. Sounds like the hammer is coming down to me.

    You may not be able to sue MS the next time Excel craps out on you but I assure you that you could sue a programmer because the system that he programmed dumped 1000 gallons of a toxic substance into your containment area or because you just released a toxic cloud of ammonia from your plant.

    When the stakes are high, programmers tend to have to test a lot more. You still have to remain economically viable though. Three lines of code a day may work for NASA but the rest of us can't afford to be that inefficient. Of course the stuff that I can blow up is at most worth 10's of millions of $, not billions.

    When it comes to embedded control apps, I don't think that things are much worse than they are for our physical counterparts. Yeah a plane crashed because of a bug in an altitude control system but they also crash because of other design problems in the mechanical, electrical, and materials engineering areas. I don't think that programmers are any less aware that lives depend on their work than any other type of engineer.

    If you are doing number crunching types of applications, you also tend to run the code through a battery of tests. You can definitely be sued for screwing that stuff up.

    Now little controllers in your dishwasher and your run of the mill desktop apps are held to a lower standard, I agree. You are rewarded by the market for getting new stuff out the door cheaply and quickly. You can certainly argue that it shouldn't be that way but the masses have spoken. If your stuff gets too far out of hand then the market will let you know. MS is definitely feeling the pressure from OSS and rightly so. I can bet you that they are atleast trying to respond. I can definitely see a big improvement between the Windows XP that I run on my notebook and desktop and the NT 4 that I ran a few years ago. I can also see that Windows 2000 is much better than NT 4 was on the server, but it isn't good enough yet and that is why a lot of people are moving to Linux for things like web servers, DB machines, etc. The market is speaking.

    I would say that programmers are ultimately held accountable. I would hate to see things swing too far out of hand as I do think that it would ultimate stiffle innovation.

  88. Do we pay for reliability? by tengwar · · Score: 1

    Bill Gates has maintained in the past that customers will not pay for bug fixes - and hence by inference will not pay for reliability. I suspect that this is demonstrably untrue. Personally I bought Win2k for my own use purely for its stability compared with '98 and ME (dons Nomex underwear). Thoughts?

    1. Re:Do we pay for reliability? by jjohnson · · Score: 1

      Your personal history is anecdotal; the sales history of Microsoft's products is strong evidence to the contrary.

      --
      Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
    2. Re:Do we pay for reliability? by tengwar · · Score: 1
      Your personal history is anecdotal; the sales history of Microsoft's products is strong evidence to the contrary.

      That's a pretty bald statement. Since I assume you aren't going to say that Win2k didn't sell, can you explain this "strong evidence to the contrary"?

      Two Windows operating systems were on sale at the same time. One of them cost more and had less backwards compatibility, but higher stability. It had a significant proportion of the sales, particularly in the corporate market. Now maybe those customers were buying Win2k for something other than stability, but I don't see that you can get that purely from the sales history.

    3. Re:Do we pay for reliability? by jjohnson · · Score: 1

      You're right, Win2k did sell, though not in as large numbers as Microsoft hoped. Most of the sales (and I really don't have any direct support for this assertion beyond my own anecdotal perceptions) cames from OEM bundling. There wasn't the rush to upgrade to Windows 2000 that there was from 3.1 to 95 and 95 to 98. Likewise, XP's sales have largely been driven by the removal of 2k from OEM computers.

      But really, I was making a larger observation. The fact that Microsoft software has made them the behemoth they are today is the evidence to the contrary when there was always more stable, more secure OSes/software out there--various more expensive unices, OS/2, Macintosh...

      --
      Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
  89. Go Standards Go... by Anonymous Coward · · Score: 0

    'Microsoft contends that setting [reliability] standards could stifle innovation...

    If Microsoft claim that litigation will run rampant and that the price of software will rise, this can only benefit the small software companies again as people turn their backs on expensive and buggy and head for cheap and stable. It's not surprising that the company with the most pathetic QA track record in history would complain that people might have a legit reason to litigate.

    I'd argue the opposite. Well designed and written software requires far less maintenance, which can only allow smaller companies to invest their time on creating new and improved product. The real risk isn't that innovation becomes stifled, but that the body that defines a reliability standard confuses Software Engineering with QA. Let's face it, all that we are really talking about is imposing good quality control measures as a standard. That can only be a good thing... happy customers mean your products and company image remain sound and you get to make more money. A Win^2 situation surely?

  90. Re:WTF not? Vote with your feet! by FallLine · · Score: 1
    I think you're conflating the idea of visibility and control. There's no reason that a 3rd party can't sign a distribution - this happens already. Of course, if a recipient changes the code then the certificate no longer applies.
    What am I conflating? How? Firstly, this sort of "change" suggests malicious behavior, which is quite different than bugs as a result of poor design/coding/QA. If that 3rd party audits the software with feature A-Z (e.g., version 1.1), then why would the developer have reason to substantially change it (short of some malicious intent)? Secondly, the 3rd party could always sign the resulting binaries if the users are really that concerned.
  91. blueprints up front... by maxconfus · · Score: 1

    if the home construction industry was allowed to start a home without a final blueprint like the way every software project I have ever worked on has been developed. There would be a lot less home standing through the winter.

    --
    A hand up and a foot on every chest...
  92. Re:WTF not? Vote with your feet! by Ian+Bicking · · Score: 2, Insightful
    This is a problem best left to free markets.
    The free market only works when all parties are informed. You're right, just opening up the source doesn't mean the consumer is informed, though it does imply they can become informed, or at least that they have an opportunity to confirm claims made on that software.

    Of course, EULAs make further restrictions intended to keep consumers uninformed -- barring benchmarking, sometimes barring other criticism (does Frontpage still have that clause?), not allowing security flaws to be published, etc.

    Even with source, false advertising is quite possible, and should be punishable if we are to have a free market. It is now, but not done with great vigor.

    Anyway, I guess my point is that this isn't a free market, and that the free market cannot be achieved with laissez faire policies.

  93. Re:WTF not? Vote with your feet! by dogfart · · Score: 1
    Would you release automakers of liability just because they give you what they're giving now (opening the hood, manual, etc)?

    If i were buying a used car, I would insist on being able to choose a mechanic to evaluate the car's condition. Having done that, I WOULD release the seller for any liability for the typical mechnical problems associated with buying a used car (e.g., bad brakes, emission controls tampered with, etc.). Works for cars, should work for software. Can't guarentee the car will work perfectly, but the inspection reduces the risk by enough that I feel comfortable completing the transaction. Similarly, a design/code inspection won't guarentee the software is perfect, just that it is good enough to serve its intended purpose.

    --

    "dope will get you through times of no money better than money will get you through times of no dope"

  94. Re:WTF not? Vote with your feet! by alext · · Score: 1

    You stated that opening the source code was "unnecessary and even risky" to the notion of auditing it. There is no such relationship.

    It is also immaterial what the source of a change is - you appear to be agreeing with me insofar as what matters is simply whether the code is that which was certified or not. Any change will invalidate this guarantee.

    Regarding whether source or binaries are signed, you are touching on the notion of a Trusted Computing Base, itself a set of certified components, which might encompass an OS and compiler. If only the OS is in the TCB, then the certifier would be obliged to ship binaries, whereas if the compiler is included he can ship source.

  95. Isn't this just the old NASA T-shirt... by cyril3 · · Score: 1
    Cheaper, faster, safer

    Pick two.

    in a software context.

    1. Re:Isn't this just the old NASA T-shirt... by Namaseit · · Score: 1

      I thought it went Reliability, Usability, and Performance

      --
      75% of all statistics are made up!
  96. Re:Wait... by Anonymous Coward · · Score: 0

    When "Timmy, The Lniux Hippie" running the show, everyday is Bash MS Day.

    Now that Timmy's manning the bridge, we can look forward to a slew of MS bashes. I was somewhat suprised to see he didn't work a bash into the AK47/MP3 player story. Must been all the blood left his big head, heading for the little head (nudge, nudge)

  97. The blame game. by entrigant · · Score: 1

    Sorry if this is redundant, I didn't have time to check every comment :). Anyways, the one problem I see in this is finding who to place the blame on. So many things can cause failures these days you better be damn sure the people you are sueing are actually to blame. Was it hardware the failed. the OS, a 3rd party library, or another application altogether? I think a lot of people wouldn't do the required research to firugre out the exact cause of the problem before they started throwing lawsuits around. Most people already don't on other issues...

  98. Well it's the good old trade-off by Kjella · · Score: 3, Insightful

    Price, features, speed and reliability. Pick some but you can't have all.

    To write almost bugfree software, like DoD / NASA (just be sure to check the specs for metric or not), the price is astronomical. Despite the obscene profit margin, Windows would be *much* more expensive if written by the same standards.

    Also, adding features is another reason for instability. Not only commercial software, but also OSS software has been accused on focusing too much on adding features. In the commercial world because features sells, and OSS I think mainly because adding features is more fun than debugging an elusive bug that only happens on friday 13th under a full moon.

    Another thing is speed. Particularly games are running the latest beta drivers on a tweaked and retweaked engine for speed. This is happening both in the high-end (pushing eyecandy) and in the low-end (pushing playability for low power machines). Don't expect perfect stability from that.

    In short, I think the market would normally work this one out by itself. When delivering appliances I feel you should have the same liability as for the rest of the car. I mean whether the brakes fail because of a mechanical or electronic (software) design flaw, is not very relevant. However, for a typical software program that operates only on your computer processing information, I don't see this as very useful. Requiring some kind of standard would not change the basic trade-off, and it's not the producers' fault that the consumers aren't valuing reliability and security. They aren't willing to pay the price in form of money (How many complain about the price of Windows already), features (Go Linux. More stable, less features though) or speed (How many complain about the speed of Java that tries to abstract away from bugs related to not properly terminated strings, pointers arithmetic and array indexes out of bound?). So what did you expect?

    Kjella

    --
    Live today, because you never know what tomorrow brings
  99. And even worse... by raehl · · Score: 4, Interesting

    Lots of people don't even WANT reliable sofware - at least, they don't want to pay for it. I'll happily accept my software crashing once a week if it saves me $300 on the cost of what would otherwise be $100 software. The last thing we need is to have the software industry start to look like the healthcare industry, where everyone pays 3x what they should to cover the insurance in case someone needs to sue someone else.

    If you need absolutely, positively reliable software for some purpose, than contract with a company who is willing to provide it, and pay the price it takes to get it. But Joe Blo software user should have to foot the bill because someone ELSE wants to force ALL software to be reliable under penalty of multi-million dollar lawsuit. If I sell an operating system designed to let you play MP3s and video games and browse the internet for $99, and you use it you run your mission-critical application that causes you to lose $100 million when it crashes, why should I be liable because you used my (albeit buggy) tool for a $100 million mission critical ap? It's YOUR job to assure that you are using the correct tools for the job, NOT the guy who makes the tools!

    It's like cars - just because your transmission goes out doesn't mean you get to sue the manufacturer. You get your transmission fixed if you've purchased a car with warranty terms that allow it to be fixed, and otherwise you pay for it yourself.

    1. Re:And even worse... by spirality · · Score: 1

      It's YOUR job to assure that you are using the correct tools for the job, NOT the guy who makes the tools!

      They have a name for it "due diligence".

      I havn't had OS X flake out (it's never crashed per se), but like twice in a year and a hafl, and both incidents were after a considerable amount of "up time". This is good enough for me and my mp3s, recreational programming, writing, and games. :)

      You're 100% right!

      -Craig.

    2. Re:And even worse... by Slime-dogg · · Score: 1

      The last thing we need is to have the software industry start to look like the healthcare industry, where everyone pays 3x what they should to cover the insurance in case someone needs to sue someone else.

      As a programmer, I'll say that I wouldn't mind getting paid as much as the people in the health care industry do. :-)

      Perhaps the entrance level barriers for CS need to be raised to the level of doctors, so that everyone has a massive base of standardized training. That way, if you hire a programmer, you know that you're going to get something out of him that isn't mediocre. If you do, he'll have malpractice insurance that bails him out, even though he'll never have another job again.

      It's unrealistic, but I'd prefer that to the diluted intelligence of the industry that we currently have.

      --
      You need to restart your computer. Hold down the Power button for several seconds or press the Restart button.
    3. Re:And even worse... by rpg25 · · Score: 1
      It's like cars - just because your transmission goes out doesn't mean you get to sue the manufacturer. You get your transmission fixed if you've purchased a car with warranty terms that allow it to be fixed, and otherwise you pay for it yourself.

      Well, no, that's not true. There are certain warranties the manufacturer is obligated to apply, and there's an implied warranty of merchantability (I'm not sure I got the jargon right there.

      If your transmission goes out and your car gets totalled, you will be able to sue the manufacturer, and will probably win, if you can show it was poorly manufactured. In fact, if you can show negligence (e.g., you find those emails where someone said the transmission was garbage and someone else said "oh, what the heck, let's sell it anyway, gotta make our quarterlies."), you will be able to recover punitive damages, too.

      Caveat emptor is not the law of the land.

    4. Re:And even worse... by Anonymous Coward · · Score: 0

      It's not unrealistic. What we need is more industry associations, eg advertising that says if you hire a programmer associated with American Software Engineers Association (I made it up, don't sue me :-) you can be assured of quality software meeting ISO900X standards, blah, blah, blah, we'll meet your costs if it goes wrong etc.

      Just like plumbers and other folks who make stuff.

    5. Re:And even worse... by raehl · · Score: 1

      But if you were driving the Kia you just bought at the dealership around the race track at top speed when something failed, you'd likely not win your lawsuit.

      While you'd have a reasonable expectation that your car will work under normal operating conditions, and you have a reasonable expectation that software which says it is for an X86 processor computer will work on such a computer, you'd have a tough time demonstrating that you had a reasonable expectation when you bought Windows that Windows would never crash.

      Although my XP seems to be pretty good about not crashing, so maybe MS is screwing themselves over there by raising expectations. ;)

    6. Re:And even worse... by rpg25 · · Score: 1

      You're absolutely right. I read your original note as making a stronger statement. Certainly, if you drive your Kia on a racetrack, you're violating the terms of its implied warranty (and almost certainly the terms of its explicit warranty!), since that's not the environment in which it's expected to be used.

      I think there's been a lot of heat and not much light generated in this discussion by people who don't understand the different expectations that come from different uses. Nobody should expect that Word will never crash, but you have a lot higher expectations about flight-control software.

      OTOH, it seems to me that even office software manufacturers shouldn't be able to get away with the current shrink-wrap licenses that disavow all functionality. I think we're entitled to some implied warranty, even for office software.

    7. Re:And even worse... by Anonymous Coward · · Score: 0

      You're assuming medical training consistantly produces high quality medical professionals. The joke's on you! Hahah!!!!

  100. The Hurd by Anonymous Coward · · Score: 0

    > I agree. Users want cutting edge, not reliability. ..and that's why people are using the Hurd.

  101. Contrapositive by whovian · · Score: 1

    Says the story, 'Microsoft contends that setting [reliability] standards could stifle innovation, and the cost of litigation and damages could mean more expensive software.' The article also says, however, that consumers' favortism of flashy products over reliable ones is partly to blame for the current state of software."

    Wow--I had no idea. Microsoft does practise what they preach.

    --
    To-do List: Receive telemarketing call during a tornado warning. Check.
  102. Time for another regulatory body! by silverhalide · · Score: 3, Insightful

    This isn't really a huge issue, it's just illustrating the need for another certification program. Look at the semiconductor market: There's semiconductors that you can use in everything, then there's semiconductors rated MILSPEC and Hospital grade, which have been tested and are approved in critical situations. Same damn semiconductor more or less, just has been exhaustively tested. They usually cost many times that of the other part, but you KNOW it will work, 'cause whoever made it is going to stand behind it.

    We need the same thing for software. Someone to set up some guidelines, and provide certification to software that is going to be used in a critical application. Hell, maybe even the UL could open a division and do it. It is plain stupid to assume authors have liability over all software written, especially in the open source world. However, if I buy a product, and its software has been certified by a trustworthy organization, I'd feel better about myself.

    1. Re:Time for another regulatory body! by zoftie · · Score: 1

      no! and yes! well... the software is more like a english writing you can't really expect it to be 100% reliable, until you can control compilers and other things.
      I do agree with you however, processors should stop
      adding instructions and imporove on current set of
      instrucutions. That is one point.
      The other is compilers and third party tools. Each is being created with tools that are inherently are black boxes. Further more, you may use Borland C++ and created of external package may use GCC. There are different versions of tools, each one produces code quite a bit different from other. How are you going to control that code? You can't. If you are talking about couple of thousand lines of code for microcontroller, that may be inspected for specific bugs much easier then 1.5 million codebase of commercial airline website.

      For one thing, people *got* to make up their minds on exactly what they want. Not waffle, around.

  103. Microsoft position surprising (no... really) by Anonymous Coward · · Score: 0

    If you think about it, laws that mandate software reliablity would just increase the barrier to entry of new software. If laws were passed, theres a good chance lots of small software companies would go out of business because they couldnt afford the extra measure that the laws would require. This in turn would help microsoft since its competition would be decreased.

    Large corporations are usually in favor of protectionist government policies like this since the money they gain by stifling upstart competition is much larger than the costs it would incur by following this law.

    This explains the fact why large corporations are usually the largest donors to the democratic party.

    1. Re:Microsoft position surprising (no... really) by Anonymous Coward · · Score: 0

      Are you mad? If companies were legally liable for the failings in their software, Microsoft would've been sued into oblivion by the companies socked by ILOVEYOU.

      The next ILOVEYOU is out there somewhere, it just needs to be written by someone when they discover the next security hole in a Microsoft product.

  104. If MS != reliable, get out of computer field.. by Anonymous Coward · · Score: 1, Insightful

    I agree, if I fork over lots of $ to MS, I expect a reasonable amount of reliability of their product (they are after all, selling software to enable me to do something reliably). I microsoft can't produce reliable software, then they should find another venu to make money, perhaps selling music cd's..microsoft is a very rich monopoly that should be sued for inept performance in reliable products..they could have spent money years ago developing good software reliablilty systems to debug their code (but they didn't want to do any R&D for years..too much money, not enough lawsuits I guess)

  105. Depending on unreliable systems by dpuu · · Score: 5, Insightful
    "The idea that we depend on something that's inherently untrustworthy is very frightening," he says

    If something is inherently unreliable then you don't need to fix it: you find ways to live with it. A perfect example of this is the internet itself. TCP is a reliable transport provided over IP, an unreliable internetworking layer.

    Make no mistake: IP is explicitly and deliberately unreliable. This keeps it simple, and allows upper layers to choose appropriate quality of service parameters for their application.

    How this relates to the issue of unreliable application software is fuzzy: but its pretty obvious that humans have adapted to the reality of the situation: the power-cycling protocol is just one example of the ways in which we cope.

    If a situation is life-critical, then I'd be happier knowing that the system is designed to cope with glitches then if the system assumes these glitches have been tested out of existance. Cosmic Rays really do exist, so some level of unreliability is guarenteed!

    --
    Opinions my own, statements of fact may contain errors
    1. Re:Depending on unreliable systems by swordgeek · · Score: 1

      Interesting and accurate point of view. Our own DNA replication is somewhat unreliable, but also contains what is effectively a checksum.

      Cosmic rays, as you imply, cause glitches. We have ECC RAM for that purpose (and many many other checks in memory systems on high-end boxes). We also have things like redundant power supplies, hot swap/fail CPUs, RAID, etc.

      But unreliable software is harder to make redundant, because it's unreliable information, not pieces of hardware. Maybe we need all life-critical software to be supplied by two independent vendors, and pull data from both products simultaneously? Something.

      Clearly though, we need to figure it.

      --

      "People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
  106. Hold your horses by Anonymous Coward · · Score: 0

    Before you guys go onto your "Yay, kill Microsoft" tirades, remember, Microsoft can afford this. Most smaller vendors cannot. Insurance companies will immediately jump onto the opportunity and software prices will skyrocket while shutting down the smaller outfits.

    Also, this will have an impact on opensource. If vendors become liable and opensource is not then companies will have all the more reason to purchase commercial software so that they will have protection. And if opensource is also deemed liable then such vendors, and possibly even private programmers, could be brought to task on vulnerabilities.

    This is not the win/win scenario that many see it to be. This will undoubtedly escalate and will impact opensource negavitely regardless of how liable it is. Regardless of how proactive a company may be bugs will still emerge. And the only companies to survive will be those who can pay. That's Microsoft, and probably only Microsoft.

  107. Free software and special cases by Anonymous+Brave+Guy · · Score: 4, Insightful
    This just means that the laws should special case free software.

    In most places, free-as-in-beer stuff is already fundamentally a special case, because unless something of value changes hands in both directions, you don't have a contract.

    Of course, free-as-in-speech software neither deserves nor should get any special privileges. If you make money by selling me an OS that happens to be GPL'd, open source, or otherwise "free", that's still something you're selling me. "Oh, you should have looked at all the source code for Linux and spotted the critical bug for yourself" isn't much of an excuse at that point; I'm paying you to have done that for me.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Free software and special cases by neitzsche · · Score: 1

      Isn't product liability normally limited to what you paid for the product? Proving negligence or malfeasance I thought was a completely different kettle of fish.

      The point the parent poster was making was that punitive dammages could (theoretically) be levied again the original author, but that is just wrong any way you look at it. Especially when you consider that open source software is reviewed by many more sets of eyes than any proprietary piece of software, and consequently *is* of much higher quality.

      --
      "God is dead." - Frederik Nietzsche
    2. Re:Free software and special cases by Anonymous+Brave+Guy · · Score: 1
      Isn't product liability normally limited to what you paid for the product?

      I guess it depends on your particular locality's laws, any licensing agreements in force, etc. Whether that should be the case, rather than whether it legally is, may be a different question, of course; as you suggested, I think negligence in claims made etc. have to be considered here as well.

      The point the parent poster was making was that punitive dammages could (theoretically) be levied again the original author, but that is just wrong any way you look at it.

      My view is a simple one: as with anything else, the damages should be levied against the people who (a) take the money/other compensation, and/or (b) make the promises associated with the product.

      Especially when you consider that open source software is reviewed by many more sets of eyes than any proprietary piece of software, and consequently *is* of much higher quality.

      I think it's best to stay away from statements like that in a discussion like this. There may well be some truth to it in some cases, but I'm not at all convinced that it holds in general (my experiences with major open source alternatives to things like browsers and office suites certainly haven't supported your claim) and there's precious little hard evidence to rely on in discussions anyway.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    3. Re:Free software and special cases by neitzsche · · Score: 1

      Whether people who profit *should* have damages levied against them or not, does not have much to do with US Law. I share your view that the profiteers should be held accountable. My question remains, aren't the damages that they can be expected to pay for product liability limited to what you paid them for their product or service?

      --
      "God is dead." - Frederik Nietzsche
    4. Re:Free software and special cases by Anonymous+Brave+Guy · · Score: 1
      Whether people who profit *should* have damages levied against them or not, does not have much to do with US Law.

      True, but then many places have a more sensible legal system than the US, and surely the purpose of debates like this thread is to provoke thought and, potentially, lead to changes in that law?

      In answer to your question, certainly most EULAs I've seen state that no liability shall exceed the purchase price, yada yada yada. Then again, we all know how much legal weight EULAs aren't known to have and that this has never been tested in court, and we all know that in the US the words are meaningless until a court decides what they mean...

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  108. What they should do... by Anonymous+Brave+Guy · · Score: 2, Interesting
    All this will do is make them add a clause to the shrink-rap EULAS "I accept responsibility for any loss off blah blah as a result of software defects"

    What they should do is remove any legal weight from clauses along the lines of "This software comes with no warranty of any kind, including fitness for any particular purpose..."

    If you're taking my money for it, it should be fit for something, just the same as any other product, and just the same as any other sales pitch, I should be given a fair and accurate description of what the software I'm paying for is or isn't fit to do.

    Part of the problem here is that most people on this thread seem to be thinking in absolutes: "if Word crashes, I can sue MS for [evil grin and pinkie finger to mouth] one million dollars!" It's not about 100% reliability, it's about reliable enough. A word processor doesn't need to be bug-free, it just needs to be reliable enough to write my documents under normal circumstances. MS might reasonably be expected to pay some compensation for excessive downtime due to their carelessness with the recent product activation issue, but not if Word crashes because of some incompatibility with other software on your machine about which they can do nothing.

    Surely it should all come down to fair and reasonable marketing claims (don't say it's 100% reliable if it ain't) and fair and reasonable compensation when those claims are found to be erroneous (if you said it was in good faith, but it turned out not to be, you give me back some reasonable amount in compensation, depending on how effectively you addressed the problem once it was discovered).

    If you want 99.99999% up-time for your server, you can buy from someone who claims to provide it, paying whatever the going rate is for it, and expect to get it (or compensation). However, you aren't entitled to assume that WinXP is suitable for running operating theatre laser surgery algorithms "just because" and then sue MS when it doesn't live up to the job you've foolishly given it.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:What they should do... by Anonymous Coward · · Score: 0

      What they should do is remove any legal weight from clauses along the lines of "This software comes with no warranty of any kind, including fitness for any particular purpose..."

      Take a look at sections 11 and 12 of the GPL. Or how about the FreeBSD license?

    2. Re:What they should do... by Anonymous+Brave+Guy · · Score: 1
      Take a look at sections 11 and 12 of the GPL.

      Take a look at my first post to this thread. :-)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  109. Nope by Anonymous Coward · · Score: 0

    Probably not. By step 10 your software will be about 5 years behind the competition's.

    You get what you pay for.

  110. LOL its not the coder's fault? by CrazyJim0 · · Score: 1

    Its the user's fault because he wants a flashy product?

    I thought it was the coders fault for putting backdoors in.

  111. Multiple Code Paths? by Anonymous Coward · · Score: 0

    Is it possible to remedy some of this via multiple redundant code paths? Sortof like eXtreme Programming 2.0 - now we take 2 pairs of programmers and let them write the same logic, test it, etc. If there's a failure in one of those instances of logic, it tries to execute via the other? Now take this approach and scale it from programming/testing to architecture, analysis, etc. Just a thought.

  112. Societal Senescence by Baldrson · · Score: 0
    A quote from Tacitus:
    When the state is most corrupt, then the laws are most multiplied.

    Tacitus was speaking of a society going into senescence -- it had piled corruption upon corruption under color of law because it simply felt so good to those in power to pass laws.

    Something similar is afoot with the idea that you can get better software by reducing labor costs via H-1B visas -- it boils down to a society in which responsibility for one's words is dissappating and being replaced by the same sort of nonsense that ultimately replaced the rule of law in Rome: The word of an Emperor God who had at least shown himself worthy due not to his ablity to manipulate and mince words -- but on the field of battle.

    It is far too plausible that the United States is leading technological civilization down a similar path due to the way words have become a medium of manipulation rather than communication. It is to the point now that those who make hiring decisions for software are afraid of Occam's Razor -- for it just may cut their umbilicle chord as well as making code comprehensible, reliable and secure.

  113. what is the price of features and speed? by zoftie · · Score: 2, Insightful

    reliability. further, we expect more and more features and expect it at a low price. People who design software, do so on language that is backwards compatible with ones 20 years ago, namely C++, which carries some of the many failures on many levels into living applications. Now the language is not wrong, but how many people really considered writing their applications, say in Lisp, Scheme or Forth. Each language has its advantages, yet economics of software development demand that people should use most widespread language, so that it would not be as hard to hire decent software developers. What most managers do not realize is that by choosing a language they meddle in the affairs of those who know the field much better... The is whole stigma with using software tools, languages being the core. And often it is decided by managers who do not carry responsibility for development and manintenace of the software. And even if they do common fallacies used to justify imposition of specific tools onto software teams.
    However sometimes teams are fortunate enought to have choice in matter of tools, yet they never really have the way to verify that something they have created is exactly what a customer needs. Scrutiny by expert users is often absent from software development ... except games! So what do you expect? Incomplete requirements, unfit tools ... list goes on and on. Very few people are able to cut through the bullshit, and crap in general to get a very good software package out. Nevermind treat their employees right. Bugs is corporate software are just some of the sysmptoms corporate world bearing off, core of the problem being, is sheer miscommunication in way public companies are handled - which is what most of software companies are.

    In the end it is all about compromises and vision. Software bugs are just side effects, that will exaterbate any main problems a software company has. (that is bugs in tested and released software).

    Plus something that was not tested for and does not have fatal outcome on the program is not a bug, i'd rather qualify it as a glitch...
    my 2c.

  114. +1 Insightful [!TextBelow] by eugene+ts+wong · · Score: 1

    m

  115. Automated techniques for finding bugs by daveho · · Score: 1
    There is a substantial amount of current research which focuses on identifying defects in software. For example, many synchronization errors, buffer overflow errors, etc. can be detected using automated techniques. Surprisingly, a significant number of bugs can be found even in well tested commercial code. My advisor and I are working on a tool for finding bugs in Java code:
    http://www.cs.umd.edu/~pugh/java/bugs/

    We've found that even very simple bug pattern detectors turn up dozens or hundreds of bugs in production code.

    The good news is that as bug-finding techniques mature and become more widespread, more bugs can be found during development rather than after applications are deployed.

  116. +1 Pecisely [!TextBelow] by eugene+ts+wong · · Score: 1

    t

  117. Oops! s/Pecisely/Precisely [!TextBelow] by eugene+ts+wong · · Score: 1

    n

  118. Pacemakers by bluGill · · Score: 1

    I'm not an expert on pacemakers, but I don't know if I believe your claim that I want the reliable vs the featureful pacemaker for all cases. Imangine that your heart condidition requires a feature that doesn't exist in the stable pacemaker to correct. What do you do? Use the unstable version and die beacause your rythems are not corrected right, or risk a failure in the less stable version?

    Point is, in some cases failure isn't allowed, but smaller stable code is not nessecarly a compromise that you can make either.

    Of course if the unstable pacemaker just allowed a me to pull up statistics with no medical value, then of course I don't want it.

  119. Cold Day in Hell by oaf357 · · Score: 1

    It will be nice when Microsoft realizes that the whole "innovation" thing is like beating a dead horse (a really dead horse). Everyone should know by now that Microsoft hasn't done anything uniquely innovative, ever. They might have bought out innovation but original, unique, and beneficial innovations aren't really their bag.

  120. sorry for not being clearer by ejeetify · · Score: 1

    There's a difference?a large one, actually?between considering college degrees based on the quality of the college (i.e., not giving so much weight to degrees from colleges that aren't so strong) and ignoring all college degrees. To do the latter is nothing short of foolish. The idea that anything below a M.A. or Ph.D. is useless regardless of who issued is almost as foolish.

    1. Re:sorry for not being clearer by ejeetify · · Score: 1

      those question marks should be em dashes ()

  121. how about making it mandatory to... by Festering+Leper · · Score: 0

    ...have drivers and such supported or at least updated for x number of years instead of being dropped like a rock when the next version of comes out? we've all got a lot of hardware that i can't use anymore or can't use because updates (and fixes) were shelved permanently. most of this is just lack of will. it's disgusting how much hardware waste stuff like that causes.

    --
    if you want people to think you know what you are talking about, just put ".com" at the end of everything you say.com
  122. "1 error per 10KLOC" by That_Dan_Guy · · Score: 1

    Back when I was a CompSCi student the guy teaching Software Engineering was the most interesting classes to be in. He worked at NASA on verifying the code for the manuaver jets (orwhatever they call them) was bug free. It was supposed to take only one semester. He was gone 3. That was for just 3 pages of code.

    NASA figures they have the most bug free code on the planet. And they figure they have about 1 error for every 10,000 lines of code or "1 error per 10 KLOC" (at least this was back in '92 or 93). They also figured the average programmer could pump out 10 lines of error free code a day.

    TEN LINES A DAY! My God! How many lines of code are there in Windows?! How many people do they have working on it? They aren't pumping out a measily 10 lines of code a day! That's for sure!

    Heck, if Linux was written at that speed I doubt we'd have any kind of graphical interface at all!

    Now think about something like the a fly by wire Jetliner. Oooo... two or three million lines of code, divided by 10,000 (assuming NASA level error rates) and you'd never get my old professor to fly on one of those! Oh, what about Star Wars Missile defense? I think I'll stop flying altogether and just take a boat thank you!

  123. Re:WTF not? Vote with your feet! by FallLine · · Score: 1
    You stated that opening the source code was "unnecessary and even risky" to the notion of auditing it. There is no such relationship.
    Says who? I think that opening the source code is unnecessary because it adds very little in the way of assurances and because a good 3rd party can almost always do a better job. Opening the source code CAN increase the risk because it ALWAYS increases the exposure of the software to hackers and does not always have a substantial amount of peer review to counter-act that increased threat (I would submit that this is the case with most open source software). You can reiterate your open source articles of faith till you turn blue in the face, but I simply disagree.

    It is also immaterial what the source of a change is - you appear to be agreeing with me insofar as what matters is simply whether the code is that which was certified or not. Any change will invalidate this guarantee.
    What is your point? No party can give you 100% security--whether you're talking about the million "eyes" of open source or the skilled eyes of a good 3rd party auditor--but that's not the same thing. Those parties may still extend _their_ gaurantees, but that doesn't mean you have security. The point that I'm making is that you're always going to have risk. Yes, there is some remote possiblity that the company may modify the software on the QT, but if the auditors validate version 1.1 (with known features A-Z), then there's little incentive to sneak changes (you can't market it, it can't be too significant, ..and changes so small in scope are unlikely to be critical) in on the QT and many reasons not to (increased liability, the possiblity of getting caught by the auditors, reduced stability/market damage, etc). To make a long story short, you're still much better off with that than you are the "oh well open source will fix it" attitude.

    Regarding whether source or binaries are signed, you are touching on the notion of a Trusted Computing Base, itself a set of certified components, which might encompass an OS and compiler. If only the OS is in the TCB, then the certifier would be obliged to ship binaries, whereas if the compiler is included he can ship source.
    Again, what is your point? Baring some paranoid's wet dream, it's unlikely that the binaries can be modified in such a way that they could not be detected by an astute user. Why would a respectable company take such risks to make such modifications? Get real please.

  124. Another way to look at that... by jtheory · · Score: 1

    ...is that the bad coding that caused the Polar Landing accident resulted from poor communication among international collaborators.

    If one software module passes metric values into another software module expecting values in English standard measurement, that's a software error, whatever the reasons for it, and no matter how well each module was tested independantly.

    This really just highlights why writing "perfect" software is so difficult... there are so many ways something can go wrong, regardless of how intelligent and professional the creators of the software.

    Debugging a complex program is NOT like debugging a complex mechanical thing like a car... imagine if you cleaned the floor mats in your car, and the next time you hit 80 mph your entire chassis vaporized.

    --
    There are only 10 types of people: those who understand decimal, those who don't, and, uh, 8 other types I forget.
  125. Step 3.5 (Microsoft only) by Anonymous Coward · · Score: 0

    3.5) Announce with great fanfare, so people will defer purchase of a competitor's similar product that is already shipping!

  126. SO I Guess the X window system isn't impressive by knowledgepeacewi · · Score: 1

    Remembering back to the Commodore64 and even the nintendo, the Graphical systems we've developed (besides all of the alogorithms and code behind the rest of computing) are innovative and amazing.

  127. Free Software by Anonymous Coward · · Score: 0

    Distributed without liability to creator. No one purchases it. Use at your own risk.

  128. Re:WTF not? Vote with your feet! by FallLine · · Score: 1
    The free market only works when all parties are informed...Anyway, I guess my point is that this isn't a free market, and that the free market cannot be achieved with laissez faire policies.
    Nonsense. All parties are informed as to whether or not the software is open source. Consumers are perfectly capable of deciding their path for themselves; the market does not need to be artifically structured against closed source companies (as the prior poster suggested). That is to say that they can and should be capable of choosing to be personally "ignorant" with closed source, if it pleases them, without the extortion that the poster suggests. If open source proves itself to be a superior option, then it will eventually prevail.
  129. Re:WTF not? Vote with your feet! by FallLine · · Score: 1
    If i were buying a used car, I would insist on being able to choose a mechanic to evaluate the car's condition. Having done that, I WOULD release the seller for any liability for the typical mechnical problems associated with buying a used car (e.g., bad brakes, emission controls tampered with, etc.). Works for cars, should work for software. Can't guarentee the car will work perfectly, but the inspection reduces the risk by enough that I feel comfortable completing the transaction. Similarly, a design/code inspection won't guarentee the software is perfect, just that it is good enough to serve its intended purpose.
    That's a false analogy though. You may absolve the seller of liability after give the car a quick checkover, but the seller is NOT the manufacturer of the car and as such they cannot be held accountable for defects they could not have known about or prevented. What you're checking, of course, is that the car is free of damage from accidents, poor maintance and so on--basically that it's what that particular make of car should be at X miles. The checkover may make you confident that it's, say, a 1972 Ford Pinto in good condition without any major mechanical problems, but it's not going to tell you about the design flaw in the fuel tank and I'd bet dollars to donuts that you wouldn't let Ford off the hook if you suffered 3rd degree burns as a result.

    In short, you're comparing apples and oranges. In your case you're looking for wear and tear or accident related damages--that's relatively easy for an experienced mechanic to find--it's diagnostics, not engineering. In the case of software there is no such quick test that approximates this, because you're looking at its very form. If your mechanic is capable enough to replace all that safety engineering and QA put in place by car manufacturers with a 10 minute lookover, then I'm sure you can find a car manufacturer somewhere who would be sell you a car on the cheap without all that hassle.
  130. Take a look at Ada by RussP · · Score: 2, Informative

    Yes, Ada was designed from the ground up for reliability, and experience has shown that it substantially reduces bugs, particularly post-deployment bugs, the most expensive kind. I'm amazed that nobody else mentioned this. Oh well, nobody will read this comment anyway.

    --
    I watch Brit Hume on Fox News
    1. Re:Take a look at Ada by Anonymous Coward · · Score: 0

      I didn't read this comment.

  131. Too many low skilled programmers? by Ardias · · Score: 1

    The C/C++ Users Journal has an excellent editorial article about the low qulity of software. The premise is that a lot more people became software professionals than could be properly mentored into high quality developers. Also, a lot of people went into the profession who were simply not skilled at all. I think the article is right on the money when they say a main reason for low quality is that a lot of code has been written by people who just know VB or HTML and suddenly think they're hot-shot software architects.

  132. There is an Alternative? by Anonymous Coward · · Score: 0
    The article also says, however, that consumers' favortism of flashy products over reliable ones is partly to blame for the current state of software.

    You mean consumers know they have a choice between reliable and unreliable stuff?

  133. Re:WTF not? Vote with your feet! by Ian+Bicking · · Score: 2, Insightful
    My point was that this is not a free market, that we do not have informed consumers. It's harder to misinform with open source, but not impossible -- nor is it impossible to have informed customers and closed. But there is a definite attempt in the use of EULAs, as well as use of the DMCA and trademark laws, to keep consumers uninformed -- to keep people from communicating with each other about the flaws in a product. That's not a free market.

    However, it is still questionable whether closed source -- as it is typically sold -- really leads to informed consumers, even without restrictions Software is not particularly transparent, and its flaws may not be readily apparent. Buyer Beware is not the free market.

  134. U.S. DoD Addressed the Problem Long Ago by DaveAtFraud · · Score: 1

    The U.S. DoD addressed the problem a long time ago. Like it or not, the Defense Department has been putting computers in unique places long before someone thought of doing the same or analogous thing with a consumer product. As an example, think about how long you have been hearing about this or that fighter or bomber that was "fly by wire." This means it doesn't have the traditional physical control cables but instead relies on computers to actuate movement of the control surfaces. Some planes such as the F-16 and F117A are so aerodynamically unstable that the only way they fly straight and level is by the flight control computer making it happen. (Hint: if the flight control computer crashes, so does the airplane and they ain't cheap.) Same thing with command and control systems. The wrong person can get killed if the system says its OK to shoot when it isn't.

    Basically, the DoD kicks in higher levels of quality control as the consequences of something going wrong goes up. Guess what? It costs more and takes longer. Fly by wire commercial aviation goes through a simillar process. You just can't have the captain of a commercial jet say, "Ladies and gentlemen, we're sorry to report that the flight control computer just gave us a BSOD. Been nice knowing you." It still isn't perfect but there are some pretty impressive records for systems running cummulatively tens of thousands of hours without a glitch. But developing the systems took time and the testing took time.

    --
    They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
    Ben
    1. Re:U.S. DoD Addressed the Problem Long Ago by Anonymous Coward · · Score: 0

      Same thing with command and control systems. The wrong person can get killed if the system says its OK to shoot when it isn't.

      I think they've still got some work to do.

  135. spam by Rxke · · Score: 1

    mehinks that whole spambusiness has been launched by some evil genius to make us forget bitching about the time we lose due to crappy software

  136. depends on application by qubit64 · · Score: 1

    its probably been said already a dozen times but the level of security required depends on the application. for the average home user it doesnt matter too much, for a business its getting more important, for certain government applications its essential, and for critical life-saving systems it's life-or-death. personally i dont care too much about someone hacking my home box, but if they can hack my ECU and set the throttle to idle at 6000 rpm when im driving through a schoolzone, im gonna be pretty pissed. (so, never hook up an ECU to any kind of wireless network)

    --
    "Save me jebus!" - Homer Simpson (btw, I'm probably talkin out of me arse)
  137. Therac 25 by blamblamblam · · Score: 1
    UC Berkeley used to, and probably still does, include an article on the Therac-25-V accident in its introductory CS course reader. In this early example of machines gone awry, poor code and UI led to some cancer patients being treated to a hearty blast of extra juice, in turn resulting in at least a few deaths.

    Back when I took that class, we weren't required to read or discuss it, but I assume it was thrown in there amongst the hundreds of pages of Scheme code as a little note to those of us who would be building the digital infrastructure of tomorrow land to be responsible about keeping code robust, well-documented, and well-ventilated. Because, I guess, people's lives might be at stake.

    I read the article one day and though how much it all sucked and became a history major. But I imagine if I got suckered into coding again, I'd look that article up for some inspiration.

    (above link is for reference, I don't recall who wrote the paper in the Berkeley CS61A reader...)

  138. Re:Wait... by mythr · · Score: 2, Funny

    Actually, Microsoft software is quite reliable. Reliability does not, however, imply security or stability. My friends' MS software crashes quite reliably. ;)

  139. Gotta love that Microsoft line. by Slime-dogg · · Score: 1

    Microsoft contends that setting standards could stifle innovation, and the cost of litigation and damages could mean more expensive software.

    Basically, MS is saying that they are not responsible for the product that they managed to get into a monopolistic position in the market. When people get a computer, they usually don't have any other option then to get one of the MS OS's. When the consumer is not given that choice, the consumer should not be held responsible for the shortcomings of the OS. If they plug their Win2K box into the cable modem without updating (with patches that have no warrauntee), after installing frontpage... they should not be the ones responsible for an infection of Code Red.

    When you have a company that says that their innovative capacities are inhibited by the responsiblity that they may be required to take, that's when the company needs to reconsider their values. If a country depends on your product to operate, your product alone, then you had better make that product the best damn product ever. That includes a bulletproof security scheme, it includes error-trapping and stable code, it includes fixing everything that causes a blue screen out of the box.

    Since MS has been found in court to have a monopoly, they must shoulder the responsibility to the consumer. If they do not, then they've got to do something to allow competition to exist on the desktop. The consumer comes before the company. If what MS says seems to be beneficial to the consumer, it's probably enough of a euphamism to cover up something that's like "MS ain't gonna pay for what they're baby broke."

    grr. This crap really frustrates me.

    --
    You need to restart your computer. Hold down the Power button for several seconds or press the Restart button.
  140. "may cost more and more lives" by Anonymous Coward · · Score: 0

    THINK OF THE CHILDREN!!!

  141. What's society coming to *today* by gad_zuki! · · Score: 1

    > It's not like a switch was flipped and all the sudden society is headed downhill.

    Exactly, but there may be more here than just a sudden realization that you're up to your knees in nonsense. We're living in an age of cheap/free information, yet people are still getting their media and other information from the same traditional outlets. I can sympathize with the people who are net-savy and know they can do a google search for "new york post crediblity" but their friends just read the tabloid and go with it.

    There's this assumption, well its more like idealism, that easy access to differening viewpoints e.g. more information, will create a person with less bias and a love of the truth, but frankly it may never happen on a mass scale.

    In my Dad's day there was the local papers and if you were lucky an alternative weekly. Now you've got everything at your fingertips yet many are still reading the same old paper.

    Worse, there hasn't been a significant dent in the celebrity star system, which more or less reinforces the idea that celebrities are part of human nature. From the Illiad onwards we seem to want a hero and truth be damned, the story is more important than the fact. Sure X celebrity worked his/her way up from the streets with no shameless marketing, backroom deals, etc. Do people really want to know how the TV/Movie/Music businesses really work? I doubt it. Some do, but not enough to cause some kind of critical mass.

    In the end, there probably isn't a solution to these "problems." As humans we have needs and one of those needs is the hero/celebrity and information that doesn't threaten our worldview too much. Think religion.

    At best, we can come to a self-realization of what we're doing, but fighing human-nature on a mass-scale may take centuries of effort if its even possible. Plus, there's the hairy question of when to start. Sure we can toss out J-Lo but what about Odysseus?

  142. customers buy what they want by Provincialist · · Score: 1
    What they should do is remove any legal weight from clauses along the lines of "This software comes with no warranty of any kind, including fitness for any particular purpose..."

    Remember that not all licenses and contracts have this phrase. Perhaps the vast majority do, but most companies that really want a license that doesn't disclaim fitness can buy software from someone, for some (great) price. I know that the market system isn't always right, but in most cases we should at least consider the possibility. In this case, the market has decided that most applications don't warrant software guaranteed for a particular purpose. When conditions change so that software users decide they want software guranteed to do the job they want to do, they'll pay for this and they'll get it. Eventually, various structures like bonding and accreditation will fall into place and guaranteed-fit software will cost less than it would today. Perhaps this possibility justifies some sort of government mandate today, but that seems a rather weak argument to me.

    Hearing buyers complain that the law should have required them to buy something other than they wanted at the time reminds me of shareholders complaining about the actions of boards that they accepted by defualt proxy. In capitalism, it is not only the producers who are responsible for the traded products.

    later,
    Jess

    --
    I am programmed for etiquette, not destruction!
    1. Re:customers buy what they want by Anonymous+Brave+Guy · · Score: 1

      I appreciate your arguments about capitalism and market choice, but I think they fall down because we don't really have a free market. You say:

      In this case, the market has decided that most applications don't warrant software guaranteed for a particular purpose.

      That's not really true, though, because the market has no choice. This "no guarantees" condition is clearly in the interests of any software supplier, and can never be a benefit to a software consumer. However, because everyone adds it (for your typical OS or office apps, say) the consumer/free market principles don't apply.

      Under these circumstances, I think it is beneficial for the legal system to wade in and redress the consumer/supplier power balance. Otherwise, just as in any monopoly type situation, you have an imbalanced system where there's no incentive to change. The costs of being the first (and, for some time, only) supplier to offer genuine guarantees could be huge compared to any modest financial benefits.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  143. Re:WTF not? Vote with your feet! by greenrd · · Score: 1
    Opening the source code CAN increase the risk because it ALWAYS increases the exposure of the software to hackers and does not always have a substantial amount of peer review to counter-act that increased threat (I would submit that this is the case with most open source software). You can reiterate your open source articles of faith till you turn blue in the face, but I simply disagree.

    Well, for the benefit of onlookers who are undecided, I'll put this counterargument: Exposing the source to "hackers" is not the only factor to take into consideration. Developers are more likely to be careful, to take pride in their work, and to produce secure code, when they know that their code can be viewed by all their users, and when they work in an open source style rather than as an only-in-it-for-the-money corporate code monkey. Many eyes make a lot of bugs shallow. When was the last time you heard of a typical piece of closed-source software touting its "security audit by a third party"? And, even if a closed source product is security audited, NDAs can be used to "sit on" bugs if the developer cannot be bothered to fix them. (Highly unethical, but it can happen.)

    Especially with projects with diverse public participation, NDAs during a security audit of an open source product which allowed developers to ignore security holes would be unthinkable, and would result in huge media storms! At Microsoft, allowing developers to ignore security holes was (but hopefully is no longer) an implicit policy.

    Lastly, security through obscurity is a very lousy way of fighting "hackers". Closed source is not invulnerable, as we've seen - and if your IIS installation gets hit and MS's "remedy" proves to be nonexistent or less than suitable, who do you turn to? You have no choice, short of scrapping your investment in IIS (which is probably advisable!): by and large, closed source == monopoly aftermarkets.

    Using safer programming languages (recommended for many projects), or attracting some programming gurus who can prevent the most common security bugs getting into production code, are better strategies.

  144. Re:Frost piss on a Sunday by Anonymous Coward · · Score: 0

    You fucking rock. I hate rocks.

  145. A Good Thing [tm] for Free Software by KjetilK · · Score: 1
    I have been arguing that liability is a good thing for free software, if done right, because vendors selling our products would actually have a product to sell.

    Obviously, if individual developers become liable for the code they write, it would be bad. If, OTOH, liability follows the money, it would be a good thing.

    If you buy a Red Hat product, Red Hat is held liable for the bugs that may be there, not J. Random Hacker. So, Red Hat would have to thoroughly review the code, employing more people to do it. That way, more hackers could work full-time on free software. Prizes for free swoftware would go up, not a bad thing in itself, and so there will be more money to develop free software.

    The product that vendors would sell, is a warranty.

    I think the community should support efforts to make those who sell software liable for the products they sell.

    --
    Employee of Inrupt, Project Release Manager and Community Manager for Solid
  146. A Testers POV by Scooby71 · · Score: 1
    Ahh the traditional waterfall approach, focused on the programmer.


    Don't get me wrong, I'm not suggesting the programmer doesn't play a key role in software development, but this seems to suggest that they are the only ones that matter.


    How about consideration of

    i) The requirements - analysis of what is needed expressed in a clear, complete, concise and comprehensive manner (very hard to do and so seldom done) - put QA first not last, reviews and inspections of the documentation pays off.

    ii) Testers - testing independent of the programmers at the system, integration and user acceptance level. It's hard to be objective about what you write yourself, especially if the code works perfectly well but doesn't do what was specified. Testers require a different skill set to programmers.

    iii) The end users - reliability for an end user may depend on different criteria - on one level as long as the software does it's job in a satisfactory manner reliability may be secondary to functionality and usability. If reliability was so highly prized there would be many more mainframe systems being developed using green screen terminals.


    And yes, I am a QA consultant - someone needs to fight the testers corner.

  147. You need to know what you want by richieb · · Score: 1
    Another reason why software is unreliable, is that in a lot of cases we (the users and the programmers) do not know really what the sofware is supposed to do. Programming is writing a very precise description of how to solve a problem with a computer. If you don't know how to solve the problem or if you're not sure what the problem is, then your result will not matche people's expectations.

    Reliable software can be be produced in cases where the problem being solved is well understood (i.e. space flight) and the requirements do not change. Unfortunately, such problems are rare.

    Fo example, does Slashcode have a formal spec? Requirements document? Should I be able to sue when my comments get lost?

    If the answer to the above questions is "no", tha does that make the the actual software is useless?

    --
    ...richie - It is a good day to code.
  148. It works in DC by ragnar · · Score: 1

    I lived in Washington DC for three years and their traffic lights are controlled so that motorcades of officials can geta round the city more effectively. They also setup up police blockades for security, and it is generally a pain to the residents, but it works pretty well. In addition, after 9/11 they modified the system to make mass evacuation more effective. In a nutshell, less light changes and longer durations of red/green work better for evacuation.

    --
    -- Solaris Central - http://w
  149. You can have Reliable and Secure and Cutting edge by Randyj70999 · · Score: 1

    Having worked in the Telecom sector, where unreliable software always costs money, and was know my the Management that it needed to be reliable, and that doing so cost money. There was ALWAYS time and equipment to test, and debug before new releases were deployed. Every piece was tested, systems were also redundant with hardware failures rolling to backup systems. Expensive, you bet. Needed Yup!. But it can be done.

    The very answers that have been posted here attest to the fact that the "geeks" posting here (me included) have become WAY TOO ACCUSTOMED to buggy software.

    and Yes!, I have operated software on Unix machines that ran for YEARS (and in years) without failure, or reboots. (we sometimes rebooted them yearly just to test them.)

    raise your standards boys (and girls) why settle.

    PS: C is it's own virus!

  150. Only partly to blame? by metamatic · · Score: 1

    The way I see it, consumers are entirely to blame for the state of the software they run. By consumers, I mean people who whine about the crappiness of Windows, yet still keep running it.

    Don't give me that "I need Windows" bull. I've never purchased Microsoft software in my life, I use no Microsoft software on my computer... yet strangely enough life goes on. I write documents, browse the web, swap photos, play games, make spreadsheets, do my taxes, just like anyone else.

    There are far more reliable, fully functional alternatives to Windows out there. Either install Xandros, or buy a Mac. If you're not willing to do either of those things then just shut the hell up about software quality, because you obviously don't care enough to actually do anything about it. In fact, given that the alternatives to Microsoft on PC hardware would also make your machine run faster, save you money, and guard your privacy, it's hard to see what more inducement you could need to get off your ass, find that install CD, and spend a few days making the switch.

    It seems to me that the whining is really saying "I wish the government would wave a magic wand and make Microsoft write software that doesn't suck". Well, real life doesn't work that way. You have to take responsibility yourself, be an informed and responsible person, and create the changes you want to see.

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  151. Poor management practice by Raedwald · · Score: 1
    Programming is all about tradeoffs. Sometimes you make sacrifices in order to get the job done.

    Yes, and there's no sin in that... provided they are the right tradeoffs. Too often I've seen managers demand 'tradeoffs' that were clueless. The classic is cutting testing because the customer is unhappy because the product is late. As if they would be happy with a useless bug riddled product. So next time management talks to that customer, the customer is pissed, has them over a barrel, and makes outrageous demands, which are agreed. Repeat. I've seen that cycle go around four times with management doing nothing to break it.

    I've come across my fair share of incompetent programmers, but I would be overjoyed to have managers who were as competent at managing as the programmers are at programming.

    As programmers we are paid to have and develop complex technical skills that are hard to use. We are therefore paid more than the minimum wage. Since managers are typically paid more than programmers, they should be more skilled at their job or should take responsibility for their mistakes. Yet when there is a management SNAFU, the solution, apparently, is for the programmers to work harder.

    --
    Ne mæg werig mod wyrde wiðstondan, ne se hreo hyge helpe gefremman.
  152. Just what we need... more lawyers by BattleTroll · · Score: 1

    Why is it that for ever "problem" in our society, the immediate answer from our representatives is to pass more legislation? Highly reliable software already exist and those that need it are willing to pay the extra money to obtain it. If someone is running their mission critical applications on a Win95 box, who's fault is it when it crashes? Considering there are numerous, more reliable alternatives out there, it seems to me that the operator is at fault.

    The initial intention behind liability laws was to make entities financially responsible for gross negligence or willful neglect. What we have today is a society full of people that refuses to take any personal responsibility what so ever. Ice storm drop 5" of ice on my driveway and the mailman slips? It's my fault - sue me. I have an accident on the freeway? The car was at fault, sue the automaker. Not watching what you're doing on a construction job and shoot a nail through your foot? Outlaw nailguns and sue the manufacture. I'm running my business on win95? I'll sue microsoft when it crashing, taking all my business records with it.

  153. Re:WTF not? Vote with your feet! by FallLine · · Score: 1

    My point was that this is not a free market, that we do not have informed consumers. It's harder to misinform with open source, but not impossible -- nor is it impossible to have informed customers and closed. But there is a definite attempt in the use of EULAs, as well as use of the DMCA and trademark laws, to keep consumers uninformed -- to keep people from communicating with each other about the flaws in a product. That's not a free market.

    However, it is still questionable whether closed source -- as it is typically sold -- really leads to informed consumers, even without restrictions Software is not particularly transparent, and its flaws may not be readily apparent. Buyer Beware is not the free market.

    The argument was over whether or not consumers should be allowed to decide whether or not they wish to use open source for themselves though (because the poster that I was replying to was giving open source a false staff with which to bash closed source).

    That not withstanding, I think I should clear a few things up:

    A) The situation with closed source software is really not that different than many other large sectors of the free market. The free market is not premised on 100% transparency or even close to it. It generally does not need it to effectively keep companies in check. Do you really know what your doctor is doing with his equipment before you go in and see him? Do you really know he learned in medical school or what he did in residency? Do you really know how your car was engineered or tolerances of every unit in the car? Do you really know how your building was engineered? ... and so on. No, the fact is that in most cases you just don't know and nor can you. What keeps these product and service providers in check in the vast majority of cases is their reputation. In fact, reputation is the primary organizing force in the market, not direct transparency. When is the last time you heard of a consumer buying, say, a refrigerator because of its specific compressor? How many customers will even look this up? What customers look at is WHO makes it and just perhaps fundamental aspects of its engineering (e.g., motor-type, horse power, etc--but even then more as features than as a quality check). You can only burn customers so many times before you pay severely in the market. Yes, individual customers can and even will get burned in some cases by less reputable firms, but over time, it doesn't pay for the companies to do this. So yes, it generally is a free market.

    B) You should distinguish between standard closed source software companies and companies that zealously attempt to suppress organized/official review of their software with the DCMA and other tools. I assert that very few software companies really behave like this; that is to say that if a PC magazine or website wishes to give poor reviews to their applications, then it can and will happen. What's more, even those few companies that do attempt to suppress review, ultimately fail to succeed in the market because they cannot effectively stop consumers from bad mouthing their product, regardless of the EULAs they may sign. That is to say that they ultimately pay. Yeah, I recognize that they might get away with a product that is 15% less quick than the prior version, but they're not going to get away with a product that consistently corrupts the customer's data, for instance--consumers will find out.

    C) To the extent that companies do abuse the DCMA, EULAs, and similar legal tools, you can attack THOSE specifically and NOT closed source itself. It is a mistake to confuse these legal mechanisms and certain monopoly powers, not only because they're a seperate problem, but because open source truly does not assure that these cannot occur.

    D) Buyer beware has always been the fundamental driving force behind the free market. Yes, there are markets where outside forces play a large role (e.g., the US financial markets), but these

  154. No way. by SatanicPuppy · · Score: 1


    You know there were 12000000 lines of code in windows 2000? Do you have any idea how long it would take them to source audit TWELVE MILLION LINES OF CODE? And the cost would be nearly incalculable.

    And that's just for windows 2000. They would have to go over the (few) parts of XP that were different, then all of Office, then all of SQL Server. The idea that someone could sue MS for somethign like the Slammer epidemic has got to be Bill Gates recurring nightmare.

    I predict MS will get behind this when hell freezes over.

    Just my opinion.

    --
    ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
    1. Re:No way. by tcopeland · · Score: 1

      Right on.

      Another point on this - as soon as someone changes one line of code, you have to reaudit the whole thing. Because that one line of code may change a global variable that is read by anything else, anywhere.

      Software audits are no replacement for a comprehensive suite of unit tests.

      Yours,

      tom

  155. lets follow the governments example by Anonymous Coward · · Score: 0
    by setting up a venue where companies compete (to see who has the best PPT slides) and are rewarded based on merit (of the proposal teams buzz compliance) the tax payer is rewarded with a full (of fluff, paperwork/tps reports, and chrome) system that is reliable (through its broken and under requirements meeting nature to guarantee more work for those contractors) and robust (it does some of what others do, no more and certainly does not reduce the stovepiped problem).

    More importantly there are high standards in place to better guarantee the professionalism and productivity of quality software and services to our galant public servants. Accreditations like the 5 SEI levels certify the ability (to bullshit your way through the accred process) of the organization to apply the tools and processes expected of a professional software engineering firm (not even close).

    Basically by following the government model you can ignore quality and usability and focus your resources instead upon winning more contracts through the hiring of more bullshit artists. Remember that it does not matter if your product goes over budget, is overdue and does not meet requirements since you would most likely not have gathered or analyzed (much less tracked and updated) requirements and there was no real design. Design is defined as the end product much like any other hacked together system is not designed but could be called that if you wanted to lie. Version control, configuration management, issue tracking, change requests, peer review or any sort of organized and consistent testing and quality control are expensive and a pain and thus rarely employed. However, since the SEI accreditation require these and a defined process then what you can do is just jot down some buzz word memo's, buy a CASE tool and set it in the corner and then usher around the accreditation team to just the parts you want them to see.

    If you feel you can't handle this then look in the yellow pages for "used car salesmen rentals" and you will be set. It really is a lucrative deal and even better if you ever do want to actually build a usable and useful system then what you can do is have the taxpayer foot the bill for your POS prototypes and then later sell out your software as is or as a service and make good money. Consider the tax payers your venture capitalists, except here quality and ROI is never an issue.

    Oh yes, fire control... there will be annoying instances where you will have end users (especially if they are deployed military) who foolishly demand usable and reliable products that meet their needs. The trully annoying of these will raise these issues and somehow get them up the chain through the Chain of Command filters (the IDUD's or I Don't Understand Duty folk) and then you have to "fix" the problem. No problem, since your company wisely placed several O-6's and above in the key decision making positions who can schmooze enough to sell heaters in hell then what you do is just aim these folks to the government reps (who really could care less about the end user) and work their word magic on them. Soon the problem disappears and you didn't have to do any annoying work.

    The secret to success is to work the system and thus you must understand what the system is. Don't come in with your ideals of free-market capitalism as you will most likely fail. Understand first that this is a closed socialist system that relies solely on the unelected career bureaucrats to be dazzled enough to buy into your scheme. If when trying to sell an existing product (even if just a subset of what it will become) don't come to the table with facts about the methodologies and technology your system employs that make it superior, even if you fit the implied requirements exactly (and especially if you exceed them). This is all fine and good, but what will sell is your presentation of pretty buzz words and bureaucrat-speak. Pull out every stopper on the keg of superficial and insulting slime-sales tactics. Adopt a military looking demeanor, as only

  156. Re:settle for mediocrity by Stalcair · · Score: 1
    I think your post hits the spot. I have observed for example in the arena of electronic gaming that anyone who calls negative attention (or even just makes the observation) to a game taking 2 to 3 patches just to become relatively stable or that only meets about 2/3 of the features is flamed as a troll. Fanboys have choked out the real fans it seems and any demand of quality has thus been choked out by a crowd that is willing to pay 50 dollars for crap. Many of these games are trully frustrating because in playing them (or just in reading the FAQ's and features lists) you realize how good it CAN be if a bit more attention is paid to quality and implementing the features they said they would. (often also when the assortment of game data file readers come out you can see how they did indeed start to implement the lusted after but missing features yet cut them)

    The perceived mentality is that instead of these games being designed and implemented with filling a niche in mind, they simply threw in crowd pleasers to attract a larger market. This is of course the fault of the consumer. Consumers often forget that they vote with their feet and if they shell out the scratch for crap then they both give a vote of confidence for that type of game as well as that type of development method (throwing in useless crowd pleasing crap).

    Next you come to the stability of the game. How frustrating it is to have your game crash every 5 to 10 minutes, lose saved games or have to reinstall your entire OS to "get it working" is only superceeded by the fanboy responses you get if you ask for help often. People will just mouth things like "your video card sucks, buy a better one" even if your video card does in fact not seem to exhibit problems with other games. It is a straw man argument given that your hardware is to blame and no fault lies with the software developer. Granted there are times (ATI) when either the hardware or drivers are really just sub-par (going back to this argument anyway) in which case contacting them will get a finger pointed right back at the software developer. (One example is Neverwinter Nights and ATI cards)

    A common situation given that a game is both buggy or just does not do what it said it would do is where the effort seems to be placed by the developer into adding more chrome and not fixing or stabilizing the existing chrome or feature set. However, the non entertainment portions of the software industry do nothing different so I should not expect too much from various software pieces. I always try to wait for reviews these products first but sometimes I will admit I don't do a good job. However sometime it is hard to find quality reviews whether because of the unethical selling out of reviewers or simply just a lack of professional objectivity. With games, what will always stick out in my mind as how reviews can be so unreliable is the reviews of Ultima Ascension (or 9). I have always loved Ultima and realized I had high expectations at first. However my expectations were dashed merely be seeing the lack of fan and customer commitment by EA for this game and what info we did get was rather scary. 6 years development time resulted in a game that was largely unplayable. I won't go into the discontinuity of story, lack of good gameplay, weak story and overall disappointment when compared to other Ultimas (and considering this was the last one) but just by focusing on in game play, stability and quality it was a pile of dung. I forget how many patches it took to become a bit playable but it was by no surprise a group of dedicated fans that wrote a final patch that helped the stability the most. (at least it made it so that it would play for more than 15 minutes without locking up the entire system or exiting) Of course some other good folks also released various mods to the dialog and some other elements (if I remember correctly) that made the game feel more immersive and more Ultima-like.

    --

    I seek not only to follow in the footsteps of the men of old, I seek the things they sought.

  157. chrome (features) vs. functionality by Anonymous Coward · · Score: 0

    I won't attempt to plagarise here as I really cant since I do not remember the exact words or the poster, but a poster many moons ago posted a very good piece on the problem of chrome overshadowing functionality.

  158. because.... by oliverthered · · Score: 1

    Because the margin of error in software ~=0.

    I can build a house, make the walls nice and think, put some good solid oak timbers for rafters etc... and expect it to last a couple of hundred years without any magical training.

    in software, one typo could be the differance between life and death.

    In critical systems they usually get two different groups of people to software for the same task on different hardware and hope that they both didn't make the same mistake.

    --
    thank God the internet isn't a human right.
  159. crashing once a week..... by oliverthered · · Score: 1

    and latting in loads of viruses that munch there way through your HDD.

    A killer virus would sort out a lot of the bugs.

    --
    thank God the internet isn't a human right.
  160. What part of RTOS didn't you understand? by Anonymous Coward · · Score: 0

    What part of RTOS didn't you understand? Please reread parent post.

    1. Re:What part of RTOS didn't you understand? by dubious9 · · Score: 1

      What part don't you understand? even micro-cOS, one of the leading RTOS (or at least the one I've spent the most time working with) takes resources. Programs don't need OSes, and sometimes it makes sense not to use them at all. That was my point.

      --
      Why, o why must the sky fall when I've learned to fly?
  161. Re:how NOT to build reliable software by tcopeland · · Score: 1

    > move that 50% to testing

    Better yet, fire that 50% and then have your programmers write unit tests. Nothing like code to test code.

    Tom

  162. Extreme Programming / Test Driven Development by russh347 · · Score: 1

    I find it odd that nowhere in the article or in the slashdot discussion is there a single mention of Extreme Programming or Test Driven Development.

    Writing automated tests, then adding the code to pass the tests, and running the tests frequently has a number of benefits:

    1) achieving high test coverage
    2) getting lots of practice writing tests
    3) getting lots of practice writing testable code.
    4) catching introduced bugs
    5) simpler designs (easier to maintain, easier to debug)

    Under TDD, a full suite of tests is often run many times daily. Mistakes are caught immediately.

  163. Mass migration away from C by GCP · · Score: 1

    If something like this were to happen, it would cause developers to reevaluate their tools, and I think that C/C++ would lose out big time.

    C is an excellent model for development in situations with extreme constraints of certain sorts. That doesn't make it the best default general-purpose language.

    Looked at in reverse, would any multilingual developer feel *more* inclined to use C for general applications on big (non-device) machines if the personal penalty for bugs in his code rose dramatically?

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  164. Human error by Anonymous Coward · · Score: 0
    From the article: "Of course, more deaths are caused by human error than by bad software, and modern society would be unthinkable without Web servers, word processors and autopilot."

    But what is bad software, if not human error? Assen Jordanoff wrote in Safety in Flight (circa 1950) that the causes of aircraft accidents eventually reduce to the human element (usually, a series of human failures). Structural failure? Poor design, poor fabrication, poor maintenance, or poor use. Weather? poor forecast, poor judgement, failure to divert to plan "B" (land and wait it out). Out of fuel? Poor planning, failure to divert to plan "B" (land and refuel).

    Professional software design is no different. If you're not taking the responsibility to guard against things that could go wrong, you're not being a professional, you're being negligent.

  165. supply and demand by Provincialist · · Score: 1
    Under these circumstances, I think it is beneficial for the legal system to wade in and redress the consumer/supplier power balance. Otherwise, just as in any monopoly type situation, you have an imbalanced system where there's no incentive to change.

    Somewhere a thousand lawyers salivate. b-)

    Of course your characterization of software suppliers using monopoly power to keep needed features out of products is conceivable. I think, however, it is exceedingly unlikely. The reasons we haven't seen more guaranteed software licenses are practical as well as contingent. The contingent reasons, such as the insurance industry's current inability to quantify software risk, could be amenable to judicial redress. The practical reasons include the vast diversity of operating environments, the 80/20 rule, the very broad range of problems to which software may be applied, and the unsolvability of the software risk quantification problem. b-) These are givens of our existence, that no judge could change (although many are sure to try).

    Certainly a consumer user of word-processing products, for example, is out of luck if he wants to buy something that is "guaranteed never to lose my work". Similarly, a car enthusiast is out of luck if he wants to buy a flying car. While many engineer-centuries of work would probably solve either problem, the solution in both cases is for the user to realize the limitations of the product and to perform accordingly. I.e., I'll leave at least 45 minutes prior to work so I won't have to fly to get there on time, and I'll make sure not to indiscriminantly run "rm *" commands in my directories.

    later,
    Jess

    --
    I am programmed for etiquette, not destruction!