After publishing this blog, this court proceeding got an epilogue, which we have covered in our new blog Google v Oracle – Battle of the Decade Crucial for Global Development of the IT Sector is Over.
How did this battle start? To put it simply, while developing Android, Google has copied Java’s API (Application Programming Interface’s function is to connect two apps and to allow those apps to communicate – i.e., APIs allow and simplify data exchange between two different types of software). However, Java was not owned by Google, which posed a question of whether the use of Java’s APIs was allowed, or whether it was a question of theft of someone else’s property.
The dispute between the two, which has certainly marked the IT world in 2020, actually dates to January 2007, when Apple launched their first iPhone. On the other side, their biggest competitor, Google, launched Android only in November 2007. The battle known as Google v. Oracle started a decade ago, as Oracle v. Google, and besides the copyright infringement, it included the question of patent infringement as well. However, in the patent infringement case, the court ruled that Google did not infringe any patent.
The overall complexity of this problem can be illustrated by the fact that in the past 10 years, three case trials and two appellate procedures were concluded, thus making us witness to the changing course of this case every two years. The responsibility to end the court proceeding, which earned the epithet of “the copyright lawsuit of the decade” is in the hands of the USA’S Supreme Court, with the entire IT community awaiting to hear their ruling. The reason is that this ruling will not only affect Google and Oracle but potentially, it can cause an avalanche of lawsuits and changes when it comes to using someone else’s API since that is how all of this began.
Although following the phases of court cases is not something we would generally consider interesting, this timeline can actually illustrate how even the courts were divided when it comes to the questions which have long ago gone beyond just Google and Oracle:
- firstly, Oracle sued Google for copyright infringement, but the First District Court ruled that API is not subject to copyright, thus, copyright infringement had not occurred. The court established that API is not copyrightable, because if one would allow copyright to a programming language (thus making it private property), it would prevent creativity and innovativeness.
- However, the Court of Appeals dismissed the First District Court’s ruling, thus taking a stand that APIs are copyrightable but possibility was left to prove that fair use had occurred (more about the doctrine on fair use later on).
- What also makes this case interesting is the following – in the USA, fair use is decided by the jury, not the judge. The jury has reached a verdict that the use of Java’s API by Google was fair use. Naturally, Oracle filled an appeal. However, it is interesting that the United States Court of Appeals for the Federal Circuit once again, reversed the decision of the First District Court, taking a stand that this was not a case of fair use, but this time, the reversed decision was the one made by the jury, not the judge.
- This is how this case got to the USA’s Supreme Court.
The simplest explanation of this situation: Google copied Java’s API whilst developing Android. For Google, this was an efficient solution since developers who have already used Java did not have to switch to using other programming languages for the purpose of creating the apps for Android. So, while developing Android, Google intended to create a platform compatible with Java. The problem occurred when in 2010, Oracle acquired Java, after which they sued Google for copyright infringement to Java’s API.
Moreover, Oracle claims to have rights to Android (i.e., right to certain parts of it) created by Google, because Google has used Java’s API (37 out of 166) which is owned by Oracle, to create Android. To put it simply, Google has used Java programming language and separate declaration and terms for marking and describing the functions.
If the case would end well for Oracle, it would earn them billions.
An anecdote, or better yet, speculation appeared in the public about why Oracle allegedly bought the previous owner of Java (i.e., Sun Microsystems, Inc.). Up till then, Oracle was not particularly interested in Sun Microsystems, Inc., which suddenly changed when Oracle found out about the use of Java for developing Android apps. Hence the theory that Oracle bought Sun Microsystems, Inc. just because Google used Java for Android, so Oracle could sue Google.
This simultaneously opened questions of whether API is copyrightable. Whether APIs can be treated as original works of authorship is a question that goes beyond the Google v. Oracle case – the question directly influences every API, not just Java’s. Namely, Google using Java’s APIs is not revolutionary nor surprising. On the contrary, even MySQL owned by Oracle’s was essentially created by using IBM SQL. This makes the case even stranger since it could be said that Oracle holds Google accountable for the same actions that they have themselves taken, as well as many others. The true importance of this case lies in that precise fact, which goes far beyond Google and Oracle.
Thus, two key questions arose during this case:
1. Are APIs (more precisely, code declaration and structure, sequence, and organization of APIs) subject to copyright?
2. Can the use of APIs by Google be considered fair use?
The fuss in the media and highlighting that “nothing will ever be the same” in the IT world further spark the fire which has been burning for a decade among the IT industry giants.
So far, in the court proceeding, both parties have provided evidence which has to prove what exactly was copied, to what extent, and why that much was copied.
While the code itself is different when it comes to Java and Android, the problem is in the so-called code declaration (method header line) which is identical. Java’s APIs can be described as a collection of methods. Besides the copied declaration, Android contains the copied functionality and organizational structure of Java. Google’s main argument was that Java’s rules do not allow anything different – i.e., that copying Java’s API declaration structure was necessary so that the system could work properly.
On the other hand, Oracle does not claim that APIs are completely identical, but that the structure, sequence, and organization (the so-called SSO) of the APIs are so similar, that this should be considered copyright infringement.
This, among other things, opened the question: could it have been otherwise?
The central question around the case was whether Java’s copied APIs (that is, the software’s interface) are an original work of authorship that is copyrightable.
Relevant provisions of the USA law (Section 102(b) of the 1976 Copyright Act), are almost identical to the provisions of our Law on Copyright and Related Rights (Article 6, Paragraph 1). Namely, “ideas, procedures, processes, systems, methods of work, concepts, principles and discoveries, no matter the form in which they are described, explained, illustrated, or contained in such work, are not copyrightable”.
Thus, it is crucial to answer whether Java’s API copied by Google belongs to the cited norm, in which case, the copied item is not copyrightable, and thus, no copyright infringement has occurred.
Even though it seems like a simple matter clearly prescribed by the Law, both parties have provided compelling arguments why Java’s APIs can or cannot be considered a method of work that is not copyrightable.
The matter becomes even more complex when we consider the fact that Java is a programming language used to “write” the program. Java is not only an expression or form, but it can provide a function (in a technical sense). Precisely this led to the question: how far does the literary expression (form) reach, which is subject to copyright, and what exactly from that expression has the sole purpose of allowing the functioning of a particular system, which cannot be subject to copyright. Additionally, can the functionality of declaration and its expression (form) be separated at all? The answer is no if the functionality can be reached by using the correct expression (form) of Java’s APIs. Although it is not indisputable that the code’s declaration used will provide the expected results, it is justified that the court themselves have asked the question: why hasn’t Google written a completely new code themselves, including the code’s declaration which would eventually, produce the same results.
It is interesting to note that in the American Committee for Interoperable Systems’ submission from the 90s, whose members are Oracle and their predecessor, Sun Microsystems, it was highlighted that copyright to API shouldn’t be used in order to stop the creation of interoperable programs . Nevertheless, a whole decade was marked by Oracle trying to stop interoperability in this case. According to one doctrine (the so-called merger doctrine), if an idea or functionality can be expressed in one way only, that expression cannot be subject to copyright, if that would imply copyright of that idea, i.e., its functionality. This is directly related to Java’s copied parts (API, i.e., declaration and organizational structure) which precisely because of Java’s rules have to be expressed in only one way. Google heavily relies on this doctrine, as expected. Of course, Oracle has a different argument, claiming that an idea can be expressed in many ways, thus giving no excuse for copying.
At the beginning of this blog, we have pointed out that in this case, two questions emerged before the court. The second question is: can the use of API by Google be considered fair use? It is clear why this question is second in the case. Namely, this question will be addressed only if the Supreme Court makes its ruling that Java’s APIs are copyrightable. In that case, only the fair use of someone else’s work can save Google from defeat. A relevant regulation (1976 Copyright Act, at s.107) prescribes that fair use of an original work of authorship is not considered a copyright infringement. What is considered fair use is a legal standard, so even though certain criteria are prescribed, determining fair use in every case is still a delicate matter which causes big dilemmas. Moreover, we can also add in the rule that in the USA, the jury decides what is considered fair use. While Oracle claims that it is unthinkable to take a stand that this use was fair in the situation when Google copied so many expressions (from an original work of authorship) to create a competing product serving the same purpose, Google claims that if Oracle wins the case, Oracle would gain an unjustified monopoly, which is against the rules which have existed so far in the IT community.
The consequences for Google and Oracle in this case are crystal clear and are primarily commercial in nature. However, the consequences for the whole IT community and all developers who might have used someone else’s APIs to create a new program is what caused controversy and caught the public’s eye. If Oracle would win, that would mean that everyone is potentially at risk and that their program is not entirely theirs.
If Google would win, would that mean that the legal system failed to secure copyright protection because this dispute has shown that the legal system is not adjusted to all particularities of software as a work of authorship?
It seems that under the cover of encouraging competition and faster development of technology Google is trying to justify the fact that by using Java’s API, they chose to do this, not because it was necessary, but because it was easier. This case has certainly proved that the regulations in this field are not adjusted to the time that we live in and that changes must be made.