Slashdot Mirror


Software Product Liability?

ben writes "Reuters just ran a story about the increasing number of calls for liability on the part of software developers, with a not-too-suprising focus on Microsoft and its uber-fallible IIS webserver. Given that many other engineering disciplines have some sort of accreditation and licensing body to enforce codes of professional ethics, I'm curious what impact the demand for such a creature in the software industry could have on Open Source developers, especially the part-time hobbyist ones. That is, establishment of some sort of Software Developer's license means the developer is potentially liable for whatever havoc his bugs may wreak, and traditionally the only environment with legal resources adequate to deal with such liability has been the megalithic corporate one."

155 of 428 comments (clear)

  1. Software liability by ezs · · Score: 2, Informative
    From my own experience most software vendors actually limit their liability by way of the EULA (End User License Agreement).

    Of course having to undo the shrinkwrap to read the EULA, and by having read in the EULA that by undoing the shrinkwrap you therefore agree with it.. that's another issue altogether

    --
    Evil ZEN Scientist
    1. Re:Software liability by alienw · · Score: 3, Interesting

      You can't always limit liability. For example, you can't sell a car and say that you are not liable for design defects. You are, no matter how many EULAs you write. The same could apply to software.

    2. Re:Software liability by mentin · · Score: 3, Insightful

      > If government offices informed Microsoft that in one year they would no longer buy software that limited the liability of the designer

      Actually, if any goverment wants to buy Microsoft software with liablity, it can be easily arranged: Microsoft will find third party insurance company, add appropriate price tag to the box, and sell it to anybody.

      Will one want to buy MS Word for $10,000? I can easily imagine this price if the seller has to pay mega-dollar liability in case Word crashes while editing super important goverment document.

      Ever seen a rich WYSIWYG-editor that never crashes?
      Want software prices to sky-rocket like medical expenses in US (one of the biggest contributors is doctor's own insurance)?

      --
      MSDOS: 20+ years without remote hole in the default install
    3. Re:Software liability by mentin · · Score: 2, Insightful

      > You can't always limit liability. For example, you can't sell a car and say that you are not liable for design defects.

      The liability of car designer exists because the risks associated with it can be relatively easy calculated. There are well defined boundaries and conditions under which car manufacturer declares his car to be safe, and gives the warranty. Any deviation (wrong type of oil, gas, or tires, missed oil change, self-installed turbo charger) and the liability and warranty can be void to some extend.

      For software vendor those boundaries would mean that software is run under particular certified hardware, only in combinations with particular certified third-party applications, with regular maintainence (i.e. patches), configured according to vendor's specs, etc.

      You can buy such system from most large software vendors, and get some kind of warranty and liability. MS sell data center servers in this category. If you want to pay the price for it plus price for hardware, plus restrict yourself to particular list of application, you can get it with associated liability. But if you want to run it on cheap hardware with tons of random crap installed, you can't expect any reasonable liablity from vendor.

      --
      MSDOS: 20+ years without remote hole in the default install
    4. Re:Software liability by arkanes · · Score: 2

      That's one of the reasons we'd need a professional guild - to do things like define standards about what should be reasonalby expected of software. The car analagy doesn't hold up this far, as software should be expected to work with any other type of software with which is shares a standard interface and, failing that, to fail gracefully.

  2. heh by doooras · · Score: 2, Flamebait

    just blame your bugs on bad drivers.

  3. So many possibilities to cover... by Anonymous Coward · · Score: 2, Insightful

    What if they blame your software, when in reality it's the fault of some other software used in conjunction with it? Or it's a hardware problem? Or it's a user trying to cover their own ass when they screw up? It's not quite as easy to see what happened after the fact as it would be if say... a building fell down.

    It's more analagous to doctors prescribing medications. They do their best to make sure the patient is in the right condition to take them, but they can't control what the patient takes them with, or how they might misuse them. But of course, malpractice insurance is quite expensive...

    1. Re:So many possibilities to cover... by RAMMS+EIN · · Score: 2, Interesting

      ``What if they blame your software, when in reality it's the fault of some other software used in conjunction with it?''
      In MicroSoft's case that's hard, though. If I exploit a buffer-overrun in IIS or the infamous chat control, the fault is certainly in the software that has the buffer-overrun vulnerability. If a ``printer driver tanks the system'' (from the Reuters article), then obviously the system isn't very stable. Part of an Operating System's task is to ensure that one program doesn't interfere with others, and if a printer driver can affect the whole system, apparently the OS is flawed (there are those who would disagree with this point, but I for one expect my operating system to be stable).

      --
      Please correct me if I got my facts wrong.
    2. Re:So many possibilities to cover... by gregfortune · · Score: 3, Insightful

      No, no, no, no, no! We *can* control it. We *can* build fault tolerant systems. We *can* take our time to ensure that our application will only respond to valid input/requests/etc. If you build the OS, make sure that nothing using your OS has a chance of crashing it. If you build a webserver, make sure that feeding it crap in the URL will not cause it to respond "The root password is 'imadip'".

      What happened to the idea of a program having a well defined set of inputs and only causing it to respond to those inputs? And if something goes wrong, where are people getting off trying to blame it on the user be it a person or another program using that well defined interface? Argh.

      Word did not crash Windows. The printer driver didn't crash Windows. The stupid user who pressed the wrong things in the wrong order didn't crash Windows. Windows just crapped itself.

    3. Re:So many possibilities to cover... by RetsamYthgimla · · Score: 2, Interesting

      No, no, no, no, no! We *can* control it. We *can* build fault tolerant systems. We *can* take our time to ensure that our application will only respond to valid input/requests/etc...
      What happened to the idea of a program having a well defined set of inputs and only causing it to respond to those inputs? And if something goes wrong, where are people getting off trying to blame it on the user be it a person or another program using that well defined interface? Argh.


      Actually, I work in support for a software company, and we had a customer report a problem with our software. We eventually tracked it down to a hard disk problem that was returning bad data. The customer actually had the nerve to say that it was our problem, and that if we couldn't handle the bad data, then we were poor programmers.

      Now tell me, if the hard drive is going bad and intermittently returns bad data, including the the executable code itself, how are you supposed to deal with that?!? Do you write the code in multiply redundant code blocks, and tweak the machine code so that if the starting offset is set to a random location, including in the middle of a valid instruction, that your code can still recover?

      Building code that can respond to all valid inputs with valid outputs, AND can respond to any and all invalid inputs with appropriate errors and or nothing (i.e. ignore the bad input), is one thing. Building a piece of software that can run, even in the presense of faulty hardware, is quite another.

      I mean, what the hell do customers want?!? Is my company's software supposed to patch any and all seciruty holes in the OS as well? Fix their broken hardware, divine the corrupted data coming in from peripherals and disk drives? How about foretell the stock market for the next decade, and give them the phone numbers of hot chicks that will do them for free?

    4. Re:So many possibilities to cover... by aebrain · · Score: 2, Interesting
      Now tell me, if the hard drive is going bad and intermittently returns bad data, including the the executable code itself, how are you supposed to deal with that?!? Do you write the code in multiply redundant code blocks, and tweak the machine code so that if the starting offset is set to a random location, including in the middle of a valid instruction, that your code can still recover?

      Well, Yes, actually.

      For some problem domains. e.g. Aircraft Avionics, Spaceflight Avionics (where Radiation and single-event-upsets (SEUs) are a fact of life that will cause glitches.

      But of course, such military/safety-critical-spec software costs a hell of a lot more than a standard piece of COTS. Using Ada and other high-grade techniques can actually save money in manufacture, but it still costs heaps to test.

      It's a matter of requirements - what does the customer need? If crashing once a week is acceptable, providing the cost is less than $X then provide that. If crashing anytime is unnacceptable, then they should be prepared to pay maybe six times that.

      Note: I know whereof I speak - I've been chief architect for a Naval Combat System, lead a team on spaceflight avionics software development. And one system I had a small part in at one time had a hardware problem that caused unpredictable jumps to random locations in memory. It still worked - just slowly as 95% of the time was spent in error-recovery. Adequate to ensure no-one died as the result. But we fixed it before delivery anyway, was a problem caused by a 3rd party CPU design flaw.

      --
      Zoe Brain - Rocket Scientist
  4. good question by caseydk · · Score: 3, Insightful

    This is a serious question that always seems to be glazed over by the open source advocates. Most seem to see it only as a method of attacking MS.

    Well, if liabilities become a reality, EULA's won't protect the company, otherwise every company just puts a clause in it and the liabilities cease to exist. The law would be required to allow very few, if any, exceptions.

    If the open source community has to face this, what will happen? The next time there's an error (such as the recent Bind exploit) do the lawsuits begin?

    1. Re:good question by gorf · · Score: 3, Interesting

      Most seem to see it only as a method of attacking MS.

      I think that's a bit unfair, since people (in general) pay MS, but not the author of free software.

      That does raise a tricky issue though; would a company that resells free software be liable for it?

    2. Re:good question by analog_line · · Score: 4, Interesting

      I wouldn't count the EULAs out just yet. The latest victory for them is the Blacksnow v Mythic Entertainment lawsuit that was mentioned here previously. (For those who can't remember and don't want to reread stuff, Blacksnow had people using macros and other aids to build characters fast within Mythic's Dark Age of Camelot MMORPG, and selling the characters and items for real world cash).

      Mythic got a judge to rule that the arbitration clause in the EULA is legal and enforcable, and they (of course) expect that arbitration to conclude that the prohibition against item-selling is legal as well.

      Yet another precedent of EULA enforcability and legality. Just one more reason to READ THE DAMN EULA.

      If you can't read the EULA before you purchase the product, don't buy the product. If you do, tough shit if you can't get your money back. The product was obviously more important to you than protecting your rights.

    3. Re:good question by Dun+Malg · · Score: 2

      These laws target liability for any damage caused by software, so that if XP or Linux crashed and buried by $1M data, the vendor would be liable this $1M, not the price I paid for the software. So it will potentially affect commercial as well as Open Source software, since the damage caused by software has nothing to do with its price.

      To me this looks like a half-assed attempt to codify into specific law something that is currently covered under the catch-all of "implied warranty". Basically, (as illustrated by lemon laws for cars) when you buy something from someone you are entitled to a product that actually works as intended and/or advertised; if it doesn't you get your money back. You can only collect on liability claims if you can prove negligence or malicious intent. The reason it's unlikely that open-source software will be covered under this is that it's free. Under automotive lemon laws, one cannot sell a car "as-is, no returns", but it is perfectly legal to give away a car "as-is". There is no implied warranty on free stuff because if it turns out to be worthless, the recipient has lost nothing. Liability for negligence and/or malicious intent is essentially a seperate issue and remedies for those are already quite available in civil or criminal court. Even if they passed a law requiring "software that doesn't crash and cause damage", it wouldn't witstand court scrutiny any more than a law requiring "automobiles that don't crash and cause injury". Any legislature can pass any law they please, even a law prohibiting bad weather, but there's no way to make it pass constitutional muster in the courts.

      --
      If a job's not worth doing, it's not worth doing right.
  5. Code is free speech by splorf · · Score: 2, Insightful
    And requiring programmers to be licensed is no more legitimate than requiring journalists to be licensed.

    There can certainly be some kind of liability for bad code that you deliver to clients under a contractual relationship, just like there can be malpractice if your doctor gives you bad advice.

    But liability for a program that you've published on the net or sold retail? That's as bad as liability for publishing a book advising people to plan their finances by astrology or go on some quack diet to prevent cancer. Those books are published all the time and it's (rightfully) up to the buyer to take the advice or not take it.

    Most buyers simply know better than to believe such stuff. And sooner or later they will hopefully know better than to run Windows. It's just a matter of the field getting more mature.

    1. Re:Code is free speech by caseydk · · Score: 3, Informative

      I think the premise of code = free speech was defeated in the DMCA case in NY. Remember, code in executable form was considered a breach. Any other form was okay...

    2. Re:Code is free speech by splorf · · Score: 2, Insightful
      The NY DMCA ruling will hopefully be overturned. Anyway, source=speech isn't so bad. Publish source so the world can see your bugs and make its own evaluation, and you're protected. Keep the source secret (like Microsoft) so people have to rely on your representations, and you're responsible for whatever happens.

      That's consistent with the book situation--you're free to publish that quack investment book because anyone who reads it can decide for themselves whether it's crap.

      I should have mentioned this in the earlier post but wasn't thinking about binary-only programs. A binary is more like a pill, where you can't tell what's inside--you can only swallow it and see what happens. With source code, where you tell the reader what you know, and short of actual malice (similar to libel etc.) you should be protected.

    3. Re:Code is free speech by Da+Schmiz · · Score: 2
      Well said, sir! That is the most intelligent observation I have yet read in this thread.

      Blockquoth the parent:

      Anyway, source=speech isn't so bad. Publish source so the world can see your bugs and make its own evaluation, and you're protected. Keep the source secret (like Microsoft) so people have to rely on your representations, and you're responsible for whatever happens.
      This is it: the solution to the problem of software liability vs. free software. For big companies like Microsoft, there will be two choices: take responsibility for bugs and failures (read: bugs get fixed) or open the source (read: bugs get fixed). That's a win-win situation.

      For free software, the worst case is that this would kill off binary distributions. Red Hat et al might just get insurance and go on as usual, but LFS, Gentoo, etc. will definitely become much more popular.

      May I repeat: if this were to happen, it would probably be the best thing to happen to the computer world since... I don't know... since commodity PCs.

      --

      "Anything is better than IE, and you can quote me on that." -- Wil Wheaton.

    4. Re:Code is free speech by gehrehmee · · Score: 2

      Distribution as source isn't as bad as it used to be. Debian for example: "apt-get -b source ".

      Granted, that's not exactly what the end user's going to want to see... but if it's progressed that much recently, what'll things be like in a few years?

      --
      "You know, Hobbes, some days even my lucky rocketship underpants don't help" -- Calvin
  6. Oh boy... by symbolic · · Score: 2, Insightful


    This could lead to all kinds of nastiness. If a software vendor wants to limit their liability, they may tie their software to a very specific hardware configuration. This could result in the unintended consequence of giving M$$$$ an unprecedented amount of control over the hardware manufacturers and resellers. So, instead of purchasing software to solve a particular problem, you purchase hardware to meet the requirements of a software package. This seems^H^H^H^H^H is half-assed backward.

    1. Re:Oh boy... by wik · · Score: 2

      This has already happened. Customers who buy large machines to consolidate tons of small servers onto one or more larger, more expensive and reliable systems, have found this. It's not only the hardware configuration, but also software. If you run vendor X's software on your machine, you can only run vendor X's software on that machine. Install anything else and you risk losing your support contract.

      In some limited cases (e.g. servers that cost a million bucks), this makes a lot of sense. It's a configuration that you know will work. If it doesn't work, you know that your configuration is supported by your vendor, can be replicated and can be debugged.

      I think we'd both agree that this sort of limitation is bad for average (home) PCs. Maybe my desktop or my personal web server can handle a little downtime. A machine that handles revenue for my company is an entirely different matter. That machine has to work and I'm willing to accept limitations on what I can do with it in order to guarantee that it will function.

      --
      / \
      \ / ASCII ribbon campaign for peace
      x
      / \
    2. Re:Oh boy... by Tri0de · · Score: 2

      This is sort of what Apple does with their extended support deal, Apple Care. They will not support the use of ANYTHING else and tell you to uninstall it/blame it for any problems you have. They gave my mom a rasher of shit because she put Opera on there instead of Exploiter.

      --
      "Everyone is entitled to their own opinion, but not their own facts."
  7. Classic Microsoft Quotes in the Article by tupps · · Score: 5, Informative

    Couple of quotes in the article I like:

    The products are even less buggy than others, in terms of per capita usage, Microsoft Chief Executive Steve Ballmer has said.

    So does that mean that because more people use Microsoft software they can have more bugs in it? This sort of statistic is like using "Revenue over number of employees named Frank" as an accounting measure for companies!

    And the other one:

    Mundie said. "Microsoft can't control that process. If the printer driver tanks the system, who do you hold liable?"

    Now *that* explains what caused all those holes in my locked down IIS server!

    --
    Go out and get sailing!
    1. Re:Classic Microsoft Quotes in the Article by person-0.9a · · Score: 3, Informative

      > "Microsoft can't control that process. If the
      > printer driver tanks the system, who do you
      > hold liable?"

      On drivers specifically, this is a valid complaint . While I don't suggest that Windows is a highly stable OS, the image of Windows instability is partially undeserved.

      There are many badly written (non-microsoft) printer/file filter/device drivers that make things go horribly wrong on Windows, and near as the end user can figure, it's just Windows crapping out.

      Such a liability law would likely require Microsoft to increase it's legal department just to keep up with the number of cliams wrongly filed against it --- if Microsoft's business practices remained unchanged.

      This problem is relatively straight forward for Microsoft to get around. Come up with an exhaustive certification program for all Windows drivers, offer no MSI support for uncertified drivers, and change their increasingly restrictive EULA to state that the use of uncertified drivers is a violation of the "agreement."

      As a side effect, such a program might make Windows too expensive of an OS for companies to develop for, and then we'd get flood of devices and low quality drivers showing up on Linux.

      ( I can't believe I just came out in defense of Microsoft... I've got to go take a shower now )

    2. Re:Classic Microsoft Quotes in the Article by pete-classic · · Score: 5, Insightful
      There are many badly written (non-microsoft) printer/file filter/device drivers that make things go horribly wrong on Windows, and near as the end user can figure, it's just Windows crapping out.


      What's a printer driver? A printer is an I/O device that is on the OTHER SIDE of an industry standard port. In essence it is a "remote device." What business does that sort of software have running in "ring 0?"

      I am aware that many "printers" are dependent on "drivers" because they are missing hardware, but who's idea was that . . . ? Blame goes to: Microsoft.

      I'm not sure what you mean by "file filter" but the same argument almost certainly holds. Blame goes to: Microsoft.

      Beyond that "windows device drivers" aren't really drivers anyway, they are plugins to the (Microsoft) class driver. If they crash the system it is still Microsoft's fault, because the interface is poorly defined or the class driver does insufficient error checking. Blame goes to: Microsoft.

      I have no sympathy at all.

      -Peter
    3. Re:Classic Microsoft Quotes in the Article by haystor · · Score: 2, Insightful

      I believe this dialog will say that the drivers can't be guaranteed to be reliable. Does this constitute and implicit guarantee that certified drivers are reliable? No. MS states quite clearly that none of their software is guaranteed for anything, so what the hell good is the certification?

      --
      t
    4. Re:Classic Microsoft Quotes in the Article by AntiNorm · · Score: 2

      If you think windows is buggy you should see windows with tons of inserted corrupted bytes

      Corrupted bytes coming in from a CDRW drive shouldn't affect Windows. Unless there are serious problems on your motherboard that are causing bytes to be written to random places in memory, there is no reason why Windows should just crash like that if it used a proper design involving read buffers and the like. If IOCTLs or read commands are failing, fine, but even that shouldn't kill Windows. Windows crashing on faulty CDs or even a faulty CD drive is an example of really bad design.

      --

      I pledge allegiance to the flag...
      of the Corporate States of America...
    5. Re:Classic Microsoft Quotes in the Article by gregfortune · · Score: 2

      Mundie said. "Microsoft can't control that process. If the printer driver tanks the system, who do you hold liable?"

      OMG, this is exactly the same thing a guy said to me when I was complaining about Windows stability... I mean, really, if the printer driver tanks the system? Build a solid OS and the printer driver might not work, but it sure won't tank the system. If the operating system crashes, it crashes.

      If me running Microsoft Word on Windows 98 causes my system to crash, the flipping OS needs fixed (Yeah, I was stuck with that combination for the first year of school and yeah, it sucks). No wonder the old quote "If we built houses like we do software, the first woodpecker to come along would destroy civilization" holds true.

    6. Re:Classic Microsoft Quotes in the Article by Zspdude · · Score: 2
      I'm in no way an MS fan, I just found it interesting to try and make sense of the per capita statistic...( a challenge actually)
      Is it because all software has bugs: the "many eyeballs" idea means that a large user base will find more of them...So if you've got a lot of users and fewer known bugs(low bug/capita) your software is less buggy overall.(Alternatively your users can't tell a bug from a feature)

      Sorry folks, that's the best I could come up with....

      --
      What's in a Sig?
  8. Liable if you make money out of the software? by stere0 · · Score: 3, Interesting

    Being liable is clearly a problem if you release your software for free (i use both meanings here). I think software companies should be liable if their software is not free. When you agree to give up money or "freedom" for software, It is my opinion that you should get a quality of service granted in exchange.

    This should usually be handled by the invisible hand of competition, but huge software companies are so well-established that they can afford to give up on quality. I think that such a measure would protect the consumer from such abuses.

    This is just an idea, it's certainly flawed and incomplete. Does anyone care to contribute?

    --
    Trollem mirabilem hanc subnotationis exigiutas non caperet
    1. Re:Liable if you make money out of the software? by Warin · · Score: 2

      I tend to agree with you. Any 'lemon laws' should have a clause to deal with 'free software'. After all, if a hobbyist releases a tool he wrote for his own use that others may find useful, yet doesnt charge for it, he should not be liable for his free tool causing prolems with something company X used it for.

      However, if he packages it and charges for it, he should be responsible for it's correct and accurate operation., within reason. If the software requires certain hardware, he should not be made responsible if customer y doesnt meet said requirements.

      It's a really tough question, because while we would all like to see large corporations made responsible for their mistakes/bugs/poor code... No one wants it to hurt someone who gives away the fruits of their labour in an effort to be helpful.

    2. Re:Liable if you make money out of the software? by SuiteSisterMary · · Score: 2

      What if somebody else packages and charges for it? If I write a neat little util, and it winds up in the RedHat distro, who takes blame for it when somebody installs it on their server, and it works about as well as you'd expect for a 'version 0.4' release?

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    3. Re:Liable if you make money out of the software? by cperciva · · Score: 2

      After all, if a hobbyist releases a tool he wrote for his own use that others may find useful, yet doesnt charge for it, he should not be liable for his free tool causing prolems with something company X used it for.

      I disagree. If anyone -- be it a hobbyist, or a company like Microsoft -- releases software with a disclaimer to the effect of "this is a piece of junk, don't trust it with anything important", then they shouldn't be held liable. Of course, that might significantly impair Microsoft's ability to sell their product.

      Conversely, if someone releases or distributes software while giving the impression that it will work, it should work. If I install qmail, someone finds a security hole, and I suffer damage as a result, djb should be liable -- not just because he distributed subjuctively insecure code, but because he distributed subjunctively insecure code while making statements which lead me to believe that it was secure.

  9. administrative nightmere? by BWS · · Score: 2

    I think this would be an administrative nightmere for open source... Don't give me some B.S. about open source getting some kind of exemption cause its not gonna happen... also don't give me B.S. about open source not having security bugs... they DO!

    Lets say this becomes true and Microsoft gets sued cause HyperTerminal (part of Windows) has an root exploit. Microsoft pays damanges and then will probably sue HillGrave Software (or whatever company they sub-contracted to write it). (or they have insurance). This will drive up the cost of software for sure..

    Lets take a look at the open source way. Lets say some company using package X get rooted cause of an bug in package X. It sues the maintainer of package X. The maintainer then pays out. What does the maintainer do? sue the developer who wrote the chunks of code?

    This will particularily bad for open source software for the following reason: large companies can afford insurance against this.. open source cannot... once open source gets one or two lawsuits cause of this... I expect more and more open source projects/developer to give up cause they can't afford to pay out..

    --
    -- Note: These Comments are Generated by ME! Not You! ME!
    1. Re:administrative nightmere? by BWS · · Score: 2
      The website will sensibly say "This software is provided as is, with no guarantees" or something similar (i.e., disclaiming liability for problems, which is fair as you agreed to those terms when you started downloading the software).

      mmm... isn't that what exact a EULA does? and aren't we against EULAs?... and what prevents MSFT from saying the same thing?
      Of course, the company would have to prove that they updated X with the relevant security fixes over time (e.g., with BIND, updating to 9.2.1 which is a 5 minute job from source) and that it was that code that caused the failure.

      Great now lets start the lawyers arguing over the meaning of 'over time'... when is appropiate? within a week of the patch coming out?
      --
      -- Note: These Comments are Generated by ME! Not You! ME!
  10. Sensible liability. by danamania · · Score: 2, Insightful

    I doubt software vendors could continue to exist, if there were a level of performance required where NO bugs/faults were required. What may work though, especially when it comes to software like IIS and all of its fun vulnerabilities, is lemon laws similar to for cars.

    A model of car needing a recall is no big deal - it's a bummer and an inconvenience most of the time, much as most software has the odd patch/upgrade for reasons of bugs appearing publicly. Continual faults/bugs/etc are a different matter entirely.

    The notion also, of Unstable, Stable, Testing versions of software seems pretty sensible when it comes to the liability in open source software. Letting a user know what they're in for when using an Unstable product limits liability by saying "OK, this really could be crap" - miles more than IIS, to use one example.

    a grrl & her server

  11. Est. $60,000,000,000/yr in USA. by Black+Parrot · · Score: 5, Informative


    The NIST commissioned a study (sorry, 1.4Mb .pdf) that analyzed the cost of bugs^w "inadequate software testing infrastructure" in a couple of industries and then estimated how the cost scaled up to the entire USA. Result: $60 billion per year.

    If you don't want to download the report, there's a brief summary in RISKS Digest 22.11, on comp.risks. If you do download the report, the final numbers are on p.174

    --
    Sheesh, evil *and* a jerk. -- Jade
    1. Re:Est. $60,000,000,000/yr in USA. by Gorobei · · Score: 4, Interesting

      $60B/year sounds reasonable: 100 Million users, with an average wage of $10/hour = 60 hours/person/year wasted, Or about one and a half hours per week for your average person.

      This is less bad than traffic jams, and somewhat worse than income tax forms.

      But, so what? Would America benefit for bug-free software? Would spending $300 billion so that ATMs didn't crash, Microsoft Expedia always worked, Verizon's DSL billing was perfect, really be a good use of resources (even if we could do those things?)

      We expect stuff to fail. Let the free market decide what level of error we will tolerate (e.g. I can deal 1 crash per year on my home machines, my parents don't mind 1 crash per day! - we have different needs and price points.)

    2. Re:Est. $60,000,000,000/yr in USA. by Gorobei · · Score: 2

      No, I think product liability laws are an excellent thing: users have a right to expect that products behave in a reasonable way (simple products should have very high liability, more complex/powerful products less so.) E.g. if I buy a cup of coffee, I have an expectation that the cup is capable of holding the hot drink without collapsing. If I buy a chainsaw, I expect documentation and acknowledge that there is risk in my using it. If I buy a professional band-saw, I figure I might lose an arm (I'm not a professional woodworker).

      If I buy an operating system, I'm happy that it works, and that it won't cost me a limb if I misuse it or it goes wrong. If it lets me read my mail, and I can re-install when it fails, I am using the tool at a consumer level. If, on the other hand, I write a shell script to dispense insulin for my wife, and the computer crashes, I have no one to blame but myself.

      The comsumer PC need not be perfect, just mostly harmless. At this level, product liability should be almost a non-issue: switch to Linux if you don't like the easy-of-use/reliability point that you are at.

    3. Re:Est. $60,000,000,000/yr in USA. by wadetemp · · Score: 2

      But... we want to sue!

  12. quick solution by Alien54 · · Score: 3, Interesting
    I would define software into several broad categories:
    • Non-Comercial For which money is not charged
    • Commercial for which money is charged
    • Licensed Commercial For which Money is charged, but for which no sale is made.
    Commercial software would include the obligation of support, although the require period of time is open to debate. I would advocate 5 years, although this could be set to several classes, such as 1 year, 3 year, 5 year, and 7 year. Each with a degree of obligation of support, liability, etc.

    Non Commercial would not be subject to the warranty, and so would cover open source, donation ware, shareware, etc.

    Shareware, etc. would probably have to be sorted out as software where no payment is required.

    I advocate that any software not sold but merely licensed must have complete liability coverage and support for the duration of the License.

    --
    "It is a greater offense to steal men's labor, than their clothes"
    1. Re:quick solution by Alien54 · · Score: 2
      You'd really fuck people that sell GPL software, what with the infinite, non-revokeable license length as long as you follow the other terms.

      Well, I do not see it this way.

      GPL allows you to charge for making copies. So this fits in with other software re-distributors.

      Specifically customised versions, such as Redhat, are sold commercially, and could be subject to a warranty in the boxed version for some period of time, such as a one year class of warrenty.

      but the version you download for free is non-commercial.

      Primary point of defition being 'did money exchange hands?" = Liability for some length of time.

      Buyt his does bring up the essential point, liability for GPL vs proprietary setups like MS.

      the Solution? "Follow the Money"

      The point being to BREAK the curse of perpetual license with no responsibility.

      --
      "It is a greater offense to steal men's labor, than their clothes"
    2. Re:quick solution by Tony-A · · Score: 2

      This is too complex
      ???
      $5 CheapBytes copy of RedHat (maybe called Pink Bow Tie Linux)
      For $5 you expect it to not be a coaster.
      Probably includes what it should, but untested.
      Neither CheapBytes nor Red Hat responsible for any bugs.

      If you modify the software, the author *cannot* be responsible for your modifications.

      What's stupid about "Unbreakable"? Anytime somebody manages to break it, they will fix it. The effect of the posturing is that for most everybody it *is* unbreakable.

  13. Two observations on the article by SirKodiak · · Score: 4, Interesting
    In general, Microsoft says it is unfairly targeted because of the popularity of its software, which run everything from PCs and handheld devices to servers and game consoles. The products are even less buggy than others, in terms of per capita usage, Microsoft Chief Executive Steve Ballmer has said.
    It seems like Steve Ballmer is trying to suggest that software with 10 users and 1 bug is of equivalent quality to software with 10,000,000 users and 1,000,000 bugs. I don't think I see the justification for this.
    "Society has benefited from high-volume, low-cost software and a rapidly evolving ecosystem" where disparate computer systems, software and hardware link up, Mundie said. "Microsoft can't control that process. If the printer driver tanks the system, who do you hold liable?"
    This seems like a solved problem. If a subcontractor delivers a part to the construction of a bridge that isn't within the tolerances laid out by the bridge designer, and the bridge fails as a result of this, then the subcontractor is at fault. So, it seems like this is only a problem if Microsoft's documentation for the creation of printer drivers isn't specific enough. This is a situation that can be handled with well-defined APIs.
  14. License the consumers... by fmaxwell · · Score: 2, Troll

    I always point to the ham radio market. In general, there are very few pieces of "bad" ham radio gear sold. Some may be better than others, but none are truly bad. Why? I believe it is because the FCC requires that one understand the gear before they can get a license and use it.

    Computer consumers, in contrast, often understand practically nothing about what they are purchasing. They do not understand how software (or hardware) works, how it is designed, what it is reasonable to expect a computer to do and what it is not. As a result, there are marketing droids demanding that people be able to cut & paste from video editing software to word processing documents. This leads to the software engineering team spending an inordinate amount of time creating bloatware with as many bugs as features. Adding to this problem are the EULAs that software vendors use to shield themselves from any product liability lawsuits ("it's not a product, it's just a license to use the software"), thus undermining the only thing that had any possibility of keeping the software quality in check.

    If licensing improved the quality of software, then MCSEs would be turning out works of art. And I think that we can all agree that it's not happening.

    1. Re:License the consumers... by Disevidence · · Score: 2

      You have to get a license to use a car, and the certainly doesn't imply that cars are better for it.

      But it certainly makes the roads safer. A bit of a tangent, but everyone SHOULD understand how to use a computer, and have a fairly basic understanding of how it works.

      I know the road rules for others safety, i know how to drive a car for everyones safety, and i very basically understand how a car works, so if there is a problem, i might be able find a proper solution quickly (like, brakes gone, use your gears to slow down).

      Drawing parallels to computers, if everyone knew how to use a computer, then they could gain a lot more productivity, there would be a lot less viruses out there transferred by idiots, and the software could focus on speed and reliability, not "cool" features. Thats not a yay or nay for any particular sections of computers, just an increase of productivity, and better bang for our buck.

      Computers and cars are a lot more similar than first noticed, IMO.

      --
      Think nothing is impossible? Try slamming a revolving door.
    2. Re:License the consumers... by fmaxwell · · Score: 2

      There are a lot of other niche products that have the same quality throughout the available manufacturers. Filmmaking equipment, pro TV and video systems, etc. Anything that is truly designed with the professional user in mind stands a chance of being pretty high quality throughout *unless* it is exploited by mass attention.

      You just proved my point: When the purchaser understands what they are buying, then they don't tolerate junk. With computers, the purchasers, by and large, are ignorant. The only things that they understand are price and features. They don't understand how computers work, so you get motherboards with crappy power supply filtering, sleeve bearing fans, operating systems that are unusable to anyone who is not an "administrator", and e-mail clients that execute VBScript.

      Simply being a niche market is not enough. One could argue that chrome-plated, double wiper blades are a niche market, but they aren't high quality. RC model airplanes are a niche market and there are plenty of those of poor quality. In order for the product to be of high quality, it must be sold to a market that largely understands its inner workings.

    3. Re:License the consumers... by fmaxwell · · Score: 2

      Perhaps you're thinking of the MSCD.

      I stand corrected.

      Newsflash - there *are* MCSEs who are experienced, skilled people (I happen to consider myself one of them).

      And there are also people with MCSEs (and MCSDs) that have no real skills, experience, or aptitude. They paid their money and took the tests (sometimes several times) and have their certifications. It's like a shopping mall karate studio. Don't expect real martial artists to be impressed that you got a black belt from the karate studio next to JC Penney.

    4. Re:License the consumers... by josh+crawley · · Score: 2

      "But it certainly makes the roads safer. A bit of a tangent, but everyone SHOULD understand how to use a computer, and have a fairly basic understanding of how it works."

      I very much agree with what the original thread maker and you say, however how do you plan for this to get done?

      I do have an idea how that is possible, but it will take a bit of time. Simply, make a required 1 year computer classes in High School. Have them truly be college graduates (in computers/electronics). On the first day, have every part of the computer lying on a table. Dont even have any data on the hard drive. Then class by class, teach what each part is and show how they go together. Once the whole computer is assembled, start it up. When it doesn't go into "a program" explain why that is. Show them how to install Windows AND Linux. Why both? Going over only 1 is being ignorant, and if you're a teacher, you're responsible that your pupils shouldn't be ignorant.

      The final project would'nt be a paper or whatnot. It's simply: make a fully functioning computer that can do X on the network. The X has to be something simple, like watching a movie (on the network somewhere) or playing network games. It's just a 1 year class. If the school wanted to, they could either allow you to bring in your own hardware, or charge a hardware fee (then the comp's yours).

      The problem with that is having half-baked teachers. Everyone know the famous slogan "If you cant do, you teach." And my opinion, I dont want MCSE's only teaching, since many of them (the ones that I know), hate linux since it's NOT microsoft. Variety's good.

    5. Re:License the consumers... by fmaxwell · · Score: 2
      And your point is...?

      That licensing software engineers will not guarantee reliable, high-quality code.

      You were making the mistaken generalisation that holding an MS certification implies lack of ability. Which is incorrect.

      No, I was not. Read what I originally wrote:

      If licensing improved the quality of software, then MCSEs would be turning out works of art. And I think that we can all agree that it's not happening.

      (You rightly pointed out that I should have said MCSDs.)

      Now where in that did I state that holding a Microsoft certification implies a lack of ability? MS certification holders are not, as a group, turning out the highest quality software ever seen -- yet they are trained, tested, and certified. Which gets back to the original point: Simply having some body doing licensing does not guarantee high-quality code.
    6. Re:License the consumers... by fmaxwell · · Score: 2

      This isn't a generalisation, implying that MS certification holders lack ability?

      No, I implied that many, not all, MS certification holders produce poor software. If it makes you more comfortable, add the word "all" to my original statement:

      If licensing improved the quality of software, then all MCSEs would be turning out works of art. And I think that we can all agree that it's not happening.

      Where's your proof of this?

      I have worked with several MCSD-certified software developers. Their code was, to put it politely, not top-notch.

      Why pick on MS certifications?

      Because I am not familiar with any other widely used certifications for software engineers.

      Like any group there is a huge variation of skill and ability.

      Why is there this huge variation? I thought that the purpose of a certification was to assert that the holder is capable and qualified to do the work one would expect for someone in that field. That's the problem with the Microsoft certifications; there are some highly qualified people with them and others who don't have the analytical skills to work a cash register at Walmart.

      You can gripe about this all you want, but a certificate, diploma, or award is only as good as the organization that stands behind it. That's why diplomas from the local community college don't garner the same respect as those from Harvard, Princeton, or Yale. The community college issues diplomas to people that have a "huge variation of skill and ability" while Ivy League colleges do not.

    7. Re:License the consumers... by fmaxwell · · Score: 2

      That was my point. You were making a blanket statment about MS certified people. Thank you.

      That was not my intention. I thought that the "all" was implicitly understood.

      This is what I am talking about. Based on this small sample you make a blanket assumption about all MS cerified people (based on your original comments)

      No, I did not. I thought that it was clear, from the beginning, that the word "all" was implied.

      But again - you make generalisations about Harvard or Yale graduates. I've met people with Harvard qualifications, and I wasn't impressed with what I saw.

      You may not have been, but it does not mean that their standards are as lax as Microsoft's.

  15. Commerce != speech by fw3 · · Score: 3, Insightful
    Generally businesses, people working in their professional contexts do not enjoy the proceess rights.

    What is sold as a product is not speech. If the courts have not been uniformly easy on code which expresses scientific ideas, written in an academic context, then certainly commercial software will not (and I think should not) enjoy protection as speech.

    What would have to happen to change the current setting where commercial practice (and law) considers all software to be 'without warranty' is another matter.

    The obvious reason that SW is presently very much a 'caveat emptor' instance is that most nontrivial software products are both comple and can be run in such a wide array of hardware and software environments that solid analysis of potential failures is clearly infeasible.

    --
    Linux is Linux, if One need clarify their dist: <Dist>/GNU Linux
    bsds are of course just BSD
    1. Re:Commerce != speech by wytcld · · Score: 2
      What is sold as a product is not speech.

      Whew! That certainly takes care of all those freedom-of-the-press concerns. They only apply to press which is given away free!

      and can be run in such a wide array of hardware and software environments

      Now there you're onto something. The person who installs the software on the hardware effectively creates the warrantable device. Which, if this were the business model, would mean that /.'s parent could have gotten a fair premium selling those boxen, and no sane vendor would sell systems with MS OS installed.
      ___

      --
      "with their freedom lost all virtue lose" - Milton
    2. Re:Commerce != speech by cpt+kangarooski · · Score: 2

      No, he's about right. If you go to your lawyer to get legal advice, he can be held liable for it. His ability to speak freely is totally irrelevant. No one is saying that you cannot say whatever you want -- only that you may be held liable if it is injurious. (e.g. if your lawyer told you to do something criminal, or which harmed you in a proceeding)

      Frankly, and I say this because I've been doing some work with consumer fraud recently, courts simply do not like a caveat emptor approach to business. They prefer an ethic of honesty and frankness that favors the consumer, and aren't afraid to enforce it.

      There have always been limits to the breadth of free speech. It doesn't protect you in cases on treason, or libel, or slander, or incitement, or copyright infringement, or a host of other things. It's extensive, but it is not intended to shield actual wrong doers after they have done some actual harm.

      --
      -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
  16. Re:Comments from the article and my comments on th by Black+Parrot · · Score: 2


    > If software was tested until there were absolutely zero defects in it you A) be waiting a long time to get it and B) you'd probably faint dead away when you saw the price tag.

    That's certainly true today, but must it be true forever? I suspect we'll soon reach the point where the public says "Enough!" to crappy software, and then the eggheads with their code generators and correctness provers will crowd out us ordinary geeks with our bug-laden code.

    --
    Sheesh, evil *and* a jerk. -- Jade
  17. excellent point by AdamBa · · Score: 2
    You could also flip this around and look from the point of view of someone in a company considering what software to buy. If Microsoft software goes bad, then they know who to sue and they have lots of $$$. But if they buy open source, then who do they sue, and do they have any money anyway?

    This could generate an answer to the question "What is the difference between Red Hat/Debian/random-distro" of Linux -- the difference could be in how much they guarantee the liability in their software. Sure it's a risk for a distro to do so, but if they really believe the "many eyeballs == better software" theory, it's a risk someone may take.

    - adam

  18. Re:Code is free speech -- etc. by BWS · · Score: 2

    disclaimers? prehaps for those "book" they have disclaimers and stuff ......

    just like those "Psyhic (sp?) Friend Network" ads they have subtitles "for entertainment purposes only"

    and labels on peanut choclate bars that says "this may contain nuts" (I know peanuts is not a nut but geeze).

    people are STUPID enough to belive these things...

    --
    -- Note: These Comments are Generated by ME! Not You! ME!
  19. Death of Linux by BWS · · Score: 4, Insightful

    lets consider two facts..

    1) RedHat/Mandrake/Suse/Caledra has been the big push of open source for the business world... without them Linux would be dead in the business world...

    2) companies in (1) released products for sale (you buy them) and they sometimes have security bugs (a lot of them has a recent exploit in SSH recently)..

    3) companies who uses products by companies in (1) who get 'rooted will sue the companies in (1)

    4) companies in (1) will die (they have lot less $$$ then MSFT)..

    5) bad for Linux...

    --
    -- Note: These Comments are Generated by ME! Not You! ME!
    1. Re:Death of Linux by Jucius+Maximus · · Score: 2
      Consider the article linked on slashdot some weeks ago illustrating this very same thing:

      Life On The Net in 2004

  20. All software has bugs by Henry+V+.009 · · Score: 2

    I don't care what software package you are talking about, but I can find at least one bug in it. And I can set it up so that the bug in questions causes me some amount of damage. Then I just find a lawyer and sue. I could make quite a living. I just buy a new piece of software each week and manufacture another lawsuit.

  21. Ideal PDA features by SCHecklerX · · Score: 3
    If I build my own device, and I am harmed, or give it to somebody with a warning and they are harmed it is my fault and that other person's fault for trusting my non-certified device.


    If, however, I am the head engineer for a project, and it fails, my head should roll. This goes for things I would manufacture and sell.


    If I putz around with some code, and share it, no big deal. As soon as I am in the software BUSINESS, and sell that code, however, I have a responsibility to the folks who use that code.


    Most folks who write stuff in their spare time, write it first and foremost for their own use. Since they made the effort, many folks decide to share it with the world. Of course it won't be polished, but at least they try not to hurt themselves with it, so it follows they wouldn't be hurting others with it either.


    Software vendors make software for a profit. And do a shitty job of it. They SHOULD be held accountable for their inferior shit that hurts individuals and businesses with lost productivity and data.

  22. Professional Liability by the+eric+conspiracy · · Score: 2

    traditionally the only environment with legal resources adequate to deal with such liability has been the megalithic corporate one.

    Professional engineers, doctors and lawyers are subject to liability claims arising from negligent behavior. There is also insurance available to cover these circumstances.

    Megalithic corporations do not have any special exemption from disaster due to product liability claims. Many are driven into bankruptcy as a result of liability problems (Dow Corning, Johns-Manville, and Soon Arhter Anderson).

    1. Re:Professional Liability by rnturn · · Score: 2

      The way I recently heard it, Arthur Anderson will be, barring some appeals court miracle, out of business due to an SEC rule that prohibits any company convicted of a felony (obstruction of justice in A.A.'s case) from performing audits on publicly traded companies. Not really a liability problem.

      --
      CUR ALLOC 20195.....5804M
  23. As a developer.. by rant-mode-on · · Score: 2

    As a developer, I cringe at the thought of being liable for my code. We all know its next to impossible to make something completely bug free.

    However, as a consumer, buying software should not be a risk. It should do what it says on the box, and if it doesn't, I should be entitled to have it fixed.

    Of course, these sentiments are ingrained from my days as a Windows user. With Open Source, its a whole different kettle of fish. I've paid nothing for it, so I've gained by merely having the software. If it doesn't work, big deal, I either move on to another app, report it, wait for it to be fixed or if I'm really desperate dig the code out myself. At the end of the day, the worst situation that I can be in is that I'm back to where I started, it hasn't costed me anything.

  24. Warranties shouldn`t apply to open source by Idou · · Score: 2, Insightful

    If I recall correctly, all products have "implied" warranties that cannot be voided. So, if you ever sign something that "voids" your warranty when you buy something from a merchant ("as is"), it really doesn't mean anything if the product is deffective. Lawyers just like putting phrases like that in so that the people who don't know any better will say "shoot, I can't sue because I signed that paper . . ."

    I think "common law" applies to non-merchants and is very different (your hobbiest), but I better shut up before I post some big mistakes.

    Anyway, to begin, I am assuming that expecting hobbiest to be liable for their code is total BS. It is like making someone responsible if their post causes someone damages or to kill themselves. Not only do I think current "common law" would imply hobbiest to be free of liability, they could always just use an alias for their code contributions, making enforcement impractical.

    However, as a merchant, I think that by giving out the source code of your product, all related parties would effectively have the ability to check the code before they use it, which would shift the responsibility to the consumer. Yes, this is impractical! However, why do you think CPA's exist? Accounting information is extremely impractical for each individual to analize, so we have something called "auditors" to do this for us. It wouldn't be weird if a "software auditor" were to come to be and would give an "unqualified opinion" if everything was in order in your favorite distro.

    Companies who didn't release their source, however, would not be allowed to void their implied warranties because there is no way to check if the code will do damage or not.

    This would be a drastic change but would probably increase the quality of software, in general. MS would probably be the only company left that could afford not to open their source, but that is fine by me. At least they would be responsible when their software deficiencies indirectly impair my bandwidth.

    --
    Sdelat' Ameriku velikoy Snova!
    1. Re:Warranties shouldn`t apply to open source by Jucius+Maximus · · Score: 2
      I think that the idea that introducing liability for all code in all software is not so good an idea at all.

      What I do propose is that there be some sort of 'tiered liability model.' This means that if software developers choose, they can do the necessary expensive licensing and develop software for which they are liable.

      They would want to do this because this liability model would include laws where systems where malfunction would result in physical harm to humans must run only software for which the developers are licensed and liable.

      If someone is running a regular web server, they can still get BSD + apache and whatever other Free items they want and pay $0 for software (or even an unlicensed commercial OS/server) but not be able to sue the developer. On the other hand, they could choose to pay big money to get liability-licensed software so that if their server goes down and they lose 50 million dollars in business, they could sue.

      The good thing about this model is that it introduces liability and responsibility where such things are absolutely needed, while it gives more options but not more restrictions to everyone else.

  25. Unask the Question by justin.warren · · Score: 2
    This is more a perception problem on the part of end-users of software, which has come about due to the poor marketing practices of companies selling computers and computer software. People have been convinced that computers are easy to use, when they are not. Whether or not they should be is debatable and I won't go into it, but it is unreasonable to assume that a general purpose computing device should be as easy to use as a special purpose appliance like a microwave, or a car, or a VCR, and we all know how much trouble people have with these devices.

    Now, ratifying this unreasonable expectation of software in law is misguided. There are already sufficient principles in law to handle the situation. People should be educated to understand what 'use at own risk' means. If you wish to have a piece of software that absolutely must work (and has been proven to do so) then you will need to pay the price to have such software developed. The fact that you desire mission critical software should not prevent me from obtaining and using 'at risk' software for my own use.

    People sue too much as it is. Grow a spine and take responsibility for your own actions for once. You bought and installed the software. You have taken the risk and the responsibility. If that's unacceptable, cough up the dough to get someone to write a bulletproof webbrowser. Or use a typewriter.

    --
    Just because you're paranoid doesn't mean they're NOT after you.
  26. Won't fly by Pig+Hogger · · Score: 2
    It just won't fly. Engineering has been around for thousands of years, so the "natural laws" behind it have been sufficiently understood.

    On the other hand, program writing is too young a discipline to have yet evolved a set of absolutely-proven "natural laws" yet, especially when programming paradigms (high-level/structured/oop) change every generation or so.

    Those "natural laws" just won't happen for a while, especially if the architecture eventually changes from Von-Neumann to something else (parallel/neural/photonic).

    The main problem behind attribution of liability stems from the lack of "natural laws" governing programming itself, thus making the analysis of software failure a shaky endeavour.

    Finally, the programming establishment will simply not accept liability, and, most importantly (to the point of dooming the whole liability scene), no underwriter will accept to back software liability insurers either.

    1. Re:Won't fly by the+eric+conspiracy · · Score: 2

      The main problem behind attribution of liability stems from the lack of "natural laws" governing programming itself, thus making the analysis of software failure a shaky endeavour.

      Natural laws of programming not understod? Maybe not by your Chubb institute hackers, or their pointy-haired bosses. But clearly the mathematical foundations of software are understood.

      The fact is that SOME software is unreliable because people are not willing to pay for making it reliable, or companies like Microsoft don't view software quality as something that will make a difference to them in the market place.

      There are software systems that ARE reliable. Telephone switch software has an excellent reliability record. Software for embedded devices is generally written to much higher standards than PC software. Midrange and mainframe systems generally are far more reliable that what we run on PC's.

  27. libraries? (issues?) by BWS · · Score: 2

    I am having too many thoughts tonight (time to meet some beer). this would also be fairly bad for code resuse.

    Lets say I own WangCorp and market a commerical linux application which say uses zlib. Now lets say that a bug in zlib causes my application to crash. One of the clients, SingerCorp lost some data cause of this.

    1) does SingerCorp sue WangCorp or the writers of zlib? does it matter if zlib is GPL code?

    2) assume that WangCorp does not link to zlib but instead another similar library but commerical. does that change the issue?

    3) will the writers of a library be liable for damanges that the library causes if it used in another application?

    4) for example: VMWare includes a copy of Samba for file sharing. lets say that Samba get rooted. do you sue VMWare Incorperated or the Samba people?

    --
    -- Note: These Comments are Generated by ME! Not You! ME!
  28. If buildings were constructed the same as code .. by fw3 · · Score: 2, Interesting
    "The first ant to come along would destroy civilization in a day"

    I don't know who wrote this but it's a standard article of faith(sic) in the IT industry.

    The only case I can think of in which a vendor provides a meaningful statement that a system operates with a particular fitness for purpose would be systems evaluated under Common Criteria orTSEC

    And these systems differ from the vast majority of operating software systems in that:

    • Certification is made only wrt a specific hardware configuration
    • In the case of A - level MLS systems there has been a formal proof of security
    • B - level MLS systems require extensive design and audit validation
    • None of the above necessarily guarantee the absence of coding errors / holes

    So the current state of the art is "software is too complex to guarantee performance", this is codified in commercial code and practice. What this means for now is that entitities which use software cover themselves with insurance. (I have no idea what it costs to insure a commercial web-presence.)

    I think changing things to hold producers of commercial software and systems would be a good step. I can't see however how this would happen without forcing considerable change in the practice of software design and development.

    Either tehcnology and QA need to change, or software systems would need to become simple. Given the current set of assumptions it is effectively impossible to perform an analysis of any non-trivial code and determine that it is safe in the expected execution environment(s).

    Simplicity sounds great on paper. At present there isn't a market for simple software that works with high assurance. (Look at the tiny marketshare for the BSD's). Even the systems that run over unix-like / oss show a degree of bloat that continues to push reliability out the window.

    Prudence and solid engineering practice in operations dictate that we use the simpler / more robust tools in key locations. So BSD or secured versions of linux get deployed as firewalls etc, and critical application and database servers are run with various redundancies (clustering / failover etc), which effectively throws hardware at solving the software 'problem'

    Which is just another name for insurance.

    --
    Linux is Linux, if One need clarify their dist: <Dist>/GNU Linux
    bsds are of course just BSD
  29. last though... (no more I promise) by BWS · · Score: 2

    will this lead to code bloat? I mean think about this...

    most software use a lot of libraries... you get into a lot of problems if the libraries are slighty different...

    Lets say that my products works with a shared library version 2.4.292. Lets say that the implementors of the shared library makes a slight change in version 2.4.293. Lets say someone who uses it with version 2.4.293 crashes...

    am I responsible? If I am... I am sure hell going to compile my executable statically linking every single shared library... (eek. on the code size)

    --
    -- Note: These Comments are Generated by ME! Not You! ME!
    1. Re:last though... (no more I promise) by josh+crawley · · Score: 2

      "am I responsible? If I am... I am sure hell going to compile my executable statically linking every single shared library... (eek. on the code size)"

      That's why Commercial Linux programs are soo big. They have to include every library for them not to have "error in loading library". It's big, but it works.

      Perhaps on some programs, having static libs ARE a good idea.

  30. Comparing Software "Engineering" to others... by darkwiz · · Score: 5, Insightful

    ... is really pointless. The argument is: an architect designs a house that doesn't blow over, or a bridge that handles the traffic load without collapsing. However, in these cases, anyone who does something out of the ordinary with the house (fills it with water, tries to open the inside door without opening the screen door), would be laughed at if they called it a design flaw.

    Take the usual punching bag for example: IIS. IIS, when used properly, works quite well. You might argue about the functionality/performance/cost compared to [insert favorite httpd], but pass over those arguments for now.

    Security is a common complaint for IIS. However, if a person broke into your house by going in through a weak point (a window, the chimney, etc), you wouldn't blame the architect.

    Zealots might say that backdoors in software are like using doors without locks. But this is ignoring the fact that software is often not an integration of existing, proven solutions, but an exploration of ways to attack a problem. Also, these failings are plain to the layman, whereas software bugs are often obscure to the guru. You simply cannot have the expectation that software will *NEVER* crash.

    An architect has a given set of solutions for common problems (building codes, pre-existing designs, etc). If they can't solve a problem with an existing, proven solution (or a mild derivation of such), they probably wouldn't take on the job. Programmers do not have this luxury. We are inventing these solutions on the fly -- and we will make mistakes.

    1. Re:Comparing Software "Engineering" to others... by autocracy · · Score: 2

      Yeah, but what if he marketed it as a veritable vault?

      --
      SIG: HUP
    2. Re:Comparing Software "Engineering" to others... by KurdtX · · Score: 3, Insightful

      Security is a common complaint for IIS. However, if a person broke into your house by going in through a weak point (a window, the chimney, etc), you wouldn't blame the architect.

      However, if the architect represented the window as unbreakable, and afterward told you that they couldn't forsee someone using a hammer, I think you would have plenty of reason to blame the architect.

      --

      Kurdt
      I'm not anti-social. Just pro-technology.
    3. Re:Comparing Software "Engineering" to others... by JohnsonWax · · Score: 2
      The argument is: an architect designs a house that doesn't blow over, or a bridge that handles the traffic load without collapsing. However, in these cases, anyone who does something out of the ordinary with the house ..., would be laughed at if they called it a design flaw.

      What about an earthquake near that bridge? That's out of the ordinary.

      Engineers design to a set of specifications. Those specs can change (the Northridge quake changed a lot of structural engineering design) but you still design to a set of expected conditions. For instance, any robust network application should be coded to protect against buffer overruns. Technically, it's not a difficult problem, but it'll address a wide range of issues.

      And it's not like all programmers need to be licensed software engineers, or all applications coded to those specs, but the option should be there and certain classes of apps should be run through the drill. I sure don't want the software that runs the MRI machine to go through MS's concept of QA.

      An architect has a given set of solutions for common problems (building codes, pre-existing designs, etc). If they can't solve a problem with an existing, proven solution (or a mild derivation of such), they probably wouldn't take on the job.

      Well that's complete crap. It's true of some architects/engineers - some won't want to take on the responsibility, but engineers are trained to deal with open-ended problems with no pre-existing solutions. Their entire reason for being is to be able to take a situation and find a solution that addresses a reasonable set of expectations. They don't always succeed (see WTC design - fuel-laden jetliners intentionally flown into them didn't seem reasonable at the time) but provided that they demonstrate responsible design there's no problem.

      Now, how many of the software issues we see can the programmers claim were design problems unforseen given reasonable expectations? Bad execution of code doesn't waive liability here. Good design covers that as well. The programmer is only on solid ground if he/she can claim that the code functions exactly as designed and any problems (exploits, bugs) are the result of conditions outside those that are reasonably expected.

      Now, there no expectation for never crash, only never crash for reasons that can be prevented. It's a substantial, and reasonable difference.

    4. Re:Comparing Software "Engineering" to others... by Lumpy · · Score: 5, Insightful

      You simply cannot have the expectation that software will *NEVER* crash.
      Umm, the aircraft and space industries certainly do.

      if your flight computers software weren't sure to never *crash* then it would never be used. there are many hyper-critical systems out there running software that doesn't crash. (because if they do lots of people die!)

      I cant stand the cop-out I hear from programmers.. Yes, you can make bug-free and software that cannot and will not crash. Industry and the companies that make it choose to release buggy/crappy products. New features are more important than security/stability.... this is not always the case though, the OS running the allen-bradley RC5 and newer PLC's is rock solid and doesn't crash.... it can't, because it would kill people. these plc's are running 500 ton presses, high speed laser cutting systems and water filtration facilities. it is purely unacceptable to have a PLC crash and fail to an all outputs or arbitrary outputs on state as it will kill the operator, destroy the equipment, and in a water filtration facility, poison from 100,000 to millions of people.

      any programmer that says you cant write a program that doesn't crash or doesnt have bugs, is not a programmer. Yes that is a huge slap in the face of most of the "programmers" out there. but it is a slap they all need to have and require. It can be done and it is done every day.

      --
      Do not look at laser with remaining good eye.
    5. Re:Comparing Software "Engineering" to others... by Dr.+Evil · · Score: 2

      There's a hell of a difference between a PLC and a modern PC operating system. PCs would not exist either at home or in the office if they had to be held to strict requirements for quality of programming.

    6. Re:Comparing Software "Engineering" to others... by edremy · · Score: 2

      You simply cannot have the expectation that software will *NEVER* crash.

      Umm, the aircraft and space industries certainly do.

      You don't work in either, do you?

      Certainly, they crash *less*, but they most certainly do crash (literally, in some cases), fail, give wrong outputs, etc. Flip through a few articles on the RISKs digest. Here's a few examples I found after a brief search

      • Mariner 1 was destroyed by range safety because the ground computers had a bug in the radar tracking system
      • The first Venus mission was blown up because of a missing hyphen in the code
      • The first Ariane 5 launch failed due to a bug in converting FP to integer.
      • The Patriot missile missed virtually every target in the Gulf War due to incorrect compensation for clock drift
      • A Lauda Air 767 disintigrated in mid-air when a thrust reverser was accidentally deployed, either by computer malfunction or when the computers failed to prevent it.

      That's the result of less than 5 minutes checking: have fun filling in more horror stories.

      Software bugs happen: they always will. Testing can make them much less common, but anything more complicated than Hello World is probably going to have bugs.

      --
      "Seven Deadly Sins? I thought it was a to-do list!"
    7. Re:Comparing Software "Engineering" to others... by NewWazoo · · Score: 2


      That's a bad analogy. A better one would be a door that comes with a lock installed. There's an implication that the lock will be secure. Yes, the criminal is still opening the door, but the manufacturer is negligent.

      Brandon

    8. Re:Comparing Software "Engineering" to others... by bluebomber · · Score: 2

      Part of the problem is that many people consider "software" to be one thing. It isn't.

      You simply cannot have the expectation that software will *NEVER* crash.

      Umm, the aircraft and space industries certainly do.

      Yup, you're right. But NASA has the luxury of producing single-purpose software. They don't have to worry about x^y^z possible permutations of hardware/software/enrivonment&configuration. They have a single hardware platform, a single configuration (or maybe a small set of configuration options), and a well-known set of co-existing software.

      But IIS (to use the popular example) can be deployed in an endless array of environments (firewall settings, network configuration, WinNT/2k/XP, etc), in various configurations (feature X active, feature Y inactive, etc.), with different third-party software and on wildly varying hardware.

      It takes a tremendous amount of effort just to get IIS to *work* in so many environments. To say that IIS and NASA flight control software are both the same kind of animal is ridiculous. Going back to the engineer / bridge-building analogy, it is possible for an engineer to design a bridges for a logging company that needs to cross a bunch of streams in the act of logging part of some forest where there are no existing roads. It is a very different task, and requires different engineering skills, reliability needs, materials, cost parameters, and builders (among other parameters) to build a several-hundred foot interstate highway overpass. And then consider a portable bridge, like the Army or Marine Corps might use in a combat environment. Sure they're all "bridges", but they're entirely different in their construction and conception.

      Software has similar comparisons. If I am writing firmware for a microwave and you are writing an web/database application, we're going to be thinking about very different things. I'm going to worry about time constraints, whether the hardware is responding properly, and making sure that the "popcorn" button doesn't try to defrost your chicken; I don't have to be concerned with hackers. You really don't care what kind of hardware you're running on; in fact, you're going to write the code as portably as possible (maybe across database engines, OS's, and/or web servers). Firmware is a different beast from a web application in the same way a portable bridge is different from a highway overpass.

    9. Re:Comparing Software "Engineering" to others... by dghcasp · · Score: 2
      an architect designs a house that doesn't blow over, or a bridge that handles the traffic load without collapsing. However, in these cases, anyone who does something out of the ordinary with the house (fills it with water, tries to open the inside door without opening the screen door), would be laughed at if they called it a design flaw.

      I find it funny how so many people assume that software development is some sort of "special" thing that has problems that have never been noted in the history of civilization...

      Changing requirements are a fact of life. Architects are told half way through construction "Oh, that floor will have to support 9000 kg/m because we decided to put our lab there." Civils half way through building a bridge are told it needs a car pool lane. Subcontractors will always try to perform cost-reduction, which may or may not change tolerances of components.

      So what's the difference?

      First, expectation. In any of the cases above, people will say "Sure - Here's how much more it will cost and how much longer it'll take." But we've deluded ourselves and our managers into thinking "We can do anything" - We passive-aggressivly accept the change and then bitch about it on slashdot.

      Second, design-for-change, or what's commonly called "overengineering." Make your damn code stable in the face of instability. It can be done - Look at Oracle for example. Or, to put it another way - When was the last time you checked the return value of write(2) or close(2)? Do you have any idea what to do if they return -1? (abort(3) should not be the answer)

      Stop whining and learn to be a professional.

    10. Re:Comparing Software "Engineering" to others... by Beliskner · · Score: 2
      That's because there's two very different requirements:

      PLC requirements:
      Crash: Unthinkable
      Transient anomaly (glitch): Unacceptable
      Dependent on flawed assumptions: Unacceptable

      Commercial software requirements:
      Ignore bugs, they'll upgrade and the company will get more $$$ fro paid upgrades. If I was Machiovellian I'd suggest put bugs in deliberately, I'm sure this is why those managers keep a respectful distance from coders.
      Testing => delay => competitors will steal your profits so you might as well scrap the project completely.

      Commerical systems can be reliable if it's demanded, e.g. Cisco 12000 series, and with some of the bugs in FreeBSD until the latest version "FileSystem corruption on heavy disk usage at shutdown e.g. after kernel rebuild" I mean WTF?????? I don't believe it, file corruption ain't no joke and it's halfway down the release notes. If you can't rely on your fs then you can't rely on your computer, how could FreeBSD have such a bad bug until recently, this is a "game over dude" bug. Nobody on /. has any right to bash Micro$oft any more. fs corruption is the main sign of an immature childish pre-alpha operating system, both Windows and FreeBSD had this bug until recently.

      --
      A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
    11. Re:Comparing Software "Engineering" to others... by Martin+Spamer · · Score: 3, Informative
      • You simply cannot have the expectation that software will *NEVER* crash.


      • Wrong, formals method can ensure that it is possible to claim that software will always fail in a predictable provable way.

        If they can't solve a problem with an existing, proven solution (or a mild derivation of such), they probably wouldn't take on the job. Programmers do not have this luxury.

        Wrong, Design Patterns are designed to make Software Engineering predictable in the same way that other Engineering is.

        We are inventing these solutions on the fly and we will make mistakes.

        Wrong, the Capability Maturity Model is designed to avoid, or catch mistakes and prevent the need to 'invent on the fly'.
  31. Re:Why you cant do this. by SuiteSisterMary · · Score: 2

    Actually, it's just as easy to do it with software, and you see vendors of 'turnkey' type apps do it all the time. "Run this software WITH this OS (or boot directly) with THIS hardware with THIS patch level and we guarentee the following things. Otherwise, you're on your own." This is why average software cannot be certified, as you say, there are too many variables. This is also why anything that you don't want going down at random times cannot be run on random software. That, of course, is why you go through a Professional Services firm, who WILL supply such a guarentee. With, of course, a shitload of stipulations as to hardware, other software, and so on.

    --
    Vintage computer games and RPG books available. Email me if you're interested.
  32. The essential problem by mfos.org · · Score: 2

    Here is the problem as I see it. It's one of scale.

    It is easy to certify most engineering professions. If you build a building, it must meet certain tolerances. A weld between two I beams would support so much weight. This is easy and empiracle (sp?).

    You learn this, and are tested on it to get your license. How ever, in the current state of software engineering, you deal on a much more fine grained scale. How does an extra iteration of a loop affect the stability and security of the program. There is no algorithimic way of determining this, like building a building at the molecular level.

  33. Licensed vs. sold by yerricde · · Score: 2

    Essentially all software is licensed not sold.

    A "copy" is the medium on which the program is fixed, i.e. the physical DVD-ROM on which Windows YQ ships. Copies of mass-market software are generally sold. Most EULAs state: "You own the copy, but we retain title to the program."

    In the United States, the owner of a copy of a computer program has specific rights under 17 USC 117. The difference between grandparent's "commercial" and "licensed commercial" is that a "licensed commercial" case is a software rental in which the copyright owner retains ownership of the copy.

    --
    Will I retire or break 10K?
  34. I don't see what is the problem.... by smoondog · · Score: 2

    Negligence in software development costs other people/entities money. Cleary, liability is an issue.

    I'm not sure, however, if all you programmers really want this cat out of the bag. Could you imagine someone suing you because something you developed didn't work and caused someone to lose money?

    -Sean

  35. Black Jack is! by Perianwyr+Stormcrow · · Score: 2

    He is the greatest unlicensed doctor ever. Unfortunately, like most other good things, he lives in the world of anime.

    --

    What we call folk wisdom is often no more than a kind of expedient stupidity.-Edward Abbey

  36. Murder by Lucas+Membrane · · Score: 2, Interesting
    As an independent doing a few thousand dollars in sales in a good month, I can't afford that. My customers know that I sell by reputation and word-of-mouth mostly. I do everything a 1-person shop can do to make the product high-quality, but it's not perfect. I offset the advantages of the bigger firms I compete with by giving strong service and by being the lowest on price by about 50%. That's a fair deal, and my customers like it. But if the law makes me guarantee quality, how in the world could I do that?

    This would vastly reduce the number of software firms and the availability of low-priced specialty software.

  37. WHO is Liable for damages? by __aadhrk6380 · · Score: 5, Interesting

    Hi, long time listener, first time caller and all that.

    I think the question (ultimately) may come down to where the finger gets pointed. I saw a post reference to certifications for programmers, which KIND of goes to my point. Then, I read the post on gun companies getting sued for the actions of their customers. Getting closer. THEN, I read the post by "The Eric Conspiracy" about Doctors, Engineers, Lawyers, etc, and what they are liable for. This is what I was thinking.

    In a corporate networked environment (I am narrowing it down here, I know, but bear with me), who IMPLEMENTS buggy software? How about the Sysadmin? Maybe not his or her IDEA, but they actually implement it. It ain't Joe Blow at his workstation who uses it. You are the one that put it out there for him.

    "Hey, our software was tested at M$ (or wherever) and found to run ok. What's YOUR problem?" If it hoses your network, or you get rooted, or whatever, it happened on YOUR system! Your firewall, your OS mix, your internal and external apps.

    I know this sounds far fetched, but look at Enron. They played fast and free with almost everything they did, and Arthur Anderson went along with it. Now, since AA got convicted, the Enron stockholders are going after THEM instead of Enron. Responsibility was neatly deflected from one to the other because it was EASY to.

    If you implement software onto your network, my guess is that EVERYONE that had ANYTHING to do with making it will be pointing to you as the (ahem) "root" of the problem. After all, it happened on your watch. And, odds are, YOU have some certifications! Tsk, tsk, you should have KNOWN better!

    Paranoid? Probably. Hopefully, anyway. But look at everything that has happened from day one on this planet. When something either goes wrong finally, or has gone wrong for long enough that people complain, the finger of blame always swings over to the easiest target.

  38. Slight mistake ... by crovira · · Score: 3, Interesting

    "the only environment with legal resources adequate to deal with such liability has been the megalithic corporate one."

    For "deal with" substitute "avoid"

    --
    MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
  39. Merchantibility by Arandir · · Score: 5, Interesting

    I think mandatory licensing for developers is stupid. Last thing anyone needs is a new bureaucratic office dedicated to extracting fees from developers.

    But warranties are a different matter. If you market your software as a commercial product, then it should have the same warranties as any other commercial product. This is common courtesy. It's also known as being ethical and moral.

    If you claim that your software is suitable to be marketed by actually marketing it, then you need to back that up by NOT disclaiming merchantibility. If I buy a toaster and it doesn't work as a toaster, it has a warranty that says I can get it repaired or return it for a refund. Commercial software should be the same. If I spend $199 on a word processor and it fails to process words I want recourse. If a patch is available then I want to be able to get that patch without having to pay for it. If no patch is available, then I want my money back. Is this so hard to understand?

    But before you all get your panties in a twist and start crying out that warranties will kill off Open Source, remember that this only applies to commercially sold software. No one expects merchantibility for freely downloaded software. Second, the warranty should reside with the seller, not the developer. So Redhat can sell your software and you are off the hook, because it is Redhat that is claiming the software is merchantable and not you.

    (liability is a different matter. I believe that every competent business should have liability insurance. But I don't see any problem with disclaiming liability so long as the recipient knows of the disclaimer before using the software)

    My current software has a warranty disclaimer. That's okay because I am not selling my software. If you wish to purchase my software, you will get a warranty with it. This warranty will cover replacement or repair of the software for one year.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
    1. Re:Merchantibility by dirk · · Score: 2

      But before you all get your panties in a twist and start crying out that warranties will kill off Open Source, remember that this only applies to commercially sold software. No one expects merchantibility for freely downloaded software. Second, the warranty should reside with the seller, not the developer. So Redhat can sell your software and you are off the hook, because it is Redhat that is claiming the software is merchantable and not you.

      This is where I think you're wrong. If I advertise that I am giving away widgets which can make foo, I am responsible for those widgets. Just because I don't charge money for them doesn't mean I can falsely advertise them. So if you advertise a program that does X (and you must advertise somehow (even if it is only a web page), otherwise no one would ever know about it to d/l it, and it doesn't do X, you could be held accountable. Think of it this way, if I stand on a street corner and give out nails and tell people they are the best thing you can use to nail a house together, I will be held responsible if they can't hold a house together. If something is free, that doesn't mean the people giving it away can't be held accountable for it.

      --

      "Information wants to be expensive" - Stewart Brand, the same guy who said "Information wants to be free"
    2. Re:Merchantibility by Tony-A · · Score: 2

      Right on. The one thing a high price tag always buys is a high price tag, and the right to complain if something doesn't work as expected.

      No one expects merchantibility for freely downloaded software.
      If I spend $199 on a word processor and it fails to process words I want recourse.

      The exact same word processor could sell for $199, $19.99, $1.99, or downloaded for free. The recourse available for each of those prices would be substantially different.

    3. Re:Merchantibility by gmhowell · · Score: 2
      Good ideas. And, I believe that is the way it works already. That is why fitness for purpose, merchantibility, etc. is disclaimed in most software licenses. I used to keep a copy around the desk, but I shuffled it over the weekend, so can't quote chapter and verse from a current MS EULA. The trick is, you should have access to the EULA on the outside of the 'retail' package and should have to sign a EULA before ordering your shiny new Dell. (Unless you are one of the unfortunates, like myself, who live in VA or MD, where it is binding anyway).

      Ahh, just found it.

      ...disclaim all other warranties, either express or implied, including, but not limited to implied warranties of merchantibility and fitness for a particular purpose with regard to the SOFTWARE, the accompanying written materials, and any accompanying hardware...NO LIABILITY FOR CONSEQUENTIAL DAMAGES...not be liable for any damages whatsoever...


      Yup. Binding on me, a resident of the People's Republic of Maryland.

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
    4. Re:Merchantibility by clare-ents · · Score: 2

      I warrant that this software does everything that the source code states it will.

      --
      Only two things are infinite, the universe and human stupidity, and I'm not sure about the former. (Einstein)
  40. Level of liability by 3seas · · Score: 2


    The level of liability in other industries is dependant upon the job/product contract
    where included in the contract may be a required level of liability coverage and like
    insurance, the more coverage you pay for the greater amount of liability you are
    covered for.

    And I'd imagine that like health insurance where you get a discount on the cost
    of the coverage for being a non-smoker or practicing preventitive medicine, the
    same sorts of liability coverage would apply and take into account software
    licenses approved by the OSI, such as GPL.

  41. i've said it 100 times by bilbobuggins · · Score: 5, Insightful
    "Today, Firestone can produce a tire with a systemic flaw and they're liable,"

    This will probably be viewed as a troll but I feel I have to say it:

    The problem with software is that when a virus/cracker compromises your system, any resulting damage can not logically be attributed to the software developer.
    Nobody is out there expressly trying to break and/or compromise Firestone tires. They were sued because the tires malfunctioned of their own accord.
    If IIS blew up on it's own and erased your disk you would have a legitimate case. As soon as a third party maliciously tries to compromise it, the case is off.
    If someone broke into your house would you sue the lock maker? Likewise, if someone deflates your tires you have no case against Firestone.
    If you can show me one case where code in IIS itself was responsible for damage (i.e. damage occurred while the code was running normally without any provocation) then I'm all for this, otherwise (as much as I hate to stick up for MS) you can't possibly blame them for Code Red etc.
    The real solution is just to get a better product; if you are having a problem with break-ins buy a better lock, don't just try to shift blame for your bad purchase decisions on someone else.

    1. Re:i've said it 100 times by alexburke · · Score: 4, Funny

      They were sued because the tires malfunctioned of their own accord.

      In actual fact, I think most of the vehicles affected were Explorers.

      (Sorry.)

    2. Re:i've said it 100 times by Tony-A · · Score: 5, Interesting

      The problem with software is that when a virus/cracker compromises your system, any resulting damage can not logically be attributed to the software developer.
      The problem with Firestone tires is that when road conditions compromise your tires, any resulting damage can no logically be attributed to the tire manufacturer.

      If IIS blew up on it's own and erased your disk you would have a legitimate case. As soon as a third party maliciously tries to compromise it, the case is off.
      If Firestone tires blew up on their own and flipped your SUV over you would have a legitimate case. As soon as you subject the tires to actual road conditions, the case is off.

      Your contention is that Microsoft software is not fit for any actual use?

    3. Re:i've said it 100 times by evilviper · · Score: 2

      You make a terrible arugement here. Does a house just collapse of it's own accord? No, it happens because of strong winds, which the house should have been able to handle if it wasn't for inferior manufacturing & construction.

      When was the last time a Dell monitor or notebook just spontaneously combusted without being exposed to slightly higher than recomended temperatures, dust, imprefect voltage/current, etc.

      When was the last time a baby's toy just jumped up and choked a baby? When has a cement slab in a playground jump up and slam itself into a kid's head? etc.

      The liability issue is not one of a product doing things that it shouldn't... The issue is of the product not being able to withstand the pressures of the environment it was designed for. That's why we have disclaimers on software that say it's not extremely fault-tolerant enough to be used in a life-critical situation. Now, obviously if IIS is designed and marketed to be used on the internet, it should be written well enough to withstand most forces on the internet, malicious or not.

      I don't think free software writers need to worry. The offer to give you a full refund, if you are not satisfied, has always been there. Besides, the fact that they aren't charging for their wares, there's also a disclaimer in the license saying you use it at your own risk.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    4. Re:i've said it 100 times by duffbeer703 · · Score: 2

      If Ford sold a vehicle that didn't have working locks, insurance companies would not insure them and the attorneys general of many states would sue them to have the defects fixed or vehicles replaced.

      If you have a system which is vulnerable to computer "viruses" and is only vulnerable because your poorly-designed application provides a backdoor to foreign software -- then you are liable for the bug.

      --
      Conformity is the jailer of freedom and enemy of growth. -JFK
    5. Re:i've said it 100 times by MillionthMonkey · · Score: 2

      If Microsoft built prison walls instead of computer software...

    6. Re:i've said it 100 times by Tony-A · · Score: 2

      neither is IIS expected to survive Code Red attacks nor other cracking attempts.
      That's why I use Apache.

  42. I found a bug in Perl... by bcrowell · · Score: 2

    ...and I wish they'd pass a liability law, 'cause then I'd sue Larry Wall for a refund of the entire amount I paid him for it.

  43. ReYour example was too simplistic. by Kefaa · · Score: 2

    Your example is too simplistic for the issues that must be resolved. Instead, consider:

    Motherboard "A" works fine with SoundX soundcard VideoV video card. You (the consumer) hear about the new VideoVx with 3 trillion instructions per second it makes quake look like a movie.

    Now you install the new card VideoVx. After doing so, the system crashes. You pull out the sound card and everything is fine.

    Now who is at fault?
    The Video card maker:
    Do we force every hardware update to be backwards compatible with every combination of hardware?
    The Sound Card maker:
    VideoVx was not even available when SoundX was created. Do we force every hardware maker to test and supply fixes for every new piece of hardware made available everyday?

    The mother board maker:
    They let the hardware conflict in some fashion or the system would not have died? Picture the permutations of hardware that would need to be tested to ensure that every possible combination of sound, video, cd, dvd, scanner, camera, hard drive, chipset, bios and operating system worked in any combination.

    The OS supplier:
    Face it, they did not prevent the interaction that allowed the failure. Of course, everyone was using them as stated, this specific combination however was not forseen when you bought the OS two years ago.

    People keep mentioning architects/structural engineers/etc. Consider building a bridge where the materials changed four times a year. Would you know that mixing bolts of MaterialX with sleeves of material "Z" were an issue until a reaction (created by runoff from the surface of the road) happened? Of course not, nor do we expect them too.

    This is why new materials are so slow to move into construction. We cannot afford to have buildings fall down.

  44. software liability is not a good idea (imho) by Dr.+Awktagon · · Score: 5, Insightful

    I'm a firm believer that, in general, ALL SOFTWARE (including Linux, BSD, and Windows) is full of show-stopper bugs, with a probability in proportion to the number of lines of code raised to some power. If one piece of software seems more secure, it's just because the bugs haven't been found yet. And this will get worse as time goes by.

    (How the bugs are handled after they are found is another story, perhaps we should be focusing on that instead.)

    Microsoft has lots of smart people working for them. Free Software has many smart people looking at the code. Yet, most of this code has bugs. When I write a 10-line Perl script, it has bugs (for instance, what does it do in a full disk situation? What does it do when run by root? What does it do if a Perl library is missing or upgraded?).

    Making software writers/distributers liable for bugs is simply impractical. Software is simply not like a bridge or a toaster. Software is incredibly complex, and it runs on machines that are also highly complex, connected to other machines with equal complexity. All the interactions can't possibly be comprehended.

    And just what is a bug? If the program malfunctions under certain unforseen circumstances, but when it was written it met all the specs, is that a bug? If you use a formal system to "prove" correctness, are the rules correct? Did anybody make a typo setting it up? Is the program that does the check itself bug-free?

    I can understand that if Microsoft promises you a secure webserver, and it's found not secure, you feel Microsoft is to blame. But perhaps a "secure webserver" cannot exist. Even if it did, once installed, it would interact with other software to create a security hole (example: Apache + PHP + anonymous uploads into the web-accessible area + MySQL running as root).

    If a law for software liability were passed, it would instantly kill all but a few software companies. Free Software would wither or go underground because no programmer would want to touch it. You would get zero support for your software, unless your setup was 100% EXACTLY the same as the one the corps will support. This would probably be enforced with some draconian DRM. Our lives would get worse.

    Of course you say, they could make an exception for Free Software. But what would the criteria be? Exception for no-cost? No, that would mean you can't charge for Free Software beyond the cost of media. No more PayPal buttons on your web site, no corporate sponsorship. And Microsoft would just turn IIS into a free download. Exception for source-code-included? That would be better for little guy (no more binary-only distro though), but Microsoft could just invent a very-high-level language where MS Word is 5 lines, and distribute that along with it. They would find some other way to get around it. Any liability exception would be unfair to someone.

    If anybody should be liable, it's the person or company who chose and installed a particular system. This entity put together the components, so this entity is responsible for knowing they all work together without bugs. But like I mentioned before, I don't think this is possible. And even just one small change or upgrade and you don't know any more if your system is still secure.

    In 40-50 or more years, the software industry might stabilize to the point where all basic computer tasks are performed using well-known, publically available, stable components and formal systems, and then you could use the term "engineering" and you could conceivably have more predictable software. But I don't really think we're anywhere near that point now. Computer science is still in its infancy.

    I'm not optimistic!

    1. Re:software liability is not a good idea (imho) by Atrus5 · · Score: 2, Insightful
      Making software writers/distributers liable for bugs is simply impractical. Software is simply not like a bridge or a toaster. Software is incredibly complex, and it runs on machines that are also highly complex, connected to other machines with equal complexity. All the interactions can't possibly be comprehended.

      This reminds me of one of one too-complex-too-understand thing everyone uses everyday: the human body. Medical care people (doctors, surgeons, etc.) are expected to do what they can to remedy a problem but are not held accountable. The only time you can sue or prosecute them is when they willfully cause "failure". The human body is simply too complex for one person to understand entirely and most computer systems have a similar problem. While it is possible for software developers (including corporatons) to completely understand one specific setup, it is impossible for them to test all possible combinations of hardware, software, and circumstances. Now if they know of an incompatibility with something they are responsible for making it possible for their users to know of it. This is similar to the warnings on most over-the-counter medications (don't take this if you have liver pproblems or somesuch).

    2. Re:software liability is not a good idea (imho) by tshak · · Score: 2

      This post is right on. Think about it, with OSS, since there is no company to be held liable (maybe the distro) would you want to be held liable for code that you contributed? I think I'd kiss OSS contribution goodbye for fear of liability!

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    3. Re:software liability is not a good idea (imho) by SuiteSisterMary · · Score: 2
      You are exempt if you supply the tools to enable the user to fix it himself Ie Open source is automatically exempt because you can check for bugs yourself and ITS FIXABLE That's why we like it.
      Oooh, isn't that just like in the construction world, where when you drive over a bridge, there's a big box on the side with tools and all the construction plans? Then, if the bridge collapses, well, you had the tools and plans, and could have figured out if it was going to collapse or not, and it's all your fault, really. What, you're not an architect or civil engineer? Hell, just go grab the "Spider Monkey Book," you know, O'Reilly's Bridges in a Nutshell. It's got all the formulas you need, as well as a jargon primer, chapters on each of the tools, and a list of handy websites.
      --
      Vintage computer games and RPG books available. Email me if you're interested.
    4. Re:software liability is not a good idea (imho) by Stiletto · · Score: 2


      Not true. In many states, malpractice suits are rampant. You can sue a doctor over anything nowadays. The cost of malpractice insurance is driving the doctors out of some states (PA and NY in particular).

    5. Re:software liability is not a good idea (imho) by GSloop · · Score: 2

      Notice, it's the COST of insurance...

      If you belive that the real cost of insurance has anything to do with the cost of actually insuring something, you're smoking dope.

      Most insurance companies these days are little more than extortion fronts. Redline people that you believe will cost you extra, or if they're black or asian etc. Or, you're a homeowner, and have claimed one or two "acts of god" claims in the last five years - through no fault of your own - your insurance cancels you...why - cause they "predict" that you'll make more claims in the future! (Funny that - I was under the impression that insurance was for this specific purpose!)

      Insurance companies want to make LOTS'O CASH, and raise rates faster than claims to actually impliment this strategy.

      Sure, malpractice suits are on the rise in some fields of medicine - perhaps for many reasons, including gosh, an increase in malpractice. (By the way, my Father and siblings are ALL doctors, so I know my way around this argument! That's four doctors in the immediate family.) But a jury makes a decision about a "reasonable standard" or care. If the doc didn't follow a reasonable standard, they'll lose or settle. If they did, plaintiff and more importantly plaintiff's attorney will be out a bunch of time and energy. (Lawyers like to make money, so they try to lessen these types of experiences.)

      Remember Enron, Global Crossing, Merreil Lynch (sp) etc? They wanted lots of dough, and weren't at all afraid to use sketchy moral and legal grounds to get said cash - insurance companies are in general not much different. They want the cash, but will do anything to keep themselves from actually having to perform the duties they were paid for...

      Cheers!

  45. Engineer analogy by peterdaly · · Score: 4, Insightful

    Say instead of being a software engineer, I was an enginner who built bridges. Can you image a boss coming up to me and saying:

    "I need a bridge built in this location to move some things across the river. We will lose out to our cometitors if this takes any longer than three months, you have two and a half. Tell me tomorrow how much steel you need ordered and I will have the iron workers (actually guys off the street who could spell iron) to start putting it together."

    Would you go across a bridge built like that? I wouldn't if I had a choice in the matter. How different is this from many software projects? Not very. Management doesn't care about the software quality since they don't understand it anyway, the coders are passivly taught not to care either because it costs more to write well architected, well tested code. Code can be solid if effort is placed on writing solid code. There will still be bugs, but nothing like is prevelent today in commercial software. Think of all the VB monkeys that managers consider real programmers. (Not that there are good VB programmers, but by and large...)

    Welcome to the world of software. As long as the current market drivers are in place, nothing will change.

    -Pete

    1. Re:Engineer analogy by Anonymous Coward · · Score: 2, Interesting

      Unbelievable.

      Do you have any idea how close you are to reality?

      I'm a structural engineer, and. yes, that is an apt description of the conditions under which it means to be a true engineer.

  46. Re:Not a Problem of Want, a Problem of Can by rnturn · · Score: 2
    ``And yet it is considered perfectly acceptable for software to crash regularly, lose data, allow dodgy persons to steal data, or generally aggravate the user to the point of distraction.''

    No. I don't think that most people would agree with that. It's just that they have resigned themselves into accepting it because they know they'd go bankrupt taking a major software house to court over a bug that caused them to lose business or money (the same thing right :-) ). XYZ Corporation will hide behind their EULA and who wants to gamble that they'll try the suit in front of a judge sympathetic to the consumer. Most folks aren't in the financial position to blaze that legal trail.

    --
    CUR ALLOC 20195.....5804M
  47. Chimney argument by mgkimsal2 · · Score: 2

    If I owned a house that I'd determined (through some of my own testing) had a chimney which was more like ly to allow breakins because the architect has designed too large a hole at the top, and I then tried to publish information about the security concerns about that chimney, could the architect bring suit to stop me? I'd like to notify other homeowners to secure their chimneys, but the architect is trying to get laws passed saying that *I* am the danger to society - I'm causing more breakins - because I'm talking about the chimney. Is that right? That seems to be the direction the big boys want to move in (not just MS, but many large software companies, from what I gather).

  48. Due diligence is the common theme by Anonymous+Brave+Guy · · Score: 3
    Security is a common complaint for IIS. However, if a person broke into your house by going in through a weak point (a window, the chimney, etc), you wouldn't blame the architect.

    Maybe not. But if I were building a bank and the architect forgot something like a lock on the vault, I would feel justifiably aggrieved.

    What's needed here is some concept of due diligence or reasonable expectations. As you say, it is impractical to expect software to be perfectly secure or robust. It is simply not viable with the nature of the beast, and with the methods known today, to provide such a product.

    However, there are some tests that should be routine in any shop. If a software company allows its coders to write in a style that lets in buffer overflows, a common and well-known class of bug that is easily preventable with just about any development tools available today, then that should be treated as negligence. This is very different from expecting someone to write encryption algorithms today that can't be broken in 50 years with all the unpredictable advances in computing power and mathematics that may bring.

    This is really no different to any other engineering discipline. I wouldn't expect someone architecting a bank to make the safe unbreakable in the face of the military weapons of 2050. I would expect them to put a lock on the front door and install an alarm system that did something useful in the event of a break-in.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  49. Easy problem to solve by JediTrainer · · Score: 2

    I develop some software that I've released free (as in beer and speech) under the GPL. I have a simpler way to deal with this problem.

    Anyone who downloads my software and isn't happy with it is entitled to a full refund for purchase price.

    Since the price happens to be $0, I'm not concerned. Then again, I wasn't concerned in the first place because I doubt that any such laws that would be passed in the U.S. would pass in Canada too.

    --

    You can accomplish anything you set your mind to. The impossible just takes a little longer.
  50. Bridges built by software companies by coyote-san · · Score: 2

    Close, but that's not how software companies would build bridges:

    "I need a bridge built in this location to move some things across the river. Our marketing guys say we need to get traffic on it with a month, and don't worry about it collapsing because it's more important that we get people lined up to use our bridge than to actualy get them across the river - that can wait for Bridge 2.0. Finally, we've already decided to use recycled steel (up to one ton, no more) 'cause I got a nice dinner at the local tittie-bar from their salesman - I don't want to hear any crap about tested structural steel and high-tension bolts. The decision has already been made, as has the placement of the piers. (A real professional can build on loose sand and clay, so I don't want to hear any more whining.) If you don't want to play by my rules (but take the blame when you can't meet my schedule or arbitrary restriction), we'll blacklist you as "unmanagable."

    --
    For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
  51. Re: Hey I'm an Architect that just finished a bank by Anonymous Coward · · Score: 5, Interesting

    OK, So I'm an Architect, and just finished working on a bank to boot.

    You are right that there is a reasonable level of liability and quality expected within my design for the bank.

    If the bank was to get robbed via force, I wouldn't be liable, for it was never represented by me, or required by my client, for the bank to be 100% robber-proof.

    My design was required by my client to meet their needs for security and safety, so it's more important that the vault is secure and that someone can't easily hold hostages within the bank than it is to make it so that someone can't walk in with a shotgun and run out with a few thousand dollars. It's impractical to make the bank 100% robber-proof.

    Now if a flaw in my design allowed someone from the Togo's next door to open a hole in the wall, and gain immediate and complete access to the vault- well then I would be liable, and rightly so. If I designed a bank with hidden corners and nooks where one could hold up and defend the bank in a hostage situation, and someone was gravely injured because of it, then I would be held liable. My design failed. I was negligent.

    See there is a scale to this, a level of reasonable liability and requirements.

    As an Architect, I am liable for everything I do, just like a lawyer or doctor or engineer. And just like a doctor or lawyer, I must complete tests and a certain amount of training to gain licensing to call myself an Architect and sign drawings as such.

    Now any kid could design a house. That doesn't mean the roof won't leak and that it will survive an earthquake. That's the point of licensing in Architecture; I gain the legal right to sign drawings (a requirement for anything bigger than a house) and the legal right to call myself an Architect (that's right, all you 'software architects' our there are technically breaking the law- it would be like calling yourself a 'software doctor'- no one takes this seriously, but still that's the law) at the cost of accepting the liability for the work I do and the advice I give.

    Now the software most Architects use is horrible. It doesn't perform as advertised, costs a fortune, and the licensing is draconian. It's frightening and sad. Now if it crashed now and then ok that's reasonable because there is no such thing as %100 stable software, just like there is no such thing as a %100 robber-proof banks.

    However when there are GLARING deficiencies in a design, I believe that the people should be held liable for their work. In every other industry and business this is the case.

    I don't think requiring licensing or liability for software development would have the 'sky-is-falling' response most of you geeks are saying it would. I think it would provide a much better, and respectable, industry in general.

    To compare this to Open Source software; just because I design a house and freely publish the plans doesn't mean I am liable for every house that SOMEONE ELSE builds from my plans. If you bought my plans, and built the house I designed; well it's on your head to make certain the roof don't leak. But if you hire me to sign those drawings, or design the house or oversee it's construction then it's my legal and moral duty as an architect to make certain that the roof don't leak. See the difference?

    (I am over-simplifying this; I know. But I'm proving a point here)

    So if I download Debian, and compile it myself, the Debian project is not responsible for how I did it, nor has any control over how I did it, so therefore they shouldn't really be held responsible for my actions.

    But if I hired someone to do it for me, or bought an off-the-shelf copy from Microsoft, and it has GLARING design deficiencies that cause it to fail in it's advertised abilities, well, I should be able to at the very least get my money back.

    Software Developers should be ashamed that they don't hold themselves accountable for their own products.

  52. Liability by jsse · · Score: 2

    Microsoft will actually sign with customers of big contracts agreements which assure that Microsoft will taking liability to ensure uptime, security and safety something.

    One of the major bonehead CIO bloated to others that agreement and said "Now that's what we need - an assurance from a big corp.! What more can we ask for!"

    Until I show him the following line:

    8. LIMITATION OF LIABILITY.

    Microsoft's entire liability and your exclusive remedy under this EULA shall not exceed five dollars (US$5.00).

    God, he signed a $10,000 assurance agreement for a liability worths US$5.00. You gotta see his face when he figured this out.

    1. Re:Liability by catfood · · Score: 2

      It seems to me that "under this EULA" would cover things nicely from your employer's point of view.

      Under the EULA, Microsoft's liability is five bucks. Under the other contract, which also applies, their liability is \$$BIGNUM.

  53. Property as a "Bundle of Sticks" by Alien54 · · Score: 2
    Ah, see, your post is so riddled with errors that it actually is offending me.

    On the other hand, I have found some of the responses educational.

    One angle is the "follow the money" angle

    Another, equally viable, is the "See the Source Code" angle.

    As seen in this PDF file, property rights are often considered as a "bundle of sticks", a collection of rights which taken collectively create the concept of property and ownership. (although this is usually seen in land and realty situations, I can see how it applies elsewhere)

    This ties directly into the license vs ownership arguments, etc. and would have to be sorted out in detail

    --
    "It is a greater offense to steal men's labor, than their clothes"
    1. Re:Property as a "Bundle of Sticks" by cpt+kangarooski · · Score: 2

      I'm familiar with the bundles of sticks theory of property. However, note that 1) all theories of property rights today are utilitarian theories. That is, property rights, and even the very concept of property itself exist because it is more beneficial to society to do so than it would be otherwise. (c.f. the tragedy of the commons) 2) Copyright is especially utilitarian in nature, and has a public policy goal at its very core which overrides the interests of the actual copyright holder, and is also the only thing that actually justifies there being a copyright at all. Should licensure conflict with this, the policy must triumph.

      --
      -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
  54. Our Data : an appeal - toward security by NZheretic · · Score: 2
    From the Plimsoll Club history
    Samuel Plimsoll, M.P. (1824-1898) Samuel Plimsoll brought about one of the greatest shipping revolutions ever known by shocking the British nation into making reforms which have saved the lives of countless seamen. By the mid-1800's, the overloading of English ships had become a national problem. Plimsoll took up as a crusade the plan of James Hall to require that vessels bear a load line marking indicating when they were overloaded, hence ensuring the safety of crew and cargo. His violent speeches aroused the House of Commons; his book, Our Seamen, shocked the people at large into clamorous indignation. His book also earned him the hatred of many shipowners who set in train a series of legal battles against Plimsoll. Through this adversity and personal loss, Plimsoll clung doggedly to his facts. He fought to the point of utter exhaustion until finally, in 1876, Parliament was forced to pass the Unseaworthy Ships Bill into law, requiring that vessels bear the load line freeboard marking. It was soon known as the "Plimsoll Mark" and was eventually adopted by all maritime nations of the world.

    The risks,issues and solutions for providing a more secure operating and application enviroment have been known for decades. Those who do not already comprehend the issues and are willing to learn, should take some time out to listen to some of the speeches at Dr. Dobbs Journal's Technetcast security archives, starting with Meeting Future Security Challenges by Dr. Blaine Burnam, Director, Georgia Tech Information Security Center (GTISC) and previously with the National Security Agency (NSA)

    The design and implementation of some applications and servers are just too unsafe to use in the "open ocean" of the internet.

    Numerous security experts have railed against Microsoft's lack of security, best summed up by Bruce Schneier Founder and CTO Counterpane Internet Security, Inc who rightly stated ...

    Honestly, security experts don't pick on Microsoft because we have some fundamental dislike for the company. Indeed, Microsoft's poor products are one of the reasons we're in business. We pick on them because they've done more to harm Internet security than anyone else, because they repeatedly lie to the public about their products' security, and because they do everything they can to convince people that the problems lie anywhere but inside Microsoft. Microsoft treats security vulnerabilities as public relations problems. Until that changes, expect more of this kind of nonsense from Microsoft and its products. (Note to Gartner: The vulnerabilities will come, a couple of them a week, for years and years...until people stop looking for them. Waiting six months isn't going to make this OS safer.)

    However Microsoft's products are not alone in the presence of vulnerabilities, this is a major issue for Linux/BSD and Unix as well as any other OS and vendor.

    In a recent speech Fixing Network Security by Hacking the Business Climate Bruce Schneier claimed that for change to occur, the software industry must become libel for damages from "unsecure" software, however historically, this has not always been the case, since most businesses can insure against damages and pass the cost along to the consumer.

    The Ford Pinto and more recently the Ford Explorer's tires are two examples of public and media pressure being more successful than just threat of lawsuits. Even so, eventually though public pressure the governments around the world have to step in and pass regulations that set up a minimum set of requirements an automobile has to meet to be deemed "road worthy". This includes crash testing as well as the inclusion of safety equipment on all models. The requirement are not constant and change to meet the expectations and demands of the public and lawmakers.

    The onus is not only on the automotive industry itself but also on the users. Most countries require that all automobiles undergo regular inspection and maintain an up to date "Warrant of Fitness".

    In the same way, if you want a secure IT infrastructure, eventually the software design, implementation and each deployment will have to undergo the same type of regulation and scrutiny.

  55. Liability for Code would hurt Open Source by simm_s · · Score: 2

    There are two ways in which it would hurt the open source movement:

    Companies wanting to open up software would quickly keep there source closed in fear of being sued for the bugs found. So while you may hurt Microsoft you have just turned every software company into Microsoft.

    What if an open source coder has his/her program included into a distribution or linked into a another peice of software, then being sued for a bug in your code.

    Seems like this short-sided idea has become a nightmare. Maybe I am over reacting but I just do not trust law makers (with no software experience) to make complicated software liability laws.

  56. They are just repeating the EULA by jsse · · Score: 2

    (From NT EULA)

    6. NO WARRANTY.

    Any use of the software is at your own risk. The software product is provided for use only with Microsoft Windows NT Server. To the maximum extent permitted by applicable law, Microsoft and its suppliers disclaim all warranties and conditions either express or implied, including, but not limited to, implied warranties of merchantability, fitness for a particular purpose, and noninfringement.

    7. NO LIABILITY FOR CONSEQUENTIAL DAMAGES.

    To the maximum extent permitted by applicable law, in no event shall Microsoft or its suppliers be liable for any special, incidental, indirect, or consequential damages whatsoever (including, without limitation, damanges for loss of business profits, business information, or any other pecuniary loss) arising out of the use of or inability to use the software product even if Microsoft has been advised of the possibility of such damages. Because some states and jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.

    And my all time favourite:

    8. LIMITATION OF LIABILITY.

    Microsoft's entire liability and your exclusive remedy under this EULA shall not exceed five dollars(US$5.00).

    It's effectively saying: You got what you asked for. Here's your five dollars, move along.

    Somehow I think it's much worse than the big cap 'NO WARRANTY' in all GNU software license. :)

  57. Software Liabilty is stupid by Ironpoint · · Score: 2, Interesting


    When an SUV rolls over someone dies.
    When children's clothing chokes a child, someone dies.
    When a doctor screws up a surgery, someone dies.

    When IIS is hacked, L331 H4XOR OWNZORZ JOO.

  58. Certify the managers by Skapare · · Score: 2
    Quite often, the real cause of software bugs is an inadequate development scheduled. Why blame the programmer for that? If we have a system where programmers always get the blame for crappy software, we'll end up with fewer good programmers, not more, because many will leave the field while managers and corporate executives join in the finger pointing ... because ... there is a certification system to justify the blame.

    No doubt there are bad programmers around, and the numbers are increasing mostly because corporations are trying as much as they can to reduce pay. Only crappy programmers are willing to take the low salaries that can compete against things like H-1B.

    If the software is crap, blame first the company that sold it. Then let them review their procedures on how it got to be so crappy.

    "We need this package done in 2 months." "OK, 2 months and it will be done. Then 7 more months and it will work right." You think that programmer gets to keep his job, even if he's telling the truth?

    --
    now we need to go OSS in diesel cars
  59. Re:Also... by mccalli · · Score: 2
    I think people would want free software to get an exemption because they don't want the rules to apply to them.

    What rules? I've never agreed to them.

    Now, if I had sold my software according to a contract or an EULA with terms of service embedded - fine. Apply rules.

    If I just write stuff and say "here - it works for me but don't know if it works for you, use it if you want to and don't if you don't" then there cannot be any assumption of liability by the user of whatever I've written.

    Cheers,
    Ian

  60. Well that would encourage functional programming.. by DescSuit · · Score: 2, Interesting

    If you had to prove code is solid, functional programming languages like LISP and ML would certainly make a come back. So it's not all bad. :)

  61. Optional.. then let the market decide... by DescSuit · · Score: 2, Interesting
    It seems to me rather obvious. Why don't we just setup a system for companies to have some kind of agreed, public, well known liability rules? Then if company A decides to release a product with level 1 reliability and company B releases with level 3 or no reliability then so be it. Who would you buy from? Depends on how much reliability you need and how much you are willing to spend.

    Right now it's almost impossible to get good information on the quality of software. Heck there are even laws preventing it (like Oracles and Microsofts "no external benchmarking" BS).

    How to do this right is a real problem. I would think though that one of the recognized bodies could set up some rules for the levels. (1. will not kill user, 2. will not format hard drive before use, 3. will not format the hard drive in standard use, etc..:) And the government would require software to carry a level that they promise the software will live up to.. even if it's no guarantees (the lowest level).

    It just seems to me that software users need to be informed better what they can expect and then they will make the right decisions and over time their expectations/demands will increase.

    DescSuit

  62. Make the majority happy... by Prof.Phreak · · Score: 2, Interesting
    From all the posts, I gather a good public-relations strategy would be to allow suing only Microsoft and nobody else. Open Source is unaffected, and Microsoft is suffering - would sure make everybody here happy :-)

    Seriously though, there is no way you can fix "all" bugs, so releasing ANY software will just open you up to various lawsuits.

    There is also a matter of who will be allowed to sue. For example, someone discovers a flaw, sues Microsoft, gets paid lots of $$$, Microsoft fixes the bug, posts a patch on their site, and a month later some other nut gets effected by the same bug. Should Microsoft pay that other nut as well just because they didn't upgrade? Many software problems are fixed soon after they're discovered, yet a vast majority of the people never bother to patch. (that's why these internet worms can spread, etc.)

    Another issue is that many problems arise from improper use of the software. Most buffer overflow is definitely "improper use"... it is a security hole? Sure! But is it "regular" use? No! Software is designed with some proper use in mind, if you start to improperly use it, then sorry to say, the software wasn't designed for it. (well, granted, buffer overflow shouldn't be allowed, but just making a point).

    In general the liability strategy will degrade software reliability, since a company will do a lot of in-house testing, etc., not releasing it into the public in fear of being sued. Now, no matter how many QA testers Microsoft or anybody has, they will NOT find all the problems in their software (60 million lines of code in WinXP???), AND they'll find a LOT less bugs than the general public. I know it's not nice to use your users as beta testers, but that's how software becomes reliable. People find bugs, complain, company fixes bug, and software becomes better and more reliable for everybody.

    Then there is this whole thing about it being next to impossible to prove the correctness of a program...

    --

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

  63. Alot of other people do it.... by Voltas · · Score: 2, Interesting

    I was in architecture for 4 years before I moved to IT. Atchitects are responsible for every build they built until they die. I believe they're estates can be sued if a building falls down. Point is, Software is getting more and more important to money, wellbeing, and the market today. Wouldn't we want venders and even coders to be accountable for they're work. Open Source work its great but its not exempt from accountability...unless you just keep your code to yourself.

    I guess I wouldn't buy plans for my house from a guys on the street corner, so I guess I wouldn't secure my computer systems with open source written by some kid in his basement. Only problem in that is the kid probly writes better code the Microsoft.

    --
    -- Disclaimer: I can't really back up anything I post on /. --
  64. Support contracts by lpontiac · · Score: 2

    If you want some kind of reliability guarantee, can't you already outsource to a services company like IBM and say "keep this system running, doing this, with -figure- availability and -figure- mean time between failure"? And have a failure to meet this commitment result in significant loss of payment to IBM?

    Of course, such contracts don't come cheap. But then, we're comparing the creation of software to the engineering of bridges, skyscrapers, and bank vaults, and last time I checked bridges weren't cheap either.

  65. EULAs illegal unless recited by Beliskner · · Score: 2
    I am writing a EULA for my own software right now, so this is right up my alley. All you have to do is kill the "click-thru without thinking about it people"

    This is what I suggest:
    Companies selling software with a market capitalisation of over $100,000 have their EULA's have no meaning in a court of law UNLESS they quiz the customer so that he understands the EULA. This'll stop the "implicit trust" that everybody apart from /. has for Micro$oft. The courts must recognise that the implicit trust consumers have for megacorporate EULAs is illegal because you don't read the agreement. A questionnaire should follow the following format:

    Who is legally liable for a failure in this software? (you must answer - I, the user am solely responsible)
    User types: Me, I am solely responssiible mommy

    What use restrictions are on this software? (you must answer - only me on my own computer and laptop)
    User types: Only me on my own computer and laptop.

    This is the *ONLY* way to get Joe sixpack to think twice about "signing" the document. This way people that sign a stupid EULA are gonna look the same as that stupid woman at the used car lot saying, "I signed the paper without reading it, and they took my house away, I didn't know it was written in the contract."

    --
    A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
  66. If you asked an arhietect..... by oliverthered · · Score: 2

    to design you a house,
    then when he was almost done, said that the walls must be made from foam.
    ....except the one on thats in the swamp....
    ....and now that you've disigned one house, it shoudln't take you long to do a few more...
    ..and did i say there has to be a high speed rail link between them...It must travel faster than the speed of sound, but never hit any animals that happen to wander on to the track.
    ..and can you make that house bomb proof....
    whys that house got walls made out of foam?

    --
    thank God the internet isn't a human right.
  67. I'm not so sure... by KjetilK · · Score: 2
    If formulated in a sensible way, I'm not so sure this would be bad. In fact, I think it might be good for Free Software-based business.

    Obviously, preventing people from coding would be a Bad Thing[tm], but something that says "if you sell something, you are liable for what you sell" is not necessarily bad. It would mean that Red Hat would be liable towards whoever they sell their distro to, but J. Random Hacker would not be liable towards RH for whatever code he has written that is in RHs distro. Unless, of course, RH was paying J. Random Hacker.

    So, what RH would be selling, is something valuable; they will be selling a warranty. Of course, prizes for the distro would go up, but I wouldn't say that is a Bad Thing[tm] By Default. Moreover, suits will eventually understand what kind of product they're buying, and they will realize there is actually quite a lot of money in Free Software. Which isn't a Bad Thing[tm] By Default either. It may mean that distro-sellers can put an even greater effort in making things secure, which means better software for all of us.

    Besides, we all know that Free Software is usually more solid than locked-up software, don't we? So, M$ will have something big coming their way, and that may be sufficient to open up the marketplace for Free Software, so that we can gain the foothold we need. If our software is better, M$ has a lot more to fear than we do. I mean, I'd love to sue them for the many megs of bandwidth Klez has robbed me of.

    In conclusion, I don't think software liability is necessarily bad as long is it follows the money.

    --
    Employee of Inrupt, Project Release Manager and Community Manager for Solid
  68. The Key Is in the Code by gallen1234 · · Score: 5, Interesting

    Let me make a suggestion: If you produce a closed source product where you release only the executables then you should be held liable for any damage the product causes. If, on the other hand, you release the complete source code for your product then caveat emptor. In the later case the user/purchaser has all the information necessary to (a) evaluate the safety and security of the product and (b) make any modifications necessary to bring the product up to their standards. If they don't have the wit or the will to do so then they're on their own.

    1. Re:The Key Is in the Code by swordgeek · · Score: 2

      Hmm. I can't imagine any better way of convincing companies to run away screaming from open source software. Hell, if MS was to be held accountable for their shite software whereas open source types weren't, I'd probably happily run MS at home as well!

      Here's an idea. Make the _default_ software liability dependant on a few basic ground rules, something like this:

      1) Free software has no liability, unless the source or vendor assigns some.
      2) Commercial software (i.e. for sale) has a base liability, and must explicitly state if it is to be used for home, business, or mission critical environments. (probably several other categories too--life critical, for instance)
      3) Explicitly state that the misuse of software only protects the company from liability issues.

      So if I run MyIIS ("for home/non-commercial use only!") as my company's web server and it breaks due to negligence on MS's part, I'm SOL because I've not used it appropriately. Aside from that issue, I _am_ free to use it in that environment, though.

      --

      "People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
  69. hold them liable by uncoveror · · Score: 2, Interesting

    When buggy commercial software is rushed to market, and it's failure costs it's users money, the manufacturers of the software, like any other product, should be held liable. Companies like Microsoft and Oracle would whine and complain, but consider if cars failed as often as Microsoft's products. Having car buyers accept a licence agreement wouldn't exempt the big 3 from liability.

    --
    The Uncoveror: It's the real news.
  70. If the printer driver tanks the system by markmoss · · Score: 2

    . If the printer driver tanks the system, who do you hold liable?

    The nitwits that designed the OS so a driver could tank it. Not to mention that incompatibility with drivers (which are not written by MS even when they are on the Windows installation disk) isn't the only problem. There are plenty of incompatibilities between Windows products!

    A good OS should isolate different programs so one piece of runaway code is only going to tske down the functions it controls. Most versions of Unix do that pretty well. DOS didn't but it wasn't intended to be a good OS. It was a simple single-tasking single-user OS, and if something tanked you didn't lose too much by rebooting. Win 95/98/ME inherited some of DOS's weaknesses by design (to maintain compatibility), and due to the added complexity on a shaky foundation they were even more likely to tank - but they weren't intended for servers or heavy duty applications either. NT was supposed to be the server/heavy duty reliable OS - but it wasn't, and although it got better at each revision, even at rev 6.0 (XP) it still isn't really server grade.

    The liability shouldn't be for writing crappy software, but for selling crappy software as if it were good software. False advertising...

  71. Re:A printer driver should NEVER kill an OS by Dun+Malg · · Score: 2

    I hold responsible the designer of an operating system so unstable that a printer driver can take it down. Is this the best excuse they can come up with? Because that sort of computing isn't "trustworthy" in my book.


    Though it leaves a bad taste in my mouth, I kind of have to agree with Mundie on this. You have to keep in mind that an OS is just a software platform for running apps; it provides interfaces and file handling and hardware control so the wheel does not have to be reinvented repeatedly. Saying an OS should be crash-proof vs bum 3rd party drivers is like saying the C programming language shouldn't let you kick over the stack with an out-of-bounds array assignment. If you want to operate in a totally padded-cell environment, switch to Pascal (where doing anything efficiently is impossible). Admittedly, the notion of a printer driver nuking your kernel is a bit disgusting, but all it really takes is one really badly fnorded pointer. Such bugs would be taken care of in an open-source situation rather quickly, but it really is too much to ask for an Truly Unbreakable Consumer OS.

    --
    If a job's not worth doing, it's not worth doing right.
  72. Liability need not be a problem by James+Youngman · · Score: 2, Interesting
    Liability need not always be a problem; I work for a company that routinely supplies software which can result in the supplier being sued if there is a serious problem. This is not a particular problem because :-
    1. The contract (note: not license agreement) limits the liability to an amount not greater than the contract value (Translation: you can get a 100% refund of your $25,000,000 but no more)
    2. Most of this software is written in a context where the functionality is agreed with the client - there is no drive to include features just to beat the competition, because you already agreed with the client what they wanted right now and agreed a mechanism by which both parties plan upgrades.

    While this doesn't translate directly to the Free software world, the idea that the damages are limited to the amount paid in the first place is useful (and obviously workable, or this wouldn't be a standard feature of so many contracts). The issue over functionality is trickier - in the Free Software world, often people add features just because they think they're neat - and often they turn out to be. Where liability exists you need to worry about the extra liability you are taking on as a result of adding all these extra features, though.

    Companies could supply software for (nearly) free without worrying too much about liability. Once the income from software sales becomes a signficant part of your turnover though, you start needing to ensure that the software is properly designed and adequately tested (of course thorough testing is no substitute for good design).

    I'm unsure about how well this kind of measure would survive a transplant from a contract to a license agreement (since I'm not a lawyer).

  73. Re:Also... by mccalli · · Score: 2
    So you would be fine with MS writing...


    Not at all, because they sold me the software under promises that it would work.


    Not everything in life is a market. If I just write something for fun and hand it to someone else for free, then no contract or liability is implied.


    Cheers,

    Ian

  74. Poor design by Felinoid · · Score: 2

    The printer driver wouldn't have such an impact if the operating system had been designed properly.
    Instead it's designed to expect everything to work perfictly all the time so a minnor defect in an idle printer driver could crash compleatly unrelated programs like security software ripping massive holes in the system.

    Windows was designed to be a multitasker for Dos programs. Reliability wasn't a big deal as compeating multitaskers would usually crash simply becouse the dos application wasn't coperating. Users expected this.

    But with Windows no longer running "I want total control dam it" Dos applications it continues to have the same design.

    Operating systems that are made to be operating systems don't tank when a printer driver screws up.

    When a video driver crashes you lose video.. that sucks... but everything else works...
    Keyboard driver crashes... shut down with the mouse.

    When I had video, keyboard and mouse drver problems I ran a TV 100 on my box.. at worst the computer continues to work.

    Yes Microsoft can't be called to blame when a printer driver tanks.. they can when that causes a BSOD.

    The damage should be limited to the printer driver....
    On anything else it would be...

    --
    I don't actually exist.
  75. Re:``AS IS'' by RetsamYthgimla · · Score: 2, Funny

    Plumbers aren't liable if someone comes around after they have installed central heating and heats up the joints (or drills a hole, etc) to create a leak, so why should software engineers or companies be liable when someone tries to break the code?

    I beg to differ. A more fair analogy is if you hired a security firm to install a security system, and then you later found out that the cameras couldn't see criminals wearing green. Suddenly, once this is figured out, people in kermit the frog costumes start breaking in and stealing your stuff, and the cameras never saw a thing.

    Far-fetched and silly example, yes. But it underscores the difference between your analogy and the real situation. If IIS or Internet Explorer has a hole that allows a remote root attack on your system, comparing it to a plumber's job is a very bad analogy.

    Now, if you compared it to a plumber that decided to run all the pipes along the outside of the building to save money, instead of running them underground and in the walls, and then a "criminal" came along, tapped into the outside line, and fed poison into your drinking supply, then that plumber should be liable. As long as "reasonable" measures were taken to prevent that, then there's no liability (i.e. internal plumbing, and a criminal got hired as a janitor, and got access to the plumbing in the basement, then tapped into the system, then that's not the plumber's problem...)

  76. Re:A printer driver should NEVER kill an OS by Rakarra · · Score: 2
    Though it leaves a bad taste in my mouth, I kind of have to agree with Mundie on this. You have to keep in mind that an OS is just a software platform for running apps; it provides interfaces and file handling and hardware control so the wheel does not have to be reinvented repeatedly. Saying an OS should be crash-proof vs bum 3rd party drivers is like saying the C programming language shouldn't let you kick over the stack with an out-of-bounds array assignment.

    I think that the original poster's point was that a printer driver should never be in position to crash the OS. The driver doesn't need to be in whatever passes for "kernel space" in Windows. Unix systems can communicate with printers, yet those aren't kernel-level drivers.

  77. Re:High liability benefits Microsoft by phutureboy · · Score: 2

    Just as it does the auto industry. Only the largest corporations can afford to absorb risks and mitigate them.

    Yep. People bitch about large corporations running over the little guy. Well, laws like this proposed one are the reason. The smaller companies can't afford the teams of lawyers they need to help them navigate the legal minefields.

    It's not possible to legislate quality anyway. Talk about your counterproductive laws.

  78. Re: Hey I'm an Architect that just finished a bank by Rakarra · · Score: 2
    2. What's your point with the '1000 years ago' point? I don't understand what you are trying to say.

    I think he was trying to bring in the idea that the software world changes far far faster than any other engineering profession (save perhaps electrical engineering) and that, say, something designed 30 years ago in the software world is like a civil engineer trying to work with buildings built a thousand years ago. It's a fairly flawed analogy, and besides that it doesn't make much sense.

    5. 'Software is a FAR more complex art than any other form of engineering.' --- this is just sad, and shows your complete ignorance of anything outside of software development. You really need to look beyond yourself, and see that there is more to the world than your invisible cathedrals of code, man.

    Actually I've heard of this before, occasionally from engineering professors with experience in many disciplines. I wouldn't go so far as the original poster and say it was "FAR more complex," and it's obvious the original poster underestimates what is required from other disciplines.

    I buy a tire for my car and it blows out in thirty days- I get my money back. Why is software so different?

    Because then you start getting copyright protection arguements. I used to see a few places that would rent out PC games like 7th Guest when they first came out, but you don't see that anymore, because of the piracy worries. Once you open the package, it's bonded to you for life. :P You can exchange it.. but only for the same package, since it's assumed that if the package is opened, then you still have the software installed on your computer. That's why you can't return software if you don't like it. That covers bugs and non-bug concerns.

  79. Re:Also... by mccalli · · Score: 2
    What then, in the case where MS gives away software for free? Should there be no contract nor liability implied there?


    Interesting.


    Well, to be consiistent I suppose the answer must be 'no - there is no implied liability'. That actually works to open source's advantage, as it removes the usual support argument.

    Cheers,

    Ian