Software Design OUR THESIS Software companies should be liable for damages caused by buggy software
Helpful Definitions “software” “software” “buggy” “buggy” Strict Liability Strict Liability Negligence Negligence Damages- monetary, financial, personal safety Damages- monetary, financial, personal safety Inconvenience damages v. Safety/Financial Inconvenience damages v. Safety/Financial
Liability Exemptions User misuse/alteration of software User misuse/alteration of software Hardware incompatibility Hardware incompatibility External effects (some hackers and viruses) External effects (some hackers and viruses)
Due to Buggy Software… Due to Buggy Software… State of Wisconsin voter registration problems State of Wisconsin voter registration problems MCI Triangle phone shutdown MCI Triangle phone shutdown THERAC-25 radiation machine THERAC-25 radiation machine Air traffic control accidents Air traffic control accidents
End User License Agreements (EULA) Software line of defense from litigation Software line of defense from litigation “In the box” agreement- balance of power “In the box” agreement- balance of power Most users don’t read Most users don’t read Unreadable- not consumer friendly Unreadable- not consumer friendly
Uniform Computer Information Transactions Act (UCITA) Legal “suggestion” for software liability law Legal “suggestion” for software liability law Heavily favors software companies Heavily favors software companies Vaguely written Vaguely written Makes law more ambiguous Makes law more ambiguous Allows “shrinkwrap” licenses Allows “shrinkwrap” licenses
Production Alternatives Carnegie Mellon- Whyline Carnegie Mellon- Whyline Microsoft- Security Development Lifecycle Microsoft- Security Development Lifecycle Yale et al- imbedded proof Yale et al- imbedded proof SAS Institute- rigorous, frequent testing SAS Institute- rigorous, frequent testing Enerjy Enerjy
Policy Alternatives Uniform Commercial Code- body of legislation that spawned UCITA Uniform Commercial Code- body of legislation that spawned UCITA UCC designed to meet needs of both consumers and producers, gives neither absolute liability protection UCC designed to meet needs of both consumers and producers, gives neither absolute liability protection Ideal software legislation would follow this model Ideal software legislation would follow this model
Policy Alternatives Two Limitation on EULAs Limitation on EULAs Refined, more complete definition of negligence Refined, more complete definition of negligence