Google v. Oracle: An Expansive Fair Use Defense Deters Investment In Original Content

By Sue Ghosh Stricklett
January 19, 2020

“If the fair use defense is expanded to include what is otherwise considered commercial plagiarism, there will be a chilling effect on innovators who bear the cost of original content development.”

https://depositphotos.com/236462792/stock-photo-cropped-view-psychic-laptop-google.htmlGoogle v. Oracle America, a case pending before the United States Supreme Court, is a seemingly never-ending battle, since 2010, between two Silicon Valley behemoths. But now that battle may finally be nearing its conclusion. On January 7, the first of the amicus briefs were filed, signaling that both sides are marshaling their arguments for one final push toward the finish line.

The dispute centers on Oracle’s allegation and multibillion-dollar damage claim that Google’s unauthorized use of Oracle’s Java API (“Application Programming Interface”) package in its Android operating system infringed Oracle’s copyrights under the statute – 17 U.S.C. 107(1). As a result, Oracle has sued Google for an eye-popping $8.8 billion, covering the lost revenue that Google’s alleged theft caused.

The Fair Use Fight

In its defense, Google has asserted that “fair use” allows limited use of copyrighted material without having to first acquire permission from the copyright holder. This fact, they claim, justifies their “reuse” of 37 API packages. However, the U.S. Court of Appeals for the Federal Circuit has previously held that the declaring code and the API packages’ structure, sequence, and organization are entitled to copyright protection as well.

Rightly, Google’s “fair use” defense has been soundly rejected by the Federal Circuit due to Google’s unlicensed commercial use of copyrighted content. According to the Federal Circuit, Google merely copied the material and moved it from one platform to another without alteration, which is not a transformative use. Given the evidence of actual and potential harm, “unrestricted and widespread conduct of the sort engaged in by” Google would result in “a substantially adverse impact on the potential market for the original” and its derivatives. In short, Google’s actions harmed Oracle, and now it needs to pay up.

Regarding Google’s arguments that copyright protection of the Java API package will destabilize the software development industry, which heavily relies on cross-platform interoperability and “open source” programs, the Federal Circuit similarly disagreed. They did so in large part because Google was aware that the Java API package was not open source.

Open source software programs are generally free and allow developers to modify and share because its design is publicly accessible. But that isn’t Oracle’s business model. Instead, Oracle gives out its API scripts for free to app developers but charges a licensing fee for competing platform developers and hardware manufacturers with strict compatibility requirements on licensees. But because of Google’s refusal of third-party interoperability of its Android operating system on other Java programs, Google wasn’t granted a license to use the Java API packages. Yet, Google decided to violate both the copyright and licensing restrictions by “reusing” Java’s code.

[[Advertisement]]

Silicon Valley Speaks Up

These facts, though, haven’t stopped a number of Silicon Valley companies from announcing their support for Google in the case. In doing so, though, they are arguably betraying the original intent of copyright law, enshrined in Article I, Section 8 of the U.S. Constitution, which allows “authors and inventors” the exclusive right to their respective writings and discoveries.”

These supporters of Google contend that there is a “settled understanding” about what comprises fair use in the software industry, and any change “would have a profoundly destabilizing effect on the entire industry.” But in this instance, they are wrong. For years, Oracle has maintained a copyright over its Java program, choosing who to allow access to the company’s proprietary software. Forcing companies to relinquish creative control over their own software, it seems, would be far more destabilizing to the market than allowing Oracle to continue protecting its own IP.

The Oracle Model Fosters Competition

Supporters of Oracle—the Business Software Alliance, a trade group, and the Solicitor General Noel Francisco—argue a far more convincing point that “computer programs are like any other copyrightable subject matter: if they are original, they are entitled to full copyright protection.” But rather than operating as monopolists, Oracle is doing the opposite. Through copyright protection, they’re fostering competition by preventing companies like Google from cutting them out of the market entirely—precisely what Google had attempted to do in the case at hand.

In his brief before the Federal Circuit, Solicitor General Francisco wrote that Google “copied 11,500 lines of computer code verbatim, as well as the complex structure and organization inherent in that code, in order to help its competing commercial product,” adding that Google’s “unauthorized copying harmed the market for respondent’s Java platform.” Indeed, Google stole properly licensed code and then explicitly used it to undercut Oracle—a substantial competitor. Why shouldn’t Google be held responsible?

The Supreme Court Must Avoid a Chilling Effect

If the fair use defense is expanded to include what is otherwise considered commercial plagiarism, there will be a chilling effect on innovators who bear the cost of original content development. In concurrence with the rulings by the Federal Circuit Court, the Supreme Court should uphold the inventor’s fundamental Constitutional right to copyright protection. Moreover, in the digital age, the Supreme Court’s clear guidance on copyright enforcement is necessary to limit variable definitions in future industry litigation that may arise on this subject matter.

Image Source: Deposit Photos
Photography ID: 236462792
Copyright: AndrewLozovyi 

The Author

Sue Ghosh Stricklett

Sue Ghosh Stricklett is a widely published freelance author on topical legal issues. A graduate of the Catholic University of America School of Law, she has practiced law for the past 25 years.

Warning & Disclaimer: The pages, articles and comments on IPWatchdog.com do not constitute legal advice, nor do they create any attorney-client relationship. The articles published express the personal opinion and views of the author and should not be attributed to the author’s employer, clients or the sponsors of IPWatchdog.com. Read more.

Discuss this

There are currently 22 Comments comments.

  1. Bob Zeidman January 19, 2020 1:12 pm

    Finally, a rational argument about why Google’s theft of code from Oracle should not be approved by the Supreme Court and how allowing it under the guise of “fair use” would undermine independent software development not promote it.

  2. ryan January 20, 2020 9:47 am

    I’m no lawyer but it’s hard to see how this would have a chilling affect since this is how the industry currently operates. Its been ruled faire use twice and it’s hard to agree with the third appeals court that it wasn’t transformative when it’s a whole new implementation of an API for a purpose Oracle never intended

  3. Savant of the North January 20, 2020 10:15 am

    Google routinely rips off IP owners and has earned my dislike in that fashion as well as by invading everyone’s privacy. Anyone who has to adopt a motto of “don’t be evil” must know that without such a motto, evil is what they will be. Note, too, that they don’t use that motto any more.

    That being said, I find myself agreeing with them that the functional part of the API’s are not protectable, because of copyright’s merger doctrine.

    But, I still come out on Oracle’s side because Google took much more code than was necessary to satisfy the functional nature of the API’s.

  4. Anon January 20, 2020 11:45 am

    It is interesting to see such a stark contrast between the comments of Ryan and SotN.

  5. Bob Zeidman January 20, 2020 12:33 pm

    Ryan and Savant,

    The court found that the functionality of the APIs could be expressed in many different ways but Google chose the exact same implementation as Oracle. Google said they did this because they didn’t want programmers to learn new APIs. This is incontrovertible copyright infringement, not fair use. And it’s not what’s commonly done in the industry despite what Google claims. Companies license their APIs for a fee (like Oracle did and Google acknowledged but refused to pay) or they give them away for free.

    An analogy is that you decided to copy the text and design of the latest Harry Potter novel but put a different (though similar) story inside. You claim that you just wanted to make the book familiar to the many readers of Harry Potter. Would anyone think that wasn’t an attempt to leverage another author’s success by making your book look like J.K. Rowling’s book? Would anyone claim that copying “just the cover” would qualify as fair use?

  6. LazyCubicleMonkey January 23, 2020 5:01 pm

    As someone from the tech industry – the major gripe that I have is that API’s are copyrightable in the first place, if the language that they’re expressed in (java in this case) isn’t.

    For example, Oracle copied the AWS API provided by Amazon so devs won’t have to re-code the applications that use it if they moved from Amazon to Oracle – details: https://arstechnica.com/tech-policy/2020/01/oracle-copied-amazons-api-was-that-copyright-infringement/

    Regarding copying of code wholesale, some operations are primitive enough that there’s only one correct way of implementing them. Meaning that any 1-st year coder would implement them the same exact way. Would that make them infringers too?

  7. Bob Zeidman January 24, 2020 12:31 am

    Lazy,

    The English language is not copyrighted, but English language novels are copyrightable. That’s always been the case.

    If there’s only a limited way of writing something, then it’s not copyrightable. If that were the case with the Java APIs, the lawsuit would have failed right away.

  8. LazyCubicleMonkey.com January 27, 2020 8:34 pm

    2+2=4. It’s the simplest way to get 4 by combining 2 2’s. However, it’s not the only way:

    2+2-2+2=4 also works. But common sense basic maths would point any person towards the 2+2=4 solution.

    A lot of the API’s work the same way – the naming convention’s of the methods are fairly consistent across languages (for example, the get the length of an array, one calls the length() function with no parameters that returns the length of the array as an integer. In theory, that could be renamed to length_() or size() or something similar – but it’s not the first/obvious choice. The same for a lot of the the implementations of many of the more basic API’s. One example would be writing a for loop – the default/most common parameter used to keep track of the loop is ‘i’. Should a coder be forced to rename the variable to something else (even though the resulting bytecode/binary would be exactly the same)?

  9. Bob Zeidman January 28, 2020 11:09 am

    Lazy,

    That’s not how APIs work at all. You should look at any of the 11,723 lines of API code that Google directly copied (and admitted to copying). Here’s just one example of a Java API:

    public class ArrayList
    extends AbstractList
    implements List, RandomAccess, Cloneable, Serializable

    Your analogy is like saying that a novel consists of one of the 26 letters of the alphabet in a limited number of combinations. Too many people are giving in to FUD from Google to think that APIs are simple and not creative, and that infringing the API copyright is all for the public good when it’s actually to make Google richer and more powerful.

  10. Anon January 28, 2020 11:20 am

    LCM,

    Please take care with your notation.

    You state: “common sense basic maths” as a motive for directing a person towards a particular solution.

    In this sense, you appear to be engaging in the metaphysics of the philosophy of “Math(S),” as opposed to the actual workings of “math” (or even of math being applied to obtain some solution with “applied math.”)

    Each of these carry different legal import.

  11. LazyCubicleMonkey February 1, 2020 12:00 am

    @Bob
    I was actually looking for a link of the 37 lines (classes?) that Oracle accused google of copying directly. Do you have one? (I’m curious as I code in java everyday…)

    P.S. What are your thoughts on Oracle doing the very thing that they’re accusing Google of by copying Amazon’s cloud API?

    @Anon
    They may be different legally, but math(s?) isn’t just going to contort itself to align with legal principles. If anything laws *should* be consistent with math & logic (although often they aren’t).

  12. Bob Zeidman February 1, 2020 12:43 am

    @Lazy, I found the link below. I also have the information because I was one of the experts in the case for Oracle, but I can’t release the details because I don’t know if they’re public. Please post a link to Oracle’s use of Amazon’s cloud APIs–I don’t know about that situation. Something that came out in the trial were emails between executives at Google saying they tried negotiating a license for the APIs from Sun but couldn’t reach an agreed price, so they decided to copy the APIs even though they knew it wasn’t allowed.

    https://law.stackexchange.com/questions/9528/what-exactly-are-the-java-apis-that-were-under-debate-in-oracle-america-inc: “The 37 API packages involved in this appeal are: java.awt.font, java.beans, java.io, java.lang, java.lang.annotation, java.lang.ref, java.lang.reflect, java.net, java.nio, java.nio.channels, java.nio.channels.spi, java.nio.charset, java.nio.charset.spi, java.security, java.security.acl, java.security.cert, java.security.interfaces, java.security.spec, java.sql, java.text, java.util, java.util.jar, java.util.logging, java.util.prefs, java.util.regex, java.util.zip, javax.crypto, javax.crypto.interfaces, javax.crypto.spec, javax.net, javax.net.ssl, javax.security.auth, javax.security.auth.callback, javax.security.auth.login, javax.security.auth.x500, javax.security.cert, and javax.sql.”

  13. Bob Zeidman February 1, 2020 7:09 am

    @Lazy,

    The complaint that lists the APIs is at http://www.cafc.uscourts.gov/sites/default/files/opinions-orders/13-1021.Opinion.5-7-2014.1.PDF. The APIs are listed in a footnote at the bottom of pages 7 and 8.

  14. Bob Zeidman February 1, 2020 7:19 am

    @Lazy,

    I found this article about Oracle’s use of Amazon’s cloud APIs: https://arstechnica.com/tech-policy/2020/01/oracle-copied-amazons-api-was-that-copyright-infringement. The main point (though the article tries to avoid it) is that Amazon’s cloud APIs are based on the open source Apache license that allows copying. If the facts in the article are true, then maybe Oracle violated some of the terms of the Apache license (for example, not giving attribution), but did not infringe a copyright. In my work I find that a lot of companies don’t meet all of the license requirements in their open source code, but that’s rarely enforced because the damages are $0 and the problem is so easily rectified. It’s hard to collect damages for something that’s given away for free, so if anything happens at all, the company is asked to put attribution in their code, and they comply.

  15. Anon February 1, 2020 8:01 am

    LCM,

    With just a touch of being sardonic, let met posit that if humanity could be counted on to follow logic, we would have no need for law.

    (you appear to ask for something beyond human nature)

  16. LazyCubicleMonkey February 1, 2020 10:58 am

    @Anon
    Fair enough. I seem to recall Arizona trying to define PI as 3 – if that law passed, how would the court rule in such a case if the value of PI ever came up?

    @Bob
    Looking at those packages, they’re vital to the java ecosystem. I’d even argue that the package java.lang.* is part of the language – without it, java would be just another esoteric unused language.

    Regarding the specific example linked in the .pdf, the Math.max(int, int) function is as trivial as it gets – implemented using the ternary (?) operator – and I say that without even looking at the function as that’s the most straightforward & concise way to define it. Ditto for the naming convention/method signature.

    As far as attempting to get a license – an argument could be made for better safe than sorry – even if legally they were in the clear. So them attempting to negotiate for a license first doesn’t necessarily mean it was strictly necessary.

  17. Andy Freeman February 1, 2020 12:17 pm

    > That’s not how APIs work at all.

    Let’s see about that

    > Here’s just one example of a Java API:

    > public class ArrayList
    > extends AbstractList
    > implements List, RandomAccess, Cloneable, Serializable

    That declaration says that there’s a class called an “ArrayList” which “extends” another class called an “AbstractList”. “extends” is the name of a Java concept which means that the extended class has some/all of the methods and attributes of the class being extended. Furthermore, it promises that someone will provide code for the “implements” methods with the specified names.

    APIs provide names. There’s no guarantee as to what those names do. (Calling something “add” doesn’t obligate anyone to provide a definition that has something to do with addition.)
    It does not actually provide that code.

  18. Bob Zeidman February 3, 2020 10:24 am

    @Andy,

    Exactly. Not sure if you’re agreeing with me or if you don’t understand copyright, which protects expression not functionality. That means if you use a line from a Harry Potter novel, you may be infringing the copyright. If you copy 11,723 lines from a Harry Potter novel, you’re almost certainly infringing the copyright. You can argue that you just arbitrarily chose the name Harry Potter (or ArrayList or AbstractList or RandomAccess, etc.) because you like the name, but the jury isn’t likely to believe it. Oh and all of the APIs in Android that were copied represent identical functions to Java.

  19. LazyCubicleMonkey February 4, 2020 10:36 pm

    @Andy
    > APIs provide names. There’s no guarantee as to what those names do.
    > (Calling something “add” doesn’t obligate anyone to provide a definition that > > has something to do with addition.)
    > It does not actually provide that code.

    You are technically correct. (The best kind of correct!!). However, API’s with names that have no relation to what they do are not useful and will not be adopted. If instead of add, I name the method “e8wtvn3thgevj” – it will work just the same. But good luck getting anyone to adopt your API/language. As such, coders have some basic common sense conventions – that are as simple and straightforward as possible

    @Bob
    Take the for loop example: for(int i = 0; i < list.size(); i++) ; Note that the loop control variable is ‘i’. That’s a common convention that gets taught in every beginner coding class. Does that mean it must be ‘i’? Absolutely not. But is that what most coders would write when they want to use a for loop? Yes. Would a jury that doesn’t code understand that? And does that mean that copyright infringement was committed?

    So while it may not be strictly necessary, that’s what it is by convention.

    Here’s another example:
    When I interview people, I provide them with the following interface: https://docs.oracle.com/javase/7/docs/api/javax/swing/tree/TreeNode.html
    Then I ask them to write a concrete java class that implements it. About 5 out of 10* coders write identical code. 8 of those 10 even name the implementing class the same: TreeNodeImpl. Does that mean that they all committed copyright infringement somehow?

    About 2 of the ten that didn’t write the identical code fail the interview if their implementation doesn’t work. 2 usually write code that is too convoluted. All 4 would fail the interview right then and there. I don’t want to have a coder on my project that doesn’t write clean, readable code, even if it works.

  20. Bob Zeidman February 4, 2020 11:34 pm

    @Lazy,

    You make a very good point. I train my colleagues to use the tools I’ve developed to eliminate things like commonly used identifiers when searching for signs of copying. Here’s an article you might find interesting that describes the techniques I’ve developed: https://www.zeidmanconsulting.com/documents/What,%20Exactly,%20Is%20Software%20Plagiarism.pdf.

    When I make a determination of copyright infringement, there must be something that is unique and creative in the code. Then it’s my job to explain it to a judge or jury.

  21. Raymond Van Dyke April 6, 2020 1:34 pm

    As its very name indicates, a “fair” use must be fair. Our Founders put the protection of Copyrights into the Constitution. Stretching fair use to include explicit and unauthorized copying of the entirety of the protected 37 Apps makes a mockery of copyright law. Google passed on getting a license, and despite having thousands of their own coders, they would not do a clean room reverse engineering – instead, they just took it as is. For years, tech decried the use of patent law for software, when copyright would do they said. Now, they say that you cannot copyright code because of patents! If our eminent Justices screw this one up, then copyright will be gutted in tech, and we will move even more toward trade secret protections and behemoth corporation control. Any Justice that favors this terrible interpretation should be labeled anti-IP. For example, Justice Stevens was vehemently anti-software patent, and but for Scalia recognizing the dire effects of banning all software patents, we would be in even worse shape now.

  22. LazyCubicleMonkey April 13, 2020 5:00 pm

    @Bob – I read the .pdf. Seems logical & straightforward.

    @Raymond – there’s a joke that’s been going around that programming should be renamed to ‘Googling stackoverflow’ (stackoverflow dot com). But how is it that tech has been prospering all this time despite the common understanding that API’s aren’t copyrightable?