SlideShare ist ein Scribd-Unternehmen logo
1 von 92
Downloaden Sie, um offline zu lesen
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:

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

•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

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

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

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

7
Android OS

JAVA virtual machine

API PACKAGES

15 million lines code

11-13-2013
Wednesday, November 13, 13

8

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

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

11-13-2013
Wednesday, November 13, 13

22

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
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
Brief History of the
Evolution of
Software Copyright
Law
11-13-2013
Wednesday, November 13, 13

www.gesmer.com

26
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)

“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
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)

“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
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):

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

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

- “Intermediate copying”
- Compatibility/interoperability

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

40
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

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

42
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

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

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

Software API ~ imaginative fiction?

11-13-2013
Wednesday, November 13, 13

www.gesmer.com
Works of fiction
Historical/biographical works
Textbooks
Compilations

Expressive/functional elements in software
11-13-2013
Wednesday, November 13, 13

www.gesmer.com

69
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
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
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
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 Court’s 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 plaintiff’s 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

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

84
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
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
Does copyright “de minimis doctrine” apply
to “rangeCheck”?

11-13-2013
Wednesday, November 13, 13

www.gesmer.com

87
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

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

Weitere ähnliche Inhalte

Ähnlich wie Oracle v. Google: Are APIs Copyrightable

Unlocked London - Technical Track
Unlocked London - Technical TrackUnlocked London - Technical Track
Unlocked London - Technical TrackWayne Walls
 
Hotcode 2013: Javascript in a database (Part 2)
Hotcode 2013: Javascript in a database (Part 2)Hotcode 2013: Javascript in a database (Part 2)
Hotcode 2013: Javascript in a database (Part 2)ArangoDB Database
 
Reverse engineering and instrumentation of android apps
Reverse engineering and instrumentation of android appsReverse engineering and instrumentation of android apps
Reverse engineering and instrumentation of android appsGaurav Lochan
 
Android Security & Penetration Testing
Android Security & Penetration TestingAndroid Security & Penetration Testing
Android Security & Penetration TestingSubho Halder
 
Three key concepts for java batch
Three key concepts for java batchThree key concepts for java batch
Three key concepts for java batchtimfanelli
 
Engineering culture
Engineering cultureEngineering culture
Engineering culturePamela Fox
 
Lessons learned from Node.js - Callbacks / Promises
Lessons learned from Node.js - Callbacks / PromisesLessons learned from Node.js - Callbacks / Promises
Lessons learned from Node.js - Callbacks / PromisesJason K Yau
 
JavaScript Makers: How JS is Helping Drive the Maker Movement
JavaScript Makers: How JS is Helping Drive the Maker MovementJavaScript Makers: How JS is Helping Drive the Maker Movement
JavaScript Makers: How JS is Helping Drive the Maker MovementJesse Cravens
 
Proud to be polyglot!
Proud to be polyglot!Proud to be polyglot!
Proud to be polyglot!NLJUG
 
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...Ryan Koop
 
CON 3431 - Introducing Java Programming to Kids
CON 3431 - Introducing Java Programming to KidsCON 3431 - Introducing Java Programming to Kids
CON 3431 - Introducing Java Programming to KidsArun Gupta
 
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...Cohesive Networks
 
Research @ RELEASeD (presented at SATTOSE2013)
Research @ RELEASeD (presented at SATTOSE2013)Research @ RELEASeD (presented at SATTOSE2013)
Research @ RELEASeD (presented at SATTOSE2013)kim.mens
 
NoSQL Now 2013 Presentation
NoSQL Now 2013 PresentationNoSQL Now 2013 Presentation
NoSQL Now 2013 PresentationArjen Schoneveld
 
Dynamic Weaving in Aspect Oriented Business Process Management
Dynamic Weaving in Aspect Oriented Business Process ManagementDynamic Weaving in Aspect Oriented Business Process Management
Dynamic Weaving in Aspect Oriented Business Process ManagementAmin Jalali
 
Web security at Meteor (Pivotal Labs)
Web security at Meteor (Pivotal Labs)Web security at Meteor (Pivotal Labs)
Web security at Meteor (Pivotal Labs)Emily Stark
 
Continuous Delivery at Netflix
Continuous Delivery at NetflixContinuous Delivery at Netflix
Continuous Delivery at NetflixRob Spieldenner
 

Ähnlich wie Oracle v. Google: Are APIs Copyrightable (20)

Unlocked London - Technical Track
Unlocked London - Technical TrackUnlocked London - Technical Track
Unlocked London - Technical Track
 
Hotcode 2013: Javascript in a database (Part 2)
Hotcode 2013: Javascript in a database (Part 2)Hotcode 2013: Javascript in a database (Part 2)
Hotcode 2013: Javascript in a database (Part 2)
 
Reverse engineering and instrumentation of android apps
Reverse engineering and instrumentation of android appsReverse engineering and instrumentation of android apps
Reverse engineering and instrumentation of android apps
 
Android Security & Penetration Testing
Android Security & Penetration TestingAndroid Security & Penetration Testing
Android Security & Penetration Testing
 
December 2013 HUG: Spark at Yahoo!
December 2013 HUG: Spark at Yahoo!December 2013 HUG: Spark at Yahoo!
December 2013 HUG: Spark at Yahoo!
 
Three key concepts for java batch
Three key concepts for java batchThree key concepts for java batch
Three key concepts for java batch
 
Engineering culture
Engineering cultureEngineering culture
Engineering culture
 
Lessons learned from Node.js - Callbacks / Promises
Lessons learned from Node.js - Callbacks / PromisesLessons learned from Node.js - Callbacks / Promises
Lessons learned from Node.js - Callbacks / Promises
 
JavaScript Makers: How JS is Helping Drive the Maker Movement
JavaScript Makers: How JS is Helping Drive the Maker MovementJavaScript Makers: How JS is Helping Drive the Maker Movement
JavaScript Makers: How JS is Helping Drive the Maker Movement
 
Proud to be polyglot!
Proud to be polyglot!Proud to be polyglot!
Proud to be polyglot!
 
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
 
CON 3431 - Introducing Java Programming to Kids
CON 3431 - Introducing Java Programming to KidsCON 3431 - Introducing Java Programming to Kids
CON 3431 - Introducing Java Programming to Kids
 
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
 
Backbone
BackboneBackbone
Backbone
 
Research @ RELEASeD (presented at SATTOSE2013)
Research @ RELEASeD (presented at SATTOSE2013)Research @ RELEASeD (presented at SATTOSE2013)
Research @ RELEASeD (presented at SATTOSE2013)
 
Smartgears
SmartgearsSmartgears
Smartgears
 
NoSQL Now 2013 Presentation
NoSQL Now 2013 PresentationNoSQL Now 2013 Presentation
NoSQL Now 2013 Presentation
 
Dynamic Weaving in Aspect Oriented Business Process Management
Dynamic Weaving in Aspect Oriented Business Process ManagementDynamic Weaving in Aspect Oriented Business Process Management
Dynamic Weaving in Aspect Oriented Business Process Management
 
Web security at Meteor (Pivotal Labs)
Web security at Meteor (Pivotal Labs)Web security at Meteor (Pivotal Labs)
Web security at Meteor (Pivotal Labs)
 
Continuous Delivery at Netflix
Continuous Delivery at NetflixContinuous Delivery at Netflix
Continuous Delivery at Netflix
 

Kürzlich hochgeladen

The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case studyThe Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case studyEthan lee
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756dollysharma2066
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...lizamodels9
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageMatteo Carbone
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityEric T. Tung
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Lviv Startup Club
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...amitlee9823
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxAndy Lambert
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMRavindra Nath Shukla
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLMONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLSeo
 
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...Any kyc Account
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableDipal Arora
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxWorkforce Group
 
Call Girls in Gomti Nagar - 7388211116 - With room Service
Call Girls in Gomti Nagar - 7388211116  - With room ServiceCall Girls in Gomti Nagar - 7388211116  - With room Service
Call Girls in Gomti Nagar - 7388211116 - With room Servicediscovermytutordmt
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...lizamodels9
 
HONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsHONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsMichael W. Hawkins
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...Aggregage
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with CultureSeta Wicaksana
 

Kürzlich hochgeladen (20)

The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case studyThe Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usage
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League City
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptx
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSM
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLMONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
 
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
Call Girls in Gomti Nagar - 7388211116 - With room Service
Call Girls in Gomti Nagar - 7388211116  - With room ServiceCall Girls in Gomti Nagar - 7388211116  - With room Service
Call Girls in Gomti Nagar - 7388211116 - With room Service
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
 
HONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsHONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael Hawkins
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pillsMifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
 

Oracle v. Google: Are APIs Copyrightable

  • 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
  • 22. Oracle Chutes and Ladders 11-13-2013 Wednesday, November 13, 13 22 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
  • 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
  • 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
  • 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