In this patent and copyright infringement action involving features of Java and Android, defendant moves for summaryjudgment on the copyright infringement claim. With one exception described below, the motion isDENIED.

STATEMENT

Oracle America Inc. accuses Google Inc. of infringing some of Oracle’s Java-related copyrights in portions of Google’sAndroid software platform. Specifically, Oracle accuses twelve code files and 37 specifications forapplication programminginterface packages. The Java technology and the basics of object-oriented programming were explained in the claimconstruction order (Dkt. No. 137). An overview of application programming interfaces and their role in Java and Android isprovided here.

1. APPLICATION PROGRAMMING INTERFACES (APIS).

Conceptually, an API is what allows software programs to communicate with one another. It is a set of definitions governinghow the services of a particular program can be called upon, including what types of input the program must be given and whatkind of output will be returned. APIs make it possible for programs (and programmers) to use the services of a given programwithout knowinghow

the service is performed. APIs also insulate programs from one another, making it possible to change theway a given program performs a service without disrupting other programs that use the service.

APIs typically are composed of “methods,” also known as “functions,” which are software programs that perform particularservices. For example, a programmer might write a software program methodA,

which calculates the area of a room whengiven the shape and dimensions of the room. A second programmer then could write a program method calledB,

whichcalculates the square footage of an entire house when given the shape and dimensions of each room. Rather than reinventing anew way to calculate area, the second programmer could simply write an instruction*1006

inB,

“for each room, ask programA

to calculate the area; then add all of the return values,” using, of course, real programming language. As long as the secondprogrammer knows whatA

is named, what type of “arguments”A

must be given as inputs, and what returnA

outputs, thesecond programmer can writea program that will call on the services ofA.

The second programmer does not need to know howA

actually works, or is “implemented.” There may in fact be multiple ways to implementA—for example, different ways todivide an oddly shaped room intogeometric components—and the first programmer may refine his implementation of programA

without disrupting programB.

A method must be defined before it can be used. A method can be “declared” (i.e.,

defined) in a programming language such asJava by stating its name and describing its argument(s) and return(s) according to syntax conventions. Once a method has beendeclared, it can documented and implemented.Documentation

is not code; it is a reference item that provides programmerswith information about the method, its requirements, and its use. Animplementation

is code that actually tells the computerhow to carry out the method. Often, as in the example above, multiple implementations are possible for a given method.

In object-oriented programming, methods are grouped into “classes.” A class file typically contains several methods and relateddata. Classes, in turn, are grouped into “packages” known as API packages. Whereas a class generally corresponds to a singlefile, a package is more like a folder or directory providing an organizational structure for the class files. A given API packagecould contain many sub-packages, each with its own classes and sub-classes, which in turn contain their own methods. Theseelements generally are named and grouped in ways that help human programmers find, understand, and use them. A welldeveloped set of API packages, sometimes called a “class library,” is a powerful tool for software developers; as such, it canhelp attract developers to a particular platform.

The specification for a class library—much like the specification for an automobile—is an item of detailed documentation thatexplains the organization and function of all packages, classes, methods, and data fields in the library. The class libraryspecification for a given software platform, sometimes called the “API Specification” is an important reference item forprogrammers. In order to make effective use of the APIs, a programmer must be able to find the portion of the specificationASD

describing the particular package, class, and method needed for a given programming task.

2. JAVA AND ANDROID.

As explained in previous orders, Java and Android are both complex software platforms with many components. For example,the Java platform includes the Java programming language, Java class libraries, the Java virtual machine, and other elements.The Java programming language has been made freely available for use by anyone without charge. Both sides agree on this.Other aspects of the Java platform, however, such as the virtual machine and class libraries, allegedly are protected by patentsand copyrights.

The Android platform uses the Java programming language; thus, software developers already familiar with the Java languagedo not have to learn a new language inorder to write programs for Android. In contrast to Java, the Android platform uses theDalvik virtual machine instead of the Java virtual machine, provides Android class libraries, and has other non-Javacomponents. The Java platform has been*1007

used primarily on desktop computers, but it also has been used on cell phonesand other mobile computing devices. Android, on the other hand, was designed specifically for mobile devices. Java andAndroid compete in the market for mobile computing software.

According to Oracle, Android is an unauthorized and incompatible Java implementation. The Java platform and the Androidplatform each includes class libraries with more than one hundred API packages. Android allegedly supports some, but not all,

of the APIs defined for the Java platform. Thus, some programs written for the Java platform will not run properly on theAndroid platform, even though both use the Java language. Similarly, the Android platform allegedly includes additional APIsthat are not part of the Java platform. Thus, some programs written for the Android platform will not run properly on the Javaplatform, even though they are written in the Java language. This so-called fragmentation undermines the “write once, runanywhere” concept underlying the Java system and supposedly damages Oracle by decreasing Java’s appeal to softwaredevelopers.

3. TERMINOLOGY.

The term API is slippery. It has been used by the parties and in the industry as shorthand to refer to many related concepts,

ranging fromindividual methods to code implementations to entire class libraries and specifications. In this order, the term APIwill be used only to refer to the abstract concept of an application programming interface. APIdocumentation (e.g.,

thespecification fora class library or for an API package within the library) and APIimplementations (e.g.,

the source coderelating to a particular method within a class file) will be referenced as such. Having clarified this linguistic point, this

orderproceeds to consider the specific items accused of copyright infringement in this action: twelve files of code, and 37 APIpackage specifications.1

1

At the hearing, counsel for Oracle suggested that Google’s codeimplementations

of the 37 API package specifications areunauthorized derivative works. This theory was disclosed by Oracle during discovery (Dkt. No. 263–3 at 11), but it was dismissedsummarily in Google’s summary judgment brief (Br. 9). Because the briefing does not address this theory, it will not be addressedherein.

ANALYSIS

Summary judgment is proper when “there is no genuine dispute as to any material fact and the movant is entitledto judgment asa matter of law.”FRCP 56(a). Where the party moving for summary judgment would bear the burden of proof at trial, that partybears the initial burden of producing evidence that would entitle it to a directed verdict if uncontroverted at trial.SeeC.A.R.Transp. Brokerage Co. v. Darden Rests., Inc.,

213 F.3d 474, 480 (9th Cir.2000). Where the party moving for summaryjudgment would not bear the burden of proof at trial, that party bears the initial burden of either producing evidence that negatesan essential element of the non-moving party’s claims, or showing that the non-moving party does not have enough evidence ofan essential element to carry its ultimate burden of persuasion at trial. If the moving party satisfies its initial burden of

production, then the non-moving party must produce admissible evidence to show there exists a genuine issue of material fact.ASD

Copyright protection subsists in “original works of authorship fixed in any tangible medium of expression.”*1008

17U.S.C. 102. In order to succeed on a copyright

infringement claim, a plaintiff must show that it owns the copyright and that thedefendant copied protected elements of the work. Only expressive elements that are “original,”i.e.,

independently created, areprotected. Copying can be proven by showing that the alleged infringer had access to the copyrighted work and that theprotected portions of the works are substantially similar.Jada Toys, Inc. v. Mattel, Inc.,

518 F.3d 628, 636–37 (9th Cir.2008).Google advances a number of argumentswhy Oracle supposedly cannot prove all or part of its copyright infringement claim.Google is entitled to summary judgment on only one issue.

only if it is so meager and fragmentary that the average audiencewouldnot recognize the appropriation.”Fisher v. Dees,

794 F.2d 432, 434 n. 2 (9th Cir.1986). The extent of the copying “ismeasured by considering the qualitative and quantitative significance of the copied portion in relation to the plaintiff’s work asa whole.”Newton v. Diamond,

388 F.3d 1189, 1195 (9th Cir.2004).

Here, the parties dispute what constitutes the plaintiff’s work as a whole. Google argues that its alleged copying should becompared to the entire Java platform, which Oracle registered as a single work (Br. 22–23; Kwun Exh. B). Oracle,on the otherhand, argues that each of the twelve code files at issue is a separate work for purposes of this analysis (Opp. 23–24). Google hasnot shown that the Java platform is the proper basis for comparison. Google cites two provisions of the copyright regulations,but neither one supports Google’s position (Reply Br. 12–13).

5

First,

Google misapplies37 C.F.R. 202.3(b)(4)(i)(A). That provision states: “For the purpose of registration on a singleapplication and upon payment of a single registration fee, the following shall be considered a single work: (A) In the case ofpublished works: all copyrightable elements thatare otherwise recognizable as self-contained works, that are included in asingle unit of publication, and in which the copyright claimant is the same.” The plain meaning of this provision is that when asingle published unit contains multiple elements “that are otherwise recognizable as self-contained works,” the unit isconsidered a single workfor the limited purpose of registration,

while its elements may be recognized as separate works forother purposes. Courts consideringSection 202.3(b)(4)(i)(A)

to show that the code files comprisingthe Java platform should be treated collectively as a single workfor purposes of an infringement analysis.

This interpretation iscontrary to the plain language of the regulation and is not supported by any cited authority.

6

Second,

Google cites to37 C.F.R.202.3(b)(3), which concerns continuation sheets. Continuation sheets are used “only insubmissions for which a paper application is used and where additional space is needed by the applicant to provide all relevantinformation.”*1009

37 C.F.R 202.3(b)(3). The regulation

requires use of a separate continuation sheet “to list contents titles,i.e., titles of independent works in which copyright is being claimed and which appear within a larger work.”Ibid.

It does not,however, state that a failure to list individual titles precludes an applicant from later asserting those titles as separate works ininfringement litigation. Nor does it address works registered by means other than a paper application. Google does not provideenough factual context to show thatSection 202.3(b)(3)

appliesto the works at issue, and Google does not explain how it mightbear upon the dispute at hand, even if it does apply.

Google cites no other authority. This order finds that, at least on the present record, Google has not shown that the Java platformas a whole is the work to which Google’s alleged copying should be compared. Because all of Google’sde minimis

argumentscompare the accused material in the code files to the entire Java platform as a whole, this order need not consider thede minimis

Regarding the 37 API package specifications at issue, which are reference items and not code, Google argues that the onlysimilarities between the accused works and the asserted works are elements that are not subject to copyright protection. Google,however, does not specify which elements it views as similar. Google instead presents an array of theories why variouscategories

of specification elements do not merit copyright protection. With one exception, thisbroad categorical approachfails. Google’s other arguments regarding the API package specifications—that the disputed works are not virtually identical orsubstantially similar, and that Google’s alleged copying was fair use—also fail to earn summary judgment for Google.

A. Names.

7

“Words and short phrases such as names, titles, and slogans” are “not subject to copyright.”37 C.F.R. 202.1(a);Planesi v.Peters,

–––Fed.Appx.––––,––––, No. 04–16936, slip op. at *1, 2005 WL 1939885 (9th Cir. Aug. 15, 2005). Google arguesthat “the names of the Java language API files, packages, classes, and methods are not protectable as a matter of law” (Br. 17).This order agrees. Because names and other short phrases are not subject to copyright, the names of the various items appearingin the disputed API package specifications are not protected.SeeSega Enters. Ltd. v. Accolade, Inc.,

977 F.2d 1510, 1524 n. 7(9th Cir.1992)

(“Sega’s security code is of such de minimis length that it is probably unprotected under the words and shortphrases doctrine.”).

Oracle argues that it is entitled to a “presumption that the names in the Java API specifications are original” (Opp. 14). Not so.The decision Oracle cites for this proposition shows only that a certificate of registration may entitle its holder to a presumptionof copyright validity as to the registered work.Swirsky v. Carey,

Oracle also argues that its selection and arrangement of component names within the specifications is entitled to copyrightprotection (Opp. 15). This argument is non-responsive. Copyright protection for the selection and arrangement of elementswithin a work is a separate question from whether the elements themselves are protected by copyright. In finding that the namesof the various items appearing in the disputed API package specifications are not protected by copyright, this order does notforeclose the possibility that the selection or arrangement of those names is*1010

iseligible for copyright protection only if those elements are numerous enough and their selection and arrangement originalenough that their combination constitutes an original work of authorship.”) (emphasis added).

Having found that the names of the

various items appearing in the disputed API package specifications are not protected bycopyright on account of the words and short phrases doctrine, this order need not consider Google’s alternative theory that thenames are unprotected because they arethe result of customary programming practices.

B.Scenes a Faire

and the Merger Doctrine.

“Under thescenes a faire

doctrine, when certain commonplace expressions are indispensable and naturally associated with thetreatment of a given idea, thoseexpressions are treated like ideas and therefore not protected by copyright.”Swirsky v. Carey,

376 F.3d at 850.

“Under the merger doctrine, courts will not protect a copyrighted work from infringement if the ideaunderlying the copyrighted work can be expressed in only one way, lest there be a monopoly on the underlying idea.”Satava v.Lowry,

323 F.3d 805, 812 n. 5 (9th Cir.2003).

8

9

10

Google argues that “[t]he API declarations are unprotectablescenes a faire

or unprotectable under the merger doctrine”(Br. 14). Google, however, does not specify what it means by “API declarations.” Google applies this argument toall

at 14–16). To the extent Google directs this argument to names, it is moot in light of the aboveruling. To the extent Google directs this argument to other elements of the API package specifications, it is not adequatelyASD

Google’s lack of specificity is fatal. If Google believes, for example, that a particular method declaration is ascene a faire

or isthe only possible way to

express a given function, then Google should provide evidence and argument supporting its views as tothat method declaration. Instead, Google argues—relying mostly on non-binding authority2—that entirecategories

of elementsin API specifications do not merit copyright protection. This approach ignores the possibility that some method declarations(for example) may be subject to the merger doctrine or may bescenes a faire,

whereas other method declarations may becreative contributions subject to copyright protection. Google has not justified the sweeping ruling it requests. Google hasnoteven identified which categories of specification elements it deems unprotectable under these doctrines. This order declines tohold that API package specifications, or any particular category of elements they contain, are unprotectable under thescenes afaire

rationale to documentation such as the API package specifications at issuehere.

C. Methods of Operation.

11

“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, regardless of the form in which it is described, explained, illustrated, orembodied in such work.”17 U.S.C. 102(b)

(emphasis added). Google*1011

argues that “APIs for a programming language”are unprotected methods of operation (Br. 13). Google, however, does not use the term API consistently in the relevant portionsof its briefs, so it is unclear precisely what Google is attempting to characterize as a method of operation. Google states thatall

“elements common to Oracle’s Java language APIs and the Android APIs are unprotectable methods of operation,” but Googledoes not specify which elements it views as common (id.

at 12). Context suggests two possible interpretations for Google’s useof the term APIs. Both of Google’s apparent arguments are unavailing.

First,

Google appears to direct its methods-of-operation argument to APIs themselves as the term is used in thisorder—that is,to the abstract concept of an interface between programs. In its reply brief, Google distinguishes APIs both from theirimplementation

in libraries of code (“the APIs are not the libraries themselves”) and from theirdocumentation

in referencematerials (“The APIs do not ‘tell’ how to use the libraries, they are themeans by which one uses

the libraries; thedocumentation

for the APIs ‘tells’ how to use the libraries.”) (Reply Br. 2–3). Google’s argument that APIs are unprotectable methods of

operation attacks a straw man.It is not the APIs but rather the specifications for 37 API packages that are accused.

Even ifGoogle can show that APIs are methods of operation not subject to copyright protection, that would not defeat Oracle’sinfringement claim concerning the accusedspecifications.

Google may be trying to head off a possible argument by Oracle that the APIs described in the specifications are nonliteralelements of the specifications subject to copyright protection. It is unclear whether Oracle is advancing such an argument.Oracle’s opposition brief seems to use the term API to refer to API packagesand

API packagespecifications.

If thisinterpretation is correct, then the parties’ arguments concerning whether “APIs” are methods of operation simply swipe pasteach other, with each party using the term in a different way. Because the issue is not properly teed up for summary judgment,this order does not decide whether APIs are methods of operation.

Second,

Google also states that “APIspecifications

are methods of operation” (Br. 14). This conclusion does not follow fromGoogle’s argument that APIs—meaning conceptual interfaces between programs—are methods of operation. No othersupporting argument is provided.API specifications are written documentation.

Even if Google could show that APIs aremethods of operation, that would not mean that a written work that describes or embodies APIs is automatically exempt fromcopyright protection. This order finds that the API package specifications at issue are not “methods of operation” under17U.S.C. 102(b).

The copying element of copyright infringement generally can be proven by showing that the alleged infringer had accessto the copyrighted work and that the protected portions of the works are substantially similar.Jada Toys,

Google argues that “[g]iven the substantial unprotected elements in the documentation (such as the API method declarations),the ‘virtual identity’ standard applies here” (Br. 24). This order agrees with Google that thenames

of the various itemsappearing in the disputed API

*1012

package specifications are not protected by copyright. Google, however, has not shownthat any other elements of the specifications are exempt from copyright protection. Because Google has not proven that asubstantial portion of the specificationsis unprotected, Google’s justification for applying the virtual identity standard fails.This order therefore need not consider Google’s arguments that the disputed Java and Android API package specifications arenot virtually identical. In particular, Google analyzes the selection and arrangement of elements within the specifications underonly the virtual identity standard (Br. 24–25).

14

As a fallback position, Google argues that even under the substantial similarity standard, the disputed Java and Android APIpackage specifications are not sufficiently similar to show copying. Google analogizes the specifications to dictionarydefinitions whose similarities are driven by external constraints, and Google cites an expert opinion that the Java and Androidplatforms are not substantially similar (Br. 24; Astrachan Exh. 1 at 77). Predictably, Oracle presents an opposing expert opinionthat the

API package specifications at issueare

substantially similar (Mitchell Exh. 1 at 45). This conflicting expert testimonyhighlights a factual issue that precludes summary judgment; a reasonable trier of fact might agree with either expert’s analysisof the degree of similarity between the asserted and accused specifications.

15

Google argues that Oracle’s expert testimony is not sufficient to defeat summary judgment. Google criticizes the expert foroffering a “summary ‘conclusion’ ” based on a “single illustrative example,” which Google interprets differently (Reply Br.11). In his report, however, the expert provides multiple examples and explains that he conducted a detailed comparison of eachof the API package specification pairs at issue (Mitchell Exh. 1 at 60–63). His opinion that the Android specifications aresubstantially similar to their Java counterparts is not a mere “[c]onclusory statement[ ] without factual support.”SeeSurrell v.Cal. Water Serv. Co.,

518 F.3d 1097,1103 (9th Cir.2008). If Google disputes the basis for the opinion by Oracle’s expert or hisanalysis of the specifications, then Google should raise its critiques during cross-examination at trial. Google has not earnedsummary judgment of no copying under

either of the possible standards for comparison—virtual identity or substantialsimilarity.

E. Fair Use.

16

The following factors are considered in determining whether the use made of a work is a fair use: (1)

the purpose andcharacter of the use, including whether such use is of a commercial nature or is for nonprofit educational purposes; (2) thenature of the copyrighted work; (3) the amount and substantiality of the portion used in relation to the copyrighted work as awhole; and (4) the effect of the use upon the potential market for or value of the copyrighted work.17 U.S.C. 107. Googleargues that its alleged use of elements from the Java API package specifications in its Android API specifications was fair (Br.19–22). Evaluation of the fair use factors, however, depends upon disputed questions of material fact. As such, no finding offair use can be made on the summary judgment record.

For example, with respect to factor four, Googleargues that “Android has contributed positively to the market for thecopyrighted works by increasing the number of Java language developers” (Br. 21). Google cites positive reactions by Sunexecutives at the time when Android was first released in 2007. These statements do not prove anything about Android’s actualimpact*1013

on the Java market since that time. Moreover, Oracle presents sworn testimony that Android fragmented the Javaplatform and locked Java out of the smartphone market (Swoopes Exh. 6 at 111–12). Oracle and Google both employ complexbusiness models for their respective products. The question of damages is one of the most complicated and hotly contestedissues in this action. On the present record, a reasonable fact finder could disagree

Because fact issues preclude a summary judgment finding of fair use, this order does not reach the parties’ arguments on allofthe fair use factors.

* * *

This order finds that the names of the various items appearing in the disputed API package specifications are not protected bycopyright. This order makes no finding as to whether any other elements of the API package specifications (or their selection