Breaks down Google v. Oracle and what it means for the future of software development and fair use. This legal contest has been heralded as the “World Series of IP cases” and the “copyright case of the decade”.
It’s a landmark case, 11 years in the making, between two industry heavyweights – Google, the undisputed king of search and mobile operating system market share, accused of both patent and copyright infringement against Oracle, the owner of the ubiquitous Java API.
At stake is a winner take or keep-all purse of $9 billion in damages and a Supreme Court ruling that will dictate the future of software interface copyright law. Ashley Sloat, President & Director of Patent Strategy here at Aurora, serves as your guide, cutting through 11 years of case law, 3 trials, 2 appeals, and endless technology metaphors, all in an illuminating IP conversation that runs the gamut from patent infringement to copyright violation and ultimately settles on a matter of fair use doctrine.
Blog: https://www.aurorapatents.com/blog/new-podcast-google-v-oracle
Podcast: https://patentlystrategic.buzzsprout.com/1734511/8468565-google-v-oracle-the-future-of-software-and-fair-use
2. WELCOME! – Format
• 10 Minutes Ice: Breaker
• 15-20 Minutes: Problem Solving
• 30-35 Minutes: New Material
3. Ice Breaker
• New people - introduce yourself
• If you woke up tomorrow as an
animal, which animal would you
choose to be and why?
4. Shared Problem Solving
• Fun Strategy Tidbits?
• Any problems you are encountering
with the USPTO?
• Any practice issues arising?
• Any technical issues you are facing?
5. Google v. Oracle
• Java Software code, application programming interfaces
(API), was authored by Oracle
• Google copied the code for use in Google’s Android
mobile platform
6. Historical Context
• Why did Google need Java?
• Why didn’t Google just license Java?
• Why did Google copy Java’s API interface?
10. Google v. Oracle
1. Phase 1: Patents
2. Phase 2: Copyright
3. Phase 3: Fair Use
11. Oracle’s Patents – 6,061,520
1. A method in a data processing system for statically initializing an array,
comprising the steps of:
compiling source code containing the array with static values to generate a class file
with a clinit method containing byte codes to statically initialize the array to the static
values;
receiving the class file into a preloader;
simulating execution of the byte codes of the clinit method against a memory
without executing the byte codes to identify the static initialization of the array by the
preloader;
storing into an output file an instruction requesting the static initialization of the
array; and
interpreting the instruction by a virtual machine to perform the static initialization of
the array.
12. Oracle’s Patents – RE38,104
1. In a computer system comprising a program in source code form, a method for generating
executable code for said program and resolving data references in said generated code, said method
comprising the steps of:
a) generating executable code in intermediate form for said program in source code form with data
references being made in said generated code on a symbolic basis, said generated code comprising a
plurality of instructions of said computer system;
b) interpreting said instructions, one at a time, in accordance to a program execution control;
c) resolving said symbolic references to corresponding numeric references, replacing said symbolic
references with their corresponding numeric references, and continuing interpretation without
advancing program execution, as said symbolic references are encountered while said instructions are
being interpreted; and
d) obtaining data in accordance to said numeric references, and continuing interpretation after
advancing program execution, as said numeric references are encountered while said instruction are
being interpreted;
said steps b) through d) being performed iteratively and interleaving.
13. Copyright Provisions - 17 U. S. C.
§102(a)
• Work of authorship
• Work must be “original”
• Work must be “fixed in any tangible medium of expression”
• Expanded in 1980 to include software as “a set of
statements or instructions to be used directly or indirectly in
a computer in order to bring about a certain result”
14. Copyright and Fair Use:
Two Questions before the Court
1. Is all the code authored by Oracle protected by
copyright law?
2. If yes, is the manner in which Google copied Oracle’s
code a legal “fair-use” taking?
15. Google and Oracle agree …
1. What the declaring code is and what it does in Java SE
and Android, and that the code at issue was a work
created by Oracle;
2. How many lines of code were copied;
3. There were other ways for Google to write API
packages; and
4. Google used the API packages in Android for the same
purpose they were created for in Java.
16. Four Factor Fair-Use Test
1. Purpose and character of the use
2. Nature of the copyrighted work
3. Quantity and quality taken
4. Effect on market
17. Purpose and character of the use
• Fed. Cir.: use was commercial; Google “stands to profit from
exploitation of the copyrighted material without paying the customary
price…there is no suggestion that the new implementing code
somehow changed the expression or message of the declaring
code.” - against fair use
• SC Majority: Google “copied them because programmers had
already learned to work with the Sun Java API’s system, and it would
have been difficult, perhaps prohibitively so, to attract programmers
to build its Android smartphone system without them.” – favors air
use
• SC Minority: (1) 2015 alone, Google earned $18B; (2) Google used
code for the exact same purpose as Oracle – against fair use
18. Nature of the Copyrighted Work
• Fed. Cir.: “the declaring code and the SSO of the 37 API packages
at issue were sufficiently creative and original to qualify for copyright
protection…[But] functional considerations were substantial and
important.” - favors fair use
• SC Majority: Google used creativity to develop Android for use in
smartphones – favors fair use
• SC Minority: “declaring code is closer to the ‘core of copyright.’
Developers cannot even see implementing code…Implementing
code thus conveys no expression to developers. Declaring code, in
contrast, is user facing” – neutral or even favors fair use
19. Quantity and Quality Taken
• Fed. Cir.: “the parties stipulated that only 170 lines of code were
necessary to write in the Java language. It is undisputed, however, that
Google copied 11,500 lines of code—11,330 more lines than necessary to
write in Java. That Google copied more than necessary weighs against fair
use.” – neutral or even against fair use
• SC Majority: “the better way to look at the numbers is to take into account
the several million lines that Google did not copy…We do not agree…that
Google could have achieved its Java-compatibility…by copying only the
170 lines of code” – favors fair use
• SC Minority: Google does deny not that it copied the heart or focal points;
“The declaring code is what attracted programmers to the Java platform”;
“A copied work is quantitatively substantial if it could ‘serve as a market
substitute for the original’ work or ‘potentially licensed derivatives’ of that
work.” Campbell, 510 U. S., at 587. – against fair use
20. Effect on Market
• Fed. Cir.: “the record contained substantial evidence that Android was
used as a substitute for Java SE and had a direct market impact…. That
Oracle never built a smartphone device is irrelevant because potential
markets include licensing others to develop derivative works.” against fair
use
• SC Majority: “Google’s Android platform was part of a distinct market than
Java software…Android platform…offers ‘an entire mobile operating stack,’
is a ‘very different typ[e] of produc[t]’ than Java SE, which is ‘just an
applications programming framework.” – favors fair use
• SC Minority: Google eliminated manufacturers’ willingness to pay for
Java; After Androids release, Amazon used the cost-free availability of
Android to negotiate a 97.5% discount on its Oracle license fee; Google
tried to license it 4X; Microsoft/Apple developed own mobile systems –
against fair use
21. Result
• Fed. Cir.: “Weighing these factors together, we conclude that Google’s
use of the declaring code and SSO of the 37 API packages was not fair
as a matter of law.”
• SC Majority: “Google reimplemented a user interface, taking only what
was needed to allow users to put their accrued talents to work in a new
and transformative program, Google’s copying…was a fair use of that
material as a matter of law.”
• SC Minority: “three of the four statutory fair-use factors weigh decidedly
against Google. The nature of the copyrighted work—the sole factor
possibly favoring Google—cannot by itself support a determination of fair
use”
Limited copying of declaring code so that programmers can create new implementing
code is an act of fair-use as a matter of law
22. My 2¢
• Courts have long twisted the intellectual property laws,
both in copyright and patent law, to the detriment of
innovation protection in the US
• Copyright: twisting the meaning of “transformative” is
“eviscerating” copyright law
• Patent Law: implicit exceptions to patent law (math,
money, mental) are putting the death nail in software and
diagnostic patents
23. Positives and Negatives of the Ruling
+ Promotes the arts – developers can build upon and
create new programs
- Will fair-use broaden over time, diminishing software
protection?
24.
25. Declaring vs. Implementing Code
• Declaring code: names, arguments, and expected
outputs for identifying and organizing computer functions,
organized into packages and classes
• Implementing code: instructs a computer how to
perform a specific task
Google copied Oracle’s declaring code
26. Copyright Law meets Patent Law
• Section 101 is concerned with preemption – claim is so
abstract or broad that it preempts use of the entire idea
• Similarly, copyright law is concerned with this – in the
abstraction, filtration, and comparison test, if practical
considerations and external factors are such that only a
few forms of expression are workable, then the
expression is not copyrightable
Editor's Notes
One word that describees your style as a patent practitioner
When you meet to talk about managing change, ask your attendees to pick one momentous event that changed their life. Ask them why they picked that particular event.
Practice management software – beyond docketing, more like client and task management?
How do you all handle assignments? Do you work with a firm that drafts them?
Josh will cover these stats => Google took approximately 11,500 lines of declaring code from Oracle that defined and named thousands of methods within several packages of code. The taking represented approximately 3% of Oracle’s copyrighted code and 0.4% of all of Google’s relevant code.
But APIs are different, Google argued, because they involve little creative expression and are simply used by developers as shorthand to invoke groups of other instructions supported by the programming language.
unlike patents, which protect novel and useful ideas, copyrights protect “expression” but not the “ideas” that lie behind it.
A library of code straddles these two categories. It is highly functional like an invention; yet as a writing, it is also a work of authorship.
Google took approximately 11,500 lines of declaring code from Oracle that defined and named thousands of methods within several packages of code. The taking represented approximately 3% of Oracle’s copyrighted code and 0.4% of all of Google’s relevant code.
But APIs are different, Google argued, because they involve little creative expression and are simply used by developers as shorthand to invoke groups of other instructions supported by the programming language.
‘520: Basically, this is a way of consolidating classes of files, allowing virtual machines to execute less code than they otherwise would. Here the key term is "simulated execution." Oracle claims Google uses simulated execution with Dalvik, while Google says it doesn't simulate -- it merely parses files.
‘104: the arguments will revolve around the term "symbolic reference" and how this applies to software compilation, the process of turning programming code into executable software. A "symbolic reference" tags data with a name rather than its numeric memory location, and the two are then dynamically resolved. Google will argue that it does not use symbolic references, Jacobs said, but Oracle will argue otherwise. "The evidence is the source code," he said.
The fair use defense began as a judge-made doctrine and was codified in Section 107 of the 1976 Copyright Act. Id. at 576. It operates as a limited exception to the copy- right holder’s exclusive rights and permits use of copy- righted work if it is “for purposes such as criticism, comment, news reporting, teaching . . ., scholarship, or research.” 17 U.S.C. § 107.
The Supreme Court has cautioned against adopt- ing bright-line rules and has emphasized that all of the statutory factors “are to be explored, and the results weighed together, in light of the purposes of copyright.” Campbell, 510 U.S. at 578.
Accordingly, in balancing the four statutory factors, courts consider “whether the copyright law’s goal of ‘promot[ing] the Progress of Science and useful Arts,’ U.S. Const., art. 1, § 8, cl. 8, ‘would be better served by allow- ing the use than by preventing it.’”
17 U.S.C. § 107(1). This factor has two primary components: (1) whether the use is commercial in nature, rather than for educational or public interest purposes; and (2) “whether the new work is transformative or simply supplants the original.”
Dissenting: Now, we are told, “transformative” simply means—at least for computer code—a use that will help others “create new products.”
the ques- tion “is not whether the sole motive of the use is monetary gain but whether the user stands to profit from exploita- tion of the copyrighted material without paying the cus- tomary price.” Harper & Row, 471 U.S. at 562.
This factor requires courts to assess the level of creativity or functionality in the original work. - This factor “turns on whether the work is informational or creative.”
But even if the copier takes only a small amount, copying the “‘heart’” or “focal points” of a work weighs against fair use, Harper, 471 U. S., at 565– 566,
Technically, only 170 were necessary to write in the Java language
Google has conceded both that it could have written its own APIs and that the purpose of its copying was to make
Android attractive to programmers. “Necessary” in the context of the cases upon which Google relies does not simply mean easier.
SC Minority: With a free product available that included much of Oracle’s code (and thus with similar programming potential), device manufacturers no longer saw much reason to pay to embed the Java platform.
In evaluating the fourth factor, courts consider not on- ly harm to the actual or potential market for the copy- righted work, but also harm to the “market for potential derivative uses,” including “those that creators of original works would in general develop or license others to devel- op.” Campbell, 510 U.S. at 592; see also A&M Records, 239 F.3d at 1017 (“[L]ack of harm to an established mar- ket cannot deprive the copyright holder of the right to develop alternative markets for the works.”).
Now, we are told, “transformative” simply means—at least for computer code—a use that will help others “create new products.”
Google took approximately 11,500 lines of declaring code from Oracle that defined and named thousands of methods within several packages of code. The taking represented approximately 3% of Oracle’s copyrighted code and 0.4% of all of Google’s relevant code.
Google created its own implementing code that would interact with the declaring code taken from Oracle as well as other declaring code authored by Google.
Page 14 and 15 of Oracle Am., Inc. v. Google Inc. patent pdf