decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
Judge Denies Oracle's Renewed Motion for JMOL or for a New Trial ~pj - Updated
Friday, July 13 2012 @ 09:09 PM EDT

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


  


Judge Denies Oracle's Renewed Motion for JMOL or for a New Trial ~pj - Updated | 66 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Judge Denies Oracle's Renewed Motion for JMOL or New Trial ~pj
Authored by: Anonymous on Friday, July 13 2012 @ 09:23 PM EDT
HOORAY!!

[ Reply to This | # ]

Canonical Dead Parrot Thread Here
Authored by: Anonymous on Friday, July 13 2012 @ 09:30 PM EDT
:-)

Ed L

[ Reply to This | # ]

Corrections here
Authored by: jplatt39 on Friday, July 13 2012 @ 09:33 PM EDT
If any

[ Reply to This | # ]

Off topic here
Authored by: jplatt39 on Friday, July 13 2012 @ 09:35 PM EDT
Make all links clickable. There are instructions on the Post A Comment Page.
Also read the Important Stuff. Dead Parrots may go here too.

[ Reply to This | # ]

News Picks here
Authored by: jplatt39 on Friday, July 13 2012 @ 09:37 PM EDT
Please make the name of your posting the same as the name of the News Pick you
are referring to.

[ Reply to This | # ]

Comes thread
Authored by: jplatt39 on Friday, July 13 2012 @ 09:38 PM EDT

[ Reply to This | # ]

Waste of time
Authored by: Anonymous on Saturday, July 14 2012 @ 02:35 AM EDT
I'm glad the judge didn't bother writing much of anything in denying that
motion. I feel sorry right now that I wasted any time reading the same old
arguments they already lost on in court.

It would be nice if all judges could write quick little orders like that so that
we
could get to their inevitable Supreme Court appeal and get back the cert. denied

one would expect for an appeal like that.

[ Reply to This | # ]

Sour Grapes
Authored by: sproggit on Saturday, July 14 2012 @ 04:27 AM EDT
Having followed this case with interest and read most, if not all of the briefs

submitted by both sides, this one stands out for a rather unexpected
reason. Perhaps I am mis-reading it, or seeing something g that actually is
not here, but for me this positively reeks of sour grapes.

If a film is ever made of this sorry tale, this can be portrayed in a scene
before the judge:

"They copied our stuff!"

"Did not..."

"Did too!"

Etc, etc

And whilst the Court's language in the denial of the motion is rather terse, I
can imagine it being a case of

"You had your day in court. You lost. Get over it."

The question for Oracle may now become one of saving face. Oracle's
purchase of Sun Microsystems has largely been a commercial disaster.
The lawsuit against Google may well have been an attempt at misdirection,
offering the argument that the purchase of Sun would have been far more
lucrative if only Google had not written Android...

Sadly for Oracle, the purchase of Sun was not commercially positive, and
the follow-up decision to sue Google was throwing good money after bad.

Oracle will almost certainly appeal this decision, perhaps not because they
expect to have it overturned but more because they hope to appease
shareholders who may well otherwise punish Mr Ellinson and the board.
This looks more and more like a grand folly.


[ Reply to This | # ]

A quick haiku
Authored by: Steve Martin on Saturday, July 14 2012 @ 07:11 AM EDT
Nothing new was shown.
So my other rulings stand.
Motion is denied.


---
"When I say something, I put my name next to it." -- Isaac Jaffe, "Sports Night"

[ Reply to This | # ]

News
Authored by: Anonymous on Saturday, July 14 2012 @ 10:10 AM EDT
News

[ Reply to This | # ]

Reactions to this decision
Authored by: Anonymous on Saturday, July 14 2012 @ 11:57 AM EDT
Gomer Pyle weighs in.

[ Reply to This | # ]

There'll be an appeal
Authored by: Anonymous on Sunday, July 15 2012 @ 02:53 PM EDT

I'd be willing to bet on it. Oracle isn't going to be happy with this. Therefore

they'll appeal.

And waste a bunch more money.

Wayne
Http://madhatter.ca

[ Reply to This | # ]

Appeals clock?
Authored by: Anonymous on Monday, July 16 2012 @ 12:55 PM EDT
Does this start the appeals clock ticking? How long does Oracle have to file
their appeal?

MSS2

[ Reply to This | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )