Software As Text John Shaeffer
Total Page:16
File Type:pdf, Size:1020Kb
Santa Clara High Technology Law Journal Volume 33 | Issue 3 Article 1 2-20-2017 Software as Text John Shaeffer Follow this and additional works at: http://digitalcommons.law.scu.edu/chtlj Part of the Intellectual Property Law Commons, and the Science and Technology Law Commons Recommended Citation John Shaeffer, Software as Text, 33 Santa Clara High Tech. L.J. 324 (2016). Available at: http://digitalcommons.law.scu.edu/chtlj/vol33/iss3/1 This Article is brought to you for free and open access by the Journals at Santa Clara Law Digital Commons. It has been accepted for inclusion in Santa Clara High Technology Law Journal by an authorized editor of Santa Clara Law Digital Commons. For more information, please contact [email protected]. SOFTWARE AS TEXT John Shaeffer† A computer program can be many things. As source code, it is unequivocally text and it is unpatentable written material. As text, it has syntactical structure, which allows a computer to respond to it, and meaning that it communicates to the programming community. A computer program is also an audio-visual work; we see it and hear it as we interact with it. In this way, protecting a computer program is like protecting music, which is often based on both the written score and the sounds we hear. But unlike modern music, which does not always depend on a written score, a computer program must always have source code before it can be heard. Much has already been written about whether computer programs should be copyrightable, but little has been written about access. If a computer program is written in a compiled, rather than an interpretive language, the source code will be converted into assembly or directly into machine code, neither of which has much meaning to anyone but a computer. Access to the audio-visual expression of a computer program is different than access to its source code, with the former much more likely circumscribed to the programs unprotected ideas and functions. The audio-visual structure of a computer program is something very different than from the architecture and structure of its source code. For this reason, the infringement analysis in Lotus Development Corporation v. Borland1—which was concerned with the identity in the visual structure of menus with no allegation of access to the source code used to depict the menus—has little in common with Oracle v. Google2—concerned with copying of standard tools used to write source code in the JAVA programming language. This article suggests that with a closer consideration of the practice of computer programming, intellectual property law † John Shaeffer is currently a partner at Fox Rothschild LLP in Los Angeles, CA and is an adjunct professor at Santa Clara School of Law. The views expressed in this article are those of the author and do not necessarily reflect those of For Rothschild LLP or its clients. 1. Lotus Dev. Corp. v. Borland Int’l, Inc., 49 F.3d 807 (1st Cir. 1995). 2. Oracle Am., Inc. v. Google, Inc., 750 F.3d 1339 (Fed. Cir. 2014). 324 2017] SOFTWARE AS TEXT 325 governing the scope and extent of its protection can brought more in line with actual practice. With such an understanding, the law as applied to computer software can better serve its constitutional purpose of promoting the public good. TABLE OF CONTENTS INTRODUCTION ................................................................................. 325 I. WHAT IS COMPUTER PROGRAMMING? ........................................ 333 A. Language As Instruction ..................................................... 333 B. What Is a Computer Program? ........................................... 337 C. How We Interact with Computer Programs ....................... 340 1. How Consumers Interact with Computer Programs ........ 340 2. How Programmers Interact with Computer Programs ..... 345 D. What Becomes a Computer Program ................................. 348 1. Technical Specifications, Design, and Degrees of Abstraction ............................................................................... 350 2. Object-Oriented Programming and Writing Code ........... 355 E. The Community of Programmers ........................................ 357 II. COPYRIGHT LAW ........................................................................ 360 A. Congress May Enact Laws To Promote Science and the Useful Arts ................................................................................... 360 B. Copyright’s Bargained-For Exchange: Protecting “How You Teach” In Exchange for “What You Teach” ............................... 362 C. Copyright and Code ............................................................ 370 D. Access to the Text of a Computer Program ........................ 373 E. While Substantial Similarity Is a Surrogate for Copying, Substantiality Should Not Be a Requirement for Infringement .... 380 F. A New Work That Is Less Than a Facsimile of the Work As a Whole Is a Derivate Work ............................................................ 383 G. A Work Derived From Another’s Expression Transforms the Original, So All Transformative Works Are Derivate Works ...... 386 H. The Problem of Fair Use. ................................................... 396 1. The Fair Use Doctrine As Applied .................................. 398 2. Why Courts Developed the Fair Use Defense and the Supreme Court’s Return to The Basics .................................... 404 III. CONCLUSION ............................................................................. 410 INTRODUCTION Source code is not functional. It is instructional. Source code describes one of several ways to obtain structured binary data that when sequenced to a processor in a particular order causes a computer 326 SANTA CLARA HIGH TECH. L.J. [Vol. 33 to perform particular functions. Programming a computer is creative in that the methods and styles used to execute the programmed functions say a lot about its creator. In the same manner that a composer learns from studying the musical scores of her predecessors, a novelist learns from reading novels, and a filmmaker learns from watching film, programmers learn their craft from studying source code and other software architecture documents. This is why “[a]ll coding inevitably involves double coding. ‘Good’ code simultaneously specifies a mechanical process and talks about this mechanical process to a human reader.”3 This is a central premise underlying the Free and Open Source Software Movement (FOSS), a premise currently shared with the constitutional underpinning of this country’s intellectual property laws that the public good is served by free and open access to the ideas and the expression of those ideas. “Free” here requires a precise definition: free as in “free speech” or “free trade,” not “free beer.”4 This article posits a disconnect between how programmers, and those who teach programming, view their craft, on the one hand, and the laws governing computer software and the academia supporting the governing legal structure, on the other. Much has already been written about the problems applying existing copyright and patent laws to computer programs as well as to the deficiencies in legal decisions making such efforts.5 An area less explored, however, is whether the law fits with the practice it governs. Little consideration has been given to whether the law comports with what programmers are actually doing and the product they and their employers make and own. The law curiously takes a myopic view of computer programs as being a utilitarian tool that allow computers to perform functions like word processing or reserving a seat on an airline. Programming is far more diverse than the law gives it credit for. Identifying the field of computer programming with the compiled copy of Microsoft Word is somewhat akin to characterizing all literature by referring to the design specifications for Boeing’s latest jet—albeit that such design 3. Michael Mateas & Nick Montfort, A Box, Darkly: Obfuscation, Weird Languages, and Code Aesthetics, in DIGITAL ARTS AND CULTURE: DIGITAL EXPERIENCE: DESIGN, AESTHETICS, PRACTICE (DAC 2005). 4. GEOFF COX & ALEX MCLEAN, SPEAKING CODE: CODING AS AESTHETIC AND POLITICAL EXPRESSION 77 (MIT Press 2012). 5. For example, some of the Federal Circuit continue to push to exclude computer programs from the breadth of section 101 of the Patent Act. Intellectual Ventures I LLC v. Symantec Corp., 838 F.3d 1307, 1328 (Fed. Cir. 2016) (Mayer, J., concurring) (“Declaring that software implemented on a generic computer falls outside of section 101 would provide much needed clarity and consistency in our approach to patent eligibility.”). 2017] SOFTWARE AS TEXT 327 specification would be more like the source code for Microsoft Word than the actual compiled program. By way of example, the musical duo Autechre years ago dispensed with conventional instruments in favor the visual coding language MAX/MPS.6 Their compositions today are distinct programs—referred to as patches—that result in computers performing functions that, with the help of digital to audio converters, generate complex sounds and rhythms. The spontaneity and creativity of an artist interacting with a guitar and keyboard is now left to a computer interacting with code in a spontaneous and not necessarily planned or expected way. Far from being an academic exercise, Autechre tours the world playing at large electronic dance music festivals and signed to a well-recognized music label.7 In this context, an Autechre patch functions like a