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.

Software, unlike most physical products you can buy, is sold with as few warranties as the vendor can get away with. As a developer, this seems very reasonable considering the quality of almost all software I've ever used - Think anything from unintuitive idioms, via undocumented features, irreproducibility, missing handling of concurrency, double escaping of user input, and floating point numbers where decimals would avoid long-term build-up of errors, to plain crashing bugs where the production database is corrupted and the equivalent of several hirings in the affected company are wasted on recovery and reactionary implementation of safety measures. It's a bit like building skyscrapers out of straw and nitroglycerin, hoping it will survive until the time when it's someone else's problem or it's replaced entirely.

In such a situation, I hypothesize that a company which trusts their software enough to provide even minor warranties for damages incurred would (if their software was up to the task) gain an enormous advantage in user trust, and could put Google, Microsoft and Apple to shame for quality software and hoarding of money and talent.

I'm not familiar with the current status of software verification and requirements gathering research, so I don't know whether this possibility is just around the corner or whether we are hacking at the mountain with toothpicks. Certainly the existence of any serious company or organization at all providing such warranties or even working on guidelines for warranties would be extremely interesting to follow, as both a developer and user.

Therefore: Are there any international guidelines for providing software warranties?

Examples:

  • If all the tests succeed, as long as the system stays in a defined state, the warranty covers the cost of recovery in case of data loss.
  • As long as [some widely recognized set of security guidelines] are followed, the data handled by the system will not be readable by third parties. The warranty could cover anything from the price of the software to the legal costs of handling privacy-related lawsuits or more.
share|improve this question
    
Data recovery is NOT cheap, when it's even possible, and there's a whole lot of things that can go wrong that you're going to have problems defining (and, if you defined to that detail, nobody would go along with your requirements anyway). Moreover, your software will have bugs, and one of those could bankrupt your company. Think carefully before providing any sort of warranty, and consult a lawyer to see what you might be liable for. –  David Thornley Jan 31 '12 at 14:35
    
Please don't answer if you have a comment about data recovery. It was just an example, as should have been obvious from the title and body above. –  l0b0 Jan 31 '12 at 14:52
    
The question you asked earlier was closed because you didn't include an example. For this one you did include an example, but then you down voted any answer that referenced your example. –  mhoran_psprep Jan 31 '12 at 15:04
    
@mhoran_psprep: The previous question was closed because it was not referencing a "specific licensing problem [I] personally have". The problem is guidelines, not data recovery. –  l0b0 Jan 31 '12 at 15:11
2  
Hi l0b0, can you revise your question to reference the specific problem you're working on that has you thinking about this, so people have some context and don't continue to misinterpret your question to be about data loss? –  user8 Jan 31 '12 at 16:10
show 1 more comment

3 Answers

I don't know a lot about this but I know that, for custom software (not off-the-shelf), many development teams require the client to use specific hardware in order for the warranty to be valid. You can look into that if you think it's reasonable for your particular case.

Also, sometimes warranties and performance guarantees are invalidated if the software is used with any product not provided or approved by the company who made that software.

I think the variety of situations when it comes to something like this is huge. It all comes down to how you draft the contract.

share|improve this answer
    
this has been my experience, a custom developer may offer a warranty period where they will fix any bugs as part of the original contract, but getting them to agree that something is a bug can be difficult –  Ryathal Jan 31 '12 at 18:47
add comment

Regarding data loss: I took a look at some online backup systems. Here is one example:

entire liability, and Your exclusive remedy, for any and all claims arising under or in connection with this Agreement or related to any item or service provided under or in connection with this Agreement, regardless of the form of the action (including negligence), whether in breach of warranty, contract, tort, strict liability or otherwise, shall be limited to a maximum amount equal to the license and maintenance fees paid within the last six (6) month period prior to such loss. You expressly recognize and acknowledge that such limitation of liability is an essential part of this Agreement and is an essential factor in establishing the price of the Licensed Products. You shall cause your insurers of data, if any, to waive any right of subrogation against...

You have to limit what you will cover and what you will refund. Remember companies such as LL Bean and Lands End only refund the cost of the boots, and ignore the fact the hike wasn't fun in boots falling apart.

share|improve this answer
    
While this is interesting, this question is specifically about whether there are any generally accepted guidelines in creating software warranties. Do you have anything to speak specifically to that, and isn't a commentary on the example provided? –  user8 Jan 31 '12 at 16:08
    
In the first few versions of the question the only example was data loss. After the OP down voted and slammed all the provided answers, the question was changed. –  mhoran_psprep Feb 1 '12 at 1:25
    
fair enough, but this doesn't answer the question as it is now. If you can address the question, can you revise your answer to do so? Otherwise, this is better off deleted. –  user8 Feb 1 '12 at 1:41
    
Actually reading the latest version of the question. still makes my answer valid. He still uses data loss as one of his two examples. His question claims to be looking for a standard, but he is tilting at windmills. –  mhoran_psprep Feb 1 '12 at 2:24
add comment

You Have 2 basic kinds of software :

1) Off the Shelf, prepackage stuff - Usually The warranty for this covers only the cost of the software itself. It’s very similar to any other warranty. You buy it, it doesn't work, they will get it to work or refund your money. (Assuming they believe you.. you take MS office back to the store opened saying it won’t install, you will likely get "Sorry we don't take back open software" as a response)

2) Custom Software: This is basically the same as packaged software EXCEPT the duration of the Warranty is for a negotiated period of time (usually 3-6 month, or a outlined in a long term support contract), Any defect after that is outside the Warranty even if it’s clearly a defect. So it’s really up to the purchaser to do his diligence in testing during the "Acceptance Phase"

NOBODY COVERS THE COST OF DATA LOSS

It would be insane to. I sell you Inventory-tracker 2.6 for 50$, a Glitch causes you to "Loose" 100k in inventory. Should I be libel for that 100k? If yes, no one would sell software, it’s not worth the risk. Again.. it’s up to the purchases to do his diligence to insure the software is working as expected (Note the word Expected.. I did not say Designed.)


The customer has to backup his data. This is his protection against data loss.

share|improve this answer
1  
The protection against data loss is in testing the backups. –  mhoran_psprep Jan 31 '12 at 14:42
    
While this is interesting, this question is specifically about whether there are any generally accepted guidelines in creating software warranties. Do you have anything to speak specifically to that, and isn't a commentary on the example provided? –  user8 Jan 31 '12 at 16:07
    
Mark, What i am Stating here IS the general standard outline for software warranties.. –  Morons Jan 31 '12 at 17:14
add comment

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.