You are on page 1of 92

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

District Court: 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

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

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

Larry Ellison

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

Android Mobile OS

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Android - Most widely used smartphone OS platform


Samsung Galaxy S4

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Android OS

JAVA virtual machine

API PACKAGES
8

15 million lines code

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Google development of Android


9

Clean Room using 40,000 page Java spec

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

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

Google development of Android


11

But: copied verbatim Java declaring code (7,000 lines)

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Android
12

- Android not marketed as Java - Android not fully interoperable with Java

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Android
13

- 750,000 devices a day - 1 billion devices activated

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

14

The Java Platform and the Java API

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Java - Write Once, Run Anywhere


Java Programming Language (JPL)

JAVA API Declaring Code 7,000 lines Java API Implementing Code 2.8 million lines
Java Virtual Machine

15

Host OS (IBM/Apple, Android)


11-13-2013
Wednesday, November 13, 13

www.gesmer.com

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

Form of Java declaring code


17

37 packages 600+ classes 6,000+ methods


11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Java API Declarations (Methods)


18

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Google Opening Statement


19

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Google
20

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Google
21

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Oracle
Chutes and Ladders
22

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Oracle
23

Schematic of 50-Story Office Building

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Oracle
24

Java API = Chapter titles, topic sentences

Ann Droid

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Judges 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

Brief History of the Evolution of Software Copyright Law


11-13-2013
Wednesday, November 13, 13

26

www.gesmer.com

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

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

Final Report of the National Commission on New Technology Uses of Copyrighted Works (CONTU) (1978)

29

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

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

Whelan Associates, Inc. v. Jaslow Dental Laboratory, Inc.,797 F.2d 1222 (3d Cir.1986)

31

The purpose or function of a utilitarian work would be the works 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 programs expression, not its idea.
11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Whelan v. Jaslow
32

Structure, sequence and organization

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Computer Associates International, Inc. v. Altai, 982 F.2d 693 (2d Cir. 1992):

33

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

Computer Associates v. Altai


34

"abstraction-filtration-comparison" analytic dissection

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

abstraction
Java Programming Language (JPL)

JAVA API Declaring Code 7,000 lines


Java API Implementing Code 2.8 million

35

Java Virtual Machine

Host OS (IBM/Apple, Android)

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Altai - filtration of plaintiffs work:

Ideas (idea/expression dichotomy)

36

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

Lotus Development Corp. v. Borland International, Inc., 49 F.3d 807 (1st Cir. 1995)

37

"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-3s 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

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

Lotus:
39

Java API:

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Sega v. Accolade, 977 F.2d 1510 (9th Cir. 1993) and Sony v. Connectix, 203 F.3d 596 (9th Cir. 2000)

40

- Intermediate copying - Compatibility/interoperability

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

2012 Trial

41

Judge William Alsup

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Oracle at trial Structure, sequence, organization (SSO) of 37 packages/classes/methods Creativity API analagous to taxonomy Android not fully interoperable
42

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

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
43

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Jury verdict Did Google infringe the copyright in the structure, sequence & organization of the APIs in the 37 classes? Jury: Yes Is Googles copying protected by fair use? Jury: undecided (hung)

44

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

45

District Court Ruling on Copyrightability


11-13-2013
Wednesday, November 13, 13

www.gesmer.com

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

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

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

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

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

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

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

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

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

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

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

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

Degree of interoperability

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

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

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

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

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

Oracle Appeal to CAFC

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Oracle:
64

. . . Ann Droid . . .

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

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 titlesfrom 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.).
65

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

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

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 copiedthe 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

Software API ~ imaginative fiction?

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Works of fiction Historical/biographical works Textbooks Compilations


69

Expressive/functional elements in software


11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Oracle:

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

70

www.gesmer.com

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

71

www.gesmer.com

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

72

www.gesmer.com

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

Excluding Courts conclusion:


74

Duplication of the command structure is necessary for interoperability

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Oracle: Interoperability
75

interoperability defense relevant to fair use, not copyrightability

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

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

Altai filtration At time of plaintiffs writing, or at time of infringement? Ex ante or ex post?

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

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

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

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

Does CAFC need to draw the line between 102(a) and (b)?

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

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

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

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

84

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

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

85

www.gesmer.com

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?

86

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

Does copyright de minimis doctrine apply to rangeCheck?

87

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

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

De minimis copying Court:

89

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

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

90

www.gesmer.com

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

Thank You! Slides will be available on:

masslawblog.com

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

You might also like