That takes us to the issue of the copyright damages on rangeCheck. You will recall that Tuesday, in its response to the Court's questions, Oracle reversed field from what it had previously agreed and told the Court it deserved the right to obtain both statutory damages and infringer's profits with respect to rangeCheck. (1106 [PDF; Text]) Not surprisingly, Google has now fired back. (1114 [PDF; Text])
Google points out that Oracle's new request "contradict[s] Oracle’s prior concession to the Court that it had no remedy for any of its literal copying claims besides statutory damages." Pointing out that, contrary to Oracle's statement that the burden is on Google to show what portion of Android revenue is not associated with rangeCheck, Oracle must show a casual relationship between rangeCheck and that revenue, something Oracle has not done. As Google says, "Oracle might get kudos for audacity, but it misunderstands how copyright damages work."
Oracle is also wrong on the assertion it gets both statutory damages and infringer's profits. That is simply wrong under the law. They have to choose. Not surprisingly, this overreach by Oracle was filed by the Boies firm.
Google also mocks "Oracle's offer to give up its nonexistent disgorgement claim in exchange for a jury waiver by Google on “by far the most important” issue in the entire case, Oracle Br. [Dkt. 1106] at 1:19, is (to put it mildly) not serious." Google, for its part, offers to have the Court resolve not only Oracle's damages for any literal copying, but also for patent infringement, if Oracle prevails on any of its patent claims.
Each of these are important, but will reserve comment on them until later.
KEKER & VAN NEST LLP
ROBERT A. VAN NEST - # 84065
CHRISTA M. ANDERSON - # 184325
DANIEL PURCELL - # 191424
[email address telephone fax]
KING & SPALDING LLP
SCOTT T. WEINGAERTNER (Pro Hac Vice)
ROBERT F. PERRY
BRUCE W. BABER (Pro Hac Vice)
[address telephone fax]
KING & SPALDING LLP
DONALD F. ZIMMER, JR. - #112279
CHERYL A. SABNIS - #224323
[email address telephone fax]
IAN C. BALLON - #141819
HEATHER MEEKER - #172148
GREENBERG TRAURIG, LLP
[address telephone fax]
Attorneys for Defendant
UNITED STATES DISTRICT COURT
NORTHERN DISTRICT OF CALIFORNIA
SAN FRANCISCO DIVISION
ORACLE AMERICA, INC.,
Case No. 3:10-cv-03561 WHA
GOOGLE INC.’S RESPONSE TO
ORACLE’S BRIEF RE COPYRIGHT
Dept.: Courtroom 8, 19th Floor
Judge: Hon. William Alsup
This Monday, after the jury delivered its verdict on copyright issues, Oracle announced it might seek disgorgement of Google’s profits based on Google’s use of a nine-line method called rangeCheck from a file called Arrays.java, which itself consists of over 3,000 lines of source code. This contradicted Oracle’s prior concession to the Court that it had no remedy for any of its literal copying claims besides statutory damages. RT 2775:25-2776:1 (Mr. Boies: “[T]hat, I believe, would only be statutory damages on [Verdict Form Question] 3”). Oracle’s about-face was even more puzzling because rangeCheck makes up an almost imperceptible fraction of the 15 million lines of code in the Android platform—less than .00006%, or six ten-millionths, of Android’s total content. It is inconceivable that this trivial method, which could be written by a good high-school programmer, was not even in Android when it was launched, and has not been in Android for over a year now, contributed even a penny to Android’s profits.
Understandably, the Court reacted skeptically to Oracle’s announcement, commenting that the idea that Oracle could be entitled to disgorgement for infringement of nine lines of code “borders on the ridiculous” and that it “would be way out there for [Oracle] to ask for that.” RT 2892:13, 23-24. But Oracle has never been shy, at any point in this case, to seek legally and logically unsupportable damages amounts. Doubling down on that strategy, Oracle has now filed a brief asserting that, because rangeCheck is part of Android, it can simply point to Google’s total Android revenues, sit back, and relax. According to Oracle, if Google is unable to prove how much of those aggregate Android revenues are attributable to the other 15 million-plus lines of Android code, as opposed to the nine lines of rangeCheck, Oracle would get the whole enchilada.
Oracle might get kudos for audacity, but it misunderstands how copyright damages work. Before the burden of deducting costs and apportioning profits shifts to Google, Oracle must prove an amount of gross revenue that is causally linked to the infringing work—which is rangeCheck (or at most the two TimSort files containing rangeCheck), not all of Android. Oracle has no such evidence and no witness who could be competent to offer it anyway. After Oracle’s damages expert failed to analyze literal-copying damages in either of his first two reports, the Court barred him from offering such testimony at trial. Jan. 9, 2012 Order [Dkt. 685] at 10. Given the trial record, no reasonable jury could conclude that rangeCheck generated any revenue.
A. Oracle has not carried its initial burden of offering evidence that Google made any
revenue from the infringing works—which are two files called TimSort and
ComparableTimSort, not the Android platform as a whole.
Oracle has no right to disgorgement of Google’s profits based on Google’s infringement of rangeCheck because it has no evidence that Google made any revenue attributable to the copyrighted work that was found infringed. See 17 U.S.C. § 504(b). Oracle has always tried to maximize its damages by presenting this case as an epic struggle between its entire Java platform and Google’s whole Android platform, but the Court has always—rightly—rejected that effort and directed Oracle to focus on the specific intellectual property and alleged infringing features at issue. Just before opening statements, the Court reiterated this basic point:
But, Mr. Jacobs, you must remember. I’m going to say to the jury many times in this case: The issue is not Java. It’s not Android. It’s very specific parts about Java that are protected, if at all, by copyrights or patents and very specific parts of Android that are accused. So if we start getting off onto this is Java versus Android, the judge is going to intervene and say it’s not.
RT 21:21-22:2 (emphasis added); see also July 22, 2011 Order Granting in Part Motion to Strike First Cockburn Report [Dkt. 230] at 5-6 (rejecting damages analysis based on purported harm to all of Java from the entirety of Android). Oracle’s current brief is a retread of this rejected theme.
The jury did not find that Google’s Android platform infringed Oracle’s Java platform. It found only that two Android files, TimSort and ComparableTimSort, infringed a single Java file called Arrays.java. See Final Charge to the Jury (Phase One) [Dkt. 1018] ¶ 29, at 15 (“For purposes of Question No. 3, the “work as a whole” is the compilable code for the individual file except for the last two files listed in Question No. 3, in which case the “work as a whole” is the compilable code and all the English-language comments in the same file.”); Special Verdict Form [Dkt. 1018] at Question 3(a) (calling for verdict on infringement by TimSort files). Indeed, it was Oracle that asked, over Google’s objection, for the instruction that led to this specific finding. RT 2414:20-2418:13 (Charging Conference). The Court overruled Google’s objection and gave Oracle the instruction it requested. Id. Oracle undoubtedly wanted a charge that defined the “work as a whole” narrowly—as individual Java files, not the entire Java platform—in order to increase its chances of an infringement verdict on its literal copying claims. It got what it wanted with respect to rangeCheck; now it must live with the consequences for damages purposes.
The expressly limited scope of the jury’s verdict means we are no longer talking generally about Google’s “Android revenues” with respect to wrongful profits. Oracle must prove that Google made an identifiable amount of revenue from the infringing work—the two Android files containing the rangeCheck method. Oracle never addresses this standard, although it was clearly laid out by the Ninth Circuit in Polar Bear Prods., Inc. v. Timex Corp., 384 F.3d 700, 710-12 (9th Cir. 2004), a case Oracle discusses (and misapprehends) at some length. In Polar Bear, the Ninth Circuit explained that, “[a]lthough the statute references only the broad term ‘gross revenue,’ to conclude that a copyright plaintiff need only provide the company’s overall gross revenue, without regard to the infringement, would make little practical or legal sense.” Id. at 711. Instead, “the causation element of the statute serves as a logical parameter to the range of gross profits a copyright plaintiff may seek.” Id. “The standard is straightforward: a copyright plaintiff is bound to no more and no less than its statutory obligation to demonstrate a causal nexus between the infringement and the profits sought.” Id. at 712. Even where an infringer “derived some quantum of profits because its infringement was part of” a larger part of its business, “it nevertheless remains the duty of the copyright plaintiff to establish a causal connection between the infringement and the gross revenue reasonably associated with the infringement.” Id. at 715 (citing On Davis v. The Gap, Inc., 246 F.3d 152, 160 (2d Cir. 2001)) (emphasis added). “Only then would [the infringer] bear the responsibility for apportioning profits.” Id. As Judge Posner wrote nearly thirty years ago,
It was not enough to show [defendant’s] gross revenues from the sale of everything he sold, which is all, really, that [plaintiff] did. If General Motors were to steal your copyright and put it in a sales brochure, you could not just put a copy of General Motors’ corporate income tax return in the record and rest your case for an award of infringer’s profits.
Taylor v. Meirick, 712 F.2d 1112, 1122 (7th Cir. 1983). In other words, Oracle is seeking to shift the burden too soon. Before Google has to make any showing, Oracle first must prove up not Google’s gross revenue generally, or even Google’s gross revenue from the Android platform as a whole, but an identifiable amount of gross revenue that is causally linked to the infringement.
Here, Oracle has never offered any evidence that Google generated any revenues from use of the rangeCheck method, or the two Android files containing that method, or the API package
containing those files, or the Android core libraries, or any other possibly divisible component of the Android platform. Neither does it have a witness who could offer such evidence. Oracle has always shot for the moon, choosing to offer evidence only of Google’s gross revenue from the Android platform as a whole. Oracle’s damages expert Dr. Iain Cockburn could have presented a gross revenue figure allegedly linked to rangeCheck in either his of his first two damages reports, but he never made the attempt. Instead, after ignoring copyright damages altogether in his first report, Dr. Cockburn’s second report offered an opinion only as to alleged gross revenue from all Android ad and applications sales. Second Cockburn Report (Sept. 15, 2011) at 186-88, ¶¶ 463-68, & Ex. 22 (presenting Android gross revenue calculation through 2011); Third Cockburn Report (Feb. 9, 2012) at 235-27, ¶¶ 643-49, & Ex. 22 (same). Indeed, based on Oracle’s and Dr. Cockburn’s deliberate choice to focus on Android revenues generally, the Court barred Oracle from offering any expert opinion on damages for any of Oracle’s literal copying claims, including the claim for infringement of rangeCheck.
Dr. Cockburn has not adequately valued that [allegedly copied] code in his report and cannot do so at trial. This order holds that the jury will be instructed that if Google is found not liable for infringing the selection, arrangement, and structure of the API packages, then Dr. Cockburn’s copyright damages analysis is inapplicable.
Jan. 9, 2012 Order [Dkt. 685] at 10. Oracle chose to maximize its potential damages recovery by focusing on the structure, sequence, and organization of the Java API packages and using the alleged literal copying as window dressing. As a result, it has no evidence to sustain its burden of proving Google’s revenue causally linked to the infringement.
Oracle’s only response to this is glib and unavailing. It begins its discussion of case law with On Davis 246 F.3d at 160, but why it does so is a mystery, because that case directly and explicitly refutes its argument. On Davis explains that, if a copyright owner proved infringement of a poem, it would satisfy its initial burden by identifying the infringer’s gross revenue from “the sale of the anthology containing the infringing poem.” Id. Fair enough. But that case also makes clear that “we do not think the plaintiff’s statutory burden would be discharged by submitting the publisher’s gross revenue resulting from its publication of hundreds of titles, including trade books, textbooks, cookbooks, etc.” Id. The latter example is far closer to what Oracle is trying to
do here, but even that comparison significantly understates the vast difference between nine lines of rangeCheck and the 15 million lines in the Android platform. If the rangeCheck method were analogous to a poem, the “anthology” would be the 900-line TimSort file; it would certainly not be Android. The larger platform includes not only 168 API packages (of which rangeCheck is but one method in two class files), but an operating system, an applications framework, a virtual machine, and numerous applications. It is no mere poetry anthology. It is an entire warehouse of books, videos, music, and all the necessary apparati for reading and playing all those media. Neither On Davis nor any other case Oracle cites provides any basis to find a causal link between something as minute as rangeCheck and gross revenues from something as massive as Android.
Moreover, rangeCheck is not like a poem in an anthology. Oracle’s counsel admitted this in court just yesterday: “Obviously, software is not a symphony. Software is not a poem.” RT 3368:17 (Jacobs). When consumers buy a poetry anthology, it is reasonable to assume they do so because of the content of that anthology—and equally reasonable to infer that a single infringing poem might have played some causal role in the purchase. But there is no evidence supporting the argument, and it would make no sense to assume, that Google’s Android-related revenues are somehow connected to the presence of rangeCheck on some Android devices. For Google to make money from Android, it is necessary but not sufficient for a consumer to buy an Android phone, and there is no evidence that rangeCheck has caused any consumer to buy a phone. But even if there were, Google does not make money off any phone until a consumer uses that phone to conduct a Google search, tap on a Google-hosted advertisement, or purchase an application from GooglePlay (formerly Android Market). There is (and could be) nothing in the record to support a finding that rangeCheck plays any role in enabling, or persuading a consumer to access, any service that generates revenue for Google. Oracle has never tried to offer such evidence.
B. Given the evidence in the record, no reasonable jury could possibly find a causal link
between Google’s use of rangeCheck and any Android revenues.
In a more fundamental sense, Oracle’s failure of proof on Google’s gross revenues related to rangeCheck is beside the point, because the argument that any of Google’s Android profits could possibly be the result of Google’s use of the nine-line rangeCheck method in Android
defies belief. No reasonable jury could reach that conclusion. To the contrary, the record makes clear that rangeCheck is responsible for exactly 0.0% of Google’s revenues.
To begin with, as the Court noted after the jury rendered its verdict, rangeCheck makes up a truly tiny fraction of the Android platform in a quantitative sense. It is nine lines of source code out of a platform that contains more than 15 million lines, RT 2179:19-23 (Astrachan), amounting to .00006% of Android. That does not qualify even as de minimis.
But rangeCheck is indisputably insignificant as a qualitative matter too. The testimony at trial, from both sides of the aisle, has been unequivocal that rangeCheck is a “very short simple method” that checks three parameters of an array: the starting point, the end point, and that the end point is greater than the starting point. RT 813:7-8, 815:5-9 (Bloch). Josh Bloch, who wrote rangeCheck, testified that “[a]ny competent high school programmer could write” that method. RT 815:13-16 (Bloch). Even Oracle’s expert Dr. Mitchell conceded that “a good high school programmer” could write rangeCheck with guidance. RT 1316:24-25 (Mitchell).
In addition to being trivial to create and easily replicable by a beginner, rangeCheck offers no performance benefit to Android. The rangeCheck method is nine lines out of a file called TimSort. Bloch testified that TimSort is useful to Android because it makes array sorts much faster. RT 812:19-813:3 (Bloch). But Bloch also made clear that not one bit of that performance improvement is due to rangeCheck, as opposed to the other 900-plus lines of code in TimSort. RT 814:1-4. In fact, rangeCheck is a “private method” that is “not part of the API.” Its declaration cannot be called from outside of the TimSort class, only from within that class, so it cannot have an effect on any other file in Android. RT 813:12-25 (Bloch). Oracle did not cross-examine Bloch on these points, much less offer evidence to contradict him.1
Moreover, rangeCheck was not even in Android when Google announced the platform in November 2007 and made its code available to handset partners for inclusion on phones. Neither was rangeCheck in Android when the first Android phones were released in October 2008. Bloch
1 Dr. Mitchell testified that “I found a number of other source code in other files that called that function,” RT 1329:13-14 (Mitchell), but the phrase “a number of other source code” is barely intelligible. Dr. Mitchell never actually identified any Android file outside of TimSort that called rangeCheck, or explained how that could be possible for a private method like rangeCheck.
did not even join the Android team until December 2008 or January 2009. RT 733:8-11 (Bloch). He finished TimSort at some point in early 2009, at which point he contributed that file both to Sun’s OpenJDK project and to Android. RT 822:4-9 (Bloch). Further, rangeCheck has been out of the current release of Android for about a year. RT 825:8-23 (Bloch). The proven facts that both the platform’s initial adoption by handset makers and carriers and its recent growth happened in the absence of rangeCheck are additional reasons why no reasonable jury could link any of Android’s profits to the temporary inclusion of those nine lines in Android.
Oracle’s lone counterargument is that rangeCheck must be important to Android because that function is purportedly called 2,600 times when powering on a smartphone or starting an emulator. Oracle Br. at 3:13-17 (citing RT 1329:5-21 (Mitchell)). This is vacuous. It is meaningless to cite an arbitrary number of calls to a given method in the absence of context, and neither Dr. Mitchell nor any other witness testified as to whether rangeCheck was called any more or less than any other method in the Android software, during the startup sequence or any other time. In the world of sophisticated and ultrafast computer microprocessors, 2,600 calls to a function during the startup sequence of a smartphone could be a low number relative to other functions. There is no evidence in the record to enable the Court or the jury to tell either way. Equally, just because a software function is called frequently does not mean it is important; it would stand to reason that a trivial nine-line piece of code that accomplishes a Programming 101 parameter test, like rangeCheck does, might be invoked fairly frequently. Dr. Mitchell never opined that there is any correlation between the number of calls to a function and its significance, much less that rangeCheck itself is significant. He certainly did not say that rangeCheck offered a performance boost to Android—and Bloch, who wrote it, made clear it does not.
For all those reasons, even if Oracle had any evidence (and it doesn’t) of Google revenue causally linked to the TimSort files, it would make no difference. Google has carried its burden of proving that none of its Android profits are attributable to rangeCheck.
C. Oracle must elect either statutory damages or disgorgement—it cannot have both.
Although it does not press this point in its current brief, Oracle’s counsel was wrong as a matter of copyright law to argue in court on Monday that Oracle could recover both statutory
damages and disgorgement for copyright infringement. RT 2891:25-2892:3 (Mr. Boies: “[W]ith respect to [rangeCheck], the only thing we would claim would be statutory damages. But, of course, in copyright you get both your damages plus you get infringer’s profits.”). The plain language of the Copyright Act makes clear that a copyright plaintiff may elect to pursue either (1) actual damages and, as long as there is no double-counting, “profits of the infringer attributable to the infringement” or (2) statutory damages—but not both. 17 U.S.C. § 504(a) (infringer is liable for either actual damages plus the infringer’s wrongful profits or statutory damages); id. § 504(b) (defining wrongful profits); id. § 504(c)(2) (plaintiff may elect statutory damages “instead of actual damages and profits”). Based on its brief arguing for recovery of Google’s profits, Oracle appears to have elected disgorgement, and any award of damages or profits, even a nominal award of $1, would preclude any recovery of statutory damages. Moreover, as already discussed, Oracle’s election to seek disgorgement would result in Oracle recovering nothing, because it cannot meet its initial burden of linking any of Google’s revenues to rangeCheck.
D. Google does not waive its right to a jury trial on its fair use defense, but would be
willing to agree to let the Court decide Oracle’s entitlement to damages for
infringement of rangeCheck or either of the two patents-in-suit.
As Google indicated on Tuesday when it filed its motion for a new trial on the entirety of Oracle’s claim for infringement of the structure, sequence, and organization of 37 Java API packages, Google is unwilling to waive its right to a jury trial on any aspect of that claim, including its fair use defense. Given that Oracle has no conceivable basis to seek anything other than statutory damages for infringement of rangeCheck, Oracle’s offer to give up its nonexistent disgorgement claim in exchange for a jury waiver by Google on “by far the most important” issue in the entire case, Oracle Br. [Dkt. 1106] at 1:19, is (to put it mildly) not serious.
That said, and although the parties have a Seventh Amendment right to a jury trial even on statutory damages for copyright infringement, see Feltner v. Columbia Pictures Television, Inc., 523 U.S. 340, 355 (1998), Google would consent to have the Court resolve not only Oracle’s damages for any literal copying, but also for patent infringement, if Oracle prevails on any of its patent claims. Oracle is entitled to little or no damages on rangeCheck, and the Court’s Rule 706 damages expert Dr. Kearl has estimated Oracle’s damages for the ‘520 patent at $80,000. Even
as to the ‘104 patent, all the various experts estimate modest damages, in the range between $2.1 million (Google’s expert Dr. Leonard’s low-end estimate) to $13.275 million (Oracle’s Dr. Cockburn’s estimate). Dr. Kearl is at $2.72 million for the ‘104 patent, much closer to the low end. Further, as the Court knows, the ‘104 patent currently stands rejected by the U.S. Patent & Trademark Office (and is set to expire in December of this year). Accordingly, Google proposes that the Court assess damages for literal copying and patent infringement, if any, after the USPTO issues its final office action on the ‘104 patent.
Dated: May 10, 2012
KEKER & VAN NEST LLP
/s/ Robert A. Van Nest
By: ROBERT A. VAN NEST
Attorneys for Defendant