The judge in the Oracle v. Google litigation has denied Oracle's risible
renewed motion for judgment as a matter of law under Rule 50(b), one day after Oracle filed its reply to Google's opposition to it. No ruling in Oracle's favor, therefore, will be forthcoming, and no new trial. Also, no hearing on the 26th. The judge didn't need to hear them jabber on about all this in person, at further expense to both sides, before making his decision. So, on to the appeals court, if Oracle is as foolish as it's been so far and just loves spending money on stupid lawsuits.
Here are the docket entries:
07/12/2012 - 1219 - REPLY
(re 1212 MOTION for Judgment as a Matter of Law - ORACLE AMERICA,
INC.'S MOTION FOR JUDGMENT AS A MATTER OF LAW UNDER RULE 50(B) OR, IN
THE ALTERNATIVE, FOR A NEW TRIAL - ) - ORACLE AMERICA, INC.'S REPLY IN
SUPPORT OF ITS MOTION FOR JUDGMENT AS A MATTER OF LAW UNDER RULE 50(B)
OR, IN THE ALTERNATIVE, FOR A NEW TRIAL - filed by Oracle America,
Inc.. (Jacobs, Michael) (Filed on 7/12/2012) (Entered: 07/12/2012)
1220 -
Filed & Entered: 07/13/2012
DOCUMENT E-FILED UNDER SEAL re [1218] Order on Administrative Motion to File Under Seal by Google Inc.. (Attachments: # (1) Exhibit B, # (2) Exhibit C(1), # (3) Exhibit C(2), # (4) Exhibit C(3), # (5) Exhibit C(4))(Van Nest, Robert) (Filed on 7/13/2012)
1221 -
Filed & Entered: 07/13/2012
ORDER DENYING MOTION FOR JUDGMENT AS A MATTER OF LAW AND NEW TRIAL by Hon. William Alsup denying [1212] Motion for Judgment as a Matter of Law.(whalc1, COURT STAFF) (Filed on 7/13/2012)
The order is short and to the point, with the judge directing Oracle to read up on his prior orders if they wish to know why he's not saying yes this time either:
Plaintiff Oracle America, Inc. moves for judgment as a matter of law under Rule 50(b), or in the alternative, for a new trial under Rule 59, on issues of patent and copyright infringement. Oracle’s arguments are repetitive of its Rule 50(a) motions and rely on the same evidence. For reasons stated in prior orders (Dkt. Nos. 1119, 1165, 1201, 1202, 1203, 1211), Oracle’s motion is DENIED. The hearing scheduled for July 26 is VACATED.
That's how judges tell you you didn't need to go to all that trouble. You can find all those orders on our permanent Oracle v. Google timeline page. I'll have
Oracle's reply as text, for historians and the appeals court, shortly, because for sure that's who Oracle wrote it to.
[ Update: I see a number of questions about this type of motion, specifically if Oracle was required to file it. The answer is yes and no. No entity is required to appeal, for starters, but if it wishes to raise certain issues on appeal, for example asking for a new trial or raising a question about the sufficiency of evidence, then a Rule 50(b) motion is required as a followup to a Rule 50(a) motion, as
LexisNexis briefly explains. Here is a paper [PDF] that explains it in more detail. It's written in the context of Illinois, so skip over those parts, and focus on the federal aspects only. And here's the rule itself, which is more or less self-explanatory, I think:
(b) Renewing the Motion After Trial; Alternative Motion for a New Trial. If the court does not grant a motion for judgment as a matter of law made under Rule 50(a), the court is considered to have submitted the action to the jury subject to the court's later deciding the legal questions raised by the motion. No later than 28 days after the entry of judgment—or if the motion addresses a jury issue not decided by a verdict, no later than 28 days after the jury was discharged—the movant may file a renewed motion for judgment as a matter of law and may include an alternative or joint request for a new trial under Rule 59. In ruling on the renewed motion, the court may:
(1) allow judgment on the verdict, if the jury returned a verdict;
(2) order a new trial; or
(3) direct the entry of judgment as a matter of law.
(c) Granting the Renewed Motion; Conditional Ruling on a Motion for a New Trial.
(1) In General. If the court grants a renewed motion for judgment as a matter of law, it must also conditionally rule on any motion for a new trial by determining whether a new trial should be granted if the judgment is later vacated or reversed. The court must state the grounds for conditionally granting or denying the motion for a new trial.
(2) Effect of a Conditional Ruling. Conditionally granting the motion for a new trial does not affect the judgment's finality; if the judgment is reversed, the new trial must proceed unless the appellate court orders otherwise. If the motion for a new trial is conditionally denied, the appellee may assert error in that denial; if the judgment is reversed, the case must proceed as the appellate court orders.
(d) Time for a Losing Party's New-Trial Motion. Any motion for a new trial under Rule 59 by a party against whom judgment as a matter of law is rendered must be filed no later than 28 days after the entry of the judgment.
(e) Denying the Motion for Judgment as a Matter of Law; Reversal on Appeal. If the court denies the motion for judgment as a matter of law, the prevailing party may, as appellee, assert grounds entitling it to a new trial should the appellate court conclude that the trial court erred in denying the motion. If the appellate court reverses the judgment, it may order a new trial, direct the trial court to determine whether a new trial should be granted, or direct the entry of judgment.
The second linked paper lists all the other reasons that would make a Rule 50(b) motion necessary if you wish to preserve certain types of issues for the appeal, but for Oracle, the fact that it is asking for a new trial made it necessary, no matter what else they had in mind. Again, you are not required to ask for all types of relief known to man. Some plaintiffs who lose realize that an appeal is pointless, because they didn't have a good case, after watching the whole thing play out. But if you wish to litigate each and every possible issue there is in the lawyers' deck of cards, you do this. Why? One, you may think you are so, so right and so, so robbed of justice that you simply must go forward with an appeal. Or two, you are hoping that you can win on some lucky technical break even if you have no hope of winning on the merits in any courtroom in any jurisdiction on the planet. It can happen. Of course, you always say publicly you are in the first category. - End Update.]
And here it is, Oracle's reply preserving its issues for appeal, as text:
********************
MORRISON & FOERSTER LLP
MICHAEL A. JACOBS (Bar No. 111664)
[email]
KENNETH A. KUWAYTI (Bar No. 145384)
[email]
MARC DAVID PETERS (Bar No. 211725)
[email]
DANIEL P. MUINO (Bar No. 209624)
[email]
[address]
[phone]
[fax]
BOIES, SCHILLER & FLEXNER LLP
DAVID BOIES (Admitted Pro Hac Vice)
[email]
[address]
[phone]
[fax]
STEVEN C. HOLTZMAN (Bar No. 144177)
[email]
[address]
[phone]
[fax]
ORACLE CORPORATION
DORIAN DALEY (Bar No. 129049)
[email]
DEBORAH K. MILLER (Bar No. 95527)
[email]
MATTHEW M. SARBORARIA (Bar No. 211600)
[email]
[address]
[phone]
[fax]
Attorneys for Plaintiff
ORACLE AMERICA, INC.
UNITED STATES DISTRICT COURT
NORTHERN DISTRICT OF CALIFORNIA
SAN FRANCISCO DIVISION
ORACLE AMERICA, INC.
Plaintiff,
v.
GOOGLE INC.
Defendant.
Case No. CV 10-03561 WHA
ORACLE AMERICA, INC.'S REPLY
IN SUPPORT OF ITS MOTION FOR
JUDGMENT AS A MATTER OF
LAW UNDER RULE 50(B) OR, IN
THE ALTERNATIVE, FOR A NEW
TRIAL
Date/Time: July 26, 2012, 8:00 a.m.
Dept.: Courtroom 8, 19th Floor
Judge: Honorable William H. Alsup
TABLE OF CONTENTS
Page
I. GOOGLE INFRINGED ORACLE'S JAVA-RELATED COPYRIGHTS ................ 1
A. Oracle Owns The Asserted Copyrights.....................1
B. Google Infringed By Copying Comments From Oracle Source Code..............1
C. Google Copied Java Specifications Into Android Specifications ........2
D. Google's Copying Is Not Fair Use ................. 3
1. Google Made Huge Profits By Commercially Exploiting Oracle's
Copyrighted Works .................. 3
2. Both Sides Acknowledged the Creative Nature of Oracle's Work .......... 5
3. Google Copied the Backbone of Oracle's Copyrighted Work........... 6
4. Google's Use Harms the Potential Market For and Value of the
Copyrighted Work .................. 6
E. Oracle Is Entitled To Judgment On Copyrightability............... 7
F. Google Created An Infringing Derivative Work.................. 9
II. GOOGLE INFRINGED THE ASSERTED CLAIMS OF THE '104 PATENT ............... 9
A. Android's Resolve.C Infringes Claims 11, 39, 40, And 41 Of The '104
Patent Because Dalvik Bytecode Instructions Contain Symbolic References .............. 9
B. Android Dexopt Infringes Claims 27 And 29 Of The '104 Patent ........... 11
III. GOOGLE INFRINGED THE ASSERTED CLAIMS OF THE '520 PATENT.............. 12
IV. GOOGLE'S EQUITABLE DEFENSES FAIL ................14
A. Google Did Not Meet Its Burden Of Proving Equitable Estoppel............ 14
B. Google Did Not Meet Its Burden Of Proving Laches ................14
V. THE COURT SHOULD GRANT JMOL ON GOOGLE'S ALTERNATIVE
DEFENSES TO PATENT INRINGEMENT ................. 15
VI. IN THE ALTERNATIVE, ORACLE IS ENTITLED TO A NEW TRIAL........... 15
CONCLUSION .....................15
i
TABLE OF AUTHORITIES
Page(s)
CASES
A.C. Aukerman Co. v. R.L. Chaides Constr. Co.,
960 F.2d 1020 (Fed. Cir. 1992) (en banc)............. 15
A&M Records, Inc. v. Napster, Inc.,
239 F.3d 1004 (9th Cir. 2001) ................... 4, 5
Brocade Commc'ns Sys., Inc. v. A10 Networks, Inc.,
2011 U.S. Dist. LEXIS 91384 (N.D. Cal. Aug. 16, 2011) .............. 2
Campbell v. Acuff-Rose Music, Inc.,
510 U.S. 569 (1994) ................... 4, 7
Computer Assocs. Int'l, Inc. v. Altai, Inc.
982 F.2d 693 (2d Cir. 1992) ................... 8, 9
Elvis Presley Enters., Inc. v. Passport Video,
349 F.3d 622 (9th Cir. 2003), overruled on different grounds in Flexible Lifeline Sys.
v. Precision Lift, Inc., 654 F.3d 989 (9th Cir. 2011) ................ 5, 6
Granite State Ins. Co. v. Smart Modular Techs., Inc.,
76 F.3d 1023 (9th Cir. 1996) .................... 7, 14
Harper & Row, Publishers, Inc. v. Nation Enters.,
471 U.S. 539 (1985)................... 6
Kelly v. Arriba Soft Corp.,
336 F.3d 811 (9th Cir. 2003) ................... 6
Mitel, Inc. v. Iqtel, Inc.,
124 F.3d 1366 (10th Cir. 1997) ...................... 8
Sega Enters. Ltd. v. Accolade, Inc.,
977 F.2d 1510 (9th Cir. 1993) .................... 5
Sony Computer Entm't, Inc. v. Connectix Corp.,
203 F.3d 596 (9th Cir. 2000) .................... 4
Swirsky v. Carey,
376 F.3d 841 (9th Cir. 2004) ...................8
United Fabrics Int'l, Inc. v. C&J Wear, Inc.,
630 F.3d 1255 (9th Cir. 2011) ................... 1
Urantia Found. v. Maaherra,
114 F.3d 955 (9th Cir. 1997) ................... 2
ii
Worldwide Church of God v. Philadelphia Church of God, Inc.,
227 F.3d 1110 (9th Cir. 2000) ..................... 4, 6
iii
Oracle submits this reply brief in support of its motion for judgment as a matter of law
under Rule 50(b) or, in the alternative, for a new trial.
I. GOOGLE INFRINGED ORACLE'S JAVA-RELATED COPYRIGHTS
A. Oracle Owns The Asserted Copyrights
Google states in its opposition that it contested Oracles ownership only of the eleven
individually copied code files, and that, as to those, "there is no need for a further order on the
copyright ownership issue because the underlying liability issues have been resolved." ECF No.
1217 (Opp'n) at 1. To the extent Google is stating it will no longer challenge ownership of even
the eleven individual files, Oracle agrees no ownership issue remains.
Moreover, as stated in Oracle's opening brief, the Court already decided this issue against
Google. See ECF No. 1165 at 2. Google incorrectly claims Oracle "failed to introduce any
evidence that Oracle was the author of or the owner of the copyright rights in any of those eleven
individual files." See Opp'n at 2. Oracle introduced the certificate of registration, which raises
the presumption of ownership even for individual works that are broadly registered as part of a
compilation or derivative work. See United Fabrics Intl, Inc. v. C&J Wear, Inc., 630 F.3d 1255,
1257-59 (9th Cir. 2011). In addition, Dr. Reinhold testified that in 2006, years before the
litigation, Sun reviewed all of the J2SE 5.0 source code to ascertain whether it was owned by Sun
or third parties and could be open-sourced. RT 2231:13-23 (Reinhold). The eleven files Google
copied are all part of J2SE 5.0. RT 693:1-695:9 (Reinhold). The source code for each of the files
was introduced into evidence, and each bears a Sun copyright notice. TX 623.1-10.
Google never presented any evidence to dispute ownership of the eleven files and waived
its right to present this issue to the jury. ECF No. 1165 at 2.
B. Google Infringed By Copying Comments From Oracle Source Code
Google does not dispute that it copied comments from two Java files. It claims its
copying is de minimis because Oracle "failed to present evidence showing that the 'average
audience' would recognize the alleged copying of the source code comments." Opp'n at 2. This
is false. Oracle introduced the relevant files into evidence, and they show that Google copied 49
lines of English language comments word for word identically. Compare TX 623.9 with TX
1
1039; compare TX 623.10 with TX 1040. Dr. Mitchell also displayed examples of the copied
comments and original comments side-by-side and testified the copied comments are
"syntactically . . . identical." RT 1262:13-1263:10. Google did not contest this.
By agreement of the parties, the Court told the jury in response to a question that,
"'Average audience' means those who would be expected to read the copyrighted works." RT
2687:20-2689:13. A reasonable jury could only find such an audience would recognize copying.
Google also claims the copied comments are not qualitatively significant because they are
not compiled into object code. Opp'n at 2. But this is true of all comments. Under Google's
reasoning all comments to computer programs could be freely copied, even though they are
expressive in nature. See, e.g., Brocade Commcns Sys., Inc. v. A10 Networks, Inc., 2011 U.S.
Dist. LEXIS 91384 at *7-8 (N.D. Cal. Aug. 16, 2011) (noting expressive character of comments).
Oracle properly objected that Google has the burden of proving de minimis copying. See,
e.g., ECF No. 1018 at Jury Instruction 28; RT at 2404:10-2405:2 (charging conference). Google
failed to meet that burden. But even if Oracle had the burden of proof it more than met it here.
C. Google Copied Java Specifications Into Android Specifications
Copyright protects the SSO of documentation. See, e.g., Urantia Found. v. Maaherra,
114 F.3d 955, 959 (9th Cir. 1997). Had the issue of SSO copying been submitted to the jury
along with copying of the English-language descriptions, the jury would necessarily have found
Google infringed Oracle's copyright in its documentation because, as Google concedes, the SSO
of the documentation is identical to the SSO of the Java API packages, which the jury found to
infringe. See Opp'n at 3. A reasonable jury would have done so even under a virtual identity
standard because Googles expert conceded the SSO of the 37 Java and Android APIs are
virtually identical. See ECF No. 1212 (Mot.) at 5; RT 2214:3-9 (Astrachan) (SSO is "virtually
identical").
Contrary to Google's argument, the Court may consider this issue under Rule 50 even
though it was not submitted to the jury. See ECF No. 1201 at 3 ("The final charge to the jury was
and remains the complete statement of the law governing the trial issues unless a timely and
proper objection to the instructions was made and the Court now agrees that the objection has
2
merit.") (emphasis added). Oracle properly objected. See ECF No. 997 at 1-3; RT 2383:152389:
7. The Court should grant this motion because judgment is appropriate as a matter of law.
Google suggests the SSO of Oracle's documentation is not protectable because it was
"created automatically." Opp'n at 3. However, neither the English language comments nor the
SSO of the Java documentation were automatically generated. Developers painstakingly chose
the original selection, structure, sequence, and organization and wrote comments in each source
code file. See, e.g., RT 585:16-586:6, 621:7-622:5, 628:22-629:6, 634:1-25 (Reinhold); RT
1238:11-1239:12 (Mitchell). The fact that a computer program then extracts these comments and
formats them as HTML documentation does not render the text or the SSO unoriginal.
Finally, a jury instructed under the correct "substantial similarity" standard would have
found Google infringed the English-language descriptions in Oracle's documentation as well.
Google's argument that Oracle presented only three descriptions to the jury overlooks that Oracle
submitted complete sets of J2SE 5.0 and Android documentation into evidence. TX 610.2; TX
767. Google developer Bob Lee testified that the excerpts Oracle presented at trial were
"substantially similar," and that this same level of similarity exists across the documentation for
the 37 packages in suit. RT 1191:4-13, 1175:25-1176:3 (Lee); TX 610.2; TX 767.
D.
Google's Copying Is Not Fair Use
Google argues Oracle's motion is moot as to fair use given the Court's copyrightability
ruling. Opp'n at 9. Oracle acknowledges granting JMOL on fair use would require the Court to
overturn its copyrightability order and moves on fair use to preserve its rights on appeal.
1.
Google Made Huge Profits By Commercially Exploiting
Oracles Copyrighted Works
Google argues Android's use of the Java APIs is not "wholly 'commercial.'" Opp'n at 5.
This is nonsense. Android is hugely profitable. See RT 1458:12-16, 1456:15-19 (Schmidt);
2225:18-2226:24 (Agarwal); TX 1091. Indeed, Google Chairman Eric Schmidt testified: "the
primary reason to have something like Android is that people will do more searches, and then
we'll get more money as a result." RT 1458:13-15 (Schmidt) (emphasis added).
That Google makes most of its money indirectly, by selling advertising, changes nothing.
3
A defendant need not directly earn revenue from a work for its use to be commercial. As the
Court stated in response to a juror's question on the subject, "[W]ith respect to the first factor that
calls out the purpose and the character of the use, that phrase contemplates both direct and
indirect uses." RT 2668:18-20; see also A&M Records, Inc. v. Napster, Inc., 239 F.3d 1004, 1015
(9th Cir. 2001) ("Direct economic benefit is not required to demonstrate a commercial use.").
Even a non-profit organization — which hardly describes Google — cannot freely copy another's
work to earn revenue. See Worldwide Church of God v. Philadelphia Church of God, Inc., 227
F.3d 1110, 1118 (9th Cir. 2000) (finding no fair use where unauthorized distribution of plaintiff's
religious book profited defendant "by attracting . . . new members who tithe ten percent of their
income to PCG, and by enabling the ministry's growth").
Google's reliance on Sony Computer Entmt, Inc. v. Connectix Corp., 203 F.3d 596 (9th
Cir. 2000) for this point is misplaced. To the extent the court found "Connectix's commercial use
of the copyrighted material . . . was only indirect or derivative," 203 F.3d at 607 (internal
quotation omitted), it is because that case concerned intermediate copying, not a business model
involving indirect earnings. Sony did not even contend that Connectix's final product infringed.
Id. at 604 n.7. Here, by contrast, Oracle accused Google's final product, and a jury found that
Android does, in fact, infringe Oracle's copyright in the SSO of the Java APIs.
Google incorrectly relies on Campbell to argue that "commercial use does not as a matter
of law tilt the first factor against fair use." Opp'n at 5. The most Google can claim from
Campbell is that "the more transformative the new work, the less will be the significance of other
factors, like commercialism, that may weigh against a finding of fair use." Campbell v. Acuff-Rose
Music, Inc., 510 U.S. 569, 579 (1994). Campbell was a parody case, and the Supreme Court
emphasized that in evaluating whether a use is transformative, "[t]he enquiry here may be guided
by the examples given in the preamble to §107, looking to whether the use is for criticism, or
comment, or news reporting, and the like." Id. at 578-79. "[P]arody has an obvious claim to
transformative value." Id. at 579. The same does not hold true for software. Google does not use
Java for criticism or comment. Google copied the Java APIs to make money. See RT 1458:12-16
(Schmidt). Post-Campbell case law consistently holds commercial use, like Google's, weighs
4
against fair use. "Although not controlling, the fact that a new use is commercial as opposed to
non-profit weighs against a finding of fair use." Elvis Presley Enters., Inc. v. Passport Video, 349
F.3d 622, 627 (9th Cir. 2003), overruled on different grounds in Flexible Lifeline Sys. v.
Precision Lift, Inc., 654 F.3d 989 (9th Cir. 2011); see also Napster, 239 F.3d at 1015.
Google also does not meet the transformative test under Campbell and the decisions that
have followed it. Android uses the 37 Java APIs in exactly the same way and for exactly the
same purpose. Google does not even respond to Oracle's evidence that Android uses the Java
APIs for the same purpose that Oracle licensees such as Research in Motion, Nokia, and Danger
used the Java APIs. See Mot. at 7. Labeling Android a "full stack" does not help Google; its
final product competes with products from Oracle licensees, and including additional APIs with
these 37 does not make the use transformative.
2.
Both Sides Acknowledged the Creative Nature of Oracle's
Work
Because Google copied creative elements from Oracle's work, the second factor also
weighs against fair use. Merely labeling a work as "functional" does not lead to a contrary result.
In Sega, which Google cites, the Ninth Circuit noted: "To the extent that there are many possible
ways of accomplishing a given task or fulfilling a particular market demand, the programmer's
choice of program structure and design may be highly creative and idiosyncratic." Sega Enters.
Ltd. v. Accolade, Inc., 977 F.2d 1510, 1524 (9th Cir. 1993). It is only where expression is
"dictated by the function to be performed," id., that this factor favors fair use. In this case, all of
the testimony from both sides at trial was that designing APIs is a highly creative endeavor. See
Mot. at 8. Moreover, Google copied non-functional elements that were included for aesthetics
and comprehensibility, not to meet technical constraints. Dr. Reinhold testified:
In the Java Platform APIs, for example, we could have put all of the classes into
one giant package. We could have given classes packages, interfaces, methods,
fields. We could have given them completely random names and they would still
run just fine on the computer. They would be really hard to use from the
developer's, the software developer's standpoint, but in a certain sense the
computer doesn't care. They are just names.
RT 619:16-23. No witness ever challenged this testimony. See also RT 752:5-6 (Bloch) ("Q.
There are aesthetic matters in API design; correct, sir? A. Yes, there are.").
5
3.
Google Copied the Backbone of Oracle's Copyrighted Work
Google does not dispute that it copied the SSO of 37 of 166 API packages in J2SE.
Opp'n at 9. Nor does Google dispute that the materials it copied "replicate [] every structural and
organizational element" of the 37 packages-in-suit. RT 2191:17-20 (Astrachan). Thus Google
has effectively admitted it copied quantitatively and qualitatively significant portions of Oracle's
work. See Harper & Row, Publishers, Inc. v. Nation Enters., 471 U.S. 539, 564-65 (1985)
(finding infringement based on copying of 300 words of Gerald Ford's memoirs).
Google's argument, instead, is that it copied no more than necessary for its intended use.
As discussed in Oracle's opening brief, this argument is factually wrong. Both sides agreed that
only about 60 classes are required for the Java language to function. See Mot. at 14. Google's
claim that it copied only what was necessary is tautological: Google took what it wanted. This
does not make Google's use fair. "[A] finding that the alleged infringers copied the material to
use it for the same intrinsic purpose for which the copyright owner intended it to be used is strong
indicia of no fair use." Worldwide Church of God, 227 F.3d at 1118 (quoting Marcus v. Rowley,
695 F.2d 1171, 1175 (9th Cir.1983)). But even if Google were right, at most that would render
the third factor neutral. See Kelly v. Arriba Soft Corp., 336 F.3d 811, 821 (9th Cir. 2003).
4.
Google's Use Harms the Potential Market For and Value of the
Copyrighted Work
Even where the use of a work is partly transformative, courts may still presume market
harm from commercial use. See Passport Video, 349 F.3d at 629, 631 (finding that "Passport's
use of many of the television clips is transformative," but that "if the purpose of the new work is
commercial in nature, 'the likelihood [of market harm] may be presumed.'").
That presumption applies with particular force here, where Android devices that copy the
Java APIs compete directly with smartphones that license Oracle's APIs. Oracle elicited
testimony that there are 750,000 Android-compatible device activations each day containing the
infringing code. RT 1017:4-16 (Morrill). Google argues that it "helped" the Java business rather
than harmed it because Oracle's overall "Java business" continues to grow. Opp'n at 12. But
Google's argument takes no account of the potential licensing revenue Oracle is losing every day.
6
See Campbell, 510 U.S. at 590 (court should consider "'whether unrestricted and widespread
conduct of the sort engaged in by the defendant . . . would result in a substantially adverse impact
on the potential market' for the original") (citation omitted). Moreover, the licensing figures
Google cites are the combined licensing revenues for the Enterprise, Standard, Micro, and Card
editions of Java — see RT 1926:13-1927:23 (Rizvi); TX 573 at 5. This encompasses licensing
revenue from a broad range of products from enterprise servers, to computers to memory cards,
most of which have nothing whatsoever to do with this case. And, of course, the market overall
for mobile devices is itself growing. By making Android available for free, Google interferes
with Oracle's ability to generate revenue from licensing Java for use in smartphones.
Google also cannot so easily dismiss fragmentation. Oracle presented extensive evidence
at trial that Java's "write once run anywhere" capability is fundamental to its value. See, e.g., RT
295:15-19, 296:2-4 (Ellison); 381:15-25 (Kurian). Oracle and the entire Java community have
spent years of effort trying to preserve this. See, e.g., RT 293:11-296:4, 298:15-299:10, 302:8-303:6
(Ellison); TX 610.1; TX 980 at 6. Google itself tries to prevent fragmentation of Android.
See, e.g., TX 749 at 8-9 (Android Compatibility Definition). Android has fragmented Java. The
fact that Oracle provides four Java software platforms suitable for different needs does nothing to
lessen the harm from Android's fragmentation. The existence of different software platforms for
such different systems is hardly surprising. It would not make sense to have the same software
platform for powerful enterprise servers and tiny memory cards given the vastly different needs
of the systems they must support. The fourth factor weighs strongly against fair use as well.
E. Oracle Is Entitled To Judgment On Copyrightability
The parties agree Oracle is not required to file a rule 50 motion on copyrightability
because the Court decided that issue. See Mot. at 9-10; Opp'n at 12-13; see also Granite State
Ins. Co. v. Smart Modular Techs., Inc., 76 F.3d 1023, 1030-31 (9th Cir. 1996). Oracle addressed
copyrightability in its motion as a precaution to ensure its rights are preserved on appeal.
Oracle set forth its position in its opening brief, as well as in the prior briefing it
incorporates by reference. The parties have extensively briefed the copyrightability issue at the
Court's request. Google is in no position to complain about incorporating this briefing by
7
reference, since Google did precisely the same thing in its Rule 50(a) motion — indeed
incorporation by reference of the prior briefing was the sole basis for the portion of Google's
Rule 50(a) motion directed to the copyrightability issue. See ECF No. 1043 at 2.
Oracle briefly addresses the issue of scenes a faire here, because Google suggests it could
be used as an alternative ground to support the Court's copyrightability order, even though
Google recognizes that "the Court did not so hold." Opp'n at 14. Google never established at
trial that the APIs consisted entirely of "commonplace expressions [that] are indispensable and
naturally associated with the treatment of a given idea." Swirsky v. Carey, 376 F.3d 841, 850 (9th
Cir. 2004). As the Court held, "it is impossible to say on this record that all of the classes and
their contents are typical of such classes and, on this record, this order rejects Google's global
argument based on scenes a faire." ECF No. 1202 at 36-37 n.9. The only evidence submitted on
this issue showed that, far from being commonplace inevitable expressions, APIs solving the
same problems can be designed very differently. See, e.g., RT 627:21-628:1 (Reinhold) ("In
anything except the most trivial API design, there are so many choices to be made I wouldn't
know how to start counting them."); id. at 623:17-626:15, 627:21-629:6 (java.nio); id. at 630:11-631:18
(java.util.logging); 1240:23-1244:16 (Mitchell) (data collections, java.util).
Google argues the Court should nonetheless apply the scenes a faire doctrine because the
APIs have become commonplace among Java developers. Google totally misstates the law.
None of the cases it cites supports the argument that a copyrighted work loses its copyrightability
under the scenes a faire doctrine when it becomes popular. In Swirsky, defendant's unsuccessful
scenes a faire argument was that two of the measures of plaintiff's song could not be copyrighted
because they resembled the folk song, "For He's a Jolly Good Fellow." Swirsky, 376 F.3d at 850.
And in Mitel, Inc. v. Iqtel, Inc., 124 F.3d 1366, 1375 (10th Cir. 1997), the Tenth Circuit
expressly rejected the argument that plaintiff's four-digit command codes were uncopyrightable
scenes a faire because they had become a common practice in the industry and were copied for
efficiency. ("The court's analytical focus should have remained upon the external factors that
dictated Mitel's selection of registers, descriptions, and values.") (emphasis added). Similarly, in
Computer Associates International, Inc. v. Altai, Inc., the Second Circuit stated the court should
8
"examine the structural content of an allegedly infringed program for elements that might have
been dictated by external factors." 982 F.2d 693, 710 (2d Cir. 1992) (emphasis added).
F.
Google Created An Infringing Derivative Work
Google does not deny Android is based on Oracle's API specifications. It cannot because
its own witnesses admitted this. See RT 2219:7-18 (Astrachan) (Android source code was "based
on the specification"); id. at 2214:17-2216:19; see also 982:25-983:3 (Lee) (admitting Google
consulted Java API specifications when developing Android); 1836:19-1837:2 (Bornstein)
(Android team used Java specifications to derive information for implementing Android APIs). It
is no coincidence that the SSO for the 37 Android APIs is virtually identical to Java's. Google
implemented its "core" libraries based on the Java API specifications. RT 985:3-6 (Lee).
Google instead argues its creation of a derivative work is not actionable because the
material it copied is not copyrightable. See Opp'n at 16-17. Google's argument that it utilized
only unprotectable ideas from Oracle's English language descriptions is incorrect for the reasons
stated in Oracle's opening brief. See Mot. at 16-17. If Google is wrong about copyrightability,
this defense disappears, as does its attempt to distinguish the cases cited in Oracle's opening brief.
II.
GOOGLE INFRINGED THE ASSERTED CLAIMS OF THE '104 PATENT
A.
Android's Resolve.C Infringes Claims 11, 39, 40, And 41 Of The '104 Patent
Because Dalvik Bytecode Instructions Contain Symbolic References
Google claims Dalvik only contains indexes which are not symbolic references. But the
undisputed facts show a field index in a Dalvik bytecode instruction meets the Court's definition
of "symbolic reference."
The field index contained in a Dalvik IGET instruction specifies the field from which data
is to be obtained. TX 735 at 6; RT 3221:2-10 (McFadden). As Mr. McFadden testified:
Q. Can you explain what the iget instruction is?
A. That is the instance field get instruction. What that means is there is an object
somewhere and you need to get a piece of data out of it. The data is stored in
fields. So what this instruction does is it finds the instance of the object and
retrieves the data from the specified field.
RT 3221:2-7 (McFadden); see also 3968:10-15 (August). As such, the IGET instruction
corresponds to the "LOAD 'y" instruction in the '104 patent. RT 3297:10-3302:2 (Mitchell);
9
3956:2-3961:6 (August). According to Mr. McFadden's testimony, the "data" that the IGET
instruction specifies and retrieves is actual field data from the instance of an object. RT 3759:123762:6 (McFadden). Google failed to rebut this evidence. See Opp'n at 18.
Google's argument that the IGET instruction corresponds to the "LOAD 2" instruction
depicted in the patent is unsupported. The "LOAD 2" instruction fetches the value stored in the
second slot of the instance of a data object. RT 3957:12-3958:10 (August). But the IGET
instruction does not fetch the "data" stored in the Field ID table and store it in a Dalvik register
for use by other Dalvik virtual machine instructions. RT 3760:10-13 (McFadden) ("Q. The IGET
instruction doesnt obtain the number '2,' shown here under field ID, or '76' from the string ID
table, and store '2' or '76' in a Dalvik register; does it? A. It does not.").
No reasonable jury could find that a field index in an IGET instruction is not a symbolic
reference to field data in an object. Indeed, Mr. McFadden testified that an index in a Dalvik
instruction is a reference to a class, field, method, or string:
Q. And the performance is improved by storing the results of resolution because
if you didn't store the results, then we would have to repeat the resolver process
every time something referred to a class field, a method or a string in the
instruction stream; true?
A. If it refers to it by the index, then yes.
Q. If it referred to a class, field, method or string in the instruction stream, you
mean if it referred to the class, field, method or string by an index in the
instruction stream; is that how you would correct it?
A. By the class index, field index, method index, string index.
RT 3240:11-22 (McFadden) (emphasis added). As Oracle pointed out in its opening brief (Mot.
at 18), every Google witness confirmed the field index contained in Dalvik's IGET instruction is
not the numeric memory location of the value of the data from the instance of an object. RT
3614:22-3615:16 (Bornstein); 3761:11-3762:6 (McFadden); 3970:20-3971:3 (August). Google
failed to identify any contrary evidence. See Opp'n at 19. Because a field index refers to a field,
but is not the numeric memory location of the field, it is a symbolic reference.
That a field index is resolved into a pointer (a numeric memory location) further
establishes that it is a symbolic reference. Mr. McFaddens testimony proved this point:
10
Q. So the resolver uses the strings in the DEX file to convert the instruction
stream index into a pointer, correct?
A. Yes.
* * *
Q. The Dalvik VM stores pointers that result from resolving the indexes?
A. Yes.
RT 3235:11-13, 3236:6-8 (McFadden). This testimony also establishes why Google's argument
(Opp'n at 19) that strings are what are "resolved" fails. It is the field index that specifies the field
from which data is obtained, and it is the field index that is resolved by the Dalvik VM into the
numeric memory location of that data. The string containing the name of the field, which is used
in the resolution process, is not resolved into the location of the data, as Google argues (Opp'n at
19), because it could also be the name of a different field or the name of a method:
Q. Ahh, okay. Now we're in sync. And "fun" is a symbol representing a field
that has a value?
A. "Fun" is just a symbol. I could have a method called "fun." I could have 10 -- 10
different classes with fields called "fun." And they would all use the same
symbol because in a dex file all instances of the word "fun" are shared.
RT 3758:4-9 (McFadden). It is the field index in the IGET instruction, not a string in the string
data table, that is the reference to the field: the IGET instruction "[performs] the identified object
instance field operation with the identified field, loading or storing into the value register." TX
735 at 6 (emphasis added).
No reasonable jury could conclude that the field index in a Dalvik IGET instruction is not
a symbolic reference to the actual field data that IGET is supposed to get. Whether it is also an
index into a table that contains information that the resolver functions use to determine the
numeric memory location of the actual field data is irrelevant. Under the Court's construction of
symbolic reference, it is enough that a field index identifies — "specifies," in Mr. McFadden's
words — data to be obtained, by something other than the data's location.
B. Android Dexopt Infringes Claims 27 And 29 Of The '104 Patent
Oracle is also entitled to JMOL that Android's dexopt infringes '104 patent claims 27 and
29. There is no factual dispute about how dexopt works. Google's engineers testified dexopt
11
resolves symbolic references into numerical references. See, e.g., RT 3769:8-12 (McFadden).
The operation of dexopt confirms that a field index in an IGET instruction is a symbolic
reference. Dexopt replaces the IGET instruction and its field index operand with the
IGET_QUICK instruction, which has a field offset as an operand. See RT 3746:22-3747:14
(McFadden); RT 3301:18-19 (Mitchell). Google's argument (Opp'n at 20) that dexopt replaces
one numeric reference with another is wrong. Both the field index and the field offset are
references that specify the data that is to be obtained. RT 3221:5-7 ("So what this instruction
[IGET] does is it finds the instance of the object and retrieves the data from the specified field."),
3250:6-23 (McFadden). The difference is that the field offset is the numeric memory location of
the actual field data and the field index is not. RT 3761:7-10 (McFadden). The field offset is a
numeric reference to the actual field data and the field index is a symbolic reference to it.
Google has no rebuttal to the testimony that dexopt is performed with a running Dalvik
virtual machine. See Mot. at 20 (citing RT 3580:21-23 (Bornstein) and RT 3988:14-3989:23
(August)). Dexopt's symbolic reference resolution is a dynamic process: it is performed by a
running virtual machine (id.), requires information only available at runtime (TX 105 at 2-3), is
acknowledged by Google's and its customer's engineers alike to run at runtime (TX 1094), and
cannot be performed by the dx tool at compile time, because the dx tool lacks memory layout
information that is necessary. RT 3254:19-22 (McFadden).
Google also has no rebuttal (Opp'n at 20) to Mr. McFadden's admission that dexopt is
dynamic if "dynamic" means "depending on conditions on the handset which can change from
time to time." See, e.g., RT 3769:23-3770:1 (McFadden). Oracle's argument does not rest only
on Dr. Mitchell's opinion, as Google claims. Opp'n at 20. Google's own witnesses and
documents provided the evidence establishing dexopt resolves symbolic references dynamically.
No reasonable jury could find otherwise.
III. GOOGLE INFRINGED THE ASSERTED CLAIMS OF THE '520 PATENT
Oracle proved Google's dx tool infringes Claims 1 and 20 of the '520 patent. Google has
no response to the undisputed evidence of how the dx tool simulates execution of Java bytecodes
to convert them to Dalvik bytecodes. See TX 46.16 at lines 37-43, 86-105; TX 46.17 at lines 211,
12
887. Google instead makes an unsupported and untimely claim construction argument that
improperly limits Claim 1 to a preferred embodiment. If Google wished to construe "simulating
execution" in this way, it should have asked for claim construction of the term. But it did not,
and Google tries to disguise its failure by accusing Oracle of the sin that Google commits.
The record is clear: start to finish, Google's noninfringement argument rests on construing
"simulating execution" to require stack manipulation. Google argued this in its opening. RT
2988:8-12 (Van Nest) ("So the point on the '520 is also, I think, pretty simple. The patent
requires simulating execution going through the stack. And Android does it differently. Android
uses pattern matching. Doesn't use the stack for pattern matching."). Google expert Dr. Parr
testified that stack manipulation was a "core requirement" of simulating execution. RT 3794:1519
(Parr). Google argued in closing that there was "no meaningful definition . . . of simulating
execution of a stack machine without manipulation of a stack." RT 4185:14-15 (Van Nest).
Google persisted even after Oracle objected, and the Court instructed the jury that "the patent
claims are not limited to the examples." See RT 4186:14-15 (Court); 4188:2-16 (Van Nest).
Google's only noninfringement argument is a claim construction argument it should have
made through the Markman process but did not.1 Oracle raised claim differentiation with respect
to Claim 3 to demonstrate substantively that Google's untimely claim construction argument fails.
Google's footnote 5 (Opp'n at 22 n.5) misses the mark completely for two reasons: first, claim
construction arguments do not belong in an expert report or in trial witness testimony, and
second, it is not that claim differentiation prevents Claim 1 from covering stack manipulation, but
rather that claim differentiation means Claim 1 is not limited to stack manipulation.
Google's expert concedes that Google's dx tool runs through the clinit bytecode
instructions and identifies the static initialization of the array without executing the bytecodes.
RT 3793:2-5, 3807:10-14, 3820:12-22, 3821:16-23, 3822:17-3823:13 (Parr). Under the ordinary
meaning of "simulate execution," Oracle is entitled to JMOL.
13
IV. GOOGLE'S EQUITABLE DEFENSES FAIL
Oracle agrees it was not required to move under Rule 50 as to Google's two remaining
equitable defenses because the Court tried these defenses. See Granite State, 76 F.3d at 1030-31.
Google's equitable estoppel and laches defenses fail as a matter of law.
A. Google Did Not Meet Its Burden Of Proving Equitable Estoppel
As discussed in Oracle's opening brief, Google failed to prove any of the elements of
equitable estoppel. In particular, Google failed to show it relied on Sun/Oracle's conduct to its
detriment or that its reliance was reasonable. The jury rendered an advisory verdict on this issue
in Oracle's favor in Phase I. ECF No. 1089 ¶ 4.B. The Court has already found that "Google has
not met its burden of proving an overt act by Oracle and/or Sun indicating its intention to abandon
all rights to the Java platform, or to the specific technology at issue here" and rejected Google's
argument that the "congratulatory communications" it relied on at trial showed that Sun or Oracle
clearly intended to relinquish its rights. ECF 1203 at 3. The record is simply devoid of any
evidence that Sun or Oracle clearly indicated that they intended to relinquish their rights. Google
could not reasonably have relied on anything less than that. Google's opposition brief instead
cites only to these same congratulatory communications, referencing its proposed findings of fact.
See Opp'n at 24. Oracle refers the Court to its response. See ECF No. 1081, Resp. to Prop.
Findings of Fact Nos. 82-87. Google decided to develop Android and then implemented its
infringing technology long before these statements were even made.
B. Google Did Not Meet Its Burden Of Proving Laches
Google has also not met its burden of proving laches. The evidence at trial showed Sun
and Oracle engaged in licensing discussions with Google throughout the time period after
Android was publicly released See, e.g., RT 1071:23-1073:18 (Cizek); TX 1002; TX 1029; ECF
No. 1049 ¶¶ 85-87. Even Google concedes in its opposition that "Sun occasionally tried to
convince Google to take a license (in addition to entering a partnership) for Android." Opp'n at
24. The Court similarly has found that "Google concedes [that] Oracle continued and continues
to assert its rights as to other aspects of the platform such as the language specification and code."
14
ECF No. 1203 at 3. These facts render any alleged delay reasonable and excusable. See, e.g.,
A.C. Aukerman Co. v. R.L. Chaides Constr. Co., 960 F.2d 1020, 1033 (Fed. Cir. 1992) (en banc).
Google argues these negotiations should be overlooked because they "did not identify or
even allude to the copyrights-in-suit or patents-in suit." Opp'n at 24. This is factually and legally
incorrect. When discussing damages, Google has repeatedly emphasized that the parties engaged
in licensing discussions over a broad portfolio license that included the copyrights and patents-in suit. See, e.g., ECF No. 681 at 2; ECF No. 695 at 3-4; ECF No. 803 at 10. There is no
requirement in the caselaw that such negotiations specifically identify each patent or copyright in
the portfolio. It would be particularly inappropriate to impose such a requirement here when
Google has never claimed Sun or Oracle ever made any statement that Google was free to use any
specific patent or copyright, but instead purports to rely on broad congratulatory statements. In
reality, internal Google documents show it knew Sun believed Android required a license and
intentionally lay in the weeds, determined to "only respond further if Sun chases after us." TX
1029 at 1.
V.
THE COURT SHOULD GRANT JMOL ON GOOGLE'S ALTERNATIVE
DEFENSES TO PATENT INRINGEMENT
The Court should also grant Oracle judgment on Google's defenses of patent misuse, use
by the U.S., unclean hands and express license. Google acknowledges it did not present any
evidence on these defenses at trial and does not oppose JMOL as to them. Opp'n at 25.
VI.
IN THE ALTERNATIVE, ORACLE IS ENTITLED TO A NEW TRIAL
Google's opposition to Oracle's motion for a new trial simply incorporates its JMOL
arguments by reference. Id. For the reasons stated above, and in Oracle's opening brief, if the
Court declines Oracle's request for JMOL, then Oracle is entitled to a new trial.
CONCLUSION
For all the above reasons, Oracle asks that the Court enter judgment in its favor or, in the
alternative, that it grant Oracle's motion for a new trial.
15
Dated: July 12, 2012
MICHAEL A. JACOBS
KENNETH A. KUWAYTI
MARC DAVID PETERS
DANIEL P. MUINO
MORRISON & FOERSTER LLP
By: /s/ Michael A. Jacobs
Michael A. Jacobs
Attorneys for Plaintiff
ORACLE AMERICA, INC.
1 Google proposed construing "simulating execution of the byte codes of the clinit method against
a memory without executing the byte codes" in its Patent L.R. 4-2 disclosures, but did not select
the phrase for construction in the Patent L.R. 4-3 disclosures (ECF No. 91) or at any later time.
16
|