Oracle America, Inc. v. Google, Inc.

From Infogalactic: the planetary knowledge core
(Redirected from Oracle v. Google)
Jump to: navigation, search
Oracle v. Google
US DC NorCal.svg
Court United States District Court for the Northern District of California
Full case name Oracle America, Inc. v. Google, Inc.
Court membership
Judge(s) sitting William Haskell Alsup

Oracle America, Inc. v. Google, Inc. was a dispute related to Oracle's copyright and patent claims on Google's Android operating system. In May 2012, the jury in this case found that Google did not infringe on Oracle's patents, and the trial judge ruled that the structure of the Java APIs used by Google was not copyrightable.[1][2][3] The parties agreed to zero dollars in statutory damages for a small amount of copied code.[4] On May 9, 2014, the Federal Circuit partially reversed the district court ruling, ruling in Oracle's favor on the copyrightability issue, and remanding the issue of fair use to the district court.[5][6] A petition for certiorari was denied by the United States Supreme Court on June 29, 2015. A second trial began May 9th, 2016, in which Oracle sought US$8.8 billion in damages.[7] On May 26th, 2016, the trial jury sided in favor of Google, ruling the action as "fair-use."[8]

Facts

Java was originally developed at Sun Microsystems starting in 1991. It included a new programming language, a virtual machine, and a set of libraries for use with the language.[9]

Android, Inc. was founded in 2003 by Andy Rubin, Rich Miner, Nick Sears, and Chris White to develop a mobile phone platform.[10][11] Google purchased Android in 2005 and continued developing the Android operating system.[11] Google released a beta of the Android platform on November 5, 2007, noting that it would use some Java technologies.[12][13] Sun CEO Jonathan Schwartz responded the same day, congratulating Google and saying they had "strapped another set of rockets to the community's momentum – and to the vision defining opportunity across our (and other) planets."[14] Google released the Android software development kit (SDK) on November 12, 2007.[15] Amongst other APIs, Android included Apache Harmony implementations of some of the APIs[16] from the Java SE specification.[17] Google negotiated with Sun about possible partnership and licensing deals for Java, but no agreement was reached.[17][18]

Oracle purchased Sun in January 2010, and continued developing Java.[19] Oracle continued discussing a possible licensing deal, but an agreement again was not reached.[18] Oracle sued Google for copyright and patent infringement in August 2010.[20]

District Court

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

The copyright phase consisted of several distinct claims of infringement: a nine-line rangeCheck function, several test files, the structure, sequence and organization of the Java Application Programming Interface (API), and the API documentation. Oracle alleged infringement of 37 separate Java APIs.[17] After extensive pre-trial briefing, this phase began on April 16, 2012.[21] At the end of this phase, the jury ruled that the API was infringed, but deadlocked on Google's fair use defense for this claim. They also found that rangeCheck was infringed, but that neither the documentation nor the other literal code was.[22]

The patent phase began on May 7, 2012 with the same jury.[23] By the time of trial, Oracle's patent case comprised claims from two patents, 6061520 (Method and system for performing static initialization),[24] and RE38104 (Method and apparatus for resolving data references in generated code).[25] 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. The jury found non-infringement on all patent counts.[26] 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 a small amount of copied code.[4][27]

Holding

The court's decision was published on May 31, 2012. It upheld the jury verdict on rangeCheck, though it was described as "overblown".[17] In response to a motion for a judgment as a matter of law, the court ruled that the other literally-copied files also infringed, setting aside that portion of the jury verdict.[28]

However, on the primary copyright issue of the APIs, the court ruled that "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." The ruling found that the structure Oracle was claiming was not copyrightable under section 102(b) of the Copyright Act because it was a "system or method of operation."

The court also drew on Baker v. Selden, Whelan v. Jaslow, Computer Associates v. Altai, Gates Rubber v. Bando Chemical Industries, Lotus v. Borland, Hutchins v. Zoll, Feist v. Rural, Johnson Controls v. Phoenix Control Systems, Brown Bag Software v. Symantec Corp., Atari v. Nintendo, Sega v. Accolade, and Sony v. Connectix.

Based on reviewing this case history, the court noted that:

...the above summary of the development of the law reveals a trajectory in which enthusiasm for protection of "structure, sequence and organization" peaked in the 1980s, most notably in the Third Circuit’s Whelan decision. That phrase has not been re-used by the Ninth Circuit since Johnson Controls in 1989, a decision affirming preliminary injunction. Since then, the trend of the copyright decisions has been more cautious. This trend has been driven by fidelity to Section 102(b) and recognition of the danger of conferring a monopoly by copyright over what Congress expressly warned should be conferred only by patent. This is not to say that infringement of the structure, sequence and organization is a dead letter. To the contrary, it is not a dead letter. It is to say that the Whelan approach has given way to the Computer Associates approach, including in our own circuit. See Sega Enters., Ltd. v. Accolade, Inc., 977 F.2d 1510, 1525 (9th Cir. 1992); Apple Computer, Inc. v. Microsoft Corp., 35 F.3d 1435, 1445 (9th Cir. 1994).[17]

Appeals Court

Oracle appealed to the Federal Circuit Court of Appeals, and Google filed a cross-appeal on the literal copying claim.[29][30] The hearing was held on December 4, 2013,[31][32] and the judgment was released on May 9, 2014. The appeals court reversed the district court on the central issue, holding that the "structure, sequence and organization" of an API was 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 reconsideration only the basis of the fair use doctrine.[6]

Supreme Court petition

In October 2014, Google petitioned the U.S. Supreme Court to hear the case.[33] Oracle responded to the petition in December.[34] Following a discussion of the petition at the Court's January 9 conference,[35] 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.[36] On May 26, 2015 the U.S. Solicitor General recommended that the petition should be denied, expressing agreement with the appeals court ruling.[37] The Court denied the certiorari petition on June 29, 2015.[38]

Second trial

As a result of the successful appeal, a new district court trial began on May 9, 2016 on the question of whether Google's actions were fair use.[39][40] 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.[41][42][43][44][45] On May 26, 2016, the jury found that Android does not infringe Oracle-owned copyrights because its re-implementation of 37 Java APIs is protected by "fair use."[46]

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. 4.0 4.1 Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. 6.0 6.1 Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. 11.0 11.1 Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. 17.0 17.1 17.2 17.3 17.4 Lua error in package.lua at line 80: module 'strict' not found.
  18. 18.0 18.1 Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. http://www.groklaw.net/pdf3/OraGoogle-930.pdf
  22. http://www.groklaw.net/pdf3/OraGoogle-1089.pdf
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. 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 
  25. 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
  26. http://www.groklaw.net/pdf3/OraGoogle-1190.pdf
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. http://www.groklaw.net/pdf3/OraGoogle-1123.pdf
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Google, Inc. v. Oracle America, Inc., U.S. Supreme Court case no. 14-410, docketed October 8, 2014 (docket).
  36. Lua error in package.lua at line 80: module 'strict' not found.
  37. Lua error in package.lua at line 80: module 'strict' not found.
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. Lua error in package.lua at line 80: module 'strict' not found.
  40. Lua error in package.lua at line 80: module 'strict' not found.
  41. Lua error in package.lua at line 80: module 'strict' not found.
  42. Lua error in package.lua at line 80: module 'strict' not found.
  43. Lua error in package.lua at line 80: module 'strict' not found.
  44. Lua error in package.lua at line 80: module 'strict' not found.
  45. Lua error in package.lua at line 80: module 'strict' not found.
  46. Lua error in package.lua at line 80: module 'strict' not found.