Installation Failure:How the Predominant Purpose Test HasPerpetuated Software’s Uncertain Legal StatusUnder the Uniform Commercial Code

Courts have struggled to uniformly classify software as a good or a service and have consequently failed to apply a consistent body of law in that domain. Instead, courts have relied on the predominant purpose test to determine whether the Uniform Commercial Code ("UCC") or common law should apply to a given software contract. This test, designed for traditional goods and services that do not share software's complexity or rapid advancement, has perpetuated the uncertainty surrounding software's legal status. This Note proposes that courts adopt the substantial software test as an alternative to the predominant purpose test. Under this proposal, the American Law Institute ("ALI")'s Principles of the Law of Software Contracts would govern transactions that substantially involve software, and the UCC or common law would govern all other transactions. This new test would provide greater legal clarity with only a minimal shift in jurisprudence. No court has yet adopted a similar test or cited the ALI Principles as authority in a software dispute. The landscape is ripe for change.INTRODUCTIONIn 1983, the Soviet Union shot down Korean Air Lines Flight 007, obliterating the aircraft and killing all 269 passengers and crew on board.1 Flight 007 had entered restricted airspace over Russia "likely because of an incorrect setting on the plane's autopilot" software.2 In 2009, Air France Flight 447 crashed into the Atlantic Ocean after pilots failed to respond adequately when ice crystals outside caused the plane's autopilot software to disengage.3 And in 2013, "bad software design" contributed to the runway crash that killed three passengers aboard an Asiana Airlines flight.4 In an age where software dominates commercial life, it remains unclear what law a court would apply in contract actions arising out of events like these.There are two primary options. A court would apply Article 2 of the Uniform Commercial Code ("UCC" or "Article 2") if it deemed the autopilot software to be a good, or it would apply common law if it deemed the software to be a service.5 The difference is not merely semantic. The UCC and common law differ in significant ways on "contract formation and interpretation rules."6 For instance, a software seller must tender a "perfect" product free of defects under the UCC7 but must only "substantially" perform under common law.8 An aggrieved software buyer is consequently more likely to recover under the UCC than under common law when a glitch causes a catastrophic accident.Courts routinely apply the predominant purpose test9 to software contracts to determine if the UCC applies.10 Under that test, Article 2 governs when the transaction at issue is predominantly for goods, while common law applies when the transaction is predominantly for services.11 The U.S. Supreme Court has yet to rule whether software is a good or service, and "there is no national consensus" on the issue.12 And yet despite its prevalence, the predominant purpose test has failed to assist courts in adjudicating software contract disputes. As a result, software's legal status remains a fundamental yet unanswered question.This is the first piece of commentary to focus exclusively on the predominant purpose test's limitations in software disputes. It is also the first to present a practical replacement: courts should adopt the substantial software test, which would produce tremendous benefits to the legal community while exacting only a small shift in jurisprudence. The substantial software test directs courts away from classifying software contracts as goods or services transactions and asks only whether software is "substantial" in a contract. Courts would then apply the American Law Institute ("ALI")'s Principles of the Law of Software Contracts in cases where software is substantial and revert to the UCC or common law for all other contracts. "The Principles are not 'law,' of course, unless a court adopts a provision. …