1. One Way Contract
In common law systems, for a contract to be legally binding, both sides must provide “consideration.” When you buy an apple, you give money and you get an apple. The money and the apple are consideration. Many EULAs have a clause to the effect that the Software Provider can change the terms of the contract at any time, without notice. In other words, after you have agreed to the contract, the Provider can remove all of its obligations from the contract, and change your obligations to whatever it wants. I call this a one way contract because you are bound by the contract, but the Provider is not, because the Provider can just change it. This means the Provider has not given consideration, and the contract is invalid.
2. False Advertising
Often times, the advertising for a software packages makes promises that the software does not keep. Voice recognition software is a prime example. If you buy software that doesn’t work as promised, any contract you may have entered into is null and void. It’s like ordering a car off Ebay and finding out when you get it that it won’t start. If the ad said the car was in working order, the sale is invalid.
3. Agreement Unavailability
When you buy software at a store, you don’t see the agreement. Usually, you don’t see the agreement until you’ve opened the box and tried to install it. Some EULA’s say, if you don’t agree to this contract, return the software to the vendor for a full refund. Except, the vendor won’t take it back because it’s open. Does this make sense to anyone?
4. Adhesion Contracts
In some countries, such as the USA, a Contract of Adhesion or Standard Form Contract is a take-it-or-leave-it contract with no negotiation and unequal bargaining power between parties. If a term in an Adhesion Contract is outside the normal expectations of the weaker party, it is not enforceable. For instance, terms that say ‘the Provider is never liable for anything, ever,’ or ‘the Povider can change the terms of the contract whenever we damn-well please and to whatever our lawyers can dream up’ would be considered unreasonable and not enforceable.
In same countries, a contract is unconscionable if the consideration from one side is so dismal as to make the contract unfair to one party. For instance, if you buy software that crashes every five minutes or produces the wrong outputs, it’s not worth the money you spent on it, and therefore the contract is unconscionable. Unconscionable contracts are not enforceable as-is and courts have a fair bit of leeway in dealing with them.
In closing, not everyone can exempt themselves for the damage done by their crappy software. An open source programmer who makes no claims and takes no money for his or her work is perfectly safe in declaiming responsibility. Microsoft, Oracle, Cisco, IBM, etc. are not. The difference is in their advertising. Lying to customers about one’s products is generally illegal. If GE makes a hot water boiler that explodes and ruins someone’s basement, GE is responsible. Similarly, if Oracle claimed that its database software safeguards information, but an actual Oracle database spontaneously emptied itself, Oracle would be responsible: not because it broke the contract but because it lied in the advertising.
Now if everybody would please stop accepting these bullshit EULAs, we might foster some responsibility in the software community.