Java – what does it mean to you? If you are like me, it’s your favorite morning beverage. It’s also an island in Indonesia that you hope to visit someday on a dive trip. If you are the owner of an Android smartphone, Java may mean more to you than that. For you, Java – or at least a form of it – is a computer programming language that powers the apps you use every day. Java may have even helped bring up the page on which you are reading this blog post.
Java was developed by Sun Microsystems, which was later acquired by Oracle. There is no copyright on the Java programming language itself. However, Oracle holds copyrights on certain ready-to-use packages of source code called application programming interfaces (“APIs”). An API includes “implementing code” that provides step-by-step computer instructions for carrying out a function identified by “declaring code.”
So, if you are Oracle, what does Java mean to you? A lot more than a cup of coffee. Billions of dollars more. At least that is what Oracle is asking for in its on-going litigation with Google. At this point, we know that Oracle’s APIs are copyrightable, and that Google infringed those copyrights. With those issues out of the way, the parties are now back in district court to decide whether Google can establish the affirmative defense that its copying was fair use.
Google copied portions of the Java APIs when it developed the Android phone. Specifically, Google copied the declaring code verbatim, but rewrote the implementing code. Both acts infringed Oracle’s copyrights. Rewriting the implementing code was copyright infringement because, in so doing, Google copied the structure, sequence, and organization (“SSO”) of the API packages.
Was such conduct fair use? The first jury to address the issue deadlocked. In its 2014 opinion on the copyrightability issues, the Federal Circuit declined to decide the fair use issues as a matter of law. The Court did set forth some analysis under the four statutory fair use factors. But, finding some unresolved factual issues, the Court remanded for a new trial. In so doing, the Court identified three issues that are relevant to fair use and that will certainly be important to watch for as the trial proceeds:
Transformative Use. Google’s positon is that by writing its own implementing code and incorporating that code into a smartphone platform, it transformed the API packages in a lawful manner. Oracle’s counterargument is that Google’s use of the API packages maintains the same functionality and therefore is not transformative.
Interoperability. Java’s use is widespread, arguably to the point of being an industry standard for programmers. Google maintains that copying of the API packages was needed so that Android smartphones could “interoperate” with other programs written in Java. While unsuccessful as to the issue of copyrightability, the interoperability arguments may have some bearing on fair use. This may be particularly true for certain “core” API packages that are necessary for anyone to write a program in Java.
Market Impact. Google’s use of the API packages was for smartphones, a market in which Sun and Oracle never directly developed a product. However, Oracle was actively licensing in the mobile and smartphone markets and may have suffered harm as a result of the Android smartphone.
Opening arguments began earlier this month.