Oracle America, Inc. v. Google, Inc.

From Wikipedia, the free encyclopedia
  (Redirected from Oracle v. Google)
Jump to navigation Jump to search
Oracle America, Inc. v. Google, Inc.
Seal of the United States Court of Appeals for the Federal Circuit.svg
Court United States Court of Appeals for the Federal Circuit
Full case name Oracle America, Inc. v. Google, Inc.
Argued December 7, 2017
Decided March 27, 2018
Citation(s) 750 F.3d 1381, 750 F.3d 1376
Case history
Prior action(s) Appeals from the United States District Court for the Northern District of California in No. 3:10-cv-03561-WHA, Judge William H. Alsup
Holding
Google’s use of the Java API packages was not fair as a matter of law; the district court's decision was reversed, and the case remanded to the district court for damages.
Court membership
Judge(s) sitting Kathleen M. O'Malley, S. Jay Plager, Richard G. Taranto
Case opinions
Majority O'Malley, joined by Plager, Taranto

Oracle America, Inc. v. Google, Inc. is a current legal case within the United States related to the nature of computer code and copyright law. The dispute arose from Oracle's copyright and patent claims on Google's Android operating system. Oracle had come into ownership of the Java programming language including its patents, documentation and libraries through the language's application programming interfaces (APIs), through its acquisition of Sun Microsystems. Oracle made this information freely available to developers to use, but licensed its standard implementation on various platforms including mobile devices. Google developed its Android operating system atop the Java language, including its APIs and a cleanroom version of the standard implementation, to build its own mobile device platform. While Sun had not taken action against Google prior to its acquisition, Oracle became concerned that the Android operating system was a competing product, and filed a lawsuit against Google, claiming both copyright and patent violations. Google claimed that it was unaware of any patent infringements and that its use of the freely available APIs was within fair use allowances. Oracle has sought upward of US$8.8 billion in damages due to the commercial success of the Android system.

In May 2012, the jury trial at District Court found for Google, stating that Google had not infringed on the Java patents, and that the APIs were uncopyrightable. On appeal in May 2014, the Federal Circuit partially reversed the district court ruling, ruling in Oracle's favor on the copyrightability issue, and remanding the issue of copyright and fair use back to the District Court. A second jury trial related to the fair use issue still ruled in favor of Google in May 2016, in that the use of the APIs by Google fell within fair use. Oracle appealed to the United States Court of Appeals for the Federal Circuit, which found in March 2018 that Google's reuse of the APIs had not been fair use, ruling in favor of Oracle. The Court considered the reuse was neither minimal nor transformative, and that Google's actions affected the value of Oracle's copyright. The case is currently remanded to the lower district court to determine damages.

The case is of significant interest within the tech and software industries, as numerous software programs and libraries, particularly in open source, are developed by recreating the functionality of APIs from commercial or competing products to aid developers in interoperability between different systems or platforms.

Background[edit]

Java was originally developed at Sun Microsystems starting in December 1990.[1] It included a new programming language, a virtual machine, and a set of libraries for use with the language.[2] These libraries are documented to programmers via application programming interfaces (APIs), which tell programmers what information to provide to library functions and what results to expect back, eliminating the programmer's need to know how the virtual machine processed the data. This allows for interoperability, or as marketed by Sun, "Write once, run anywhere"; a programmer would only need to create one set of code which, through the Java virtual machine, can be run on any computing platform that supports Java.

The Java language was released to the public in 1995, under the Sun Community Source License, making the source freely available but requiring that products using the code were maintained to the Java standard, and that any commercial derivative works were licensed by Sun.[3][4] While anyone could program in the language itself, Sun maintained the Java Platform, Standard Edition and Mobile Edition libraries, provided to users as pre-compiled Java bytecode, and their respective APIs, as well as the Technology Compatibility Kits (TCKs) that tested an implementation against the Java standard.[5] Over 2006 and 2007, due to pressure from developers, Sun changed the license of the various Java packages to use the GNU General Public License with a "classpath exception", allowing developers the needed access to make derivative works and with the ability to release applications with a different license. This led to the OpenJDK (Open Java Development Kit), first released in 2007. Sun retained strong control over the language and standards itself, licensing the necessary elements like TCKs for commercial users.[4] At this time, Sun's business model changed to focusing on licensing of the Java platform to embedded devices, particularly mobile phones, and had already made licensing deals with Nokia, Motorola, and Research In Motion.[6]

Android, Inc. was founded in 2003 by Andy Rubin, Rich Miner, Nick Sears, and Chris White to develop a mobile phone platform.[7][8] Google purchased Android in 2005 and continued developing the Android operating system.[8] During development of Android, Google wanted to incorporate the Java Standard Edition libraries. Google's executive chairman Eric Schmidt had approached Sun's president Jonathan I. Schwartz about licensing the Java libraries for use in Android. Sun offered a licensing deal of between US$30 and 50 million. Schmidt said Google would have paid for that license, but they were concerned that Sun had also requested some shared control of Android along with the fee.[9][10][11] Google states that they wanted more control in order to open source the language and allow third parties to take better advantage of its code;[9] Oracle states that Sun refused because Google's intention was essentially to fork Java to a Google version of the language, and to prevent it being inter-operable with other versions, an idea which was "anathema" to the "write once run anywhere" basis of the language.[12] Because of these differences of view, the negotiations failed to reach a deal and Sun refused Google a license for Java.[12]

At this point in time, the OpenJDK implication offered by Sun was not as mature or complete as the Java Standard Edition.[13] Instead of licensing Java, Google chose to develop a cleanroom version of the Java Standard Edition libraries, developing the libraries from a completely fresh start without any access to Sun's code. This became the engine behind Android's Dalvik virtual machine, a core part of the new system. Part the virtual machine included 37 API calls and around 11,500 lines of code deemed central to Java, which were taken from Apache Harmony, an open-source cleanroom Java implementation developed by the Apache Software Foundation (ASF). Prior to this, the ASF had tried to obtain necessary licenses from Sun to support the Apache Harmony project as to call it an official Java implementation, but could not in part due to incompatible licensing with Java's GNU General Public License and ASF's Apache License, nor could gain access to the Java TCKs to validate the Harmony project against Sun's implementation.[14][15] Though Google stated they used this code to ensure "interoperability" with the Java Standard Edition for other programmers,[5] during the second appeal hearing, Google had used this code for commercial reasons to rapidly complete Android and to avoid the "drudgery" of recreating the code.[12] ASF forewent maintaining the Apache Harmony in 2011, leading Google to take over maintenance of these libraries.[13]

Google released a beta of the Android platform on November 5, 2007, along with the software development kit (SDK) a week later, which they noted included some Java technologies.[16][17][18] Sun's Schwartz congratulated Google the same day, saying they had "strapped another set of rockets to the community's momentum – and to the vision defining opportunity across our (and other) planets."[19] During the trial, Schwartz said that at that time of Android's release, despite knowing Google may have bypassed their licensing requirements, "we decided to grit our teeth and support it so anyone supporting it would see us as part of the value chain".[6]

Oracle announced it would purchase Sun in April 2009 for US$7.4 billion, and completed the acquisition in January 2010.[20] Besides allowing them to enter the hardware business, Oracle's CEO Larry Ellison called the acquisition of the Java language "the single most important software asset we have ever acquired".[21] Oracle continued to develop Java and pursue licensing opportunities following its acquisition of Sun.

First District Court trial[edit]

District Court[edit]

On August 13, 2010, Oracle sued Google for copyright and patent infringement in the District Court for the Northern District of California. Oracle asserts Google was aware that they had developed Android without a Java license and copied its APIs, creating the copyright violation. Oracle also citing seven prior patents related to the Java technology created by Sun and now owned by Oracle that Google should have been aware of as they had hired former Sun developers that worked on Java. Oracle sought both monetary damages and an injunction to stop Google from using the violating materials.[22][23]

The case was assigned to Judge William Alsup, who split the case into three phases: copyright, patent, and damages.

The copyright phase started on April 16, 2012, and consisted of several distinct claims of infringement: a nine-line rangeCheck function, several test files, the structure, sequence and organization (SSO) of the Java (API), and the API documentation. Oracle alleged infringement of 37 separate Java APIs which had derived from the Apache Harmony project.[10] After two weeks of testimony, the jury found on May 7, 2012, that Google had infringed on the copyright related to the code, SSO, and documentation of the APIs as well as the rangeCheck function, but were deadlocked on whether these uses fell within fair use. The jury also found that Google had sufficient reason to believe based on Sun's and Oracle's conduct that they did not need to license Java from Sun or Oracle, but did not rely on this when developing Android.[24] Oracle requested a judgement as a matter of law (JMOL) that the case dismiss any fair use defense since the jury was split, as well as to overturn the jury's decision on eight security-related files that they had reviewed and found non-infringing but which Google had stated they copied verbatim; Alsup concurred. Google asked for a similar JMOL related to rangeCheck, but Alsup denied this request.[25]

The patent phase began on May 7, 2012, with the same jury.[26] By the time of trial, Oracle's patent case comprised claims from two patents, 6,061,520 (Method and system for performing static initialization),[27] and RE38104 (Method and apparatus for resolving data references in generated code).[28] Google pursued a non-infringement defense. For the 6061520 patent, they argued that they were using parsing for optimizing static initialization, rather than "simulating execution" as the claim required. For the RE38104 patent, they argued that the instruction did not include a symbolic reference. On May 23, 2012, the jury found non-infringement on all patent counts.[29][30][31]

Judge Alsup issued the final verdict for both these phases on May 31, 2012. While the jury had found for Oracle regarding copyright infringement of the APIs, Alsup determined that the APIs were not copyrightable in the first place: "So long as the specific code used to implement a method is different, anyone is free under the Copyright Act to write his or her own code to carry out exactly the same function or specification of any methods used in the Java API. It does not matter that the declaration or method header lines are identical." Alsup did agree with the jury that the rangeCheck function and eight security files were a copyright infringement, but would only be found for statutory damages up to a maximum of US$150,000[32][33]

As a result of these rulings and a stipulation, there was no jury damages phase. The parties agreed to zero dollars in statutory damages for the small amount of copied code by June 2012.[34][35]

Appeals Court and finding of copyrightability of the API[edit]

Shortly following the conclusion of the District Court case, both parties attempted to file additional JMOLs on elements of the ruling which Alsop dismissed, leading to Oracle appealing the decision and Google filing a cross-appeal on the literal copying claim. Because the case involved claims related to patents, the appeal was automatically assigned to the United States Court of Appeals for the Federal Circuit.[36][37] The hearing was held on December 4, 2013,[38][39] and the judgment was released on May 9, 2014.[40]

The court noted that Copyright Act provides protection to "original works of authorship fixed in any tangible medium of expression" (p. 17). The legislative history explains that literary works include "computer programs to the extent that they incorporate authorship in the programmer's expression of original ideas, as distinguished from the ideas themselves" (p. 18). To qualify for copyright protection a work must be original. 17 U.S.C. § 102(a). The court was therefore "first to assess whether the expression is original to the programmer" (p. 24), something that Google had already conceded (p. 21). This led the court to conclude "that the overall structure of Oracle's API packages is creative, original, and resembles a taxonomy" (p. 14). It therefore reversed the district court on the central issue, holding that the "structure, sequence and organization" of an API is copyrightable. It also ruled for Oracle regarding the small amount of literal copying, holding that it was not de minimis. The case was remanded to the District Court for a second trial, to consider whether Google's use was acceptable anyway, under the doctrine of fair use, since the original case had not brought out the facts related to fair use sufficiently for the Appeal Court to rule on that point.[41][42][41]

Supreme Court petition[edit]

In October 2014, Google petitioned the U.S. Supreme Court to hear the case.[43] Oracle responded to the petition in December.[44] Following a discussion of the petition at the Court's January 9 conference,[45] the Court issued a Call for the Views of the Solicitor General, asking for the U.S. Solicitor General's input on whether the petition should be granted.[46] On May 26, 2015 the U.S. Solicitor General recommended that the petition should be denied, expressing agreement with the appeals court ruling.[47] The Court denied the certiorari petition on June 29, 2015.[48]

Second District Court trial[edit]

As ordered by the Appeals Court, a new district court trial began on May 9, 2016, on the question of whether Google's actions were fair use.[49][50] Closing arguments were completed on May 23, 2016 and the jury of eight women and two men began deliberations. Oracle was seeking damages of up to US$9 billion.[51][52][53][54][55][56] On May 26, 2016, the jury found that Android does not infringe Oracle-owned copyrights because its re-implementation of 37 Java APIs was protected by fair use.[57] Oracle announced its intention to appeal,[58] but before doing so it attempted unsuccessful motions to disregard the jury verdict,[59] and then to hold a re-trial.[60] Oracle officially filed its appeal on October 26, 2016.[61]

Appeals Court and finding of non-fair-use[edit]

Oracle's appeal was heard by the United States Court of Appeals for the Federal Circuit in 2017. On March 27, 2018, the Court ruled in favor of Oracle.[62] The ruling analyzed the aspects of a "fair use" claim which were to be decided by a judge and jury, respectively. It then looked at the factual matters which, it had to be assumed, the jury had reached, and their implications in law.[62] It noted that in a "mixed" case of fact and law, such as the present dispute, the trial jury's role is to decide on the facts. As the Supreme Court noted in another case said Judge Alsup, "truth, in literature, in science and in art, there are, and can be, few, if any, things, which in an abstract sense, are strictly new and original throughout. Every book in literature, science and art, borrows, and must necessarily borrow, and use much which was well known and used before" (Decision 2017-1118, 2017-1202).

The Appeal Court's role is to assess whether a reasonable jury could have reached the conclusions it did, and whether the judge's decision could be correct and reasonable in law. The standard review of mixed questions of law and fact concerned three components: "(1) determining the legal standard governing the question posed and what types of historical facts are relevant to that standard; (2) finding what the historical facts in the case at hand are; and (3) assessing whether the historical facts found satisfy the legal test governing the question to be answered" (Decision p.19). Except clear error, the role of the jury is limited to determining disputed 'historical facts' (2). The facts are not discussed. "It It is undisputed that Google copied verbatim the declaring code of the 37 Java API packages 11,500 lines of Oracle’s copyrighted code. It also copied the SSO of the Java API packages. (Decision p.10)" It is also established and Google recognizes that the software copied is creative and original.

The Court found that as a matter of law, Google's use of Java could not have fallen within fair use, even if all factual matters decided by the jury had been in Google's favor. The Appeals Court found that Google's use of API code declarations had not met any of the four current criteria for fair use, but was merely untransformed reuse. It had not been transformative, since it was used for the same purposes without even minimal changes or rewrites. It was not minimal, since it was agreed that only 170 lines of the 11,500 lines copied were needed for Google's purposes. It was not within any example of transformation, nor intended to permit third party interoperability, since Google had made no substantial efforts to use them for the purpose of third party interoperability. (In fact it found that Google had tried to prevent interoperability with other Java and had previously been refused a license by Sun for that reason.[12]) It was not transformative in the sense of a new platform either, since other Java smartphones predated Android.[62] It was plausible that the use had harmed Sun/Oracle – perhaps to a great extent if Oracle were to be believed – since as a result, vendors began to expecting Oracle to compete on price with a freely available derivative of its own language, and to require very steep discounts and undesired contractual terms.[62] Therefore, Google's use of the Java code and APIs failed to meet all four of the currently accepted criteria under which fair use would be possible.[62]

Instead, the Court found that Google's purpose had been to enhance its nascent Android platform's attractiveness to existing developers, who were often familiar with Java, and to avoid the "drudgery" of rewriting the code (which they could have done) needed to implement the 170 lines of API detail which were indeed required. "Making it easy for oneself", the court noted, is well established to not fall within valid grounds for fair use. The Court found that "The fact that Android is free of charge does not make Google's use of the Java API packages noncommercial".[63] Oracle "devised a licensing scheme to attract programmers while simultaneously commercializing the platform. In relevant part, Oracle charges a licensing fee to those who want to use the APIs in a competing platform or embed them in an electronic device. To preserve the 'write once, run anywhere' philosophy, Oracle imposes strict compatibility requirements on licensees" (p.9 2017-118, 207-102). The purpose was commercial, and was not fair use,[62] and the Court remanded the case back to the District Court of the Northern District of California to determine the amount of damage that Google should pay Oracle.[63]

Impact[edit]

The lingering nature of this case had concerned Google and other developers of Android-based software, since a ruling favoring Oracle could significantly impact the Android platform. Google worked to replace Dalvik and the Java implementation based on Apache Harmony with a new Android Runtime environment that was based on the OpenJDK starting in the release of Android Nougat in 2016. Google stated this approach assured that they had followed the proper steps in GPL licensing to avoid the issues with to Dalvik and Apache Harmony determined during this case. Google addressed this change in the trial hearings, as to limit any damages Oracle may have sought to Android releases using the Dalvik environment.[13]

Oracle v. Google has been a closely watched case by the tech industry, as a ruling favoring Oracle could have significant effects on past and future software development, given the prolific use of APIs.[64] One example identified by Wired is the Linux operating system. While Linux is fully open sourced, it is based on POSIX, a set of APIs that mimic those of the commercial Unix operating system that enable high levels of interoperability for developers; a programmer would only need to write one set of code which then can compile on any system that has the same API, even if the computing architecture of the systems are different. If case law favors Oracle, the current owners of Unix, Micro Focus, could seek damages from any POSIX-based operating system developer intending to use the operating system for commercial use.[65] This POSIX claim is nevertheless doubtful as the certifier of the Unix copyright, The Open Group, worked in concert with the ISO and IEEE to develop the POSIX standard and agreed to joint copyright on the resulting documents.[66]

See also[edit]

References[edit]

  1. ^ Southwick, Karen (1999). High Noon: the inside story of Scott McNealy and the rise of Sun Microsystems. New York [u.a.]: Wiley. pp. 120–122. ISBN 0471297135. 
  2. ^ Jon Byous (April 2003). "Java Technology: The Early Years". Sun Microsystems. Archived from the original on May 30, 2008. Retrieved 2009-08-02. 
  3. ^ Krill, Paul (November 11, 2016). "After a decade, open source Java is still controversial". Infoworld. Retrieved March 30, 2018. 
  4. ^ a b Lamonica, Martin (February 13, 2007). "Sun picks GPL license for Java code". CNet. Retrieved March 30, 2018. 
  5. ^ a b Jeong, Sarah (October 19, 2017). "THE JUDGE'S CODE". The Verge. Retrieved March 28, 2018. 
  6. ^ a b Farber, Dan (April 26, 2012). "Former Sun CEO says Google's Android didn't need license for Java APIs". CNet. Retrieved March 28, 2018. 
  7. ^ Vogelstein, Fred (April 2011). "How the Android Ecosystem Threatens the iPhone". Wired. Retrieved June 2, 2012. 
  8. ^ a b Elgin, Ben (August 17, 2005). "Google Buys Android for Its Mobile Arsenal". Bloomberg Businessweek. Bloomberg. Archived from the original on February 24, 2011. Retrieved 2012-02-20. In what could be a key move in its nascent wireless strategy, Google (GOOG) has quietly acquired startup Android Inc. ... 
  9. ^ a b Brodkin, Jon (April 24, 2012). "Sun wanted up to $50 million from Google for Java license, Schmidt says". Ars Technica. Retrieved March 28, 2018. 
  10. ^ a b "Order Re Copyrightability of Certain Replicated Elements of the Java Application Programming Interface" (PDF). United States District Court for the Northern District of California/Groklaw. May 31, 2012. Retrieved June 2, 2012. 
  11. ^ "Findings of Fact and Conclusions of Law on Equitable Defenses" (PDF). United States District Court for the Northern District of California/Groklaw. May 31, 2012. Retrieved June 2, 2012. 
  12. ^ a b c d Ruling, para 34: " The point of contention between the parties was Google's refusal to make the implementation of its programs compatible with the Java virtual machine or interoperable with other Java programs. Because Sun/Oracle found that position to be anathema to the "write once, run anywhere" philosophy, it did not grant Google a license to use the Java API packages."
  13. ^ a b c Amadeo, Ron (January 6, 2016). "Android N switches to OpenJDK, Google tells Oracle it is protected by the GPL". Ars Technica. Retrieved March 30, 2018. 
  14. ^ "ORACLE'S MOTION REGARDING APACHE HARMONY" (PDF). United States District Court for the Northern District of California/Groklaw. April 22, 2012. Retrieved December 4, 2015. 
  15. ^ Metz, Cade (November 1, 2010). "Google's 'copied Java code' disowned by Apache". The Register. Retrieved March 28, 2018. 
  16. ^ "Google Launches Android, an Open Mobile Platform". Google Operating System. November 5, 2007. 
  17. ^ Helft, Miguel and John Markoff (November 6, 2007). "Google Is Pursuing Plans to Put a PC Into Every Pocket". The New York Times. Retrieved June 2, 2012. 
  18. ^ "Google releases Android SDK". Macworld. November 12, 2007. 
  19. ^ Schwartz, Jonathan (November 5, 2007). "Congratulations Google, Red Hat and the Java Community!". Sun Microsystems. Archived from the original on October 23, 2010. Retrieved June 1, 2012. 
  20. ^ Shankland, Stephan (January 27, 2010). "Oracle buys Sun, becomes hardware company". CNet. Retrieved March 28, 2018. 
  21. ^ Montalbano, Elizabeth (April 20, 2009). "Oracle, Entering Hardware Arena, Agrees to Buy Sun for $7.4 Billion". PC World. Retrieved March 28, 2018. 
  22. ^ "Oracle sues Google over Android". Reuters. August 13, 2010. Archived from the original on January 12, 2015. Retrieved June 1, 2012. 
  23. ^ Krazit, Tom (August 13, 2010). "Oracle sues Google over Android and Java". CNet. Retrieved March 28, 2018. 
  24. ^ Bishop, Bryan (May 7, 2012). "Jury finds Google infringed Oracle copyrights in partial verdict; Google moves for mistrial". The Verge. Retrieved March 28, 2018. 
  25. ^ Barry, Michaela (2013). "Oracle v. Google – Copyrightability of APIs". Potomac Law Group. Retrieved March 28, 2018. 
  26. ^ "Day 1 of Patent Phase in Oracle v. Google & Google Opp. Re Schwartz, as text". Groklaw. May 7, 2012. Retrieved June 1, 2012. 
  27. ^ US patent 6061520, Yellin, Frank & Tuck, Richard D, "Method and system for performing static initialization", issued 2000-05-09, assigned to Sun Microsystems and Oracle 
  28. ^ US Patent No. RE38104 , Gosling, James, "Method and apparatus for resolving data references in generated code", issued 2003-04-29, assigned to Sun Microsystems and Oracle
  29. ^ http://www.groklaw.net/pdf3/OraGoogle-1190.pdf
  30. ^ Lowenson, Josh (May 23, 2012). "Jury verdict: Android doesn't infringe Oracle's patents". CNet. Retrieved March 28, 2018. 
  31. ^ Josh Lowensohn (May 23, 2012). "Jury clears Google of infringing on Oracle's patents". ZDNet. Retrieved 2012-05-25. 
  32. ^ King, Rachel (May 31, 2012). "Judge says 37 Oracle APIs are not copyrightable". CNet. Retrieved March 28, 2018. 
  33. ^ Joe Mullin (May 31, 2012). "Google wins crucial API ruling, Oracle's case decimated". Ars Technica. Retrieved 2012-06-01. 
  34. ^ Niccolai, James (June 20, 2012). "Oracle agrees to 'zero' damages in Google lawsuit, eyes appeal". Retrieved 2012-06-23. 
  35. ^ "Second Stipulation and (Proposed) Order Regarding Copyright Damages" (PDF). United States District Court for the Northern District of California/Groklaw. Retrieved 2012-06-23. 
  36. ^ "Court Docket for Oracle v. Google Appeal". Docket Alarm, Inc. Retrieved 10 May 2014. 
  37. ^ Jones, Pamela (October 5, 2012). "Oracle and Google File Appeals". Groklaw. Retrieved November 17, 2012. 
  38. ^ "FOSS Patents". 
  39. ^ "FOSS Patents". 
  40. ^ Oracle v. Google, United States Court of Appeals for the Federal Circuit, 2013-1021, -1022, Decided: May 9, 2014
  41. ^ a b "ORACLE AMERICA, INC., Plaintiff – Appellant, v. GOOGLE INC., Defendant – Cross – Appellant". Court of Appeals for the Federal Circuit. May 9, 2014. Retrieved 2015-12-02. 
  42. ^ Rosenblatt, Seth (May 9, 2014). "Court sides with Oracle over Android in Java patent appeal". CNET. Retrieved 2014-05-10. 
  43. ^ Levine, Dan (October 8, 2014). "Google asks Supreme Court to decide Oracle copyright fight". Reuters. Retrieved January 5, 2015. 
  44. ^ Niccolai, IDG News Service (December 8, 2014). "Oracle asks Supreme Court to reject Android copyright case". IDG News Service. Retrieved January 5, 2015. 
  45. ^ Google, Inc. v. Oracle America, Inc., U.S. Supreme Court case no. 14-410, docketed October 8, 2014 (docket).
  46. ^ Mintz, Howard (January 12, 2015). "Google v. Oracle: Supreme Court asks feds' opinion in copyright fight". San Jose Mercury News. Retrieved January 12, 2015. 
  47. ^ "Brief for the United States as Amicus Curiae" (PDF). U.S. Solicitor General/Compute Magazine. May 26, 2015. 
  48. ^ "Order List (06/29/2015)" (PDF). U.S. Supreme Court. Retrieved 29 June 2015. 
  49. ^ "Google puts its expert on the stand to combat Oracle, wraps up its case". Ars Technica. Retrieved 2016-05-24. 
  50. ^ "Second Oracle v. Google trial could lead to huge headaches for developers". Ars Technica. Retrieved 2016-05-24. 
  51. ^ James Niccolai (28 March 2016). "Oracle seeks $9.3 billion for Google's use of Java in Android". PCWorld. 
  52. ^ "Oracle v. Google". Electronic Frontier Foundation. 
  53. ^ "Oracle v. Google draws to a close, jury sent home until next week". Ars Technica. Retrieved 28 May 2016. 
  54. ^ "Oracle slams Google to jury: "You don't take people's property"". Ars Technica. Retrieved 2016-05-24. 
  55. ^ "Sun's Jonathan Schwartz at trial: Java was free, Android had no licensing problem". Ars Technica. Retrieved 2016-05-24. 
  56. ^ "Oracle economist: Android stole Java's 'window of opportunity'". Ars Technica. Retrieved 2016-05-24. 
  57. ^ Mullin, Joe (26 May 2016). "Google beats Oracle—Android makes "fair use" of Java APIs". Ars Technica. Retrieved 26 May 2016. 
  58. ^ "Google beats Oracle—Android makes "fair use" of Java APIs". Ars Technica. Retrieved 2016-05-26. 
  59. ^ "Order denying rule 50 motions" (PDF). Electronic Frontier Foundation. Retrieved 2016-09-17. 
  60. ^ http://www.pcworld.com/article/3125113/oracle-denied-new-trial-in-copyright-dispute-with-google-over-java.html
  61. ^ Mullin, Joe (27 October 2016). "It's official: Oracle will appeal its "fair use" loss against Google". Ars Technica. Retrieved 27 October 2016. 
  62. ^ a b c d e f Appeal ruling 2018-03-27
  63. ^ a b Decker, Susan (March 27, 2018). "Oracle Wins Revival of Billion-Dollar Case Against Google". Bloomberg Businessweek. Retrieved March 27, 2018. 
  64. ^ Kendall, Brent; Greene, Jay (March 27, 2018). "Oracle Wins Court Ruling Against Google in Multibillion-Dollar Copyright Case". The Wall Street Journal. Retrieved March 27, 2018. 
  65. ^ Finley, Klint (May 23, 2016). "The Oracle-google Case Will Decide The Future Of Software". Wired. Retrieved March 27, 2018. 
  66. ^ "IEEE-SA Standards Board Project Authorization Request (PAR) Form (2000-Rev 1)". IEEE Standards Board. May 29, 2000. Retrieved March 28, 2018.