oracle v. google boston bar association presentation
DESCRIPTION
Slides from a presentation I gave at the Boston Bar Association in November 2013. Subject: Oracle v. Google copyright caseTRANSCRIPT
www.gesmer.com
Oracle v. GoogleAre APIs Copyrightable?
Boston Bar Association
November 13, 2013
Lee GesmerGesmer Updegrove LLPBoston, Massachusetts
Copyright Gesmer Updegrove LLP 2013
Wednesday, November 13, 13
www.gesmer.com
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?
2
Wednesday, November 13, 13
www.gesmer.com11-13-2013
•Android and the Java API
•Software Copyright Law
•District Court Trial/Ruling
•Issues on Appeal
3
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Java/Android Timeline:
•1996 - Sun releases Java •2005 - Google acquires Android •2007 - Google releases Android Kit•2008 - First Android phone•2010 - Oracle purchases Sun (Java)
4
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Larry Ellison
• 2010 - Oracle sues Google
• 2012 - Trial and decision on infringement
• 2013 - Appeal (argument: 12-4-13)
5
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Android Mobile OS
6
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Android - Most widely used smartphone OS platform
Samsung Galaxy S47
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Android OS
15 million lines code 8
API PACKAGESJAVA virtual machine
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Google development of Android
“Clean Room” using 40,000 page Java spec
9
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Google development of Android
Clean Room:
•“Java virtual machine”
•Java API “implementing code” (2.8 million lines)
10
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Google development of Android
But:
copied verbatim Java “declaring code” (7,000 lines)
11
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Android
- Android not marketed as Java
- Android not fully interoperable with Java
12
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Android
- 750,000 devices a day
- 1 billion devices activated
13
Wednesday, November 13, 13
www.gesmer.com11-13-2013
The Java Platformand the Java API
14
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Java - “Write Once, Run Anywhere”
15
Host OS (IBM/Apple, Android)
Java Virtual Machine
Java Programming Language (JPL)
Java API Implementing Code
2.8 million lines
JAVA API Declaring Code
7,000 lines
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Java Implementing Code
2.8 million lines 16
- methods (subroutines) (6,000+) - classes (600)
- packages (166) - Google used 37
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Form of Java declaring code
37 packages
600+ classes
6,000+ methods
17
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Java API Declarations (Methods)
18
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Google Opening Statement
19
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Google 20
Wednesday, November 13, 13
www.gesmer.com11-13-2013
21
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Oracle Chutes and Ladders
22
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Oracle
Schematic
of 50-Story Office
Building
23
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Oracle
Java API =
Chapter titles,
topic sentences
“Ann Droid”
24
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Judge’s analogy
Package ~ bookshelf (166 - 37 at issue)Class ~ book (600)Method (subroutine) ~ chapter (6,000+)
25
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Brief History of the Evolution of Software Copyright Law
26
Wednesday, November 13, 13
www.gesmer.com11-13-2013
17 U.S.C. 102 (1976)
(a) “Copyright protection subsists . . .in 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 ….
27
Wednesday, November 13, 13
www.gesmer.com11-13-2013
17 U.S.C. § 101 . . . (1980)
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.
28
Wednesday, November 13, 13
www.gesmer.com11-13-2013
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”
29
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Lotus Development Corp. v. BorlandInternational, Inc., 49 F.3d 807 (1st Cir. 1995)
“Applying copyright law to computer programs is like assembling a jigsaw puzzle whose pieces do not quite fit”
30
Wednesday, November 13, 13
www.gesmer.com11-13-2013
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.”
31
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Whelan v. Jaslow
“Structure, sequence and organization”
32
Wednesday, November 13, 13
www.gesmer.com11-13-2013
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.”
33
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Computer Associates v. Altai
"abstraction-filtration-comparison"
“analytic dissection”
34
Wednesday, November 13, 13
www.gesmer.com11-13-2013
abstraction
35
Host OS (IBM/Apple, Android)
Java Virtual Machine
Java Programming Language (JPL)
Java API Implementing Code
2.8 million
JAVA API Declaring Code
7,000 lines
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Altai - filtration of plaintiff’s work:
36•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
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Lotus Development Corp. v. BorlandInternational, 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”
37
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Lotus:
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
38
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Lotus:
Java API:
39
Wednesday, November 13, 13
www.gesmer.com11-13-2013
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
40
Wednesday, November 13, 13
www.gesmer.com11-13-2013
2012 Trial
Judge William Alsup
41
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Oracle at trial
• Structure, sequence, organization (SSO) of 37 packages/classes/methods
• Creativity
• API analagous to “taxonomy”
• Android not fully interoperable
42
Wednesday, November 13, 13
www.gesmer.com11-13-2013
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
Wednesday, November 13, 13
www.gesmer.com11-13-2013
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)
44
Wednesday, November 13, 13
www.gesmer.com11-13-2013
District Court Ruling on
Copyrightability
45
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Rule 50 JMOL Motion
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)
46
Wednesday, November 13, 13
www.gesmer.com11-13-2013
District Court:
Issue:
“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”
47
Wednesday, November 13, 13
www.gesmer.com11-13-2013
District Court:
“No law is directly on point. This order relies on general principles of copyright law ....”
48
Wednesday, November 13, 13
www.gesmer.com11-13-2013
District Court:
verbatim copies (vs SSO)
“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.”
49
Wednesday, November 13, 13
www.gesmer.com11-13-2013
District Court:
verbatim copies -
“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.”
50
Wednesday, November 13, 13
www.gesmer.com11-13-2013
District Court:
SSO -
“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”
51
Wednesday, November 13, 13
www.gesmer.com11-13-2013
District Court:
SSO -
“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”
52
Wednesday, November 13, 13
www.gesmer.com11-13-2013
District Court:
SSO -
“that phrase [SSO] has not been re-used by the Ninth Circuit since 1989”
53
Wednesday, November 13, 13
www.gesmer.com11-13-2013
District Court:
SSO -
“the Whelan approach has given way to the Computer Associates approach”
54
Wednesday, November 13, 13
www.gesmer.com11-13-2013
District Court:
SSO -
“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.”
55
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Form of Java Declarations
- Package ~ bookshelf (166 - 37 at issue)- Class ~ book (600)- Method (subroutine) ~ chapter (6,000)
56
Wednesday, November 13, 13
www.gesmer.com11-13-2013
District Court:
SSO -
“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 pre-assigned functions. For that reason, it cannot receive copyright protection”
57
Wednesday, November 13, 13
www.gesmer.com11-13-2013
“Degree of interoperability”
58
Wednesday, November 13, 13
www.gesmer.com11-13-2013
District Court:
“degree of interoperability” -
“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”
59
Wednesday, November 13, 13
www.gesmer.com11-13-2013
District Court:
“degree of interoperability” -
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).
60
Wednesday, November 13, 13
www.gesmer.com11-13-2013
District Court:
“Degree of interoperability” -
Contrary to Oracle, “full compatibility” is not relevant to the Section 102(b) analysis.”
Sony v. Connectix - involved subset of functions
61
Wednesday, November 13, 13
www.gesmer.com11-13-2013
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).”
Wednesday, November 13, 13
www.gesmer.com11-13-2013
63
Oracle Appeal to CAFC
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Oracle:
. . . Ann Droid . . .
64
Wednesday, November 13, 13
www.gesmer.com11-13-2013
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.”).”
65
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Oracle:
Defendant Google Inc. has copied a blockbuster literary work just as surely, and as improperly, as Ann Droid
66
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Oracle:
“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.”
67
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Software API ~ imaginative fiction?
68
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Works of fiction
Historical/biographical works
Textbooks
Compilations
Expressive/functional elements in software
69
Wednesday, November 13, 13
www.gesmer.com11-13-2013
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
70
Wednesday, November 13, 13
www.gesmer.com11-13-2013
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”
71
Wednesday, November 13, 13
www.gesmer.com11-13-2013
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.”
72
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Oracle:
Uses partial quote:
“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)
73
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Excluding Court’s conclusion:
“Duplication of the command structure is necessary for interoperability”
74
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Oracle:
Interoperability
interoperability defense relevant to fair use, not copyrightability
75
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Computer Associates v. Altai:
Filtration step includes:
“(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.”
76
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Altai “filtration” -
At time of plaintiff’s writing, or at time of infringement?
Ex ante or ex post?
77
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Oracle:
Oracle: Ex ante (when work created)
Google: Ex post (when competing product created)
78
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Oracle:
Fact that function requires identical copy is does not deprive work of copyrightability under merger or interoperability
79
Wednesday, November 13, 13
www.gesmer.com11-13-2013
De facto standard
Can Java command structure lose copyright protection by becoming a de facto standard?
(analogy to generic trademark)
80
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Does CAFC need to “draw the line” between 102(a) and (b)?
81
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Possible CAFC test? -
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
82
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Or -
Software commands that carry out preassigned functions necessary for interoperatibility ex post are unprotected
83
Wednesday, November 13, 13
www.gesmer.com11-13-2013
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
Wednesday, November 13, 13
www.gesmer.com11-13-2013
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?”
85
Wednesday, November 13, 13
www.gesmer.com11-13-2013
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
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Does copyright “de minimis doctrine” apply to “rangeCheck”?
87
Wednesday, November 13, 13
www.gesmer.com11-13-2013
De minimis copying
“range-Check” Function:9 lines of code out of 15 million tested by Oracle
88
Wednesday, November 13, 13
www.gesmer.com11-13-2013
De minimis copying
Court:
“an innocent and inconsequential instance of copying in the context of a massive number of lines of code”
89
Wednesday, November 13, 13
www.gesmer.com11-13-2013
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.
90
Wednesday, November 13, 13
www.gesmer.com11-13-2013
De minimis copying
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.
91
Wednesday, November 13, 13
www.gesmer.com11-13-2013
Thank You!
Slides will be available on:
masslawblog.com
92
Wednesday, November 13, 13