Oracle v. google Boston Bar Association presentation

  • 73 views
Uploaded on

Slides from a presentation I gave at the Boston Bar Association in November 2013. Subject: Oracle v. Google copyright case

Slides from a presentation I gave at the Boston Bar Association in November 2013. Subject: Oracle v. Google copyright case

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
73
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Oracle v. Google Are APIs Copyrightable? Boston Bar Association November 13, 2013 Lee Gesmer Gesmer Updegrove LLP Boston, Massachusetts Copyright Gesmer Updegrove LLP 2013 www.gesmer.com Wednesday, November 13, 13
  • 2. District Court: 2 To what extent, if at all, are certain replicated elements of the structure, sequence and organization of the Java application programming interface (API) protected by copyright? www.gesmer.com Wednesday, November 13, 13
  • 3. 3 •Android and the Java API •Software Copyright Law •District Court Trial/Ruling •Issues on Appeal 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 4. 4 Java/Android Timeline: •1996 •2005 •2007 •2008 •2010 - Sun releases Java Google acquires Android Google releases Android Kit First Android phone Oracle purchases Sun (Java) 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 5. Larry Ellison 5 • 2010 - Oracle sues Google • 2012 - Trial and decision on infringement • 2013 - Appeal (argument: 12-4-13) 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 6. 6 Android Mobile OS 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 7. Android - Most widely used smartphone OS platform Samsung Galaxy S4 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 7
  • 8. Android OS JAVA virtual machine API PACKAGES 15 million lines code 11-13-2013 Wednesday, November 13, 13 8 www.gesmer.com
  • 9. Google development of Android 9 “Clean Room” using 40,000 page Java spec 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 10. Google development of Android 10 Clean Room: • “Java virtual machine” • Java API “implementing code” (2.8 million lines) 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 11. Google development of Android 11 But: copied verbatim Java “declaring code” (7,000 lines) 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 12. Android 12 - Android not marketed as Java - Android not fully interoperable with Java 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 13. Android 13 - 750,000 devices a day - 1 billion devices activated 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 14. 14 The Java Platform and the Java API 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 15. Java - “Write Once, Run Anywhere” Java Programming Language (JPL) JAVA API Declaring Code 7,000 lines 15 Java API Implementing Code 2.8 million lines Java Virtual Machine Host OS (IBM/Apple, Android) 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 16. Java Implementing Code 2.8 million lines 16 - methods (subroutines) (6,000+) - classes (600) - packages (166) - Google used 37 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 17. Form of Java declaring code 17 37 packages 600+ classes 6,000+ methods 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 18. Java API Declarations (Methods) 18 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 19. Google Opening Statement 19 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 20. Google 20 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 21. Google 21 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 22. Oracle Chutes and Ladders 11-13-2013 Wednesday, November 13, 13 22 www.gesmer.com
  • 23. Oracle 23 Schematic of 50-Story Office Building 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 24. Oracle 24 Java API = Chapter titles, topic sentences “Ann Droid” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 25. Judge’s analogy 25 Package ~ bookshelf (166 - 37 at issue) Class ~ book (600) Method (subroutine) ~ chapter (6,000+) 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 26. Brief History of the Evolution of Software Copyright Law 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 26
  • 27. 17 U.S.C. 102 (1976) (a) “Copyright protection subsists . . .in 27 original works of authorship fixed in any tangible medium of expression, now known or later developed ....” (b) In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery …. 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 28. 17 U.S.C. § 101 . . . (1980) 28 A “computer program” is a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result. 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 29. Final Report of the National Commission on New Technology Uses of Copyrighted Works (“CONTU”) (1978) “Should a line need to be drawn to exclude certain manifestations of programs from copyright, that line should be drawn on a case-by-case basis by the institution designed to make fine distinctions – the federal judiciary” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 29
  • 30. Lotus Development Corp. v. Borland International, Inc., 49 F.3d 807 (1st Cir. 1995) 30 “Applying copyright law to computer programs is like assembling a jigsaw puzzle whose pieces do not quite fit” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 31. Whelan Associates, Inc. v. Jaslow Dental Laboratory, Inc.,797 F.2d 1222 (3d Cir.1986) “The purpose or function of a utilitarian work would be the work’s idea, and everything that is not necessary to that purpose or function would be part of the expression of the idea. Because that idea could be accomplished with a number of different structures, the structure of the program is part of the program’s expression, not its idea.” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 31
  • 32. Whelan v. Jaslow 32 “Structure, sequence and organization” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 33. Computer Associates International, Inc. v. Altai, 982 F.2d 693 (2d Cir. 1992): “outdated appreciation of computer science” “. . . relies too heavily on metaphysical distinctions and does not place enough emphasis on practical considerations.” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 33
  • 34. Computer Associates v. Altai 34 "abstraction-filtration-comparison" “analytic dissection” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 35. abstraction Java Programming Language (JPL) JAVA API Declaring Code 7,000 lines 35 Java API Implementing Code 2.8 million Java Virtual Machine Host OS (IBM/Apple, Android) 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 36. Altai - filtration of plaintiff’s work: •Ideas (idea/expression dichotomy) • Merger • Scenes a faire (standard treatment in genre) • Functionality • Compatibility requirements • Technical standards/industry demands • Efficient implementation • External factors • Public domain • Simplicity/ease of use 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 36
  • 37. Lotus Development Corp. v. Borland International, Inc., 49 F.3d 807 (1st Cir. 1995) "method of operation," as that term is used in § 102(b), refers to the means by which a person operates something ... The Lotus menu command hierarchy does not merely explain and present Lotus 1-2-3’s functional capabilities to the user; it also serves as the method by which the program is operated and controlled” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 37
  • 38. Lotus: 38 The set of words, through which people use or manipulate or operate a system, is on the uncopyrightable side of the 102(a)/102(b) line 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 39. Lotus: 39 Java API: 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 40. Sega v. Accolade, 977 F.2d 1510 (9th Cir. 1993) and Sony v. Connectix, 203 F.3d 596 (9th Cir. 2000) - “Intermediate copying” - Compatibility/interoperability 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 40
  • 41. 2012 Trial 41 Judge William Alsup 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 42. Oracle at trial • Structure, sequence, organization (SSO) of 37 packages/classes/methods • Creativity • API analagous to “taxonomy” • Android not fully interoperable 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 42
  • 43. Google at trial • Leading SSO case (Whelan) not the law • Verbatim API commands essental for interoperability •SSO of command structure essential for interoperability •Law does not require 100% interoperability 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 43
  • 44. 44 Jury verdict Did Google infringe the copyright in the structure, sequence & organization of the APIs in the 37 classes? Jury: Yes Is Google’s copying protected by fair use? Jury: undecided (hung) 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 45. 45 District Court Ruling on Copyrightability 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 46. Rule 50 JMOL Motion 46 Jury verdict on infringement of Java SSO set aside Oracle America, Inc. v. Google, Inc.,872 F. Supp. 2d 974 (N.D. Cal. 2012) (Judge William Alsop) 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 47. District Court: Issue: 47 “The extent to which, if at all, certain replicated elements of the structure, sequence and organization of the Java application programming interface are protected by copyright” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 48. District Court: 48 “No law is directly on point. This order relies on general principles of copyright law ....” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 49. District Court: verbatim copies (vs SSO) 49 “source code at issue includes "declarations." Significantly, the rules of Java dictate the precise form of certain necessary lines of code called declarations, whose precise and necessary form explains why Android and Java must be identical when it comes to those particular lines of code.” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 50. District Court: verbatim copies - 50 “In order to declare a particular functionality, the language demands that the method declaration take a particular form. There is no choice in how to express it.” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 51. District Court: SSO - 51 “Oracle's best argument . . . is that while no single name is copyrightable, Java's overall system of organized names — covering 37 packages, with over six hundred classes, with over six thousand methods — is a "taxonomy" and, therefore, copyrightable” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 52. District Court: SSO - 52 “Structure, sequence and organization ... is a phrase that crept into use to describe a residual property right where literal copying was absent. A question then arises whether the copyright holder is more appropriately asserting an exclusive right to a functional system, process, or method of operation that belongs in the realm of patents, not copyrights” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 53. District Court: SSO - 53 “that phrase [SSO] has not been reused by the Ninth Circuit since 1989” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 54. District Court: SSO - 54 “the Whelan approach has given way to the Computer Associates approach” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 55. District Court: SSO - 55 “Many different API organizations could supply the same overall range of functionality. They would not, however, be interoperable. Specifically, code written for one API would not run on an API organized differently, for the name structure itself dictates the precise form of command to call up any given method.” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 56. Form of Java Declarations 56 - Package ~ bookshelf (166 - 37 at issue) - Class ~ book (600) - Method (subroutine) ~ chapter (6,000) 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 57. District Court: SSO - 57 “Yes, it is creative. Yes, it is original. Yes, it resembles a taxonomy.” “. . . But it is nevertheless a command structure, a system or method of operation — a long hierarchy of over six thousand commands to carry out preassigned functions. For that reason, it cannot receive copyright protection” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 58. 58 “Degree of interoperability” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 59. District Court: “degree of interoperability” - 59 “Millions of line of code had been written in Java before Android arrived ... Such code was owned by the developers, not by Oracle. In order for at least some of this code to run on Android, Google was required to provide the same command system” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 60. District Court: “degree of interoperability” - 60 Google was free to duplicate the command structure for the 37 packages,in Android in order to accommodate third-party source code relying on the 37 packages (taking care to write its own implementations). 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 61. District Court: “Degree of interoperability” - 61 Contrary to Oracle, “full compatibility” is not relevant to the Section 102(b) analysis.” Sony v. Connectix - involved subset of functions 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 62. District Court: Oracle v. Google test? - 62 “functional [expressive] aspects necessary for compatibility (not copyrightable) versus copying functional [expressive] aspects unnecessary for compatibility (possibly copyrightable).” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 63. 63 Oracle Appeal to CAFC 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 64. Oracle: 64 . . . Ann Droid . . . 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 65. Oracle: “Ann Droid wants to publish a bestseller. So she sits down with a copy of Harry Potter and the Order of the Phoenix .... She verbatim copies all the chapter titles—from Chapter 1 (“Dudley Demented”) to Chapter 38 (“The Second War Begins”). She copies verbatim the topic sentences of each paragraph, starting from the first (highly descriptive) one and continuing, in order, to the last, simple one (“Harry nodded.”).” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 65
  • 66. Oracle: 66 Defendant Google Inc. has copied a blockbuster literary work just as surely, and as improperly, as Ann Droid 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 67. Oracle: 67 “If Ann Droid had paraphrased in the same order every chapter title and topic sentence without copying a single word verbatim, the entire plot that she copied—the structure, sequence, and organization of the overall work— would be protected. ... This principle applies equally to software.” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 68. 68 Software API ~ imaginative fiction? 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 69. Works of fiction Historical/biographical works Textbooks Compilations Expressive/functional elements in software 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 69
  • 70. Oracle: 70 • “Software exceptionalism” • Google copied a “magnum opus” • No ex post Altai filtration process • Interoperability irrelevant to copyrightability • Partial interoperability/fragmentation • Court “over-dissected” API 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 71. Oracle re verbatim copying - “Google Concedes Away the Entire Case” “To start, Google concedes that it literally copied 7,000 lines of declaring code . . . collapsing the challenge on appeal to a single question: Is there any protected expression at all in either the copied code or the copied structure” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 71
  • 72. Oracle trial counsel: “Our case is not about the taking of any individual or even any small set of method declarations. Our case is about the comprehensive taking of the structure, sequence and organization of the computer programs as defined by the API specifications. That structure, sequence and organization includes method declarations at the appropriate level. It is like the sub sub subchapter in the outline structure. ... [W]hat we are seeking to protect is our very complex outline.” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 72
  • 73. Oracle: Uses partial quote: 73 “many ways to group the methods yet still duplicate the same range of functionality ...there were many ways to group the methods yet still duplicate the same range of functionality.” (District Court) 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 74. Excluding Court’s conclusion: 74 “Duplication of the command structure is necessary for interoperability” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 75. Oracle: Interoperability 75 interoperability defense relevant to fair use, not copyrightability 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 76. Computer Associates v. Altai: Filtration step includes: 76 “(2) compatibility requirements of other programs with which a program is designed to operate in conjunction; (3)computer manufacturers' design standards; (4) demands of the industry being serviced; and (5) widely accepted programming practices within the computer industry.” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 77. 77 Altai “filtration” At time of plaintiff’s writing, or at time of infringement? Ex ante or ex post? 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 78. Oracle: 78 Oracle: Ex ante (when work created) Google: Ex post (when competing product created) 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 79. Oracle: 79 Fact that function requires identical copy is does not deprive work of copyrightability under merger or interoperability 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 80. De facto standard 80 Can Java command structure lose copyright protection by becoming a de facto standard? (analogy to generic trademark) 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 81. 81 Does CAFC need to “draw the line” between 102(a) and (b)? 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 82. Possible CAFC test? 82 The set of words, through which people use or manipulate or operate a system is unprotected by copyright law where necessary for compatibility or interoperability ex post 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 83. Or 83 Software commands that carry out preassigned functions necessary for interoperatibility ex post are unprotected 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 84. Or - APIs made available to programming community and necessary for interoperability ex post fall under 102(b) Source code/object code not disclosed to users, developers does not 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 84
  • 85. Justice Ginsburg, Lotus, 1996 “I thought it was assumed that every one of these process, system, method of operation -- that you have to extract out of them what is the expression, the separable expression. . . . but that you can't just say, oh, method of operation. Forget it. We don't have to worry about expression. That seems to me a wholly different way of looking at 102(b) than runs through all of copyright. There's always the question, is there separable expression?” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 85
  • 86. Major questions facing CAFC • Interoperability - copyrightability or fair use? Partial or full? • Altai filters: ex ante or ex post? • Under what circumstances should copyright law allow a free compulsory license that permits copier to use expressive aspects of a copyrighted work to create an interoperative derivative work? 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 86
  • 87. Does copyright “de minimis doctrine” apply to “rangeCheck”? 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 87
  • 88. De minimis copying 88 “range-Check” Function: 9 lines of code out of 15 million tested by Oracle 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 89. De minimis copying 89 Court: “an innocent and inconsequential instance of copying in the context of a massive number of lines of code” 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 90. De minimis copying JUDGE ALSOP: I couldn't have told you the first thing about Java before this trial. But, I have done and still do a lot of programming myself in other languages. I have written blocks of code like rangeCheck a hundred times or more. You could do it. It is so simple. There was no way that you could say that that was speeding them along to the marketplace. That is not a good argument. 11-13-2013 Wednesday, November 13, 13 www.gesmer.com 90
  • 91. De minimis copying 91 MR. BOIES: Your Honor -JUDGE ALSOP: You're one of the best lawyers in America. How can you even make that argument? You know, maybe the answer is because you are so good it sounds legit. But it is not legit. That is not a good argument. 11-13-2013 Wednesday, November 13, 13 www.gesmer.com
  • 92. 92 Thank You! Slides will be available on: masslawblog.com 11-13-2013 Wednesday, November 13, 13 www.gesmer.com