Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm selling a software that lets users manipulate critical information.

In my licence contract (redacted by a lawyer specialized in this field), I've got a standard clause reading :

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

I've seen equivalents in almost every single software I've been using so far.

So far, all of our clients accepted that without difficulty, but now one potential client is contesting it. Actually he's telling me something along the lines of :

You mean that if I use your software to buy something at $10 to a third party company, and there's a bug in your software (as you don't guarantee there aren't any), and you transmit a $20 order, I shall pay the $10 difference, not you?

I'm a bit stuck between what seems like common sense on his part, and the fact that my insurance companies would probably not insure me for those kind of risks, and if you consider we're talking millions, not plain $, it doesn't feel comfortable being responsible for that kind of potential losses.

So far, the best answer I've come up with is that everybody does it in the industry (Microsoft doesn't guarantee that the mail you've sent using Outlook won't be altered, eg by turning all the $10's in $20's ...)

Any advice on how to handle this ? (apart from doing our best to ship bug-free software, of course :p)

share|improve this question
    
Ask a lawyer to explain to you the meaning of the clause. I have read it twice, and I still can't make neither head nor tails of it... –  Treb Feb 29 '12 at 9:32
    
done already, actually a lawyer write this for us in the first place. I've updated my question to mention that! –  Brann Feb 29 '12 at 10:27
1  
Ok, then ask the lawyer to explain what it means. I think your client doesn't understand it either, that's why he is asking. –  Treb Feb 29 '12 at 10:31
1  
oh, I think he does very well understand what it means. My customer problem is that he's not happy with what he understands (ie that I'm not responsible for anything whatsoever, even if there's a HUGE bug in my software that leads him to lose million of $) –  Brann Feb 29 '12 at 10:37
2  
Microsoft's "explanation" of this clause would be "Don't like it? Don't install our software." Can you afford to play hardball that way? Are there many alternatives to your software? –  pdr Feb 29 '12 at 12:39

4 Answers 4

up vote 23 down vote accepted

"If I gave you such a warranty, and I gave it to all my other customers too, probably I would be out of business very soon. All it takes is a single malicious customer who finds a bug and uses it to deliberately cause large fictive damages. Because of the complexity of software development, it's currently next to impossible to create software that doesn't contain any single bug.

But even if my software was perfect, other components of the whole system, like the hardware, the operating system, the libraries I use, the database system etc. could still contain bugs, and they most likely do; so whenever something goes wrong, you would probably try to make me pay for the damages, because I'm the only one who gave you a warranty and the problem eventually shows up in my program, since this is the frontend you are working with. Defending against such claims is something I simply cannot afford."

share|improve this answer

I think you need to have a talk with a lawyer. Different jurisdictions have different consumer laws. In the UK there are a couple of statutes on unfair contract terms. I don't know whether your disclaimer would hold water or not (I've seen several contracts from large companies that would fall foul of the legislation).

If your lawyer says that your disclaimer is OK then you have various options to sell this to your customer. How about:

"While we make every effort to ensure the quality of our software, because of the complexity of all the different pieces of software in involved from the operating system, database, web server, browser etc, in practice it is almost impossible to determine which piece of software caused the bug". Eg if my software fails due to a bug in Internet Explorer (or whatever) it would be unfair to hold my company liable."

An alternative would be: "try suing Microsoft, you can only get the price of the software back."

It rather depends on your relationship with the customer.

I was involved in a court case involving a crashing file server that corrupted a database for a company. It was almost impossible to prove that the company that installed it had been negligent even though they had not followed the hardware requirements for the software.

share|improve this answer

You should tell him that if he wishes to pay for you to hire about fifty thousand CS professors to formally prove your program correct, then you'll waive it. Else, there's no way you could possibly guarantee it. That's just how software development works.

share|improve this answer
1  
While I do, I'm afraid the customer might not appreciate the sarcasm! –  Brann Feb 29 '12 at 10:38
1  
Customer should be informed of the complex nature of software and, if he has that kind of concerns, he should know of the real (huge) costs surrounding formal analysis of real-world code. (and the unsatisfactory results it brings, 50k CS professors are still going to overlook something) –  ZJR Feb 29 '12 at 14:21

Effectively, with the contract you have today there's an implied risk that's assumed by all your customers (except the one you mentioned). Apparently the associated cost is acceptable, since they keep doing business with you, and even if in the future such bugs cause damages to them, the consumer base as a whole considers them bearable. That's effectively what happens in the software industry in general, and that's why such clauses are considered acceptable.

Now, theoretically, you could give to your customer what he's asking for - theoretically. What it takes is to have either insurance (as you mentioned) for possible damages, or a rigorous enough development process to validate the software behavior, most likely a combination of both. These things obviously increase your operational/development costs, and you'd have to increase the price you charge for the software. And we are talking about dramatic increases: For instance, according to a table from Software Estimation (p. 243) the most efficient way of removing defects is high volume beta testing, which is quite costly, and removes only 60%-85% of defects.

Is your customer willing to pay for such things? In some industries the customers are: aerospace, car embedded systems, etc. In others it is an unjustifiable burden.

The bottom line is: you can't provide what he wants for free. And the increase in price he'll have to pay won't probably be less than the provision he has to make to absorb the risk himself. That's why the rest of the customers accept the agreement.

share|improve this answer
    
Ah, yes, there is also this problem: no one, to my knowledge, offers liabilty insurances for programmers. (So you'd better not be liable, or you'll end up broke) –  ZJR Feb 29 '12 at 14:48
2  
For programmers individually no, for software companies sometimes. If you're big enough, and not excessively risky. insurecast.com/html/professional_liability_insurance.asp But never comes cheap. –  Fabio Ceconello Feb 29 '12 at 14:59
1  
lol, I was about to see if I could get an automated quote of some kind... just to understand what the roof price could be. And then... "We are current closed for new business applications" www3.insurecast.com/ccoach/casthome.jsp –  ZJR Feb 29 '12 at 16:06

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.