TABLE OF CONTENTS I. INTRODUCTION 307 II. COPYRIGHT PROTECTION FOR COMPUTER SOFTWARE 1.0 313 A. A Personal Account 313 B. Setting the Stage 314 1. The Intellectual property Backdrop: Legislation and 315 Legislative History 2. Network Economics 318 3. The Industrial Backdrop 319 C. The API Copyright War 321 1. Jurisprudence 322 i. The Early Years 323 ii. The Modern Software Copyright Era 326 2. Legislative Developments 341 D. The End of the First API Copyright War and the Logic 342 of the Intellectual Property System III. COPYRIGHT PROTECTION FOR COMPUTER SOFTWARE 2.0: THE ORACLE WAVE 343 A. The Technological and Industrial Context 345 1. The Java Story 346 i. The Corporate Environment: Sun Microsystems in 346 the 1980s and 1990s ii. Development of Java 347 iii. The Setting Sun 355 2. Google, the Mobile Computing Revolution, and 357 Development of Android 3. Oracle's Acquisition of Sun Microsystems 372 B. The Oracle v. Google Litigation 375 1. Oracle's Complaint and Pretrial Case Management 375 2. 2012 Trial 378 3. Federal Circuit Appeal 386 i. Copyrightability 388 a. Declaring Code 388 b. SSO of the API Packages 389 ii. Fair Use 390 4. Interlocutory Certiorari Petition 390 5. 2016 Fair Use Trial 391 i. Opening Arguments 393 ii. Google's Case in Chief. 395 iii. Oracle's Case in Chief 400 iv. Google's Rebuttal 404 v. Closing Arguments 405 vi. Jury Verdict 410 6. The Road Ahead 410 C. The Current Murky State of API Copyright Protection 414 IV. THE LAW AND ECONOMICS OF API COPYRIGHT PROTECTION 416 A. Legal Analysis 417 1. overarching principles 418 2. Critique of the Federal Circuit Copyrightability 421 Decision i. Misinterpretation of the Copyright Act 422 a. Misreading Section 102 422 b. Legislative Intent and purpose 424 ii. Misreading Ninth Circuit Jurisprudence 427 a. Viability of the Lotus Decision in the Ninth 427 Circuit b. Disregarding the Sega/Sony Decisions 429 c. Resurrecting the Third Circuit's Apple/Whelan 431 Decisions iii. Conflation of Expressive and Technological 433 "Creativity" iv. Overly Rigid Approach to Limiting Doctrines 438 v. Treating API Design as Variable Expression Rather 442 than Unique Function 3. Proper Legal Frameworks for Analyzing Copyright 443 Protection for Computer Software i. API Design 444 ii. Computer Code 446 a. Independent Creation 447 b. Abstraction-Filtration-Comparison 450 iii. Other Software Elements 451 B. Policy Analysis 452 1. Economic Analysis of Legal Protection for Computer 452 Software i. The Public Goods Problem 452 ii. Network Externalities 456 2. The Evolution of Software Markets 460 3. The Optimality of Limited Copyright Protection for 464 Computer Software 4. Impediments to Achieving the Proper Copyright 471 Balance Posed by the Oracle v. Google Litigation V. CONCLUSION 473 APPENDIX A: GLOSSARY 474 APPENDIX B: PRINCIPAL PARTICIPANTS 479 APPENDIX C: TIMELINE 482 APPENDIX D: THE 37 JAVA API PACKAGES IMPLEMENTED IN ANDROID 486 APPENDIX E: 2016 FAIR USE TRIAL SUMMARY 489 I. INTRODUCTION
As the great Yogi Berra redundantly said, "It's like deja vu all over again." (1) For IP scholars and practitioners of my generation, Oracle Corporation's lawsuit alleging that Google's Android mobile platform infringes copyright in the Java application program interface ("API") elements has been a stroll down memory lane. (2) Or perhaps less nostalgically for those in the software industry, a zombie horror film set in Silicon Valley. (3)
I cut my teeth analyzing the scope of copyright protection for network and other functional features of computer software. My first foray into intellectual property scholarship examined the interplay among the utilitarian nature of computer programming, the distinctive network economics of software markets, and the role of copyright protection within the larger intellectual property system. (4) Along with other scholars and practitioners, (5) I wrote about and filed amicus briefs in battles over interoperability, (6) reverse engineering, (7) graphical user interfaces, (8) and menu command hierarchies. (9) After more than a decade of software copyright wars, (10) the hostilities ceased following the resolution of the epic battle between Lotus and Borland over the spreadsheet menu command hierarchy. (11) To mark closure of that era, I wrote an "epitaph" for copyright protection of network features of computer software. (12)
Although the Supreme Court deadlocked over the Lotus v. Borland appeal, (13) the computer industry achieved detente following several lower-court cases rejecting copyright protection for APIs and other high-level, functional features of computer software. Congress reinforced these principles in crafting the anti-circumvention provisions of the Digital Millennium Copyright Act of 1998 ("DMCA"). (14) This is not to say that copyright law does not protect computer software, but rather that the scope of protection is narrow and focused on purely expressive or arbitrary--as opposed to functional--elements of computer programs.
Veterans of the API copyright battles moved on to new software IP battlefronts. Microsoft's anti-competitive practices in the "browser wars" emerged as a new battleground in the late 1990s. (15) One flank touched on API copyright protection. Sun Microsystems sued Microsoft over breach of contract and copyright infringement relating to Microsoft's forking (16) of Sun's Java[TM] software platform. That litigation settled with Microsoft paying Sun $20 million, and Sun chose not to assert its copyright infringement claims in court. (17) The conduct at issue also contributed to Sun's later antitrust and patent infringement lawsuit against Microsoft, which resulted in a $1.6 billion settlement. (18)
By the late 1990s, the open source movement was gaining momentum, further reducing the use of proprietary strategies in the development of APIs. Sun released the core Java language for use by programmers, although it sought to ensure that the Java platform remained interoperable across different systems. Following the burst of the dot-com bubble in the 2000-2002 period, software patent assertion added a new dimension to software litigation. Standard setting organizations ("SSOs") emerged as a principal bulwark in promoting interoperable interface development. (19)
By the early 2000s, software copyright disputes, and particularly those relating to APIs, were rare. Although interoperability skirmishes occasionally flared, (20) the copyright jurisprudence remained remarkably stable. Silicon Valley moved on, or so many of the API copyright veterans thought. Much of the API action shifted to the patent and standard setting realms. (21) Internet piracy emerged as the major copyright battleground, and a new war--between Hollywood and Silicon Valley--took center stage. (22)
Then a startling new API copyright case made headlines in August 2010. (23) In January of that year, Oracle Corporation acquired Sun Microsystems for $5.6 billion. (24) In August, Oracle sued Google for patent and copyright infringement over the Android platform, one of the two leading mobile computing platforms (Apple's iOS was the other). (25) Google built Android using the Java programming language and declarations--headers that name and describe functions--from 37 of the 166 "packages" of the Java[TM] Platform, Standard Edition API Specification. (26) oracle would ultimately seek over $9 billion in damages and an injunction blocking Google's use of Android. (27)
The API copyright resurgence is not limited to Oracle v. Google. In 2014, Cisco Systems, a leading manufacturer of networking equipment, sued Arista Networks for patent and copyright infringement. (28) The copyright claims focused on Cisco's command line interface ("CLI") for configuring, monitoring, and maintaining Cisco devices. (29) Arista, formed by a Cisco founder and employing many former Cisco engineers, designs and sells competing network switches. Arista allegedly copied more than five hundred of Cisco's CLI commands in developing its EoS network operating system. (30)
With these headlines, I was beginning to feel a bit like the aging Michael Corleone, as portrayed by Al Pacino, in The Godfather: Part III: "Just when I thought I was out... they pull me back in." (31) As this Article explains, the new wave of API litigation is not entirely "deja vu all over again." Oracle v. Google involves a more complex interface specification than those involved in the first wave of cases. And unlike defendants in those cases, Google did not seek to achieve complete end-user interoperability. Rather, Google developed a new operating system that selected from and augmented the Java API packages to optimize a powerful new mobile platform for smartphones. Google also used a more permissive licensing model than Sun and oracle used for the Java platform.
Although achieving complete end-user interoperability is a functional objective that can serve to limit copyright protection, it is not the sole limiting rationale for excluding functional features and function labels from copyright protection. The principles explicated in my first Epitaph apply with equal force to this newer API copyright wave. Fundamental copyright doctrines circumscribe protection for APIs.
This Article updates and expands upon the earlier Epitaph to address the second API copyright wave. As background, Part II reviews the first wave of API copyright legislation and litigation. Part III examines the Oracle v. Google litigation. Part IV critically analyzes the Oracle v. Google litigation and explains that copyright law's fundamental exclusion of protection for functional features dictates that the labeling conventions and packaging of functions within interface specifications generally fall outside of the scope of copyright protection even though the implementing code garners protection. This interpretation of copyright law serves the larger goals of intellectual property law and competition policy.