On Saturday, May 29th, Asia America Innovation Alliance (AAIA) hosted a legal seminar to take a deep-dive look into the closely-watched case of Google v. Oracle. In this seminar, board member and speaker Dr. Sean X. Zhang discussed the decision made by the U.S. Supreme Court, the reasonings behind the ruling, as well as significance of the case in the software industry.
The Court Decision
On April 5th, the U.S. Supreme Court delivered its decision in the Google v. Oracle case, ruling 6-2 in favour of Google. As a result, Google escaped from a $9B copyright infringement claim. The issue before the court was whether Google’s use of Oracle’s Java API was a violation of the US copyright law, and the court decided that Google’s copying constituted a “fair use”. This ruling marks the end of a decade-long crusade by Oracle against Google, with Google finally coming out victorious.
In 1995, Sun Microsystems developed JAVA, one of the most widely-used programming languages that gained popularity due to the rise of web applications. Java is cross-platform language and programs written in Java can run in different computing environment.
In 2005, Google acquired Android Inc, a startup that developed the mobile phone platform, also known as the Android operating system. It’s worth noting that Google was aware of the potential copyright issues Android had with Sun Microsystems since it was part of the M&A due diligence. Google tried to resolve the issue with Sun after the acquisition but failed. In 2010, Sun Microsystems was acquired by Oracle. Immediately after Oracle’s acquisition of Sun, Oracle sued Google for copyright and patent infringement. The crusade began officially in August 2010 when the case was filed and lasted more than 10 years.
“Clean Room” - Copyright Primer
When Java language was initially developed, Sun included a set of libraries for programmers to use in their programs. Java was marketed by Sun as a language that you “write once, run anywhere”, meaning a programmer only needs to write the software code once for it to run on different computing systems, such as various flavors of Unix, Linux, and Microsoft Windows. Google on the other hand was only interested in smart phones and mobile operating system development. A licensing deal for Google to use the Java SE libraries between the two giants did not come to fruition. At this point, Google decided to develop a clean-room version of the Java SE libraries from scratch without the help of Sun. Google’s clean-room version took 100 engineers 3 years to develop.
So what exactly is “clean-room” and why do you need it? “Clean-room” means an independent creation under the environment in which copyrighted original code was not provided to programmers during the creation process.
Copyright law protects the expressions of an idea, but not the idea itself. It’s important to know that there’s this distinction between expressions and ideas. In a clean-room re-implementation, you provide the ideas to the programmers, in the form of functional specifications. The programmers re-implement the software from the functional spec. The expression will be that of these programmers. The copyright in the software code created in the “clean-room” belong to the author(s), i.e., the programmers, or if they are employees, the company that employed them. Google hired these programmers and therefore Google owns the “clean room” version. This avoids the copyright infringement claims by the owner of the original version of the software, because no copying happened.
API in Java
There are two kinds of codes in Java SE – Declaring code and Implementing code. Declaring code contains the technical parameters and specifies the forms that a programmer can use to access the Java library functions (or to “call” the functions). When a programmer request a function, the function’s tasks are carried out by the implementing code. The declaring code thus provides the “application programming interface” or API, and acts as an “interface” between programmers and computer (software library). The grouping of declaring codes in an API package also provides structure to the library routines. Google developed the clean-room version of Java SE libraries independently. However, Google copied the declaring code of 37 API packages (11,500 lines of code) from Sun’s Java SE.
So Oracle’s copyright infringement claim against Google rested on two questions: are APIs protected by Copyright law, and whether Google’s copying of 37 API packages may be “fair use”.
Are APIs Copyrightable?
There’s no final answer. In the case of Google v. Oracle, the U.S. Supreme Court did not answer this question. Although the Federal Circuit ruled that the APIs are copyrightable, the U.S. Supreme Court bypassed this question by simply assuming that APIs are copyrightable and then went on to analyze whether Google’s use of 37 API packages from Java SE was a “fair use”.
Fair Use in the US
In the U.S., its Copyright Law, and more speficically, 17 U.S.C.107, requires the following 4 factors to be considered when determining whether any copying can be “fair use”:
- the purpose and character of the use, including whether such use is of a commercial nature or is for nonprofit educational purposes;
- the nature of the copyrighted work;
- the amount and substantiality of the portion used in relation to the copyrighted work as a whole; and
- the effect of the use upon the potential market for or value of the copyrighted work.
Let’s now take a closer look at the court’s analysis for each factor (the Court looked first at the second factor, though).
Purpose and character of the use
Nature of work
Although it is clear that the use is commercial, Google is using the code to create a different system for a different computing environment (Android platform). By creating a new platform, Google is adding “something new, with a further purpose or different character”. So Google’s purpose is “transformative” and is consistent with creative “progress”. This favors Google.
The declaring code is “functional” in nature, which is “far from core” of the copyright than other copyrightable work, i.e., computer programs such as implementing code. They deserved less protection. This factor also favors Google.
Amount and substantiality
Effect upon potential market
Amount copied was only about 0.4% of the entire API. Further, the amount of copying tethered to a valid and transformative purpose. Thus, this is in favour of Google again.
Google’s new smartphone platform is not a market substitute for Java SE since Oracle was never interested (or failed to succeed) in that market. Therefore, Oracle had no loss. The Court also reasoned that enforcing copyright would force programmers to learn alternative API and thus would risk harm to the public. This factor again favors Google.
After analyzing the four factors above, the Court ruled that “Google’s copying of the Sun Java API was a fair use of that material, “as a matter of law.”
The case does not mean that one can freely copy the API of other’s software. It provides some guidance on what should be considered in order for that copying to be “fair use”, in the United States. Therefore, before you proceed to copy any API, ask yourself a list of questions:
- Are you developing a transformative, new, or creative product?
- Are you more successful than the owner in this new market?
- Are you competing against old software directly?
- Will your “copying” produce “public benefits”?
- Can you really separate API from the rest of the software code?
- Are there any “commercial” purpose?
- How much is copied?
- Is this in the US only, or will this involve other countries?
Fair Use in Other Countries
In Canada, there is no “fair use”. Instead, the Canadian Copyright Act allows the use of copyrighted material under “fair dealing”. There are closed categories of “fair dealing”. These include research, private study, education, parody or satire, etc. but not for developing commercial software, whether competing or not. The 4 factors test under the US law mentioned above has no analogy in Canada.
Similarly, China does not have “fair use”; instead its copyright law protects non-infringing use for closed categories such as research, private study, commentary, and etc. The “4 factors” test also doesn’t apply.
To sum up, the case does not provide an answer whether APIs are protected by the copyright law in the US but does state that, as a matter of law (i.e., not restricted to the specific Google v Oracle case), copying APIs can be a fair use if certain conditions are met. Nevertheless, the ruling in this case can have significant effects on the future of software development and software industry.