Google has filed its Bill of Costs [PDF] in the Oracle v. Google case -- $4,030,669 is the whopping total it would like Oracle to have to pay.
Google has also filed its response [PDF] to Oracle's motion for judgment as a matter of law. I have it as text for you. The introduction is succinct:
The Court should deny Oracle's renewed motion for judgment as a matter of law ("JMOL"), or, in the alternative, a new trial. Oracle's motion relies on conclusions from disputed evidence that are not taken in the light most favorable to the jury's verdict, ignores evidence supporting the jury's verdict, addresses legal issues that were never put to the jury in the first place, and asks the Court to rule on several issues that are now moot. It should be denied. The motion is improper anyway, Google argues, on so many levels.
Here's one of them:
1. Oracle's motion is improper.
Oracle's motion for judgment as a matter of law on
copyrightability is improper because Rule 50 does not apply to
issues decided by the Court. Granite State, supra, 76 F.3d
at 1030-31. The jury did not decide copyrightability, which was
addressed by the Court as a matter of law.
In order to seek the relief Oracle now seeks, it would have had
to file a motion for amended or additional findings under Fed. R.
Civ. P. 52(b), which it did not do. Moreover, even
if Oracle had filed a Rule 52(b) motion, the motion would be
improper. "The purpose of post-judgment motions under Rules 52(b)
and 59 is to give the district court an opportunity to correct
manifest errors of law or fact at trial, allow the parties to
present newly discovered evidence, take additional testimony, make
additional findings, or take other action in the interests of
justice." Sheldon L. Pollack Corp. v. Universal Health Servs.
Inc., 1990 WL 194282 at *1 (9th Cir. Dec. 6, 1990)
(unpublished); see also Rutter Group Prac. Guide Fed. Civ.
Trials & Ev. Ch. 17-E at
17:152. "'This is not to say, however, that a motion to amend
should be employed to introduce evidence that was available at
trial but was not proffered, to relitigate old issues, to advance
new theories, or to secure a rehearing on the merits.'"
Pollack, 1990 WL 194282 at *1 (quoting Fontenot v. Mesa
Petroleum Co., 791 F.2d 1207, 1219 (5th Cir.1986)) (emphasis
added); see also ATS Prods. Inc. v. Ghiorso, No. C10-4880,
2012 WL 1067547 at *1 (N.D. Cal. Mar. 28, 2012) ("Motions under
Rule 52(b) are designed to correct findings of fact which are
central to the ultimate decision; the Rule is not intended to serve
as a vehicle for a rehearing."). Oracle's motion under Rule 50(b)
should be denied because it is procedurally improper.
Clearly Google views this Oracle motion as an attempt
to try, try again with new theories and new evidence, and that's not what a motion for judgment as a matter of law is supposed to be about. Maybe if Oracle has to pay Google a $4,030,669 bill of costs it will learn a good lesson about insisting on three bites from every apple with new claims and new evidence to try to prove its claims in a court of law.
The Bill of Costs comes with a request to file two exhibits under seal, because one service provider doesn't want the names of its employees made public. Here are the filings:
07/05/2012 - 1215 -
Administrative Motion to File Under Seal re Bill of Costs filed by
Google Inc.. (Attachments: # 1 Declaration of
William Adams, # 2 Proposed
Order)(Van Nest, Robert) (Filed on 7/5/2012) (Entered: 07/05/2012)
07/05/2012 - 1216 - BILL
OF COSTS by Google Inc.. (Van Nest, Robert) (Filed on 7/5/2012)
(Entered: 07/05/2012)
07/05/2012 - 1217 -
RESPONSE (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 - ) (Google Inc.'s
Opposition to Oracle America, Inc.'s Motion for Judgment as a Matter
of Law Under Rule 50(b) or, in the Alternative, for a New Trial) filed
byGoogle Inc.. (Van Nest, Robert) (Filed on 7/5/2012) (Entered:
07/05/2012)
And here's Google response to the JMOL motion, as text:
***********************
KEKER & VAN NEST LLP
ROBERT A. VAN NEST - # 84065
[email]
CHRISTA M. ANDERSON - # 184325
[email]
DANIEL PURCELL - # 191424
[email]
[address]
[phone]
[fax]
KING & SPALDING LLP
SCOTT T. WEINGAERTNER
(Pro Hac Vice)
[email]
ROBERT F. PERRY
[email]
BRUCE W. BABER (Pro Hac Vice)
[email]
[address]
[phone]
[fax]
KING & SPALDING LLP
DONALD F. ZIMMER, JR. - #112279
[email]
CHERYL A. SABNIS - #224323
[email]
[email]
[address]
[phone]
[fax]
IAN C. BALLON - #141819
[email]
HEATHER MEEKER - #172148
[email]
GREENBERG TRAURIG, LLP [email]
[address]
[phone]
[fax]
Attorneys for Defendant
GOOGLE INC.
________________
UNITED STATES DISTRICT COURT
NORTHERN DISTRICT OF CALIFORNIA
SAN FRANCISCO DIVISION
ORACLE AMERICA, INC.,
Plaintiff,
v.
GOOGLE INC.,
Defendant.
________________
Case No. 3:10-cv-03561 WHA
GOOGLE INC.'S OPPOSITION TO
ORACLE AMERICA, INC.'S MOTION FOR
JUDGMENT AS A MATTER OF LAW
UNDER RULE 50(b) OR, IN THE
ALTERNATIVE, FOR A NEW TRIAL
Date: July 26, 2012
Time: 8:00 a.m.
Dept.: Courtroom 8, 19th Floor
Judge: Hon. William Alsup
(1)
TABLE OF CONTENTS
Page |
INTRODUCTION |
1 |
ARGUMENT |
1 |
I. |
ORACLE HAS FAILED TO ESTABLISH THAT, AS A MATTER OF
LAW,
GOOGLE INFRINGED ORACLE'S COPYRIGHTS. |
1 |
|
A. |
Oracle did not prove ownership of the eleven
"copied" files, which were
not registered with the Copyright Office. |
1 |
|
B. |
The jury properly found that any copying of code
comments was de
minimis. |
2 |
|
C. |
The jury properly found that Google did not
infringe Oracle's copyrights in
the Java specifications. |
3 |
|
D. |
A reasonable jury could find that Google made a
fair use of the SSO of the 37 Java API packages. |
4 |
|
1. |
Oracle's motion is moot. |
4 |
|
2. |
A reasonable jury could find that the purpose and character
of
Google's use of the SSO of the 37 API packages favors fair
use. |
5 |
|
3. |
A reasonable jury could find that the nature of the SSO of the
37
API packages is highly functional. |
8 |
|
4. |
A reasonable jury could find that Google used only so much of
the
J2SE API packages as is necessary for compatibility. |
9 |
|
5. |
A reasonable jury could find that there has been no adverse
impact
on the actual or potential market for Oracle's work. |
10 |
|
E. |
Oracle is not entitled to judgment as a matter of
law on copyrightability. |
12 |
|
1. |
Oracle's motion is improper. |
12 |
|
2. |
The Court correctly concluded that the SSO of the API packages
is
not copyrightable. |
13 |
|
F. |
Oracle is not entitled to judgment as a matter of
law on derivative work. |
16 |
II. |
THE JURY PROPERLY FOUND THAT GOOGLE DID NOT
INFRINGE THE
ASSERTED CLAIMS OF THE 104 PATENT. |
17 |
|
A. |
Dalvik bytecode instructions only contain indexes,
which are not
"symbolic references" because they refer to numeric memory
locations |
17 |
|
1. |
Field indexes are numeric references, not symbolic
references. |
17 |
|
B. |
The Court's claim construction applies to data in
the constant pool tables as
well as the actual field data in an instance object. |
18 |
|
C. |
Indexes are not symbolic references because they
are not resolved. |
19 |
|
D. |
Dexopt does not infringe the '104 patent. |
20 |
III. |
THE JURY PROPERLY FOUND THAT THE ANDROID DX TOOL
DID NOT
INFRINGE THE ASSERTED CLAIMS OF THE '520 PATENT. |
20 |
IV. |
ORACLE IS NOT ENTITLED TO JUDGMENT AS A MATTER OF
LAW ON
GOOGLE'S EQUITABLE DEFENSES |
22 |
|
A. |
Oracle's motion is improper. |
22 |
|
B. |
Oracle's motion is moot. |
23 |
|
C. |
Oracle's substantive arguments also lack
merit. |
23 |
|
1. |
There is sufficient evidence to support a finding that Oracle's
claims are barred by equitable estoppel. |
23 |
|
2. |
Oracle's claims are barred by laches. |
24 |
V. |
ALTERNATIVE DEFENSES TO PATENT INFRINGEMENT |
25 |
VI. |
ORACLE IS NOT ENTITLED TO A NEW TRIAL |
|
CONCLUSION |
25 |
(3)
TABLE OF AUTHORITIES
Page(s) |
Federal Cases |
Allen v. Academic Games League of Am., Inc.
89 F.3d 614 (9th Cir. 1996) |
14 |
Apple Computer, Inc. v. Microsoft Corp.
35 F.3d 1435 |
3 |
ATS Prods. Inc. v. Ghiorso
No. C10-4880, 2012 WL 1067547 (N.D. Cal. Mar. 28, 2012) |
13, 23 |
Baker v. Selden
101 U.S. 99 (1879) |
14 |
Bateman v. Mnemonics, Inc.
79 F.3d 1532 (11th Cir. 1996) |
8 |
Boisson v. Banian, Ltd.
273 F.3d 262 (2d Cir. 2001) |
2 |
Campbell v. Acuff-Rose Music, Inc.
510 U.S. 569 (1994) |
5, 7, 10 |
Computer Assocs. Int'l, Inc. v. Altai, Inc.
982 F.2d 693 (2d Cir. 1992) |
14 |
Corp. of Am. v. Universal City Studios, Inc.
464 U.S. 417 (1984) |
10 |
Eon-Net LP v. Flagstar Bancorp
653 F.3d 1314 (Fed. Cir. 2011) |
22 |
Fisher v. Dees
794 F.2d 432 (9th Cir. 1986) |
2 |
Gates Rubber Co. v. Bando Chem. Indus., Ltd.
9 F.3d 823 (10th Cir. 1993) |
14, 15 |
Granite State Ins. Co. v. Smart Modular Techs., Inc.
76 F.3d 1023 (9th Cir. 1996) |
2, 12, 23 |
Herbert Rosenthal Jewelry Corp. v. Kalpakian
446 F.2d 738 (9th Cir. 1971) |
14 |
In re Katz Interactive Call Processing Patent Litig.
712 F. Supp. 2d 1080 (C.D. Cal. 2010) |
24 |
Incredible Techs., Inc. v. Virtual Techs., Inc.
400 F.3d 1007 (7th Cir. 2005) |
3 |
Kelly v. Arriba Soft Corp.
336 F.3d 811 (9th Cir. 2003) |
9, 10 |
Lotus Dev. Corp. v. Borland Int'l, Inc.
49 F.3d 807 (1995) (Boudin, J., concurring), aff'd by an equally
divided court,
516 U.S. 233 (1996) |
8 |
Lucent Techs., Inc. v. Gateway, Inc.
580 F. Supp. 2d 1016 (S.D. Cal. 2008) aff'd in part, vacated in
part on other
grounds, remanded, 580 F.3d 1301 (Fed. Cir. 2009) |
24 |
Micro Star v. Formgen Inc.
154 F.3d 1107 (9th Cir. 1998) |
17 |
Mirage Editions v. Albuquerque A.R.T. Co.
856 F.2d 1341 (9th Cir. 1988) |
16, 17, 18, 20 |
Molski v. M.J. Cable, Inc.
481 F.3d 724 (9th Cir. 2007) |
|
Newton v. Diamond
388 F.3d 1189 (9th Cir. 2004) |
2 |
Sega Enters. Ltd. v. Accolade, Inc.
977 F.2d 1510 (9th Cir. 1992) |
8, 9, 15 |
Sheldon L. Pollack Corp. v. Universal Health Servs.
Inc.
1990 WL 194282 (9th Cir. Dec. 6, 1990) |
13 |
Sony Computer Enter. v. Connectix Corp.
203 F.3d 596 (9th Cir. 2000) |
passim |
Swirsky v. Carey
376 F.3d 841 (9th Cir. 2004) |
14 |
Federal Statutes |
17 U.S.C. § 102 |
4 |
17 U.S.C. § 102(b) |
8, 15, 16 |
17 U.S.C. § 103(b) |
2 |
Federal Rules |
Fed. R. Civ. P. 50 |
2, 12, 21, 23 |
Fed. R. Civ. P. 50(a) |
24, 25 |
Fed. R. Civ. P. 50(b) |
3, 13, 14, 25 |
Fed. R. Civ. P. 52(b) |
12, 13, 23 |
Fed. R. Civ. P. 59 |
13 |
(5)
INTRODUCTION
The Court should deny Oracle's renewed motion for judgment as a
matter of law ("JMOL"), or, in the alternative, a new trial.
Oracle's motion relies on conclusions from disputed evidence that
are not taken in the light most favorable to the jury's verdict,
ignores evidence supporting the jury's verdict, addresses legal
issues that were never put to the jury in the first place, and asks
the Court to rule on several issues that are now moot. It should be
denied.
ARGUMENT
I. ORACLE HAS FAILED TO ESTABLISH THAT, AS A MATTER OF LAW,
GOOGLE INFRINGED ORACLE'S COPYRIGHTS.
A. Oracle did not prove ownership of the eleven "copied"
files, which were not registered with the Copyright Office.
Oracle's JMOL motion as to ownership of "the asserted
copyrights" is improper, without any basis, and unnecessary. In its
May 16 Order denying Google's JMOL motion regarding ownership and
registration (Dkt. 1165 at 2), the Court found that Google had the
burden of proof on ownership of the copyrights in the works on
which Oracle based its claim of infringement and that the
presumption of ownership applied even as to individual portions of
the copyrighted works. While Google believes the Court's ruling was
incorrect, there is no need for a further order on the copyright
ownership issue because the underlying liability issues have been
resolved.
There is, moreover, no basis in the record for the ruling Oracle
seeks. Oracle argues that it proved it is the "owner of the
copyrighted works," seeks a ruling that it is the owner of "the
asserted works" and cites again case law relating to the
presumptions flowing from a copyright registration. Dkt. 1212 at
2-3. Yet Oracle overlooks that Google has made clear that Google
does not contest Oracle's ownership of the copyrights on which
Oracle sued Google, i.e., the copyrights in the Java SE 1.4 and 5.0
platforms. See Dkt. 1107 at 3. Google raised a continuing
issue of ownership only because Oracle persuaded the Court (over
Google's objections) that it could submit to the jury infringement
"claims" based on the eleven individual files — less than the
entire platform works in which the copyrights were registered. The
copyrights in those individual files were not
separately registered with the Copyright Office, and no presumption
therefore
(6)
applies to them. 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; there was simply no testimony
from any witness on that issue and therefore no issue for the jury
to decide.1
See, e.g., Boisson v. Banian, Ltd., 273 F.3d 262, 268 (2d
Cir. 2001); see also 17 U.S.C. § 103(b).
For these reasons and those argued by Google in its prior
submissions on this issues (which Google incorporates herein by
reference), Oracle is not entitled to a ruling that it proved
ownership of the "asserted copyrights." See, e.g., Dkt. 1092
at 1; Dkt. 1079 at 1-2, 4, 47-49; Dkt. 1043 at 18; Dkt. 1007 at
1.
B. The jury properly found that any copying of code comments
was de minimis.
"For an unauthorized use of a copyrighted work to be actionable,
the use must be significant enough to constitute infringement. This
means that even where the fact of copying is conceded, no legal
consequences will follow from that fact unless the copying is
substantial." Newton v. Diamond, 388 F.3d 1189, 1192-93 (9th
Cir. 2004) (internal citations omitted). "Substantiality is
measured by considering the qualitative and quantitative
significance of the copied portion in relation to the plaintiff's
work as a whole." Id. at 1195.
The evidence at trial showed that the comments are not compiled
into object code and do not appear on phones. RT 1317:9-20,
1318:4-6 (Mitchell). Oracle's own expert conceded that the comments
"don't have any impact, whatsoever, in how the program runs once
it's compiled." See RT 1318:1-3 (Mitchell). Based on this
testimony alone, a reasonable jury could find that the comments
were qualitatively insignificant, and Oracle's motion should be
denied. See Newton, 388 F.3d at 1995 (significance of
copying should be "measured by considering the qualitative and
quantitative significance of the copied portion.").
Oracle also failed to present evidence showing that the "average
audience" would recognize the alleged copying of the source code
comments. See Fisher v. Dees, 794 F.2d 432, 434 n.2 (9th
Cir. 1986). Because there is no evidence that the code comments are
anything other
(7)
than trivial and insignificant, the jury properly found that any
copying was de minimis.
C. The jury properly found that Google did not infringe
Oracle's copyrights in the Java specifications.
Oracle argues that a reasonable jury would be compelled to find
that Google infringed the SSO of its English-language
documentation. Mot. at 4-5. This theory was never put to the jury,
and is therefore not properly the subject of a Rule 50(b) motion.
In any event, the SSO of the Java specifications is not
copyrightable expression for the same reasons that the SSO of the
37 Java API packages is not copyrightable expression. See
Part I.E, infra. Indeed, the English-language documentation
is created automatically by a computer tool ("javadoc") from the
APIs that are being documented. See RT 1168:21 - 1169:15
(Lee), RT 607:18-24, 614:1-4 (Reinhold). Because the
documentation's SSO is always derived from the APIs being
documented, there is no originality or creativity in the SSO of the
documentation independent of the SSO of the 37 API packages. Any
similarities between the Java and Android documentation are a
result of both platforms using the same unprotectable names and
functional organization. RT 541:21-542:10 (Screven); see
also Dkt. 1202 at 40-41. Oracle therefore is not entitled to
JMOL on the alleged infringement of the SSO of its Java API
documentation.
Setting aside the SSO of the documentation, the jury properly
found that the English-language descriptions in the Android
documentation were not "virtually identical" to Oracle's Java
documentation. Oracle argues that the Court should have instructed
the jury to apply the "substantial similarity" test to the
allegedly copied documentation. Mot. at 5. Oracle is wrong. The
documentation is a factual description of underlying functionality.
RT 1175:10-14 (Lee); RT 2204:1-15 (Astrachan). Protection for
factual or functional works is thin. See Apple Computer, Inc. v.
Microsoft Corp., 35 F.3d 1435, 1439; see also Incredible
Techs., Inc. v. Virtual Techs., Inc., 400 F.3d 1007, 1013 (7th
Cir. 2005) ("utilitarian explanations" of a system "are not
sufficiently original or creative to merit copyright protection,"
or alternatively are protected "only against virtually identical
copying"). The virtual identity standard is the correct one.
Even if substantial similarity were the correct standard —
and it is not — a reasonable jury still could find that
Android's documentation did not infringe Oracle's copyrights. At
trial,
(8)
Oracle presented to the jury only three snippets of allegedly
copied documentation. The three snippets were sufficiently
different that a reasonable jury could easily find that they were
not substantially similar, much less virtually identical.
Compare TX 610.2 with TX 767; see also RT
1169:25-1170:19 (Lee) (comparing descriptions of the
CipherInputStream class), 1171:3-1172:25 (comparing descriptions of
the Cipher class), 1174:17-1175:9 (comparing descriptions of the
Pipe class) Moreover, the exhibits from which those three snippets
came included many other even more dissimilar samples of
documentation, samples that Oracle does not address in its JMOL.
Compare TX 610.2 with TX 767; RT 1326:10-1328:23
(Mitchell) (discussing "KeyPair" method). Even if those examples
were substantially similar or virtually identical to each other as
matter of law — they are not — they constituted only a
handful of sentences, out of thousands of pages of documentation.
RT 617-2:7 (Reinhold). Under these circumstances, a reasonable jury
could find that Oracle failed to carry its burden of proving that
the Android documentation, taken as a whole, infringed Oracle's
Java documentation, as a whole.2
D. A reasonable jury could find that Google made a fair use
of the SSO of the 37 Java API packages.
A reasonable jury could find that all four of the statutory fair
use factors favor Google, or at least that three factors favor
Google while other is neutral. Weighing these factors together, a
reasonable jury could conclude that Google made a fair use of the
SSO of the 37 API packages.
1. Oracle's motion is moot.
Oracle's motion should be denied as moot. The Court has ruled
that the SSO of the 37 API packages is not copyrightable. Dkt.
1202. Google therefore was free to use the SSO of the 37 API
packages, regardless of whether a reasonable jury could conclude
that Google's use was also a fair use under the Copyright Act.
Accordingly, Oracle's motion should be denied as moot.
(9)
2. A reasonable jury could find that the purpose and
character of Google's use of the SSO of the 37 API packages favors
fair use.
As discussed below, Google's use of the SSO of the 37 API
packages should not be characterized as a wholly "commercial" use.
But even if it is so characterized, "the language of the statute
makes clear that the commercial or nonprofit educational purpose of
a work is only one element of the first factor enquiry into its
purpose and character." Campbell v. Acuff-Rose Music, Inc.,
510 U.S. 569, 584 (1994). "Congress resisted attempts to narrow the
ambit of this traditional enquiry by adopting categories of
presumptively fair use, and it urged courts to preserve the
breadth of their traditionally ample view of the universe of
relevant evidence." Id. (citing Harper & Row,
Publishers, Inc. v. Nation Enters., 471 U.S. 539, 561 (1985))
(emphasis added). "Accordingly, the mere fact that a use is
educational and not for profit does not insulate it from a finding
of infringement, any more than the commercial character of a use
bars a finding of fairness." Campbell, 510 U.S. at 584
(emphasis added). Indeed, most of the exemplary fair uses listed in
the preamble to section 107 are "generally conducted for profit in
this country." Id. (quotation marks and citation omitted).
The Ninth Circuit has recognized that, after Campbell, it is
improper to apply a presumption against fair use based on a
defendant's commercial purpose. Sony Computer Enter. v.
Connectix Corp., 203 F.3d 596, 606 (9th Cir. 2000). Instead, a
commercial purpose "is only a 'separate factor that tends to weigh
against a finding of fair use.'" Id. (quoting
Campbell, 510 U.S. at 585).
But even a commercial use does not as a matter of law tilt the
first factor against fair use. The more the purpose and character
of the defendant's use is transformative, "the less will be the
significance of other factors, like commercialism, that may weigh
against a finding of fair use." Campbell, 510 U.S. at 579. A
use is transformative where it "adds something new, with a further
purpose or different character, altering the first with new
expression, meaning, or message[.]" Id. (citing Pierre N. Leval,
Toward a Fair Use Standard, 103 HARV. L. REV. 1105, 1111
(1990)). "[T]he goal of copyright, to promote science and the arts,
is generally furthered by the creation of transformative works . .
. ." Campbell, 510 U.S. at 579.
In Sony v. Connectix, the Ninth Circuit found that
Connectix's Virtual Game Station
(10)
("VGS") software was a product that "creates a new platform, the
personal computer, on which consumers can play games designed for
the Sony PlayStation." 203 F.3d at 606. Because VGS was an
"innovation" that "affords opportunities for game play in new
environments," the Ninth Circuit found that VGS was "modestly
transformative." Id. The court so found "notwithstanding the
similarity of uses and functions between the Sony PlayStation and
the Virtual Game Station" — that is, notwithstanding that the
very purpose of VGS was to allow users to play the same
games that users play using the Sony PlayStation. The Ninth
Circuit was "at a loss" to see "how Connectix's drafting of
entirely new object code for its VGS program could not be
transformative, despite the similarities in function and screen
output." Id. at 606-07.
When Google created Android, it, too, created a new platform.
Sun itself recognized that Android was innovative. See TX
435 (email from Schwartz to Schmidt stating, "Sun is ready embrace
Google's innovation . . . ."); TX 2352 (blog post from Schwartz
congratulating Google's "new Java/Linux phone platform,
Android.") (emphasis added). In contrast to J2SE, Android provides
a "full stack" solution for mobile computing. RT 1938:10-1939:12
(Rizvi). Android builds on the SSO of the 37 API packages to
provide developers with access to a full application framework
suitable for smartphone applications written in the Java
programming language. RT 1682:23-1684:1 (Rubin). This work required
approximately three years to complete. RT 1684:20-24 (Rubin).
Android created opportunities to use the APIs in the 37 packages in
a new environment, namely the Android smartphone platform. RT
2182:3-7 (Astrachan).
And although there are similarities between Android and the J2SE
platforms in the structure, sequence and organization of the API
elements in the 37 packages, the implementing code in
Android and J2SE is very (and undisputedly) different. RT
2182:25-2183:1 (Astrachan); see also RT 2184:8-21,
2185:10-2186:17 (Astrachan) (implementing code "completely
different"); RT 2297:7-2299:13 (Mitchell) (agreeing code is
different). In fact, the nine-line rangeCheck method is the only
evidence of any similarities in the implementing code
itself. See RT 1309:8-1313:11 (Mitchell); RT 2182:13-2183:1
(Astrachan). Thus, notwithstanding any similarities between how the
SSO of the 37 API packages are used in Android and the J2SE
platforms, a reasonable jury could find that Android is
transformative. See Sony v. Connectix,
(11)
203 F.3d at 606-07. Oracle's renewed motion does not address any
of this evidence, based on which a reasonable jury could find that
Android — like VGS — is sufficiently transformative to
tilt the first statutory factor in favor of fair use.
Oracle argues that the defendant's work must have an
entirely different purpose than the plaintiff's work in
order to be transformative. Mot. at 7:9-12. This ignores the
Supreme Court's definition of "transformative" in Campbell.
510 U.S. at 579 (use is transformative where it "adds something
new, with a further purpose or different character, altering the
first with new expression, meaning, or message"); see also
Dkt. 1018 at 13. In Campbell, the transformative use was a
popular song recording that parodied the plaintiff's popular song
recording. While the original was a rock ballad and the other from
the hip hop genre, the two works both were commercial
entertainment, popular songs targeting mainstream audiences.
Moreover, although the cases Oracle cites involved situations where
the defendant's work had a very different purpose than the
plaintiff's work, none of those cases hold that a work
cannot be transformative if it has a less than entirely
different purpose. Thus, none of those cases narrow Campbell
— nor could they, given that Campbell is a Supreme
Court decision that is binding on the Ninth Circuit.
Here, Android not only provided a further purpose and different
character to the SSO of the 37 API packages, allowing them to be
used in a new environment and platform, but also added over one
hundred new API packages that interact with and inter-depend on
those 37 packages, transforming the SSO of the API packages at
issue into something new. RT 1680:24-1682:5, 1682:23-1684:1
(Rubin); TX 51 (list of API packages in Android version 2.1). And
the purpose of implementing the API packages was to achieve
compatibility with code written to use APIs from those 37 packages.
RT 1782:6-17 (Bornstein); RT 2183:6-11 (Astrachan); RT 803:9-20
(Bloch); see Dkt. 1202 at 38 ( "Google replicated what was
necessary to achieve a degree of interoperability — but no
more, taking care, as said before, to provide its own
implementations.").
To reach a final finding on the first factor, the Sony v.
Connectix court weighed VGS's transformative purpose against
Connectix's commercial use of Sony's copyrighted work. Connectix
had reverse engineered Sony's code in order to determine its
functional requirements. 203 F.3d at 601. Because the final VGS
product did not incorporate Sony's copyrighted code, the
(12)
court found that Connectix's commercial use was only indirect or
derivative. Id. at 607. Moreover, the use was for the
purpose of achieving compatibility, a legitimate use under the
first factor. Id.; see also Bateman v. Mnemonics, Inc., 79
F.3d 1532, 1547 (11th Cir. 1996) (external factors such as
compatibility can negate a finding of infringement "per 17 U.S.C.
§ 102(b)" or "a finding of fair use, copyright estoppel, or
misuse"); Lotus Dev. Corp. v. Borland Int'l, Inc., 49 F.3d
807, 821 (1995) (Boudin, J., concurring) (suggesting Borland's use
of Lotus's menu hierarchy, in addition to being noninfringing by
virtue of 17 U.S.C. § 102(b), might also be a fair use),
aff'd by an equally divided court, 516 U.S. 233 (1996).
Weighing these facts together, the Ninth Circuit found that the
first factor favored Connectix.
Even if the SSO of the Java APIs was copyrightable — which
it is not — a reasonable jury could find that the purpose and
character of Google's use of the SSO weighed towards fair use for
the same general reasons the Ninth Circuit found that the first
fair use factor favored Connectix. Although the quasi-commercial
aspects of Google's use would not be indirect in the same sense as
in Sony v. Connectix, see 203 F.3d at 607, the
commercial aspects of Google's use are nonetheless still indirect,
because Google does not directly generate revenue by selling or
licensing the SSO of the API packages or the API packages
themselves. Instead, Google generates revenue from Android
indirectly, mostly by way of revenue received on advertisements
that appear on Android phones, which is the same way that Google
generally generates most of its revenue from any platform, mobile
or otherwise. See RT 1458:12-16 (Schmidt). And, as was the
case in Sony v. Connectix, Google's use is for the purpose
of achieving compatibility — in this case compatibility with
the APIs in the 37 packages at issue. RT 1782:6-17 (Bornstein); RT
2183:6-11 (Astrachan); RT 803:9-20 (Bloch). Weighing these facts
together, a reasonable jury could find that the first statutory
factor favors of finding a fair use.
3. A reasonable jury could find that the nature of the SSO of
the 37 API packages is highly functional.
The second fair use factor, the nature of the copyrighted work,
"reflects the fact that not all copyrighted works are entitled to
the same level of protection." Sega Enters. Ltd. v. Accolade,
Inc., 977 F.2d 1510, 1524 (9th Cir. 1992). Of particular note
here, the Copyright Act
(13)
does not protect "functional or factual aspects of the work."
Id. (citing 17 U.S.C. § 102(b)). Works having "strong
functional elements" are entitled to less protection than, for
example, works of fiction. Id. (citing Baker v.
Selden, 101 U.S. 99, 104 (1879)).
The testimony at trial established that the SSO of the 37 API
packages is functional. See, e.g., Dkt. 1047, Findings of
Fact 8-9, 14-15 (citing RT 772:17-24, 773:14-16 (Bloch), RT 289:89,
290:8-12 (Ellison), RT 364:3-10 (Kurian), RT 1959:12-1960:18
(Schwartz), RT 784:9-21 (Bloch), RT 1304:5-20 (Mitchell, TX 3542,
Mitchell Depo. at 120:18-24, 121:1-10), RT 746:24747: 9,
747:25-748:6 (Bloch)); see also Dkt. 1202 at 4:7-9 (finding
that "[t]he overall name tree, of course has creative elements but
it is also a precise command structure — a utilitarian and
functional set of symbols, each to carry out a pre-assigned
function."). A reasonable jury would be entitled to find what this
court has already found: the overall SSO of the Java API packages
is "a utilitarian and functional set of symbols, each to carry out
a pre-assigned function." Dkt. 1202 at 4:7-9. Therefore, a
reasonable jury could conclude that this fact outweighs any
creativity in the process of designing the APIs, and that this
factor therefore favors a finding of fair use.
4. A reasonable jury could find that Google used only so much
of the J2SE API packages as is necessary for compatibility.
The third fair use factor considers the amount and
substantiality of the portion used in relation to the work as a
whole. Oracle's infringement claim is based on the use of the SSO
of only 37 of the 166 API packages in J2SE. RT 597:18-19 (Reinhold)
(166 API packages in J2SE 5.0); TX 1072 (37 accused API packages).
Those method declarations for those packages account for just 7,000
lines of code out of the 2,800,000 in the J2SE 5.0 API. RT
2185:10-14, 2190:24-2192:7 (Astrachan). The Android
implementing code for those API packages is different than
the J2SE implementing code. RT 2182:25-2183:1 (Astrachan) ("The
implementation code in Android is completely different than the
implementation code in Java."). Based on these facts alone, a
reasonable jury could find that the third factor favors Google.
Moreover, even if a jury found that the portion of the work that
Google used is significant, "[i]f the secondary user only copies as
much as is necessary for his or her intended use, then this factor
will not weigh against him or her." Kelly v. Arriba Soft
Corp., 336 F.3d 811, 820-21 (9th
(14)
Cir. 2003). Here, by using only the SSO and not the implementing
code, and by limiting its use of the SSO to the API packages that
developers are most likely to expect to be able to use to write
programs in the Java language for a smartphone platform, Google
used only so much of Oracle's work as was necessary to achieve
compatibility as to basic functionalities. See RT
2196:72202: 11 (Astrachan) (all 37 API packages at issue provide
basic functionalities needed to make practical use of the Java
language and are expected by developers). At a minimum, then, a
reasonable jury could find that the third factor weighs neither for
nor against fair use. See Kelly, 336 F.3d at 821 (copying of
entire copyrighted images did not weigh against fair use where
"[i]t was necessary for Arriba to copy the entire image to allow
users to recognize the image and decide whether to pursue more
information about the image or the originating web site").
5. A reasonable jury could find that there has been no
adverse impact on the actual or potential market for Oracle's
work.
"Whereas a work that merely supplants or supersedes another is
likely to cause a substantially adverse impact on the potential
market of the original, a transformative work is less likely to
do so." Sony v. Connectix, 203 F.3d at 607 (citing
Campbell, 510 U.S. at 591) (emphasis added). "No
'presumption' or inference of market harm that might find support
in Sony [Corp. of Am. v. Universal City Studios,
Inc., 464 U.S. 417 (1984),] is applicable to a case involving
something beyond mere duplication for commercial purposes."
Campbell, 510 U.S. at 591. At most, such a presumption
applies to "verbatim copying of the original in its entirety for
commercial purposes ...." Id. But where the defendant's "use
is transformative, market substitution is at least less certain,
and market harm may not be so readily inferred." Id. The
Ninth Circuit's analysis in Sony v. Connectix is
instructive:
The district court found that "[t]o the extent that such a
substitution [of Connectix's Virtual Game Station for Sony
PlayStation console] occurs, Sony will lose console sales and
profits." Order at 19. We recognize that this may be so. But
because the Virtual Game Station is transformative, and does not
merely supplant the PlayStation console, the Virtual Game Station
is a legitimate competitor in the market for platforms on which
Sony and Sony-licensed games can be played. See Sega,
977 F.2d at 1522-23. For this reason, some economic loss by Sony as
a result of this competition does not compel a finding of no fair
use. Sony understandably seeks control over the market for
devices that play games Sony produces or licenses. The copyright
law, however, does not confer such a monopoly. See id.
at 1523-24 ("[A]n attempt to monopolize the market by making it
impossible for others to compete runs counter to the statutory
purpose of promoting
(15)
creative expression and cannot constitute a strong equitable
basis for resisting the invocation of the fair use doctrine.").
This factor favors Connectix.
203 F.3d at 607-08 (emphases added). As discussed above, a
reasonable jury could conclude that Google's use is sufficiently
transformative, and that Android is a "legitimate competitor" in
the market for platforms that implement the 37 API packages, not
just the manufacturer of a product that supplants those API
packages. The record suggests that Oracle seeks to control the
market for software implementing the API packages at issue, just as
Sony sought to control the market for devices that play Playstation
games. See, e.g., RT 374:21-375:5 (Kurian). However, just as
copyright law does not give Sony a monopoly over the market for
devices that play games Sony produces or licenses, copyright law
does not give Oracle a monopoly over the market for software that
implements the 37 API packages. Because Google's use is
transformative, the fourth factor favors Google, just as the fourth
factor favored Connectix in Sony v. Connectix.
Moreover, a reasonable jury could reject Oracle's evidence of
market harm based on alleged fragmentation. First, according to a
report Oracle Corporation prepared and submitted to the European
Community in connection with its acquisition of Sun, in 2009
vendors already had and would continue to "'fragment' Java as a
programming language and environment for developers." TX 2237 at 13
(¶ 15); RT 572:6-20 (Screven). Indeed, Oracle maintains
numerous different versions and profiles of the Java platform, with
different sets of APIs for each, and code written for one version
or profile will not necessarily run on a different version or
profile of the Java platform. See RT 719:12-725:6 (Reinhold);
see also TX 3508 at 3 ("Fragmented between Java SE and Java
ME, and between Java ME mobile and TV and within mobile and TV.").
Dr. Reinhold testified, however, that the different sets of APIs
available on different versions of the Java platform are not a
problem:
Write once, run anywhere was never a promise that if you wrote
code for one Java platform that it would automatically/magically
work on another.
The write once, run anywhere promise is relative to a
specific one of the Java platforms. If you write an application
that uses Java SE 5, then you can run it on Sun's implementation,
on Oracle's implementation, on IBM's implementation, and on
others.
Will that same code run on a particular configuration of Java
ME? Well, it depends. It might. It might not. It depends which APIs
it uses.
(16)
RT 725:10-20 (emphasis added); see also RT 563:10-564:1
(Screven) (different versions of Java are not "forks" because they
are "each editions of Java specifically designed for a particular
purpose"). Thus, Oracle witnesses testified that "fragmentation" is
harmful only if it occurs within a platform. Indeed,
Oracle's counsel specifically argued to the jury that differences
between platforms are not harmful. RT 930:13-19. A reasonable jury
could find that Android could not "fragment" J2SE, because it is a
separate platform designed for a particular purpose distinct from
that for which J2SE was designed.
Finally, the jury is entitled to rely on evidence at trial that
supported a finding that Android helped Oracle's Java
business rather than harming it. Oracle's Java business continues
to grow at a double-digit rate. TX 573 at 5; RT 1925:23-1927:6
(Rizvi) (Java platforms business was growing 13% year over year as
of 2010); TX 3532 (Rizvi Depo. at 229:13-229:21) (played at RT
1927:14-18) (Java platforms business continues to grow at a rate of
approximately 10%). Jonathan Schwartz testified that Android was
helping Sun's Java business. RT 1992:2-19. Had Google taken a
different route and not implemented the Java language and
APIs, Mr. Schwartz testified that this "would have been horrible
for Sun's business." RT 1992:16-19 (Rizvi).
Thus, on the trial record, a reasonable jury could find that
Android is transformative, that Oracle's alleged evidence of
"fragmentation" is contradicted by the testimony of its own
witnesses, and that far from harming the market for Oracle's Java
platforms, Android helped that market. Thus, a reasonable jury
could find, as the Ninth Circuit did in Sony v. Connectix,
that the fourth factor favors fair use. Weighing all four factors
statutory factors together, a reasonable jury could therefore find
that Google made a fair use of the SSO of the 37 Java API
packages.
E. Oracle is not entitled to judgment as a matter of law on
copyrightability.
1. Oracle's motion is improper.
Oracle's motion for judgment as a matter of law on
copyrightability is improper because Rule 50 does not apply to
issues decided by the Court. Granite State, supra, 76 F.3d
at 1030-31. The jury did not decide copyrightability, which was
addressed by the Court as a matter of law.
In order to seek the relief Oracle now seeks, it would have had
to file a motion for amended or additional findings under Fed. R.
Civ. P. 52(b), which it did not do. Moreover, even
(17)
if Oracle had filed a Rule 52(b) motion, the motion would be
improper. "The purpose of post-judgment motions under Rules 52(b)
and 59 is to give the district court an opportunity to correct
manifest errors of law or fact at trial, allow the parties to
present newly discovered evidence, take additional testimony, make
additional findings, or take other action in the interests of
justice." Sheldon L. Pollack Corp. v. Universal Health Servs.
Inc., 1990 WL 194282 at *1 (9th Cir. Dec. 6, 1990)
(unpublished); see also Rutter Group Prac. Guide Fed. Civ.
Trials & Ev. Ch. 17-E at
17:152. "'This is not to say, however, that a motion to amend
should be employed to introduce evidence that was available at
trial but was not proffered, to relitigate old issues, to advance
new theories, or to secure a rehearing on the merits.'"
Pollack, 1990 WL 194282 at *1 (quoting Fontenot v. Mesa
Petroleum Co., 791 F.2d 1207, 1219 (5th Cir.1986)) (emphasis
added); see also ATS Prods. Inc. v. Ghiorso, No. C10-4880,
2012 WL 1067547 at *1 (N.D. Cal. Mar. 28, 2012) ("Motions under
Rule 52(b) are designed to correct findings of fact which are
central to the ultimate decision; the Rule is not intended to serve
as a vehicle for a rehearing."). Oracle's motion under Rule 50(b)
should be denied because it is procedurally improper.
2. The Court correctly concluded that the SSO of the API
packages is not copyrightable.
Oracle's motion also fails on the merits. The parties have
briefed the issue of copyrightability extensively. To the extent
that the Court accepts Oracle's incorporation by reference into its
motion for judgment as a matter of law of hundreds of pages of
prior copyrightability filings, Google incorporates by reference
its own prior copyrightability filings. See Dkts. 260, 368, 601,
778, 823, 831, 852, 860, 887, 897, 898, 955, 993, 1047, 1079, 1116,
1137, 1192 and 1198.
The Court correctly found that by including in the Android API
packages the SSO of the APIs in the 37 J2SE packages at issue,
"[c]ode already written in the Java language would, to this extent,
run on Android and thus achieve a degree of interoperability."
Order re Copyrightability [Dkt. 1202] at 6:17-18. In fact, "the
rules of Java dictate the precise form of certain necessary lines
of code called declarations, whose precise and necessary form
explains why Android and Java must be identical when it
comes to those particular lines of code." Id. at 7:16-19
(emphasis
(18)
in original); see also id. at 35:20-22. Altering the SSO
of the APIs would prevent the Android versions of those APIs from
being interoperable with the J2SE versions. Id. at 12:19-24.
These findings were amply supported by the trial record. See,
e.g., RT 2286:17-2287:8, 2292:25-2293:14 (Mitchell); RT
1787:20-1788:4 (Bornstein); RT 2168:1-2172:11, 2183:2-20
(Astrachan).
Thus, for the 37 packages, Android's method and interface
headers, and field declarations, had to be exactly the same,
otherwise by definition they would have implemented
different methods, interfaces and fields. See Dkt.
1202 at 35:21-22. And "when there is only one way to write
something, the merger doctrine bars anyone from claiming exclusive
copyright ownership of that expression." Id. at 35:23-25;
see also Herbert Rosenthal Jewelry Corp. v. Kalpakian, 446
F.2d 738, 742 (9th Cir. 1971); Baker v. Selden, 101 U.S. 99,
104 (1879); Allen v. Academic Games League of Am., Inc., 89
F.3d 614, 617-18 (9th Cir. 1996).
In the alternative, although the Court did not so hold, the
trial record supports the conclusion that the particular SSO of the
37 API packages is unprotected under the scenes a faire
doctrine, because among Java language developers they are now
"commonplace expressions" that are "indispensable and naturally
associated" with the functions for which they are used. Swirsky
v. Carey, 376 F.3d 841, 850 (9th Cir. 2004); RT 762:13-763:13
(Bloch); RT 961:13-962:3 (Swetland); RT 1018:4-23 (Morrill); RT
1769:11-17, 1782:6-17 (Bornstein); RT 2169:25-2170:13,
2195:10-2201:17; 2202:6-11, 2203:11-15 (Astrachan); RT 364:17-21
(Kurian); RT 519:16-520:6 (Screven); RT 2289:16-2290:3 (Mitchell);
see also Computer Assocs. Int'l, Inc. v. Altai, Inc., 982
F.2d 693, 707-10 (2d Cir. 1992); Gates Rubber Co. v. Bando Chem.
Indus., Ltd., 9 F.3d 823, 838 (10th Cir. 1993).
Contrary to Oracle's suggestion, nothing in the Court's prior
order regarding Google's motion for summary judgment precludes
relief based on the merger and scenes a faire doctrines. The
Court declined to grant summary judgment based on these doctrines
because it concluded that Google's assertion of these doctrines was
not adequately supported based on the summary judgment
record. Dkt. 433 at 9:5-22. The trial record, however, went
well beyond the summary judgment record. See supra.
Moreover, although the Court stated that "[i]f Google believes, for
example, that a particular method declaration is a scene a
faire or is they only possible way to
(19)
express a given function, then Google should provide evidence
and argument supporting its views as to that method declaration,"
the Court did not hold that Google was required to proceed
by this method of proof, which the Court expressly labeled an
"example." Dkt. 433 at 9:12-14. Although the Court held that
based on the summary judgment record, Google was not
entitled to categorical rulings with respect to these doctrines, it
did not hold that Google was foreclosed from offering further proof
at trial that would support categorical rulings.
Finally, the Court correctly found that "[i]n order for at
least some [preexisting Java language code written by third party
developers] to run on Android, Google was required to provide the
same java.package.Class.method() command system using the same
names with the same 'taxonomy' and with the same functional
specifications." Order re Copyrightability [Dkt. 1202] at
38:9-12 (emphasis in original). As the Court further correctly
found, "Google replicated what was necessary to achieve a degree of
interoperability — but no more, taking care, as said before,
to provide its own implementations." Id. at 38:12-13.
Thus, the SSO at issue is functionally required for
compatibility, and therefore not copyrightable. Sega Enters.
Ltd. v. Accolade, Inc., 977 F.2d 1510, 1524 (9th Cir. 1992); 17
U.S.C. § 102(b). Oracle incorrectly characterizes this
statement as meaningless, arguing that all computer programs are
functional. Oracle's argument misses the point; the issue at hand
relates to only the SSO of the API packages, not the implementing
source code that is the portion of the packages most analogous to a
computer program. The source code may be copyrightable and may not
be required for compatibility with the APIs in the 37
packages — as is readily apparent from the fact that the
Android source code implementing those APIs is completely different
from the J2SE implementing source code.
Oracle's argument that Android is, in some other respects,
incompatible with J2SE is beside the point. First, the Ninth
Circuit has not held that a defendant's software must be compatible
with the entirety of a plaintiff's platform in order for
section 102(b) to apply. To the contrary, Connectix implemented
only 137 of the Sony Playstation BIOS's 242 functions,3 and
(20)
the Ninth Circuit nonetheless stated that Connectix's Virtual
Game Station software "itself infringe[d] no copyright." Sony
Comp. Entm't, Inc. v. Connectix Corp., 203 F.3d 596, 608 n.11
(9th Cir. 2000); see also Dkt. 1202 at 39.
The merger and scenes a faire doctrines, and three
formulations of section 102(b) — functional requirements for
compatibility, methods of operation, and systems — all
independently support the Court's conclusion that the SSO of the 37
API packages is not copyrightable. To the extent that the Court
reaches the merits of Oracle's motion, it should be denied.
F. Oracle is not entitled to judgment as a matter of law on
derivative work.
Oracle claims that the Android source code for the 37 API
packages was derived from Oracle's copyrighted API specifications.
Material only qualifies as an unlawful derivative work if it is
derived from material that is itself copyrightable. Mirage
Editions v. Albuquerque A.R.T. Co., 856 F.2d 1341, 1343 (9th
Cir. 1988). Because the material from which the Android source code
allegedly is derived is not copyrightable, Oracle's derivative work
claim fails.
The Android source code is not even arguably "derived" from
anything that is copyrightable. The literal aspects of the APIs,
such as the method headers, are not copyrightable because they are
functional requirements for compability. See Part I.G,
supra. Oracle's only other argument is that Google's
implementing source code is an unlawful derivative work
of Oracle's English-language descriptions because Google's
source code does the things that the English descriptions
describe. See Dkt. 859 at 10 (Oracle claimed
infringement based on "Google's creation of derivative works from
the English-language descriptions of the elements in the API
specifications"). That is nothing but an assertion that Google's
expression infringes Oracle's ideas, which is a "classic
case of trying to lay claim to the ownership of an idea." RT
1869:15-16 (Court); 17 U.S.C. § 102(b). The specifications
"explain in detail what the module is supposed to accomplish," and
writing implementing code that does what the specifications
explain is like "creative writing." RT 1869:18-21
(Court).4
Thus, the Android source code is not
(21)
"derived" from any Oracle material that is protected by
copyright.
The cases Oracle cites are inapposite, because they assume that
the accused work is derived from copyrightable expression
from the original work. For example, in Micro Star v. Formgen
Inc., the court concluded that the defendant's work was derived
from the plaintiff's "story," and that the defendant's work was an
unauthorized "sequel." 154 F.3d 1107, 1112 (9th Cir. 1998). Here,
the Court found that the literal elements of the APIs are not
copyrighted, and that the English-language descriptions explain an
uncopyrightable idea. Because none of the material from
which the Android source code allegedly is derived is
copyrightable, the Android source code is not an unlawful
derivative work. Mirage Editions, 856 F.2d at 1343.
II. THE JURY PROPERLY FOUND THAT GOOGLE DID NOT INFRINGE THE
ASSERTED CLAIMS OF THE 104 PATENT.
Under the Court's claim construction, no reasonable jury could
find that Android infringes Claims 11, 27, 29, 39, 40, or 41 of
U.S. Patent No. RE38,104 (the '104 patent).
A. Dalvik bytecode instructions only contain indexes, which
are not "symbolic references" because they refer to numeric memory
locations.
Oracle now retreats from the argument that references can be
both symbolic and numeric. Instead, Oracle focuses on a related
argument that the "data" being referenced is "the value of the data
from the instance of an object." Mot. at 18. This theory suffers
the same flaws.
1. Field indexes are numeric references, not symbolic
references.
Dalvik bytecode instructions consist of an opcode and an operand
or "argument." TX 737; RT 3221:8-10, 3234:4-7 (McFadden); RT
3590:23-3591:25 (Bornstein); RT 3844:14-3855:12, 3925:4-18
(August). The accused operands, moreover, are indexes that take the
form "field@CCCC" and provide references to locations in tables.
See Mot. at 17, 18; TX 46.106; TX 735; TX 737; RT
3732:15-19, 3736:16-23, 3755:8-9, 3765:9-12 (McFadden); 3858:5-12,
3858:21-359:11, 3918:13-23, 3923:20-24, 3925:19-3926-9 (August).
Oracle's own expert, Dr. Mitchell, agrees. RT 3488:6-8, 3488:19-23,
3489:10-12 (Dr. Mitchell); RT 3496:12-3497:6. These indexes refer
to locations in the constant pool tables, which are data in the
.dex file; for example, "field@0001" refers to the entry 1 in the
Field IDs table. See Mot. at 17.
As in its original JMOL motion, Oracle focuses on the IGET
instruction in Dalvik
(22)
bytecode. See id. Mot. at 18. It argues that the IGET
instruction corresponds to the "LOAD 'y'" instruction in Figure 1B
of the '104 patent. Id. But that is the wrong example. As
Oracle notes, "[t]he IGET instruction contains three operands
— vA, vB, and field@CCCC — where the third operand
field@CCCC is the field index." Id. at 3 (citing TX 735 at 6; RT
3221:8-10 (McFadden)). That "field index in the IGET instruction
identifies the field from which the data is to be obtained by
IGET." [Id.] The IGET instruction therefore actually corresponds to
the "LOAD 2" instruction depicted in Figure 1A of the '104 patent.
That instruction directs the computer to go to Slot 2 in the table,
much like the IGET instruction 52 01 instructs the computer to go
to entry 01 in the Field ID table. Oracle concedes this is how the
IGET instruction works. Id. at 18. In short, the operands
for IGET instructions in Dalvik bytecode — the indexes
— therefore qualify as numeric references rather than
symbolic references. Those indexes refer to data by a numeric
memory location — entry 01 in the Field IDs table. They
therefore are numeric references that do not meet the Court's
construction of "symbolic references."
B. The Court's claim construction applies to data in the
constant pool tables as well as the actual field data in an
instance object.
Oracle admits that indexes in the instruction stream indicate
the location of information in the constant pool tables. Oracle
nonetheless contends that the indexes in Dalvik bytecode
instructions do not qualify as "numeric" references because they do
not identify "the value of the data from the instance of an
object." Mot. at 18-19. Put another way, according to Oracle, an
index "identifies data by a name other than the numeric memory
location of the data," and therefore cannot meet the Court's
construction of a "symbolic reference." Mot. at 17. There is no
basis for Oracle's narrow interpretation of the term "data."
The Court's claim construction distinguishes between using names
to represent data (i.e., symbolic references) and using numeric
memory locations. Dkt. No. 137 at 22. Dr. Mitchell agrees. RT
3480:12-15. There is no limitation regarding the type of data being
referenced. Yet Oracle argues "[t]hat data from an instance object
is the 'data' that the claimed symbolic reference refers to, and
not some other data, ...." Mot. at 19. The jury could reasonably
reject such a narrow reading of the term "data," particularly when
Dr. August testified that information
(23)
in the constant pool tables is identified by location using an
index value in the Dalvik bytecode instructions; there is no search
performed to determine the location of the data. RT 3865:11-20.
As Dr. August further explained, the information in the constant
pool is data. RT 3955:22-24. And the Court's claim construction
simply distinguishes between a reference to data — any data
— by a name rather than location. See Claim
Construction Order (Dkt. 137) at 20-22; RT 3480:12-15 (Mitchell).
The construction included no limitations or requirements regarding
the type of data being referenced. In any event, the theory Oracle
posits — that "data" must refer to some ultimate value in an
instance object — is disproved by testimony that such "data"
may itself be a reference (an index) to yet other data. RT
4002:14-16; 4003:11-17.
By claiming that only the value of the actual field data in an
instance object qualifies as "data" under the Court's construction
(whereas the data in constant pool tables does not), Oracle
inherently claims that references can be both symbolic and
numeric. That is, depending on which "data" one uses as the
relative end point, upstream references would all be deemed
"symbolic", regardless of whether they were simple indexes to the
location of other data. The Court has already — correctly
— rejected this argument in light of the compelling evidence
to the contrary in the patent specification. See, e.g., TX
4015 ('104 Patent) at col. 2, ll 41-55.
C. Indexes are not symbolic references because they are not
resolved.
Oracle contends that field indices are "resolved" into pointers,
making them "symbolic references," and points to Mr. McFadden's
testimony for support. Mot. at 19-20. But Mr. McFadden testified
that it does not make sense to "resolve" field indices, which tell
the computer where to go in memory; rather, resolution is done when
the computer doesn't know where to go. RT 3650:18-3651:1. The
document Oracle cites does not suggest otherwise. To the contrary,
it explains the existence of a chain of indexes, which
indexes lead to strings, which strings are used by the
resolver determine the instance object. TX 46.12 at 1. It is
these strings and not the indexes that are "resolved" for program
to determine where to go in memory.
In fact, indexes in Dalvik bytecode instructions always point to
a numeric memory location of data, both before and after resolution
of the symbolic references in the .dex file string data. In
Resolve.c, the instruction stream does not change; the index
field@CCCC is used both
(24)
before and after resolution to look at entries in the Resolved
Fields Table and the Field ID table. RT 3636:13-3637:20 (McFadden).
In dexopt, the bytecode instruction operand is simply changed from
one numeric reference to another numeric reference. RT
3746:22-3747:14 (McFadden); 3933:5-3934:19 (August). Specifically,
the index value "field@CCCC" is replaced with another numeric
memory location — the offset "fieldoff@CCCC." RT
3746:22-3747:14 (McFadden); 3933:5-3934:19 (August); TX 737 at 3;
TX 46.106; see also TX 737 at 1; TX 739.
D. Dexopt does not infringe the '104 patent.
Oracle's request for judgment as a matter of law on infringement
of claims 27 and 29 should also be denied. Oracle's claim that the
Android dexopt tool resolves symbolic references dynamically rather
than statically rests on Dr. Mitchell's erroneous opinion that an
optimization (e.g., resolution) based on information about a
runtime environment is "dynamic." But there is a wealth of
documentary evidence and fact and expert testimony that proves
dexopt is a static optimization. RT 3730:16-22 (McFadden); RT
3940:17-20 (August); RT 3595:21-24 (Bornstein); TX 32 at 35, TX 816
at 24:05; TX 735 (defining opcodes that "are reasonable candidates
for static linking"); TX 737 (defining "statically linked"
instruction formats); TX 739 (dexopt performs optimizations that
"can be inferred statically"). Oracle's reliance on TX 1094 remains
specious. As is clear, it was an incomplete cut-and-paste job from
TX 739 (also TX 105). And the copied reference to runtime
information, as explained by Andy McFadden, does not refer to
optimizations performed by dexopt. See RT 3734:20-3735:7.
Accordingly, no reasonable jury could conclude that dexopt
infringes claims 27 and 29 of the '104 patent.
In any event, the jury found that the other asserted claims were
not infringed. At the least, there was insufficient proof that
Dalvik bytecode instructions contain symbolic references. As such,
there is an independent basis for affirming the verdict on Claims
27 and 29.
III. THE JURY PROPERLY FOUND THAT THE ANDROID DX TOOL DID NOT
INFRINGE THE ASSERTED CLAIMS OF THE '520 PATENT.
Oracle argues yet again that the "ordinary meaning" of
"simulating execution" compels a finding of infringement of the
'520 patent. Oracle might believe that the third time will be the
charm; however, its argument, already rejected both by the jury and
by the Court, fares no better
(25)
this time around. The root of Oracle's argument is that
simulating execution of bytecode requires no more than that
"bytecode instructions are examined without being executed." Mot.
at 21:26. Yet, as the Court correctly observed in its Order denying
Oracle's first Rule 50 motion, Oracle never sought to construe the
term "simulating execution." Dkt. 1201 at 10:10-12. Instead, Oracle
took the position that the term should be understood in accordance
with its plain meaning. Professor Parr's testimony, which the jury
was entitled to credit, was that the sort of pattern matching
performed by the Android dx tool does not fall within the plain
meaning that one skilled in the art would give "simulating
execution." Dr. Mitchell apparently disagreed, but the jury was not
required to accept his opinion. Dkt. 1201 at 11:13-17. Although
Oracle plainly does not agree with the jury's decision to credit
Professor Parr's opinion, it cannot now insist on a different
construction of the term as matter of law after taking the position
throughout this litigation that there was no need to construe the
term in the first place.
Leaving aside the untimeliness of Oracle's request for its
desired construction of the term "simulating execution," the
arguments Oracle presents for why the dx tool allegedly infringes
are flawed. In its two-page discussion of the issue, Oracle
references not once, but twice, the source code comments saying
that the simulator.java class knows how to simulate the effects of
executing bytecode. Mot. at 21:16-18, 21:21-23. Yet those comments
are consistent with the manner in which Google's witnesses
testified that the dx tool works when they explained why it did not
infringe: The testimony at trial by both Mr. Bornstein and
Professor Parr is that the simulator.java class does simulate
execution of bytecode — but that it does so only for purposes
other than identifying the static initialization of
an array. RT 3589:3-3590:6 (Bornstein); RT 3798:3-16 (Parr)].
Moreover, both parties' experts agreed that the code that
identifies the static initialization of arrays is not found in the
simulator.java class; instead, it is found in the separate
BytecodeArray class. RT 3799:14-3800:7 (Parr); 3519:19-3520:3
(Mitchell); 4061:9-4062:3 (Mitchell). That separate class
identifies static initialization of arrays through pattern matching
rather than through simulating execution. RT 3799:14-3801:18
(Parr). Indeed, Oracle concedes that the dx tool does perform
pattern matching, Mot. at 22:17-19, while arguing that the claims
do not exclude pattern matching from their ambit. But it was
Oracle's burden to prove infringement
(26)
of the claims as properly construed, not Google's task to prove
that the dx tool does not infringe.5
In sum, Oracle's assertions that the Court limited the claims of
the '520 patent to a disclosed embodiment, Mot. at 22:22-23, or
that Google has read additional limitations into the claims, Mot.
at 22:6-7, are incorrect. The '520 patent expressly says that
methods "consistent with the present invention" yield "an improved
system for initializing static arrays in the JavaTM
programming environment." TX 4011 at col. 3, 43-45. Even Dr.
Mitchell admitted that "in a Java bytecode system, instructions
operate by pushing and popping and replacing values from the top of
an operand stack." RT 4058:3-6 (Mitchell). Accordingly, the Court's
understanding, consistent with Professor Parr's testimony, that
"simulating execution" within the context of the '520 patent means
"the simulation of actual Java virtual machine operations," (Dkt.
1201 at 10:17-18), is a reflection of the plain meaning of the
claim language, not a limitation of the claims to a particular
embodiment. Oracle's argument that the claims cover more than what
one skilled in the art would understand simulating execution by
this sort of virtual machine to mean is odd, for Oracle itself has
throughout this litigation insisted that its patents are
"Java-related" patents. E.g., Oracle's Trial Brief (Dkt. No. 538)
at 1.
IV. ORACLE IS NOT ENTITLED TO JUDGMENT AS A MATTER OF LAW ON
GOOGLE'S EQUITABLE DEFENSES
A. Oracle's motion is improper.
The Court addressed Google's equitable defenses in its Findings
of Fact and Conclusions
(27)
of Law. Dkt. 1203 at 3. Oracle's motion for judgment as a matter
of law on Google's equitable defenses of equitable estoppel and
laches is improper because, as discussed above in Sections I.A. and
I.E.1, Rule 50 does not apply to issues decided by the Court.
Granite State, 76 F.3d at 1030-31 (9th Cir. 1996). If Oracle
wishes to challenge the Court's ruling on those defenses, Oracle
must file a motion for amended or additional findings under Fed. R.
Civ. P. 52(b).
B. Oracle's motion is moot.
Even if Oracle's motion was proper, Oracle would not be entitled
to the relief it seeks. Oracle asks the Court to grant judgment in
its favor on two defenses — equitable estoppel and laches
— that had no effect on the final outcome of this case. The
Court has held that these defenses "can be revived" by Google if
the case is remanded. [Dkt. 1203]. Re-litigating these issues now
serves no purpose. ATS Prods. Inc., 2012 WL 1067547 at *1
(N.D. Cal. March 28, 2012) ("Motions under Rule 52(b) are designed
to correct findings of fact which are central to the ultimate
decision; the Rule is not intended to serve as a vehicle for a
rehearing. Accordingly, Oracle's motion should be denied as moot.
Id. ("[A] motion to amend a court's factual and legal
findings is properly denied where the proposed additional facts
would not affect the outcome of the case or are immaterial to the
court's conclusions.").
C. Oracle's substantive arguments also lack merit.
There are no grounds for amending the Court's equitable estoppel
or laches findings. All of the arguments and specific evidence in
Oracle's renewed motion appeared either in Oracle's proposed
findings of fact and conclusions of law (Dkt. 1049) or in its
earlier JMOL motions (Dkts. 1045 and 1168), and Google therefore
incorporates by reference the evidence and argument in its
responses to those filings. Dkts. 1047, 1079, 1092 and 1169. Oracle
previously failed to persuade the Court that a preemptive finding
in Oracle's favor is warranted on these issues. Dkt. 1203 at
3:14-20. There is no reason that it should prevail now.
1. There is sufficient evidence to support a finding that
Oracle's claims are barred by equitable estoppel.
Even if the Court were to address Google's estoppel defense on
the merits, there would be sufficient evidence to support a finding
in Google's favor, as detailed in Google's Proposed
(28)
Findings of Fact and Conclusions of Law, Dkt. 1047 at 32-33,
Google's Responses to Oracle's Proposed Findings of Fact and
Conclusions of Law, Dkt. 1079 at 59-62, and Google's Opposition to
Oracle's Rule 50(a) Motion, Dkt. 1169 at 14-18, all of which Google
incorporates herein by reference. Sun knew about and approved
unlicensed, open source implementations of the Java API packages as
long as the implementation did not use the Java brand. See
Dkt. 1047, Findings of Fact 37-52. As early as 2005, Sun knew
Google intended to implement Java API packages in Android, and Sun
never told Google it needed a license to do so. See id.,
Findings of Fact 53-61. After Google publicly announced Android,
Sun congratulated Google and welcomed Google to the Java community.
See id., Findings of Fact 62-72. After Google's announcement
of Android and release of the Android SDK, Sun continued to talk
with Google and publicly support Android. See id., Findings
of Fact 73-81. Google was aware of and relied on Sun's public
statements of approval and acts of support for the Android
platform. See id., Findings of Fact 82-87. Oracle initially
encouraged Android and tried to partner with Google. See
id., Findings of Fact 88-92. Accordingly, there is sufficient
evidence to support a finding for Google on estoppel.
2. Oracle's claims are barred by laches.
The facts that support Google's equitable estoppel defense also
support its laches defense. Dkt. 1047 at 31-32; 1079 at 64-66; 1169
at 16-17. That Sun occasionally tried to convince Google to take a
license (in addition to entering into a partnership) for Android
— but did not identify or even allude to the
copyrights-in-suit or patents-in-suit — does not excuse
Oracle's delay in filing suit. Each of the cases Oracle cites for
the proposition that negotiations are an excuse for unreasonable
delay involve negotiations focused on the specific intellectual
property at issue. See Lucent Techs., Inc. v. Gateway, Inc.,
580 F. Supp. 2d 1016, 1053 (S.D. Cal. 2008) aff'd in part,
vacated in part on other grounds, remanded, 580 F.3d 1301 (Fed.
Cir. 2009) ("The evidence showed that for several years leading up
to the start of the litigation underlying this case, beginning
around 1998 through 2002 and 2003, Lucent engaged in efforts to
sell a license for the '226 to computer manufacturers Gateway and
Dell."); see also In re Katz Interactive Call Processing Patent
Litig., 712 F. Supp. 2d 1080, 1110 (C.D. Cal. 2010). Sun and
Google never negotiated over the copyrights-in-suit or
patents-in-suit, or any specific copyrights or patents for
(29)
that matter. RT 3190:25-3192:2, 3181:25-3182:10 (Rubin).
Accordingly, those "negotiations" do not excuse Oracle's delay in
filing suit.
V. ALTERNATIVE DEFENSES TO PATENT INFRINGEMENT
Oracle moves for judgment as a matter of law as to Google's
Sixth (patent misuse), Eighth (use by the U.S.) and Nineteenth
(unclean hands) defenses, as well as Google's defense of express
license. Though Google believes these defenses have merit, Google
chose not to present them at trial and therefore did not oppose
Oracle's Rule 50(a) motion on the defenses. Dkt. 1169 at 18-19.
Similarly, Google does not oppose Oracle's Rule 50(b) motion on
those defenses.
VI. ORACLE IS NOT ENTITLED TO A NEW TRIAL
Oracle has failed to show that either the jury's verdict or the
Court's own rulings are erroneous in any way, let alone that they
are "against the weight of the evidence." Dkt. 1212 at 24.
Accordingly, Oracle's alternative request for a new trial should be
denied.
A new trial may be warranted where "the verdict is against the
weight of the evidence, [] the damages are excessive, or [] for
other reasons, the trial was not fair to the party moving."
Molski v. M.J. Cable, Inc., 481 F.3d 724, 729 (9th Cir.
2007) (quoting Montgomery Ward & Co. v. Duncan, 311 U.S.
243, 251 (1940))." Oracle simply contends that it "is entitled to a
new trial for all the same reasons it is entitled to JMOL." Dkt.
1212 at 25. For all the reasons explained above, Oracle is not
entitled to JMOL, and therefore is not entitled to a new trial on
any issue.
CONCLUSION
For the all of these reasons, Oracle's motion should be
denied.
Dated: July 5, 2012 KEKER & VAN NEST LLP
/s/ Robert A. Van Nest
By: ROBERT A. VAN NEST
Attorneys for Defendant
GOOGLE INC.
(30)
|
This issue was decided by the Court as a matter of law, and
Rule 50 does not apply to issues decided by the Court. Granite
State Ins. Co. v. Smart Modular Techs., Inc., 76 F.3d 1023,
103031 (9th Cir. 1996). |
|
Additionally, a reasonable jury could find that any
similarities between the Android and Java documentation is a result
of the fact that two sets of documentation describe the same ideas
and functionality. As Mr. Lee noted when asked about documentation
of the Pipe class in the java.nio.channels package, "they contain
the same words, certainly, but that's to be expected when you're
trying to — you're describing various specific concepts in as
few words as possible." RT 1175:10-24 (Lee). When asked about
similarity, Prof. Mitchell also stated that the examples "tell you
the same information" and "mean the same thing." RT 1328:2-4, 9-10
(Mitchell). A reasonable jury could therefore conclude that any
similarities in the documentation are similar ideas, not similar
expressions. That is not copyright infringement. 17 U.S.C. §
102. |
|
See Connectix's Opening Appellate Br. at 18,
available at 1999 WL 33623860 (9th Cir. May 27, 1999). |
|
See also RT 1368:25-1369:1 (Court) (Oracle's derivative
work argument "just seems to me to be invalid under the basic
tenets of copyright law"); RT 1375:22-24 (Court) (Oracle's
derivative work claim doesn't "add[] anything, except violating the
principle of you can't get a monopoly and ownership over an idea");
RT 2434:13-2435:16 (Court) (rejecting derivative work theory). |
|
Oracle also presses a claim differentiation argument that was
neither found in Dr. Mitchell's expert report nor testified to by
any witness at trial. Mot. at 22:12-13. The time to make such an
argument, if at all, would have been during the Markman process, or
at the latest as part of the jury charge conference. It is far too
late to raise it now. However, had Oracle attempted to make the
argument in a timely fashion, Google would have shown why it has no
merit. Unasserted claim 3 of the '520 patent, upon which Oracle
seeks to rely for a claim differentiation argument, requires that
the "play executing step" of claim 1 include within it three
additional steps: the steps of allocating a stack, reading a
bytecode that manipulates the stack, and performing stack
manipulation on the stack. Because the dependent claim requires
that all three steps be part of the play executing step, a method
that allocated a stack as part of the second step of claim 1
("receiving the class into a preloader") but performed the other
two steps (reading a bytecode and manipulating the stack) as part
of the third ("play executing") step of claim 1 would not infringe
claim 3, and would still infringe claim 1. The point of difference
between the claims is thus not merely manipulation of a stack.
Thus, even if claim differentiation were an iron-clad rule —
and it is not, see Eon-Net LP v. Flagstar Bancorp, 653 F.3d
1314, 1323 (Fed. Cir. 2011) — claim differentiation does not
prevent claim 1 from covering stack manipulation. |
|