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
Week 2, Day 6 of Oracle v. Google ~pj - Updated 6Xs - Lee, Mitchell, Rubin
Monday, April 23 2012 @ 05:49 PM EDT

We have two reporters in the courtroom today, and our first report is in. Also mirror_slap's final reports from Day 4 and Day 5 are now complete, if you want to check for the details of the Josh Bloch, Mark Swetland, and Dan Morrill testimony. Today's witnesses are Bob Lee, Dr. John Mitchell, and Andy Rubin.

I think today's news is provided in an explanation from Oracle to the judge, talking about a book about Gerald Ford. That's the problem in a nutshell. Oracle is talking about books and trying to apply copyright law to the law about books. But computer software isn't a book, a novel, or anything like it. You can restrict copying of a novel or a history without damaging the entire field of book writing. But if you restrict APIs, which are functional, you do destroy software development as we know it. Attorney Julie Samuels explains why in Wired today.

[Update: And now that the second report has arrived, see the update in the article, I see the major headline came at the end of the day, when the judge told Oracle he thinks their derivative work argument sounds like "classic overreaching" and that Sun's license terms might not be in harmony with copyright law.]

Jump To Comments

[Update 1, Update 2, Update 3,
Update 4, Update 5, Update 6]

Here's the case about the Gerald Ford memoirs, Harper & Row v. Nation Enterprises, 471 U.S. 539 (1985) and just reading the US Supreme Court decision, you'd think even lawyers could see the difference between this and APIs. But at least we know now why Oracle keeps talking about APIs like they are, as the judge put it today, the holy grail of holy grails, when the evidence doesn't support that. It's likely to be able to claim that the Ford case applies here.

It was a case where a magazine, the Nation, quoted the single most newsworthy quotation from the book, thus blunting the value of the book and causing another magazine, Time, which was planning to pay to serialize a large excerpt from the book, to not publish, or pay, any further after the publication by The Nation. Who'd read it after reading the excerpt? So it damaged the author, because the book hadn't been released yet, so the court said that The Nation had abrogated to itself the right of first publication. So a fair use defense failed, even though the section quoted that was the most juicy was only 300-400 words long.

But APIs? Are they kidding? After Sun told the world anyone could use the Java language, and the testimony today was that at least some of the APIs are core, meaning you can't use the language without them?

Here's a snip from Ms. Samuel's article, with more on the topic of how both patent and copyright law fail to acknowledge the unique needs of software:

Perhaps most troubling, the patent system fails to recognize how people create and use technology. Software is fundamentally situated as a building-block technology. You write some code, and then I improve upon it — something the open source community has figured out. Google’s use of Java in its Android OS also demonstrates how innovators create, by making its own product and and incorporating some elements of the Java language (which, incidentally, Java’s creators have a history of supporting). And when those two come together, it results in an incredibly popular product, here the Android OS.

In the fast-changing world of technology, where a kid coding in his basement can write a program that can change the world, it’s important that this ability to use and share is protected. It’s also worth noting that if Oracle wins on its copyright claims, whole programming languages could become off limits, a dangerous proposition indeed.

Oracle’s attempts to shut this down, whether by patents or copyrights, are just the last in a depressingly long line of rights holders attempting to cut off important and popular downstream uses of their products, even when those uses may be legal (such as a fair use) or beneficial to society at large.

This is not to say that intellectual property rights shouldn’t exist, or that owners of those rights should not be able to enforce them. However, it’s time to rethink our policies on software patents, and, depending on what happens in Oracle v. Google, the extent to which we allow copyright claims to cover the functional programming language that builds the backbone of much of the technology we use today.

Patent litigation has become little more than a tax on innovation that drives companies from the U.S. market and discourages investment in the next Facebook or tomorrow’s Twitter. In this case alone, Google and Oracle each will likely spend tens of millions of dollars (and that’s before any potential damages are levied) — money that could and should be used for further innovation and growth.

Congress recently passed patent reform legislation that wholly lacked provisions to curb the pernicious effect posed by exploding patent litigation, which harms innovation and our recovering economy. Oracle v. Google is unfortunately not the exception, but the norm. A total reset on software patents is long overdue.

Here's our first report from today from reporter #1:
7:31 am

Judge: Thanks for [copyright] briefs. [He read them both.]

There's still so much there that I'm not ready to say a master... one heads up. I need to make sure you understand. You did ask for various parts of the records. Can't be stipulation in the past. Has to be in the trial record.

There's an issue that you haven't helped me much on. Judge versus jury on "work as a whole". I am not convinced that this is for the judge to decide. One way to go is to say Oracle copyrighted 5.0, and it wants to establish a smaller... it's a matter of proof for the jury.

Not saying that's the way I'm going to rule. I'm currently mulling it over in my mind, the "work as a whole" issue.

Here's a question about the 37 APIs. You need to be answering in the spirit of "this is what the evidence of the trial will show."

To Google: It seems to be that Google is admitting that it copied the 37 declarations into Android. Is that true?

Google: [The APIs are there, we used and included in Android the 37 packages in specificiations, so we would have them exactly right. Don't want to say "copy".]

Judge: Why 37? Why not 42? What's so special? Because you say in other places you don't use them all.

Google: As of right now is that they are the subset of the Java API in Android that Oracle is asserting rights to.

There are 51 packages in Android. They started asserting rights for all 51. But then it was discovered they didn't own those 14. So they dropped those 14. Those are the ones left where they think they can assert ownership rights. These are the "core" ones.

Judge: What does "core" mean?

Google:

java.lang.util
java.lang.io java.net are the "core"
Four of the 37 are the "core".
The other 33 are a combo of things. Some are subpackages. java.lang.* All of the things that programmers would expect.
Without IO, you couldn't print!

Judge: How many APIs are there, total?

Google: Java 5.0 has 166. Between 5.0 and Android, there might have been more.

Judge: Someone at Google went through that list, and figured out what a programmer would expect.

Google: Yes, with the caveat that some of the APIs don't make sense for a smartphone. Android spent a lot of time developing a new user interface. That's something new. To access the UI, that's in the Android API, not the java API.

Judge: Sometime around 2008 I'm assuming, Google identified 51. (Yes) And some of the 51 are in the public domain.

Google: Testimony of Bob Lee. Wrote java.util.concurrent.* Those packets were dedicated to the public.

Judge: Of the 37, then, 4 are in the basic programming language?

Google: At least 4. Bloch & Reinhold started with the basic specifiation, but the java book itself... you have to go through the book, find all the ones that are referenced in the books, and those have to be implemented as well. And that's dozens and dozens of classes spread across multiple packages.

The book (The Java Specification Book) tells you about classes. Then you go to see how that class is defined, what those specifications are. Then in order to implement that class, you typically need other classes and packages.

Then, you wind up with literally thousands of these things, in order to completely and fully implement the programming language.

Judge: I say to you, some of the things you've said this morning, I've never heard before. You need to present this to the jury. Make sure you prove whatever you think is necessary.

Google: Want to clarify. About the "Dudley" packages. When I said "public domain", I'm talking about the code. It's our view that the API is in the public domain. It's only when you get to the code, that it can be copyrighted.

Judge: I will instruct the jury that the copyrights extend to the SSO. I see both sides arguments on this. If you win on fair use, then the judge doesn't have to decide those questions. [PJ: Implied, at least, is that if they don't win, then he'll decide then. I see others so tweeting.]

The way it's going to be presented to the jury, is that the SSO *is* covered by copyright - not its own copyright, I'm not prepared to say to the jury that it's a standalone entity with its own copyright, but the copyright issued that applies to everything also applies to the SSO.

Judge: Mr. Jacobs, please respond: I get the impression that you went through and found the 37 that they did copy, and you're trying to convert that to some holy grail of holy grail of copyright. I don't see that yet. The proof doesn't show that. Why would you want to instruct the jury that the work as a whole is the 37?

Oracle: SSO is *not* a separate thing. That's absolutely correct. The 37 packages. The way these cases line up...

Judge: "Nobody raised it in that case". What case law is relevant?

Oracle: Texaco American - copying from a journal, for internal distribution. Texaco was copying particular articles, even though the entire journal was what was copyrighted. The defendent defines the work based on what they choose to copy.

Judge: But then the percentage that is copied is always 100%.

Oracle: Well, yeah, Gerald Ford's memoirs. It was ruled to be substantial. Those 37 APIs are akin to 37 journal articles.

Judge: The statute calls out percentage, 107 says, one of the factors that must be considered, the amount and substantiality of the portion used and the relation to the work as a whole.

Oracle: In the case of dead literal copying, that provision does not get very much weight. Taking 5 notes out of a song...

Judge: That was 1927, this is a statute from 1986.

Oracle: But we have lots of recent case law. We'll do more briefing.

Judge : We ignore the addons that Google put in, but the part they copied is to the work as a whole, and I question if the work as a whole is just what is copied.

Oracle: We'll do our best.

Judge: You need to be give me a decision on point, is this for the judge, or is this for the jury?

Oracle: Move into evidence: TR-26, 104, 157, 233, 234, 251, 21, 172, 1029, 238. TX 34, 165, 383, 384, 416, 897, 729, 896.1,.2,.3, .4, .5, .6, .7,, .8

Google: TX 612, 617, 2223.

Judge: Anything to discuss?

Oracle: Danger license. Trying to get it admitted. This is a license that Mr. Rubin entered into. Because Sun told him he must, even though Danger had never touched any source code at all. They customized it, and made it into a specification license.

When Google says they need a license, is it for source code, for specs? Mr Rubin is quite aware that Sun said you needed a license specifically for specs.

Judge: Why are you splitting hairs?

Oracle: [just say yes!]

Google: The question is not whether certain questions can be asked of witnesses. The problem is whether that exhibit comes into evidence. This is a long complicated document, for a different company, for a different thing, including to use the Java trademark.

Danger of confusion.

The Danger platform is not at issue.

Judge: But the point that Mr. Norton made is a decent point. Mr. Rubin was on the list that Sun required a license to use the spec.

Google [Christa Anderson]: But actually it doesn't show that. It covers rights to use the trademark.

Judge: Does it use the word "specification"?

Google: No.

Judge: Show me the term "specification" in the license.

Oracle: It doesn't have that. But the attachment shows that Rubin wanted something added about no source code.

An independent implication by Danger that it required a license.

Judge: But it didn't say specification. And Mr. Boies is coming forward to rescue you.

Oracle: On page 10, it specifically calls out "specification".

Google: It was not in the document.

Judge: You were wrong - it *is* in the document.

Google: But it doesn't change the point. If this document is shown to the jury, they won't understand. It is not the same platform. It was done in 2003. There is nothing about this agreement that will change the fact, that Danger *did* receive rights to the trademark, plus rights to shared code. What this is going to become is a rabbit hole of confusion.

Google (Van Nest): Mr. Rubin.

Judge: 1026 is allowed in evidence. Boies saved the day. Ms. Anderson, you shouldn't have done that. You said "specification" wasn't in there. And it was. You should know this document back and forth. [lectures her]

Google: We have an issue with the 1st witness, and an exhbit. A series of side by side comparisons.

Judge: Oracle - no! You can't use this. You have to use the whole thing, not a cut up thing.

Q from the jury: What if one us jury people were to get hit by a truck? [laughter] Maybe what I'm really asking is this - why aren't there alternates for this trial? [PJ: The jury doesn't know it, but the judge already thought of that. He has more jurors than are required, just in case.]

8:10am

Jury comes in.

Judge: This week we should finish the evidence for phase 1. Next week the case will definitely go to you for a decision.

Now we had a witness last week who's name was Bob Lee.

Calling Bob Lee.

Bob Lee Takes the Stand Again

Judge: Who do you work for now?

Bob Lee: CTO for Square. I worked for Google. I started in 2004, I worked on the Adwords team for 2 years, and I worked on core java libraries. Then I was the core library lead for Android.

Mr. Jacobs for Oracle: We were talking at the end of your testimony about the instruction you gave to your coders. What are the 2 possible meanings of paraphrasing?

Bob Lee: Taking something and putting it into your own words.

Oracle: Look at your screen. 610.2. The Java documentation from the Java web site, and on the right, 767, which is the Android docs from Android.

Bob Lee: Java docs generated from the code. Not sure what it's called for Android.

Oracle: Does same mechanism apply to Android documents?

Bob Lee: Yes.

Oracle: javax.crypto. Docs under the cypher. Reads part of it. "The cypher must be fully initialized before being used..." Now go over to Android text. It sounds similar. Does that meet your definition of?

Bob Lee: Yes, they look different.

Oracle: How are they different?

Bob Lee: They're not exactly the same.

Oracle: That's it?

Bob Lee: Well, they contain a lot of the same words.

Oracle: Now looking at some more text, in java docs. Do you see them for both Java and Android?

Bob Lee: Yes, they're both concise descriptions of what the class does.

Oracle: Reads more of the docs. And there are individula word differences, but they're quite similar, aren't they?

Bob Lee: I have to count the words. They both say "this class provides", which is a common thing to say. Yes, the 1st sentence is very similar.

Oracle: And the 2nd sentence?

Bob Lee: The 2nd sentence looks less similar to me, it has a different structure.

Oracle: java.nio.channels.pipe. There are thousands of pages of documentation for the 37 packages. Correct?

Bob Lee: Yes.

Oracle: And the structure / outline of docs is identical?

Bob Lee: Yes. Oracle: That's because on the Android side, you're documenting the same API?

Bob Lee: Yes.

Oracle: java.nio.channels.pipe. "A pair of channels that contain a unidirectional pipe". Highly similar? Not so similar?

Bob Lee: They contain the same words, but that's to be expected, given you're trying to describe a concept concisely. This is the common language or currency of the API. "pipe" actually predates java. It's a common technical term.

Oracle: So you would expect the same level of similarity?

Bob Lee: Generally, yes.

Cross examination of Bob Lee
Google: I want to go back to the testimony you gave Friday morning. In your testimony, you referred to the phrase "java namespace"? Please explain.

Bob Lee: Hmmm.... At a high level, the Java language, you have types, like a car, or you might have a window, and you also have methods. The types would be the nouns ,and the methods are the verbs. So for a window, you might have an open method. The way that this stuff works, if someone else wants to use your window, they use that name. When we talk about the namespace, we're talking, it's kind of a collection of items. In java, it's a package. For java, the core packages and the standard ones start with java and javax.

Google: java.lang or java.util package, somewhere in the computer, to find that function, the programmer has to find a file that has that name?

Bob Lee: Yes.

Google: TCKs? What is it?

Bob Lee: Test Compatibility Kit. Standards organization called Java Community Process. Dozens of companies, including Google, help make these specs. Part of that process, somebody wants to implement it and claim to be compatible, they have to pass the set of tests.

Google: Is it "test" or "technology" in TCK?

Bob Lee: Oh, not sure.

Google: Was there a TCK for java/android?

Bob Lee: No.

Google: Would it have been possible to run Android against a TCK in 2006 / 2007?

Bob Lee: (confidently) No. I'm a prolific contributor. I worked to build stuff that could support it later.

Google: Exhibit 405. What is this document?

Bob Lee: This is an email I sent to Eric Schmidt, some links, an award I won, and asking him about Java and TCK.

Google: 3rd paragraph. "I'm certain you're already aware of this, but Sun has been abusing their position and playing licensing games."

Bob Lee: That's still my view. Everyone, Oracle, shared that view about Sun.

Google: How did you know this?

Bob Lee: In the executive committee, Oracle submitted a statement asking Sun to stop doing this sort of thing, and everyone voted yes.

Google: Did you have a formal role for the executive committee?

Bob Lee: Yes, I was alternative representative. Joshua Bloch was primary representative.

Google: "Sun field of use restrictions ... " These prevent Harmony from implementing that TCK?

Bob Lee: Sun intendend TCK to be open standards. The JSPA prohibits them from preventing companies from doing stuff. This was going fine, up until Apache came along. At first, Sun didn't worry - they didn't think Apache could do it. But Harmony did make a full implementation of JavaSE. Then they submitted it. But at the last minute, Sun changed their mind, explaining it "they were worried about Harmony creating competition". So they used this loophole ...

Judge Alsup: This answer is way too long.

Google: Java seal of approval?

Bob Lee: Java is a trademark.

Google: Harmony - who formed it?

Bob Lee: Don't know. IBM.

Google: Was the Apache Foundation a member of the executive committee of JCP?

Bob Lee: Yes.

Google: When did they join?

Bob Lee: Early. Already a member when I joined. But they quit a year ago. Over this issue.

Google: These "restrictions" that Sun was trying to impose. Was it ever put in place?

Bob Lee: Yes, I was told so.

Google: Did Harmony ever sign?

Bob Lee: Harmony never signed it.

Google: Sun did offer a license to Harmony, including the field of use restriction?

Bob Lee: Yes.

Google: Did Apache Foundation accept?

Bob Lee: No.

Google: Email from and to Hiroshi Lockheimer.

Bob Lee: He's the current director. Dan Bornstein. Lead of Dalvik team, and my manager.

Google: 2009 - Hiroshi wrote 2nd sentence about Noser "those guys" (the management team) "are super shaky. I know the engineers are great?" Who is Noser?

Bob Lee: Noser is a company in Europe, that had a history of working on mobile VMs. I interacted with Noser. They played a supporting role with Android libraries. Took on less strategic acts. I interacted with the engineers. I thought they were wonderful.

Google: What words do you use for "prose"?

Bob Lee: Documentation and specification. Somewhat interchangeable. Doc is more general. Also includes tutorial, examples, etc.

Google: cypher.inputstream. You told him that there are some words are common. Why would you expect some words to be common?

Bob Lee: Even outside in tech, there are very specific terms to mean specific things, and you have to speak specifically. For example, "cypher" is a very specific term.

Google: And when you're trying to write in English what a class does, do you think you could accurately describe it as a technical matter, without using those words?

[Oracle objection - sustained.]

Google: What similarity would you expect?

Bob Lee: These specifications are a contract. I wasn't a big fan of including them. I would have just pointed Sun. Why rewrite them? You can just mess it up. There are only so many ways you can say it. [PJ: "Contract to developers means something different than it does to lawyers. It means basically an interface, where each side knows what to expect from the other software because of the interface info. I think that's it. If not, do tell.]

Google: The JCP you described, is the way people contribute stuff. Looking at any two descriptions, can you tell if one was copied from another? Why not?

Bob Lee: I have no idea where they came from. You would need the commit history.

Google: When someone contributes something to the JCP, can that person contribute to Java and also make it free for everything to use?

Bob Lee: Absolutely.

[Oracle objection. Sustained. He's not a lawyer.]

Google: Are you familiar with their practices?

Bob Lee: Yes.

Google: What is the practice with things they have written?

Bob Lee: With the most recent spec I wrote, I also released the code under a very permissive Apache license.

Google: Any other members?

Bob Lee: I can think of several.

Google: People that donated and also made it available on a license? Let me backup. Are you familiar with different licenses?

Bob Lee: Yes, lots of licenses.

Google: As a software engineer? What's your general understanding of a public license?

Bob Lee: For open source license, you can take the code and reuse it. Some require you to give attribution. The GPL says. [PJ: It says the code can be reused and modified, so long as the modifications are given back.]

Google: These licenses - as a software engineer - can they be applicable to API packages?

Oracle objection.

Judge Alsup: Is he an expert witness?

Google: No, he's not.

Judge Alsup: I think this is specialized knowledge.

Google: But this is facts.

Judge Alsup: No, it's not.

Google: Back to doc. In order to look for similiarities, you would look at...

Bob Lee: Source control.

Google: Would there be any sources outside of Google to look into history?

Bob Lee: It depends where the code came from, but yes, definitely. Bouncy Castle.

Google: huh?

Bob Lee: It's an implementation of cypher. The specs don't do anything. You need an implementation. That's what Bouncy Castle is.

Google: When you were provided those pieces of source code by Oracle, did you get enough info to make a decision?

Bob Lee: No.

Google: Javadocs APIs, he asked if you saw copyright notices. Did anyone from Sun etc. ever say that Apache Harmony infringed any copyrights?

Bob Lee: No.

Google: Did you obtain any info through JCP process about what Sun's view was with regard to copyrights?

Oracle objection - hearsay. Sustained.

Google: Mr. Lee, as part of JCP, did you ever hear statements from representatives of Sun if other parties could do implementations of the spec?

Bob Lee: Certainly that's the whole point of ...

Judge to Google: Uh uh uh - you can't say that! [Judge lecturing Mr. Lee.]

Judge: This witness is making a lot of speeches.

Bob Lee: I don't recall.

Google: When you were at Google, did you have conversations about making use of the javadocs?

Bob Lee: Yes, we definitely referred back to them to make sure we were maintaining interoperability.

Google: Did you talk to any engineers?

Bob Lee: I asked Steve Horowitz if we were allowed.

Google: What did he say?

Bob Lee: Yes, there's lots of precedent for this.

Google: Horowitz is an engineer?

Bob Lee: Yes. He was my manager.

Redirect of Bob Lee
Oracle: You feel strongly about the Harmony dispute.

Bob Lee: Yes.

Oracle: Repeats.

Bob Lee: Yes.

Oracle: It was a big fracas?

Bob Lee: Yes.

Oracle: No one ever filed a lawsuit that Sun is doing something wrong?

Bob Lee: They didn't have the resources, no.

Oracle: [10.47. Open letter to Sun from Apache, the FAQ. Page 6/10.] The question in the middle "Why doesn't Apache simply ignore this [all the disagreements] and ship Harmony without shipping the TCK?" And the answer is "we can ship Harmony without passing the TCK, it's our code... However we can't claim to be Java compatible. Also, users can't be assured they have all IP."

And this doc was created during the fracas?

Bob Lee: Yes.

Oracle: [10.45] You said Apache Harmony resigned. This is a posting about the resignation. 3rd to last paragraph. By the way, Apache was furious?

Bob Lee: I wouldn't attribute an emotion.

Oracle: A strong business disagreement?

Bob Lee: A strong disagreement.

Oracle: "Apache software foundation concludes that JCP is not open. It's proprietary to Java." Isn't that true?

Google objection - overruled.

Bob Lee: Yes, that is what the sentence says.

Oracle: Your discussions with Horowitz about permissability. Discuss with any Google counsel?

Bob Lee: Not that I recall.

Oracle: So Horowitz was giving you unguided legal advice?

Bob Lee: Yes.

Re-Cross of Bob Lee
Google: [10.45 Same paragraph.] The next phrase says "ASF concludes that the commercial concerns [Oracle] will continue to interfere with" the Java ecosystem. Date is 12/9/2010?

Bob Lee: Yes.

Google: After Oracle filed this lawsuit?

Bob Lee: Yes.

Next witness Oracle calls is expert John Mitchell.

Testimony of John Mitchell.

Oracle: Tell us where you work.

John Mitchell: I work at Stanford, I teach CS.

Oracle: Education?

John Mitchell: Undergrad at UWisc, degree in math at Stanford. PhD in CS at MIT.

Oracle: What else?

John Mitchell: Worked at Bell Labs for 4 years, then moved to beautiful California, and been here since.

Oracle: 687

John Mitchell: this is a CV of my professional career.

Oracle: What courses do you teach?

John Mitchell: Programming languages, computer security.

Oracle: Any classes cover Java?

John Mitchell: Yeah, regular fall course does.

Oracle: Have you done research related to Java?

John Mitchell: Yes. Exploring type systems, checking props of type systems that were then incorporated into Java. One of the main revisions / extensions is "generics". That was accepted into Java.

Oracle: Offered as qualified computer expert.

Judge Alsup: OK.

Oracle: Points to whiteboard / poster. [3452] Tx 1028, the java poster. What is it?

John Mitchell: This is a great poster. It shows a number of packages from Java. Oracle: What's the basic concept demonstrated?

John Mitchell: The most basic concept is a class. Each class has methods. Each object has fields.

Oracle: Can objects be related to each other?

John Mitchell: Yes. For example subclass.

Oracle: Let's look at lower right hand corner.

John Mitchell: This is the graphable (?) notation. It illustrates class/subclass relationship that's critical.

Oracle: How are classes and interfaces grouped?

John Mitchell: Classes are hierarchical. Interfaces can be. They can be organized into packages. Packages can be hierarchical as well. There are an average of 10 or 12 classes per package at issue here.

Oracle: java.net

John Mitchell: This is an example of what is shown on the poster. [He talks for awhile. Eyes glaze over.]

Judge: Where would methods go?

John Mitchell: Would be shown listed under classes.

Oracle: java.io. java.nio.

John Mitchell: Most of packages in dispute are shown in this poster. Some aren't.

Judge: How many are on this poster?

John Mitchell: 10 - 15 are not on this poster? I don't remember.

Judge: java.io, that's an API?

John Mitchell: Technically that's a package. As a grouping of classes, an API consists of information about packages classes and interfaces together with what they do. An overview of an API.

Oracle: java.nio

John Mitchell: Here's an expansion of the poster. Methods for ByteBuffer. Each line showing the method, it shows the method name and its signature.

(9:25 am. Ugh. Can't tell if the jury is bored too.)

John Mitchell: ByteBuffer is a subclass of Buffer. Inheritance.

Oracle: Relationship between API and class libraries.

John Mitchell: Left side has class Channels and methods. The API would contain that class, description of the methods. Then the class library itself would have that plus executable code that performs those operations. Red boxes represent some amount of executable code.

John Mitchell: [explaining declarations, parameters, etc.]

Oracle: How is this API represented in binary code?

John Mitchell: .class files.

John Mitchell: Source code illustrated on that easel is compiled using the java PL compiler, which produces executable byte code. That byte code is stored in the class library. (Executed by VM.)

[Jury break]

9:30

Google: Following Dr. Mitchell, they plan to call Mr. Rubin. But Mr. Schmidt isn't available today, but will be tomorrow. Once they finish their examination of Mr. Rubin, I'd like to call him for my case.

[Boies agrees.]

[Discussion about wording of when to say "prosecution rests". They will rest after Rubin, subject to Schmidt.] [PJ: I wasn't there, but I think he meant when to say "plaintiff rests". It's possible someone said prosecution, misspeaking, and he wrote exactly what he heard. This is just to clarify that normally, prosecution rests only in a criminal case. This is civil. Well. As lawyers use the terms.]

9:50

[Jury back]

Dr. Mitchell Continues His Testimony

Loooong CS lecture.

Oracle: Difference between a package and an API?

John Mitchell: Package is a grouping. API is typically characteristics of groups of packages.

Oracle: Do you consider APIs to be rote?

John Mitchell: It's a creative process. Many decisions go to API design. Done by people called "computer architects".

[Talks about Java, smalltalk, C++]

John Mitchell: Each of these have analagous collections library.

Oracle: If you were line them up, would you see similarities?

John Mitchell: You'd see some differences. Different height, different width.

Oracle: java.util from 5.0.

Oracle: Copying. Did you investigate copying of Android?

John Mitchell: Yes, I investigated. I looked at 3 categories. Correspondence between the APIs, and how the Android API is copied from the Oracle API. 3rd, how other code sources were used.

Oracle: First category.

John Mitchell: To get a feel for this myself, I spent a lot of time looking and comparing how the APIs compare. It's fairly straightforward to compare them. They are really identical. You see the same classes in the same hierarchy, supporting the same interfaces. A few minor differences. Sometimes there are some Oracle methods that aren't copied into Android.

Oracle: Example. IntBuffer.

John Mitchell: Illustration of similarities between Android and Java.

Oracle: What can you deduce after comparing?

John Mitchell: You can see you have the same class in the same library. Everything's basically the same.

Oracle: Explanation of what they mean. Focus on that similarity.

John Mitchell: Explanation is important because it says what each method does, what it accomplishes. Explanation is also used by implementers.

John Mitchell: In 37 packages, there are around 400 classes.

Oracle: Below the class level?

John Mitchell: Methods and fields. Probably 5,000 methods.

Oracle: What percentage of copying did you observe?

John Mitchell: Quantitatively - 90%. Sometimes the parameter names are different. Though 2/3s are the same, even though they don't have to be.

Oracle: What is your overall opinion with regard to whether the API was copied by Google?

John Mitchell: I don't think there's anyway that a separate team could have come up with it.

Oracle: #2: Copying of documentation into source code.

John Mitchell: Yes. An API contains declarations. IntBuffer. That declaration is copied directly into Google code. Talking about timsort. Copying of code / rangecheck.

Oracle: Cleanroom?

John Mitchell: The person that wrote that had access to the Sun code.

Oracle: Another kind of copying?

John Mitchell: 2 other cases. 1 has to do with comments. The other has to do with decompiled code.

Oracle: Decompilation.

John Mitchell: [explanation]

Oracle: Why would someone that wanted to copy code go through this exercise?

John Mitchell: It's a quick and easy way to get source code.

Oracle: The starting point was what?

John Mitchell: Oracle source code has files for a number of classes.

Oracle: Slide 24 from 1031.

John Mitchell: This is the Android source code and it's not in the form that a person would write. You can see that this seems to have been automatically generated.

Oracle: What do you mean?

John Mitchell: The declaration has a number of parameters. Params usually have meaningful names. A decompiler working from a class file doesn't have any way to understand. It just has to automatically make up names.

Oracle: PolicyNodeImpl.java in Android. What did you deduce?

John Mitchell: This method has 2 params that are sets, and 2 that are booleans. The decompiler just makes up names for params based on type. It just calls the params set. Then it adds a number to the 2nd to make it different than the first.

Oracle: Did you do some further investigation to test whether this decompilation into Android source code was correct?

John Mitchell: The next file shows 2 source code files. Left is Android. Right is produced in a similar way to make sure the assessment is correct. The source on the left is taken by taking the Oracle class library and running it through the decompiler. There's a difference at the top that someone pasted in a comment at the top.

Below that, the code matches exactly. So I think this is strong evidence that it was produced from jad, or java decompiler.

Oracle: AclEntryImpl, AclImpl, GroupImpl, PermissionImpl, PrincipalImpl, AclNumberatorImpl.

John Mitchell: Basically the same story. The Android code is decompiled source code.

Oracle: What does this tell you about the Android code being develeoped in a clean room?

John Mitchell: This Android code is produced by running a decompiler on a class file from Oracle.

Oracle: And therefore the clean room?

John Mitchell: The develeopers had access and used the Oracle installation and used the decompiler.

Oracle: Slide 26: ownerimpl.java -- what does this show?

John Mitchell: Another example. Parameters names produced automatically.

Oracle: What does this tell us?

John Mitchell: I can't think of any other explanation other than someone took an Oracle class file and ran a decompiler to produce this source code.

Oracle: 3rd category.

John Mitchell: Some literal copying of comments. So it wasn't really a clean room implementation. Admittedly a small portion, but enough for us to see that Android developers had access to and used Oracle code.

(Apparently there were 2 files where copying comments was found.)

Oracle: Did you check if timsort was on a Samsung phone?

Objection - not in the report. Overruled.

John Mitchell: This code appears in the source code archive of Samsung and therefore very likely on Samsung.

Oracle: Conclusions on copying?

John Mitchell: 3 kinds of copying. I think the most important is that this shows it wasn't a cleanroom implementation. I can't see any other explanation.

Oracle: In particular with regard to decompilation, could that happen by accident?

John Mitchell: No, someone has to essentially "cheat" in a particular way.

Cross examination of Dr. Mitchell
Google: Java language is one of the most popular languages ever, right?

John Mitchell: Yes.

Google: Released in 1996?

John Mitchell: Yes, became popular very quickly.

Google: Developer conference?

John Mitchell: Yes.

Google: Larger and larger events.

John Mitchell: Yes.

Google: Soon Java was taught in universities.

John Mitchell: Yes.

Google: A large group of people writing in Java, 100,000 around the world.

John Mitchell: Many developers familiar with the language.

Google: In the top 3?

John Mitchell: Probaby yes.

Google: In your report, even in 2001, Java was #1.

John Mitchell: Taobi survey.

Google: In preparing your report, you assumed that Oracle was making no claim for copyright. You relied on that in the report.

John Mitchell: I wasn't asked to look at issues of copyright.

Google: You started with the premise that there was no claim of copyright against Java.

John Mitchell: I don't think there was any such premise.

Google: [Paragraph 147 tx 686 of his report.] "I understand that Oracle is not asserting copyright infringement of" just using Java.

John Mitchell: Yes, that's what I was told.

Google: Larry Ellison said Java could be used by anyone without any royalties.

John Mitchell: Yes, I heard that.

Google: [1st edition of Java programming language spec, tx 2564] Was this part of an effort by Sun to make the language popular and available to people?

John Mitchell: Don't know their motives.

Google: Published by Sun?

John Mitchell: Yes.

Google: Did you investigate why would they be publishing it?

John Mitchell: Not really.

Google: This was said to be a complete spec of the syntax and semantics of the Java language and the core packages. It's in the preface, right?

John Mitchell: Yup.

Google: In the very first volume of the language spec, some of the APIs are included in the spec? Does the book contain 3, java.lang, java.io, java.util?

John Mitchell: Yes.

Google: These core packages get a several hundred page specification in the language book.

John Mitchell: Yes.

Google: Chapter 20. java.lang that's one of the APIs.

John Mitchell: Yes, it's one of the 37 APIs.

Google: But it's fundamental.

John Mitchell: There are various ways to evaluate if it's fundamental.

Google: Without any java.lang, the language doesn't work, because it has essential things?

John Mitchell: Yes, there are also some things that aren't so essential.

Google: Chapter 21 is java.util, also in the 37 accused APIs?

John Mitchell: Yes.

Google: Java wouldn't be of much use without java.util?

John Mitchell: I think you could write stuff without it.

Google: But there's a lot of things in there that's useful?

John Mitchell: Yes.

Google: java.io is chap 22.

John Mitchell: I guess so.

Google: These 3 chapters are described as the core of the Java API that must be included in all implementations of the Java API.

John Mitchell: Yes, in a Java installation, these APIs and associated packages and libraries are part of the standards or normal installation.

Google: The text says that these packages must be included in Java systems.

John Mitchell: Yes, that's literally what it says.

Google: The next paragraph - that describes java.lang. The types in java.lang are automatically included without implicit inclusion?

John Mitchell: Yes.

Google: hashtable, pseudo random number generator?

John Mitchell: That's what the sentence says.

Google: Without java.io, can someone print something?

John Mitchell: Well, I think that's in java.io, but they could do something else.

Google: Are you aware that java.net has been described as a core package?

John Mitchell: I believe so.

[Looking at a 1996 core Java book. Back cover.]

Google: Describes the foundations of the Java language.

[Lots of discussion trying to get him to say that packages are fundamental to the language, part of the foundation, etc.]

Judge: [Lecturing the witness. Don't just say "That's what written". Do you agree or disagree?]

Google: Without java.net, you couldn't get out to the network?

John Mitchell: I guess I agree.

Google: And that's the main point of Java, to get on the network?

John Mitchell: I don't know I agree with that.

Google: Java lang spec, 3rd edition, exhibit 984. Certain classes have a special relationship to the language. Page 6.

Lists classes and interfaces in java.lang.reflect among others. That's another package, also accused in this case?

John Mitchell: Yes.

Google: Object, Class, String, Thread, all necessary?

John Mitchell: I believe Thread is only necessary for concurrent programming.

Google: But the others are?

John Mitchell: Yes.

Google: Dr. Reinhold identified 61 classes in the specification. Did you make any effort to determine how many were actually necessary for the language?

John Mitchell: I discussed it with Dr. Reinhold and I agree with his analysis.

Google: tx 1062. These 61 classes are all part of the java lang spec.

John Mitchell: I understand the basis under which he did this analysis. Yes, given that basis, I agree with that conclusion.

11:15 - jury break.
[More to follow.]

Update: Here's our reporter #1 on what happened next that was of interest, particularly after the jury left for the day:

While the jury is out
Judge: Do you have a truce to not talk about how much expert witnesses are paid?

Google: No truce.

[PJ: The implication is rather clear that it was obvious that this witness was biasing his answers to favor Oracle, which is what paid witnesses do, oftimes. I note that Google, nevertheless, does not ask Dr. Mitchell how much he was paid. Maybe they felt his hostility to Google was so obvious, they didn't need to say a word.]

11:40 [jury returns]

Dr. Mitchell Back on the Stand, Google Cross Examining.

Google: You have described APIs as a set of names that can be used to access features of the library?

Dr. Mitchell: Yes.

Google: The names have a functional purpose?

Dr. Mitchell: When those names are used in developer code, it invokes the code in the library.

Google: You can't call max "maximum", right?

Dr. Mitchell: Yes.

Google: And the case must be lower case?

Dr. Mitchell: Yes, case must be match.

Google: And if I mess up the case, my code won't work?

Dr. Mitchell: Correct. Computers are very literal.

Google: If a platform provides a different set of APIs that are different, then existing code that programmers write for the free Java API won't work?

Dr. Mitchell: (restates but essentially agrees)

Google: You described the elements of an API like parts of speech?

Dr. Mitchell: There's a way to understand it accurately, and there's a way to be inaccurate.

Google: Play back deposition please. [He says they're like parts of speech. Nouns, verbs, etc. Repeats about how important it is to use the exact names.]

Google: [Puts up Java chart exhibit.] Classes are organized into packages.

Dr. Mitchell: Yes.

Google: Classes are listed alphabetically in a specification?

Dr. Mitchell: No, I don't think that's the case.

Google: Android was disclosed in 2007, including the organization and structure?

Dr. Mitchell: I believe that's possible.

Google: Anyone could determine the organization and structure of Android code since it was released?

Dr. Mitchell: Yes.

Google: Copying was easy to see?

Dr. Mitchell: Yes.

Google: Dr. Viznik was another expert? You relied on his report?

Dr. Mitchell: I read his report.

Google: He did an exhaustive analysis of all Android source code. 100's of thousands of lines of code?

Dr. Mitchell: Yes.

Google: 727. Report of Dr. Mark Viznik. Relied on it?

Dr. Mitchell: I used it.

Google: He did a comparative textual analysis comparing Android 2.2 to Java's jdk?

Dr. Mitchell: That's what it says.

Google: Hundreds of thousands of lines? Maybe even millions?

Dr. Mitchell: Could be.

Google: [Talking about literal analysis, then partial analysis, then token analysis.]

Dr. Mitchell: That's what the report says.

Google: Is this a thorough examination?

Dr. Mitchell: I expect he described what he did there.

Google: Thousands and thousands files?

Dr. Mitchell: Yes.

Google: And after all that analysis, he came up with 12 files?

Dr. Mitchell: Yes.

Google: And that's all he identified after his thorough analsysis?

Dr. Mitchell: I believe so.

Google: The *only* files?

Dr. Mitchell: I believe so.

Google: 12 files, right?

Dr. Mitchell: Yeah.

Google: 2 of them were called timsort?

Dr. Mitchell: 1 was timsort, and 1 was comparabletimsort.

Google: Now the timsort file, that represents 9 lines of code?

Dr. Mitchell: I think you're talking of the rangecheck that was found.

Google: Ah, good point. Timsort has how many lines? 1,000, 1500?

Dr. Mitchell: I don't remember, but bigger than 9.

Google: He didn't find any other copying, just those 9 lines?

Dr. Mitchell: Correct.

Google: That's a small amount of code?

Dr. Mitchell: 9 lines.

Google: Out of hundreds of thousands of lines?

Dr. Mitchell: Well, it's still 9 lines.

Google: Dr. Bloch testified that he wrote rangecheck.

So in effect he copied his own work?

Dr. Mitchell: While he was working for Google, he copied the work that he did at Sun.

Google: You know that rangecheck is now free and open?

Dr. Mitchell: No.

Google: You don't know whether it's open?

Dr. Mitchell: I don't understand.

Google: Did timsort have any independent economic value?

Dr. Mitchell: I think its main use is in the library. Not sure of its value outside of the library.

Google: Could it have been written by a high school student?

Dr. Mitchell: Not really.

Google: Maybe a grad student?

Dr. Mitchell: If told what to do.

Google: Source code comments are never compiled, correct?

Dr. Mitchell: Approximately.

Google: If comments were removed, the compiled byte code would be the same.

Dr. Mitchell: Yes, source code would be different, but the compiled code would be the same.

Google: Do you know if these files are part of a handset?

Dr. Mitchell: I don't recall that, no.

Google: The other files of the 12. These files all have the word "test" in them?

Dr. Mitchell: No.....

Google: para 22. Are the 8 impl files on the left... The Android name has the name "test" in it. Dr. Mitchell: The path has "test".

Google: All 8 have the word "test"?

Dr. Mitchell: Yes, I think that's true. Google: You don't actually know if any of these files were compiled and placed on a handset?

W: (a bit shaky) I don't have a reason to believe they were put on a handset.

Google: So the only thing you're aware of that you're sure made it onto a phone were these 9 lines of code in rangecheck?

Dr. Mitchell: [pauses] I believe that's correct.

Google: The only thing you've identified in this exhaustive analysis that I identified out of these 12 files that made it onto the handset is timsort.

Dr. Mitchell: There were lots of things identified.... [eventually, after pause] that may be true.

Google: Viznik also ran his analysis against Apache Harmony.

Dr. Mitchell: If that's what the report says, then ...

Google: paragraph 10.

Objection - asking this witness about another witness.

Judge: But he said he relied on this report.

Oracle: But how much did he read?

Google: I think you testified that you relied on this report.

Dr. Mitchell: Not sure that I did.

Judge: Now wait a second. You said you used files from that report.

Dr. Mitchell: OK.

Judge: Now did you read the part about Apache Harmony?

Dr. Mitchell: I probably read it, but I didn't look into it.

Judge: Forget Harmony. Bring up your own witness later.

Google: There are thousands and thousands of those descriptions in the API?

Dr. Mitchell: Yes.

Google: Is it your testimony that all the descriptions in the API are identical?

Dr. Mitchell: No.

Google: The wording does differ?

Dr. Mitchell: Yes.

Google: You put exactly one example of this in your report?

Dr. Mitchell: I think there are a few examples of snippets.

Google: The one you chose to discuss was in 207. Your report has several hundred paragraphs, almost 280. This is the only one that is comparing the English text.

Dr. Mitchell: Yes, it refers to exhibits that show code.

Google: And the example you show is KeyPair.GetPrivate()

Dr. Mitchell: Yes.

Google: KeyPair wasn't invented by Sun.

Dr. Mitchell: Well, in public key cryptography.

Google: And that's not something Sun invented?

Dr. Mitchell: Invented in the 1990's.

Google: "Returns the private key" - is that it?

Dr. Mitchell: I believe so.

Google: Does that pass your test for being substantially similar?

Dr. Mitchell: [He equivocates.]

Google: Does not answer my question. [Repeats it.]

Dr. Mitchell: I think in the context of the rest of the file...

Google: [Asks again. And again.] Substantially similar?

Dr. Mitchell: Yes.

Redirect of Dr. Mitchell
Oracle: Independent economic analysis. What did you find?

Dr. Mitchell: I found a number of other files that called it. I counted the number of times RangeCheck was called. 2600 times when powering up the phone. 2600 seems like a pretty big number.

Oracle: On the decompiled code, did you analyze the significance?

Dr. Mitchell: I looked into it. Access control lists.

Oracle: Mr. Van Nest [Google's lawyer on cross.] asked if they were test files?

Dr. Mitchell: Yes.

Oracle: On the Java side, are these test files?

Dr. Mitchell: I don't believe so.

Oracle: On the Android side?

Dr. Mitchell: I don't know, they're in a test directory.

Oracle: Is it important if it's test code?

Dr. Mitchell: Testing is very important. Can be twice as expensive as development.

Oracle: What advantage would they have obtained by decompiling?

Dr. Mitchell: This helped them test other code they were developing.

Oracle: Set aside the code-to-code copying. What about the decision to copy 37 packages into Android?

Dr. Mitchell: That's huge.

Oracle: In the way that Google took the 37 packages, did they make Java "compatible"?

Dr. Mitchell: Not really. They subsetted and supersetted.

Oracle: Would a Java app run on an Android run?

Dr. Mitchell: It won't run if it relies on something that's not there.

Oracle: [Asking about what is fundamental to Java language]

Dr. Mitchell: Two methods that make sense: 1. treat the language definition of what's in the language and isn't. Dr. Reinhold did that. Came up with 61 classes.

Another way is to look at the language compiler. If the compiler knows about some source code, and can compile it directly, then I think it makes sense to consider it part of the language.

Oracle: Based on those analyses, what is your conclusion for what is required?

Dr. Mitchell: I like Reinhold's analysis. They seem very sensible. Those 61 seems like a very good answer.

Oracle: Now I need you to read the 37 packages that allegedly infringe.

Judge: Just give us the list.

[Exhibit 1072.]

Oracle: If all that Google wanted to do was implement the java programming language, as you described it a few minutes ago, would they have needed to copy the API packages wholesale?

Objection - speculation - overruled.

Dr. Mitchell: Java could be implemented using just those 60 classes, which wouldn't require those infringing packages.

[Dr. Mitchell is excused.]

Oracle now calls Andy Rubin to the stand. Boies is up now for Oracle.

Testimony of Andy Rubin

Judge: [to the jury - reads a stipulation] "For the 37 accused API packages, Android and Java 2 SE version 5.0 have substantially the same selection, arrangement and structure of API elements."

Oracle: You are and have been since 2005 in charge of Android?

Andy Rubin: Yes.

[His history, etc.]

Oracle: Java core API? What's your interpretation?

Andy Rubin: A term often used by Sun to describe part of their product.

Oracle: Which part?

Andy Rubin: Java lang files.

Oracle: How many?

Andy Rubin: I didn't count them.

Oracle: Do you use core API to mean the same the thing as core libraries?

Andy Rubin: I don't use those terms.

Oracle: Core packages?

Andy Rubin: Yes I've used them.

Oracle: Referring to what?

Andy Rubin: In various contexts. Not sure. Typically I'm describing a set of methods and packages that an application developer would develop for.

Oracle: Exhibits 14, 15, 18, 22, 29, 131, 140, 147, 151, 154, 158, 161, 165, 180, 183, 203, 207.

Judge: Enough already, we only have 15 minutes left.

(It's 12:45)

Oracle: Exh 3. Email from you to Lindholm. Wrote this 7/29/05. 3rd page, under "requirements", "Google needs a TCK license". You see that?

[PJ: You can find the exhibits, I believe, linked to in the prior Groklaw article.]

Andy Rubin: Yes.

Oracle: You're not talking about the Java programming language, right?

Andy Rubin: Correct.

Oracle: 7. Email to Larry Page 10/11/05. 2nd sentence, "my proposal that we take a license that specifically grants us the right to open source our product"?

Andy Rubin: Correct.

Oracle: "We'll pay Sun for the license and the TCK".

Andy Rubin: Correct.

Oracle: "Before we release our JVM, we'll make sure it passes TCK so it doesn't cause any fragmentation"

Andy Rubin: Correct.

Oracle: "Before being brought to market, they will have to take a license from Sun"?

Andy Rubin: Yes, I see that.

Oracle: 12, a couple of emails, one you wrote, and you say "my reasonsing is that either a) we'll partner with Sun as contemplated in our recent discussions, or b) we'll take a license". You see that?

Andy Rubin: Yes.

Oracle: Discussions with Sun about partnering?

Andy Rubin: Yes.

Oracle: If those discussions didn't work out, you'd take a license?

Andy Rubin: Those were some of the options.

Oracle: But you just said those were the two only choices. "I think a clean room implementation is unlikely because of the team's prior knowledge, and it would be uncharacteristically aggressive of us to position us against the industry"?

Andy Rubin: I think that's reading a lot into that one sentence.

Oracle: But you were planning to implement it at this point?

Andy Rubin: Not necessarily.

Oracle: Back in July 2005 when you made the first GPS presentation, you were talking about a clean room implementation?

Andy Rubin: We were talking about various strategies.

[Gives him the GPS presentation]

Oracle: Turn to page 9. Big heading of "Java". Do you see "current scenario: developing a clean room implementation of a Java virtual machine"?

Andy Rubin: Yes.

Oracle: Now back to exhbit 12. 12/20/05. "I think a clean room implementation is unlikely", that's a Java VM.

Andy Rubin: Yes.

Oracle: And then you give the reason.

Andy Rubin: I give a reason, yes.

Oracle: Exs. 17 and 18. First 17. 2/10/06. Email from Lindholm to Coughran and you. What Lindholm says, "I have been helping Andy Rubin with some issues associated with his Android platform. This has mainly taken the form of negotiating with my old team for a critical license".

Andy Rubin: Yes.

Oracle: And that wasn't for the Java programming language, correct?

Andy Rubin: Yes.

Oracle: 18. Email you wrote on 3/24/06. That was in response to an email you received that day from Greg Stein. In your email, you say "I don't see how you can open Java without Sun, since they own the brand and the IP". Do you see that?

Andy Rubin: Yes.

Oracle: You mean " ... without Sun's agreement or permission"?

Andy Rubin: [lots repeat requests] Yes.

Oracle: 2nd email from Stein. "Ha, wish them luck". "java.lang apis are copyright". Do you see that?

Andy Rubin: Yes.

Oracle: Did you mean copyright by Sun?

W: Let me think back, yes, I think so.

Oracle: "And Sun gets to say who they license the TCK to".

Andy Rubin: I see that, yes.

Oracle: "This forces you to take the shared part that taints any clean room implementation". Do you see that?

Andy Rubin: Yes.

1pm - jury leaves.

Judge and Lawyers for the Parties:

Judge: Let's get back to exhibits.

Google: They have tons of exhibits. We have stipulated to more than 145, which is far more than a jury can comprehend. Now we're just shoveling a bunch more. If you're going to use them with a witness, fine.

Boies: These are not "randomly" selected emails. These are all very important.

Judge: Will you use all of these docs?

Boies: I don't think I'll have time.

Judge: Here's the answer. Evidentiary - you don't want to stipulate - you have to stipulate. Point 2 - normally lawyers work this out. Point 3 - I know this is really a time issue. They're up to 686 minutes. They're running short of time. They might run out of time.

And you (Google) want them to run out of time.

Van Nest has a legitimate point. By letting them come in without a witness explaining them, they can be used in summation.

There are 2 alternatives. When there is a long list like this, you pick 25% you won't stipulate. Then 75% come in by stipulation.

That's the practical way to handle this. But I can't force you to do this. You can force Mr. Boies to use up his time.

But it works both ways.

Judge: 40 seems like a lot.

Boies: We'll go over it and see what we can work out.

Judge: 686 and 437, Oracle vs. Google, time accounting. Is there going to be a defense of "advice of counsel"?

Google: No, Your Honor.

Judge: Jury is hearing all this about licenses, and this goes to willfullness, this might be a logical time to figure that out.

Judge: A different question, to Oracle. Here's soemthing I have a hard time swallowing. Your argument about "derivative work". Your argument is if someone starts with the plain English descriptions, in a clean room, and they put on their scientific thinking caps, and come up with their own program code, no matter what they come up with is an infringement. Doesn't that violate the principle that no one has a monopoly on the idea expressed? If you were to say how do you do a rangecheck, and if that is the idea, and you let a bunch of students go wild on it and come up with different solutions, isn't that the classic example, you don't have the right to the expression of that idea?

Isn't that right? Am I misunderstanding? It seems invalid. Boies: I'm not sure this is going to be terribly helpful. It depends on whether you view the "plain English version" or simply an idea, or being creative expression. If the latter, and they are copying that, and interpreting that, then it's a derivative work.

If it's just an idea, then the court is probably right.

The court will note that everyone before this litigation that everyone thought that a clean room implementation didn't save you from getting a license.

All the clean room permitted you to do was to stop you from licensing the code. But the clean room didn't excuse you from getting a specification license.

Judge: That's what the memo said, I grant you that, but I don't know that's required under the law. They shouldn't be held to this just because Mr. Rubin said this in an email.

Boies: It wasn't just an email. Danger took a license even though they weren't going to use the code.

Judge: Didn't the Danger license cover the trademark too?

Boies: I suppose it did, but it clearly covered the specification license.

Judge: Well, I still question your premise. Now it may be that they agreed to a license, in the same way both of these companies have agreed to a patent from a troll, even though it's completely invalid, just because it's not worth fighting.

Judge: If you have a doc in plain English that says that this particular method will return the larger of 2 numbers, and you gave that, looked in textbooks, you would find examples of that very exercise. Teaching young people in college how to do perform that writing various forms of code.

And to decide you own every implementation of that code just because you came up with the idea, that's classic over-reaching.

Boies: That's not what we're trying to say. And I'm probably not explaining well.

Judge: My job is to come up with a list of questions that's as clear as possible. I don't want to have to take time over soething that's invalid as a matter of law.

Other Oracle lawyer: It's not the taking of any particular idea of any particular method. We're not claiming taking the max is copyright infringement. Similarly, saying to a movie maker "seek the holy grail", that would not infringe any other version like Monty Python.

[Shows java chart]

Judge: But that's your SSO argument.

Oracle: [Movie script argument] If you make a movie out of this whole thing, clearly that's a derivative work.

Judge: Let me try my question a different way. Let's say we ask the jury 2 questions. "With regard to these 37 packages, did Google copy the SSO?"

And same question, but documentation.

Let's assume we ask those questions to the jury.

So then, what good is it, if you've already gotten a yes or a no, what does it add to then say "btw, is the implementation a derivative work of the plain English of what the method will do"? To my mind, there's no legal significance to that question. The first 2 questions are all that matter.

Oracle: I think that's right. Let us think about it and get back to you.

Judge: Now similar part for the other side. "De minimis" How can you say that copying SSO is "de minimis". I'm going to say to the jury that it's a protectable element. But that doesn't mean that's my final decision. This way the jury can rule on your fair use argument.

If SSO is protectable under copyright act, no reasonable jury could find that that's de minimis - could they? I find that a hard sell.

Google lawyer, not Van Nest: : A jury *could* find that the SSO of the 37 packages is de minimis, and here's why. To the extent that there is something that is the SSO, that is separate and independent of the name, the language, and all of the code that implements it, if there is something that can be identified of the SSO of just these 37 packages, some separately identifiable thing, called "just the SSO", then we believe that that's an extraordinarily small element of the Java package and Android. [Arguing that the work as a whole is huge.]

Judge: Let's say we let the jury decide fair use. Isn't the extent to which something is used a factor?

Google: Absolutely.

Judge: So what does de minimis add?

Google: Those 12 files.

Judge: So you mainly want to use de minimis for the literal copying of the 12 files.

Google: Essentially, yes, but I have to check with the client.

Judge: You wanted to respond to my previous questoins to Oracle.

Google: What API specs do is the following. It's like a dictionary. If you want code that does X, here's the name to call. Just like a dictionary. So this is not like providing a script to a movie. This is like giving someone a dictionary. Here are all these words. Now go out, and write a program. Like, here's a dictionary. Mr. movie maker, can you write a script using this dictionary?

I think there are 2 issues here - names. You already ruled on that. That's out.

Judge: But what are the names?

Google: Here, the name is java.lang.math.max. Your order says it includes the class names, and the package names, and the method names.

Oracle: A different analogy. Name of a keynote (?). West keynote system. Of course that's protectable!

Judge: How can you say that? Does that circuit know that there's a copyright on it?

Oracle: Clearly.

Judge: What say you, Google?

Google: But the West taxonomy has content. This is just words. Once I define java.bruce.history, java.bruce.economics, etc. And anyone that wants a java program to use them in the same way I've defined them, they have to use it in precisely that way.

Judge: Mr. Jacobs' point is that they come with a system of organization, and it's not just randomly selected words. They bear a relationship among each other in a hierarchical way.

Google: Full stop - the hierarchical way that they're talking about, that's what the language requires. It only looks like a hierarchy to us humans. The organization is simply a human artifact. Like a Table of Contents.

Judge: Let me ask a difficult question to Oracle.

Are you saying that each of these 37 APIs are like 37 advertisements in a magazine? So are you saying that each is a stand-alone thing? Or the SSO of the 37 is a protected item?

Oracle: I think we're saying both.

Google: I don't see how there can be a principled way that they could say that it could be anything less than the SSO of *all* 167 packages. Every package has to come back to java.lang. To the extent that there's any chance, the SSO has to at least be talking about the entire API.

Judge: But they're alleging 37.

Google: They can't redefine their work to say that the work is just what's at issue.

Judge: Hustler case.

Google: But that was a standalone article. Texaco case. Those are completely different. Separate articles, with separate authors. They've testified about how interrelated all of these packages. They focused on the 37. They've heard evidence of the others. But you'll see that they all relate to each other. They all have inter-dependencies.

No one has ever testified before this trial that these 37 are any kind of a unit.

Van Nest: In a journal, articles have a seperate existence. Before this case, no one talked about the SSO of 37, or 51, or anything.

Judge: But Rubin talked about APIs.

Van Nest: Yeah, but no one ever said there's an SSO of 37, or 51, or 150. These numbers you're hearing are a lawyer-made-up product of this lawsuit.

Judge: Here's the bugaboo for Google. You chose consciously, chose these APIs. If they aren't so great, why did you pick that subset? Doesn't that prove coherence?

Van Nest: Number one, there were 51.

Judge: But minus 14 is 37 - isn't that what the developer community expects?

Van Nest: Those APIs were integrated into a much bigger system. And we haven't even started our case yet. Our core libraries and Android APIs all work together. So it's not like there's a unit out there where 37 is important.

Google: Why do you have Java APIs in the first place? The answer is to use the freely available programming language.

Judge: Well 4 are needed.

Google: 4 packages, hundreds of methods. Clearly there are fact issues about what is fundamental. In order to let people write Java programs, you needed to use the same API.

Judge: Is that a fair use argument?

Google: Absolutely. All we use are the unprotectable name, method signatures, and ideas that are reflected in the API specs. We don't use their code, we don't use their expression. To the extent that there is an SSO, we used the minimum amount necessary to support the language.

Judge: Burden of fair use is on you.

Google: Yes, your honor.

Oracle: There were originally 51. But there are 37 that Oracle owns. So this is akin to a magazine article.

2nd point. What these cases really tell us, case law is pretty protective of the copyright holder. You can't bury it in a large body of work.

Focus on what was taken and its substantiality.

Judge: We'll leave it there.

Update 4: Bryan Bishop at the Verge has some astute observations on Dr. Mitchell's testimony:

Oracle followed Lee with Stanford Professor of Computer Science Dr. John Mitchell. Mitchell had analyzed the 37 APIs at the center of the case from both Java 2 SE 5.0 and Android 2.2 and found extensive similarities. In an attempt to further attack Google's clean-room claims, Mitchell also noted evidence that would seem to indicate Android code had been copied from a decompiled source: variables that would normally be given actual names for ease of use instead consisted of generic, machine-generated template terms such as "set Set1" and "boolean flag." Mitchell stated that he was even able to replicate the variable names by decompiling Sun code himself.

The examples shown in the courtroom, however, all seemed to be copied from the Apache Harmony implementation of Java, rather than being the direct work of a compromised Google clean room. When pressed by Google counsel Robert Van Nest, Mitchell stated that he was actually not very familiar with Apache Harmony himself. Additionally, the report his own work was based upon — which included the comparison of thousands of files — yielded just twelve files containing similarities. Of all of the lines of comparable code, Mitchell was only able to positively confirm that nine lines made it onto shipping Android handsets — the nine lines that comprise rangeCheck.

Update 2: I never received a report from our law student, our second reporter this day. I've emailed her, and whenever I hear back, I'll add the report here. It turns out, she tells me, she is a student of Michael Jacobs, one of Oracle's attorney, who also teaches at Berkeley. So her viewpoint of the trial should be interesting. She seems to think the world of him, as do I, actually.

Update 3: Here's her report:

Oh, I thought you didn't need anything from me. I took almost no notes, just discussed it a little with my professor. [PJ: She clarifies not Michael Jacobs, another professor.]

I guess from what I understood the issue was whether APIs are protected under the Copyright Act and whether the copied amount is substantial or not. APIs are protected as "literary work". [PJ: Or are they? that is what the case is about.] Later in the trial the judge probably will start discussing what is the "work as a whole". I guess Google argues that the 37 accused API packages in Android and Java 2 SE are only a small portion of the Android and Java platforms, respectively, as a whole.

Also you can find in transcripts or notes that Google's attorney argued that API "package" is a made up term, that it doesn't exist in the literature and is not used in the field.

Also there is a distinction between the Java language--freely available for use--and the Java APIs, which are the detailed specifications that describe valid uses of the Java language. To do clean room implementation one can't use any APIs [PJ: According to Oracle]. At some point Google had discussed to do clean room implementation for Android, but never continued. The judge was concerned about it, as they didn't have a satisfying argument why they couldn't do without the 37. [PJ: Well, if they are core to the language, and you can't use the language to do anything without at least some of the APIs, then that would be the argument. And it was, as you can see from the other report.]

At the end also there was a discussion about the load of e-mails and other correspondence that Oracle was using to prove a point that Google knowingly infringed it. Google's attorney raised a concern about the time and that some of the e-mails are irrelevant and that Oracle was wasting the court's time by going one by one asking questions to the witness. The judge agreed but still left some room for Oracle to discuss the important ones.

I found Andy Rubin's testimony very interesting. He was calm and confident. The answers were somewhat vague. He would answer "I don't recall" to some of the questions regarding his e-mails. I think it was frustrating Oracle's attorney at some point. :)

Also, because it so hard to explain the entire technological concept through analogies, he had a lot of room to keep it as vague as he could.

I will try to follow this case as much as my schedule of finals allows me. I am really interested in this topic as I plan to be an IP lawyer. This decision will most likely have a couple policy aspects. I will be in touch the days I am in court.

Best of luck and thanks for doing this. I learned a lot!

I know you guys join me in thanking both of our first-time reporters for being willing to be our eyes and ears.

Update 5: We have the trial exhibits entered on this day, 2012-04-23:

  • [P956] 2012-04-22 Oracle Brief re Court's Copyright Questions.pdf [This is available here as docket #956.]
  • [P961] 2012-04-22 Oracle Update on 702 Copyright Questions.pdf["Oracle America, Inc. submits this update on the PTO’s progress in reexamining the asserted claims of the ’702 patent. On April 19, 2012, the PTO mailed a Notice of Intent to Issue Ex Parte Reexamination Certificate confirming the patentability of all the asserted claims of the ’702 patent. Attached hereto is a copy of the PTO’s notice."]
  • 0140.pdf [Email from Bill Coughran to Tim Lindholm, cc to Andy Rubin, dated Feb. 10, 2006, Re: Travel for Android requested, oking his email request, same date, to do a "two-day deep dive into the architecture with TI's engineers" which is referring to a TI project, "a Java acceleration architecture (silicon and surrounding software) done by TI." TI was asking to partner with Google and Sun for Android handsets.]
  • Mitchell_Demonstratives_Print10.pdf

Update 6: All the trial exhibits are now available as PDFs here. Some are also done as text. Look for the date nearest the day, as they are listed by the date they were entered, which could be a day or so after the date of their use in the courtroom.


  


Week 2, Day 6 of Oracle v. Google ~pj - Updated 6Xs - Lee, Mitchell, Rubin | 238 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Corrections here please
Authored by: jesse on Monday, April 23 2012 @ 05:51 PM EDT
Thank you.

[ Reply to This | # ]

News Pick discussions
Authored by: jesse on Monday, April 23 2012 @ 05:52 PM EDT
Thank you.

[ Reply to This | # ]

Off topic discussions
Authored by: jesse on Monday, April 23 2012 @ 05:53 PM EDT
Thank you.

[ Reply to This | # ]

COMES thread
Authored by: jesse on Monday, April 23 2012 @ 05:54 PM EDT
Thank you for the work.

[ Reply to This | # ]

Why not 42?
Authored by: Anonymous on Monday, April 23 2012 @ 05:56 PM EDT
I love this judge XD.

[ Reply to This | # ]

Legal relevance of destroying SW development
Authored by: SLi on Monday, April 23 2012 @ 06:18 PM EDT
I think today's news is provided in an explanation from Oracle to the judge, talking about a book about Gerald Ford. That's the problem in a nutshell. Oracle is talking about books and trying to apply copyright law to the law about books. But computer software isn't a book, a novel, or anything like it. You can restrict copying of a novel or a history without damaging the entire field of book writing. But if you restrict APIs, which are functional, you do destroy software development as we know it.

How much do the bad results that would come from a certain legal determination (here the copyrightability of APIs) actually affect the eventual outcome? I gather that they do, to some extent.

In a perfect world (or at least with perfect separation of powers), I guess the lawmakers would ponder the effects of the laws they write, and courts would apply them as written, leaving fixing them to lawmakers if the outcome is negative...

[ Reply to This | # ]

Google wanted to *avoid* Java fragmentation
Authored by: Anonymous on Monday, April 23 2012 @ 06:30 PM EDT

I thought this answer was quite interesting:

Google: When you were at Google, did you have conversations about making use of the javadocs?

Bob Lee: Yes, we definitely referred back to them to make sure we were maintaining interoperability.

It shows a clear mindset of wanting to avoid fragmenting the language.

This one is also interesting (emphasis mine):

Google: Would it have been possible to run Android against a TCK in 2006 / 2007?

Bob Lee: (confidently) No. I'm a prolific contributor. I worked to build stuff that could support it later.

[ Reply to This | # ]

The APIs are copyrightable, but not on their own, moving on...
Authored by: lwoggardner on Monday, April 23 2012 @ 06:47 PM EDT
Sounds like the judge is going to rule that the SSO of the API as contained in the source.
Judge: I will instruct the jury that the copyrights extend to the SSO. I see both sides arguments on this. If you win on fair use, then the judge doesn't have to decide those questions. The way it's going to be presented to the jury, is that the SSO *is* covered by copyright - not its own copyright, I'm not prepared to say to the jury that it's a standalone entity with its own copyright, but the copyright issued that applies to everything also applies to the SSO.

Presumably Google now moves on to fair use (and estoppel?)

I gather there is an argument about the amount of copying. If you take any source file and highlight the SSO of the API it will generally be only a small part in comparison to the comments and the implementing code. Is that relevant? Or can Oracle argue that the SSO of the API somehow carries more importance than code/comments?

Is compatibility a fair use defence?

[ Reply to This | # ]

programmer meaning of "contract"
Authored by: Anonymous on Monday, April 23 2012 @ 06:58 PM EDT
The word "contract" in relation to an API means, "the rules for using the API correctly". There can be two sides to the contract (the user of the API, and the provider of the API) and the contract spells out what both sides need to do.

But its not like a legal contract ("meeting of minds", etc).. its actually closer to a legal LICENSE! The "contract" of an API is unilaterally decided by the provider of the API, and it says "Here's what you need to do to use my API correctly. And if you do that, here's what you can expect to happen." So just like a free software license, it contains (1) some conditions you have to obey, and (2) some promises you can rely on, as long as you properly obey the conditions.

Typically it will contain rules about state(s) the program must be in before you can call an API method ("preconditions"). It will also typically express promises about what the called method will do to that state ("postconditions"), assuming that the caller successfully met the preconditions.

There might be rules like "if you call method A with a particular object as an argument, at some time later you must also call method B with the same object". Example: If you Open a file (and receive back a "handle"), at some time later you must Close that "handle".

There's a particular approach to building software, called Design by Contract, in which this process is very formalized. Most software is not written that way though. In most software, there are only informal "contracts", and they are only spelled out in comments for those APIs where the information of the contract is necessary to use them properly.

[ Reply to This | # ]

Legal opinions from engineers?
Authored by: cpeterson on Monday, April 23 2012 @ 07:01 PM EDT
Google: When someone contributes something to the JCP, can that person contribute to Java and also make it free for everything to use?

Bob Lee: Absolutely.

[Oracle objection. Sustained. He's not a lawyer.]

Nope, we won't have engineers making legal judgements.

Unless it's Tim Lindholm or Andy Rubin, and we can take their comments out of context.

So, Bob Lee, remember, it's this way:

Lawyer: Did you think you were acting in accordance with the law? Be aware that answering "no" will incriminate you; answering "yes" will be disallowed as a legal opinion; answering "I don't know" will be considered evasive.

Witness: ....

[ Reply to This | # ]

Week 2, Day 6 of Oracle v. Google ~pj
Authored by: tknarr on Monday, April 23 2012 @ 07:09 PM EDT
I think today's news is provided in an explanation from Oracle to the judge, talking about a book about Gerald Ford. That's the problem in a nutshell. Oracle is talking about books and trying to apply copyright law to the law about books. But computer software isn't a book, a novel, or anything like it. You can restrict copying of a novel or a history without damaging the entire field of book writing. But if you restrict APIs, which are functional, you do destroy software development as we know it.

I don't think the law or the judge care about what it'd do to software development. If applying copyright law would destroy software development, then that's a matter for Congress to take up and potentially change the law. But I think the problem is that Oracle keeps talking about copying the contents of books. An API isn't the implementation, any more than the table of contents of a textbook is the textbook. That it's a textbook is a key point, BTW. For a novel, the chapter titles and their ordering may be copyrightable, but they have a non-functional aspect to them. For a textbook, the chapter titles are almost purely function: they tell you want information's covered in which chapter. If I write another textbook covering the same subject, I'm going to need to cover the same information. And if I want to let people use my textbook in place of another without having to redo all their references, I need to give my chapters the same titles and put them in the same order. So, does copyright law prohibit me from creating such a replacement textbook using the same chapter titles and numbers? Yes or no? The answer to that should enlighten.

[ Reply to This | # ]

Bunkum, follow the pea......
Authored by: Anonymous on Monday, April 23 2012 @ 07:22 PM EDT

"Oracle: Look at your screen. 610.2. The Java documentation from the Java
web site, and on the right, 767, which is the Android docs from Android."


Look at the book.


"John Mitchell: You can see you have the same class in the same library.
Everything's basically the same."


Look at the code

[ Reply to This | # ]

Week 2, Day 6 of Oracle v. Google ~pj
Authored by: Anonymous on Monday, April 23 2012 @ 07:28 PM EDT
Many thanks to the court reporters for their time and effort.

I do have a question though. Do you sense that the jury is getting it or are
they completely overwhelmed? I have a lot of programming experience and am
getting a bit confused. I can just imagine a teacher or nurse having their eyes
glazed over.

[ Reply to This | # ]

PJ -You are getting sloppy
Authored by: s65_sean on Monday, April 23 2012 @ 08:06 PM EDT
Bob Lee: For open source license, you can take the code and reuse it. Some require you to give attribution. The GPL says. [PJ: It says the code can be reused and modified, so long as the modifications are given back.]
Modifications do not have to be "given back". I can take any GPL software and modify it any way I see fit, and as long as I don't distribute my modified binary code to anyone else, then I don't have to give anyone my modified source code. You only have to make your source code modifications available to others if you distribute your modified binary code to others, and even then you only have to make the source code available to those that you distribute your modified binary code to. You don't have to ever "give it back" to the ones that you got it from. Granted, if you make it freely available to others, then the ones that you got it from can probably obtain a copy, but it's up to them to obtain a copy, you don't have to go seek out those that you got the code from and give them your modifications.

[ Reply to This | # ]

Week 2, Day 6 of Oracle v. Google ~pj - Updated
Authored by: Anonymous on Monday, April 23 2012 @ 08:20 PM EDT
I like any judge who utters the words "patent troll" from the bench.

[ Reply to This | # ]

Horse->Cart
Authored by: jvillain on Monday, April 23 2012 @ 08:33 PM EDT
There are 51 packages in Android. They started asserting rights for all 51. But then it was discovered they didn't own those 14. So they dropped those 14.

Isn't the question of whether you have ownership some thing you should figure out before you start suing? I would have thought some one over at BSF would have figured that out after the fiaSCO.

[ Reply to This | # ]

  • Horse->Cart - Authored by: Anonymous on Tuesday, April 24 2012 @ 04:02 AM EDT
Interace in Java not the same as Interface in term Application Interface
Authored by: Anonymous on Monday, April 23 2012 @ 08:44 PM EDT
The term "interface", as it applies to Java, is used to indicate a
reference type that can not be instantiated and does not have any method bodies.
The methods it defines must be in any classes that implement the interface.
The interface does not say what the methods will do, only what methods classes
that implement the interface will include. What the methods do can be very
different. In the term "Application Program Interface", the term
"interface" refers to a function, method, subroutine, etc. for which
the definition of what it will do is well defined, just not the how.

Perhaps an example: if an API specifies a function
float sin(float X) returns the sine of X, then the implementer must make the
sin function return the sine of its argument; a Java interface that has a method
defined as float sin(float) requires that any class that implements the
interface have method sin that accepts a float as an argument and returns a
float, and that returned value may, or may not, be related in any way to the
sine of its argument.

Why would you do this? A class that implements comparable must have a method
compare that returns a negative, zero, or positive integer depending on if one
argument is less than, equal to, or greater than the other. So, lets say we
wish to compare the letters A, a, Z, and z. We could put them in the order A,
a, Z, z or the order A,Z, a, z or we could say A and Z are equal and both are
less than a and z, which are equal because the order is determined by case, or
we could say A and a are equal and both are less than Z and z, which are equal
because the order is alphabetic and case is not significant.

[ Reply to This | # ]

And the JUdge anticipates Boies Position..thin copyright goes this far....
Authored by: Anonymous on Monday, April 23 2012 @ 08:52 PM EDT
Judge: Let me try my question a different way. Let's say we ask the jury 2
questions. "With regard to these 37 packages, did Google copy the
SSO?"

And same question, but documentation.

[ Reply to This | # ]

Hearsay?
Authored by: rsteinmetz70112 on Monday, April 23 2012 @ 09:00 PM EDT
Oracle: Your discussions with Horowitz about permissability. Discuss with any
Google counsel?

Bob Lee: Not that I recall.

Oracle: So Horowitz was giving you unguided legal advice?

Bob Lee: Yes.

---
Rsteinmetz - IANAL therefore my opinions are illegal.

"I could be wrong now, but I don't think so."
Randy Newman - The Title Theme from Monk

[ Reply to This | # ]

"computer architects"
Authored by: rsteinmetz70112 on Monday, April 23 2012 @ 09:20 PM EDT
As an actual Architect who designs buildings for a living I have real heartburn
with terms like "computer architect" and "software
architect" wielded by people who have little or no knowledge of what Real
Architects do. The title seems to be based on a repulsion of traditional
corporate terminology and some kind of milappropriation of and misunderstanding
of actual architecture.

---
Rsteinmetz - IANAL therefore my opinions are illegal.

"I could be wrong now, but I don't think so."
Randy Newman - The Title Theme from Monk

[ Reply to This | # ]

The Jury have to be unanimous right?
Authored by: SilverWave on Monday, April 23 2012 @ 09:26 PM EDT
Whats the chance of that in such a case as this?

---
RMS: The 4 Freedoms
0 run the program for any purpose
1 study the source code and change it
2 make copies and distribute them
3 publish modified versions

[ Reply to This | # ]

What is "SSO"
Authored by: Anonymous on Monday, April 23 2012 @ 09:30 PM EDT
> Judge: I will instruct the jury that the copyrights extend to the SSO.

What does SSO stand for?

[ Reply to This | # ]

Boies: And I'm probably not explaining well.
Authored by: SpaceLifeForm on Monday, April 23 2012 @ 11:00 PM EDT
Boies (allegedly said):
The court will note that everyone before this litigation that everyone thought that a clean room implementation didn't save you from getting a license.

All the clean room permitted you to do was to stop you from licensing the code. But the clean room didn't excuse you from getting a specification license.

News to me. If they provide the API description without a license (which they must, otherwise no one would write any code that used the API), and someone writes their own implementation that supports the API, and the code works properly, why would they want any additional license? Other that to call it some trademarked name, do they really care?

Here is an example: glibc and uClibc. uClibc strives to implement the same API as glibc, but in smaller code footprint.

uClibc does not try to call itself glibc, even though it implements a lot of glibc functionality.

Harmony does not try to call itself Java either, even though it implements a lot of Java functionality.

I think Boies is twisting.

---

You are being MICROattacked, from various angles, in a SOFT manner.

[ Reply to This | # ]

Week 2, Day 6 of Oracle v. Google ~pj - Updated
Authored by: Anonymous on Monday, April 23 2012 @ 11:11 PM EDT
Why didn't Google ask Mitchell more about cleanroom
implementations? He seems to imply that they are industry
standard practice and legal. Wouldn't that contradict the idea
that APIs are copyrightable?

[ Reply to This | # ]

What I find interesting...
Authored by: Anonymous on Monday, April 23 2012 @ 11:39 PM EDT
Lawyers use language in a very precise manner to convey an idea to other folks
in the same profession. So do programmers. At the same time, the same word can
have two separate and distinct meaning to each group. Seems to play right into
Oracles hands if the goal is to cause confusion (while claiming the opposite).

[ Reply to This | # ]

Analogies...
Authored by: BitOBear on Monday, April 23 2012 @ 11:46 PM EDT
Saying you can copyright and restrict the use of an API to a library that you
have given away is like...

Admitting you cannot copyright a computer designed tire tread pattern but you
can copyright the skid-mark it leaves behind.

The parties may have stipulated structure, sequence, and organization, but there
is no meaning to this. It is, as I am wont to say, "A distinction without a
difference". We have heard how a person "could" put a math thing,
like taking the square root, in some non-math namespace. Sure you -could-, but
you -could- sort your API elements by first-vowel... that is, it's doable but it
would be less than helpful.

I regularly get asked by managers questions that start with the most dangerous
three words in computer science: "Couldn't you just".

It took me years to learn how to stop saying "yes, but..." nobody
keeps listening after the "ye". I had to learn to start with
"that would be an incredibly bad ide because..." and then end with
"but it might be possible."

For instance "couldn't you just put sqrt() into java.science instead of
java.math?" "That would be an incredibly bad idea, nobody would be
likely to find it there and people would start adding error-prone and inferior
untested routines into the math space to replace the 'missing' element, but it
is technologically possible."

Massively degenerate alternatives are not equal choices.

One of the guiding rules of API (and code in general) design is "the rule
of least astonishment":
http://en.wikipedia.org/wiki/Principle_of_least_astonishment

This core principle guided the initial construction of the libraries. It
governed the direct expressions of documentation built by the -automated-
javadoc tool, just as it did the predecessors of javadoc, and it proscribes the
alteration of an existing API for all but the most dire of causes.

The idea of reinventing the wheel is well understood to be a waste as a moral.
Saying that somehow Google should have reinvented the java library elements
"SSO" epically improper.

It would border on actionable incompetence to suggest that re-writing a known
and working interface was a reasonable action under share-holder due diligence
rules since it would waste lots of money to deliberately create endless problems
for the company.

[ Reply to This | # ]

A favorite list
Authored by: Anonymous on Tuesday, April 24 2012 @ 12:01 AM EDT

John Mitchell: I guess I agree.
That sure comes across like he'd rather not answer. I guess Judge Alsup spoiled his fun.
Google: Dr. Viznik was another expert? You relied on his report?
Dr. Mitchell: I read his report.
...
Dr. Mitchell: I expect he described what he did there.
Ok... either he didn't actually read the report (perhaps reading only a part of it) or he's become reluctant to answer again.
Boies: It wasn't just an email. Danger took a license even though they weren't going to use the code.
So... because EV1 took a license from SCOG, it's against the Law of Copyrights for anyone else to refuse?
Judge: Well, I still question your premise. Now it may be that they agreed to a license, in the same way both of these companies have agreed to a patent from a troll, even though it's completely invalid, just because it's not worth fighting.
Yup... Judge Alsup sure seems to understand the potential of Boies argument with regards the suggestion "someone else took a license, so it has to be required by Law".
Boies: That's not what we're trying to say. And I'm probably not explaining well.
ROFL: I view Mr. Boies as explaining very well... it's the fact that Law doesn't conform to Oracle's interpretation that he's having troubles with.

RAS

[ Reply to This | # ]

Stanford Professors have helped Oracle before
Authored by: Anonymous on Tuesday, April 24 2012 @ 12:15 AM EDT
"Judge: Do you have a truce to not talk about how much expert witnesses are paid?"

Interesting that it was asked, and that Google never followed up. Maybe Judge Alsup remembers a previous case ("Re Oracle Corp. Derivative Litigation (824 A.2d 917 (2003))"), as summarized on Larry Ellison's wikipedia page:

"Ellison's charitable donations to Stanford University were an issue in that case with respect to the independence of two Stanford professors who evaluated the merits of the case for Oracle"

Ouch!

Anyone have a better URL for that case?

[ Reply to This | # ]

  • Never interrupt - Authored by: Anonymous on Tuesday, April 24 2012 @ 01:30 PM EDT
Google: "we haven't even started our case yet"
Authored by: jbb on Tuesday, April 24 2012 @ 12:52 AM EDT
IANAL, but IMO, on first blush, this was not a great day for Google. The judge has provisionally decided that the SSO of an API can (possibly) be protected by copyright. The Danger (company name) contract will be admitted as evidence even though it is not relevant to what Google is being sued over. And finally Oracle got to put forth the proposition that even if you make a clean room implementation you still need a license for the API. I got a feeling the judge was trying to cut the baby down the middle and give each side something they wanted; giving Google a win on the implementation not being derived from the API and giving Oracle a win on the SSO of the APIs being (possibly) protectable by copyright.

This trend is not good for Google because a compromise between the truth and a lie is still a lie. BS&F repeatedly used this to their advantage in the SCO wars. If things continued in this direction it would look pretty grim for Google. But that's not going to happen because, as Van Nest said, Google hasn't even started presenting their side of the story. They have not yet begun to fight and it's always darkest just before the dawn. A trial is like a modified game of (American) football where one side is always on defense for the first half then gets to always be on offense the second half.

Unlike last week when I said that I felt Google had been able to stay even with Oracle, today it felt like Oracle was slowly pulling ahead, especially with the judge. The goof one of Google's lawyers made in characterizing the Danger contract was costly.

It seems like the judge is trying to squeeze Google into arguing a fair use defense in front of the jury although he reserved the right to override the jury's decision with his own. The fair use argument has prevailed in the past for using elements of an API in an application program. I don't recall anyone using it with success for a re-implementation. Perhaps the judge wants Google to follow these clues in footnote 346 on page 54 of Samuelson (58-page pdf):

Sega considered whether reverse engineering of program code for purposes such as getting access to functional design elements, such as interfaces, was fair use. Id. at 1514. The court observed that “[i]f disassembly of copyrighted object code is per se an unfair use, the owner of the copyright gains a de facto monopoly over the functional aspects of his work—aspects that were expressly denied copyright protection by Congress,” citing § 102(b). Id. at 1526. The court went on to say that “to enjoy a lawful monopoly over the idea or functional principle underlying a work, the creator of the work must satisfy the more stringent standards imposed by the patent laws.” Id. The Ninth Circuit agreed with Altai that functional works such as computer programs and those describing bookkeeping systems were entitled, as Baker had long ago held, to only “thin” protection from copyright law. Id. at 1524.

Samuelson's overall thesis was that § 102(b) of the 1976 Copyright Act should be invoked directly. That section says in full:

In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.
As Samuelson also said:
While it is better to stretch the scenes a faire and merger doctrines to exclude from copyright a systematic collection of information selected and arranged to achieve functional ends, a far simpler and more straightforward way to get to the same result is to say that systematic assemblages of information such as specifications of interfaces necessary to achieve interoperability are unprotectable under § 102(b) [of the 1976 Copyright Act] and Baker’s progeny such as Taylor.

I would be more comfortable with a judgment follows Samuelson's lead and says that APIs cannot be protected by copyright because of § 102(b). I worry that the fair use argument might not fly with the jury and even if it does, it might leave the door open a crack for someone else to try pulling a similar scam later on. My guess, and this is only a wild guess, is that the judge is looking for some way for the jury to decide the API issue in favor of Google so he doesn't have to make a direct ruling on whether APIs can be copyrighted or not.

Arguing fair use in front of the jury may actually be a huge boon for Google. If the jury decides that as a matter of fact Google's use of the APIs was fair use then that finding of fact by the jury might be harder to overturn than a ruling by the judge directly saying APIs cannot be protected as a matter of law. IANAL but IIUC, it is much easier to appeal rulings of law than matters of fact. The higher courts are generally looking for ways the lower courts messed up in matters of law. They are not in the business of second guessing juries.

Maybe this was a pretty good day for Google after all.

---
Our job is to remind ourselves that there are more contexts than the one we’re in now — the one that we think is reality.
-- Alan Kay

[ Reply to This | # ]

The SCOG Linux Tax - soon to be the Oracle Linux Tax
Authored by: Anonymous on Tuesday, April 24 2012 @ 03:37 AM EDT

It dawns on me BSF has found a new replacement for SCOG in the form of Oracle.

The copyright claims argument against Linux was:

    It doesn't matter how few lines were copied: the work as a whole is a derivative, therefore a license is required.
Now that's being argued with Oracle:
    It doesn't matter that it's only 9 lines... Dalvik as a whole is a derivative.
Think like BSF in both cases for a moment and it really isn't that far a jump to:
    Dalvik donated code to Linux Kernel - thereby making the Linux Kernel a derivative!
Anyone willing to lay a wager that Linux will be Oracle's next target if BSF is successful in getting a ruling that Dalvik is indeed a derivative of Java?

Another similarity in the cases was that in both cases, no matter how far fetched the claims were compared with the minimal amount of actual copying claimed: Billions were at stake.

RAS

[ Reply to This | # ]

All we need is a better analogy
Authored by: Anonymous on Tuesday, April 24 2012 @ 04:34 AM EDT

Why, oh why, is noone coming up with the analogy to a cookbook?

Here is my proposal

Java is a cookbook, full of recipes designated by name (methods), organized by categories such pastry, meat, etc... (classes and packages), each recipe has a list of ingredients (the parameters), and an actual step by step set of instructions, the recipe itself (the source code for the method).

Google did re-use the recipe names and the list of ingredients (the API) from Java's cookbook , but did go to great care to create their very own original recipes, and test them.

Could Oracle pretend to copyright "just the recipe names and list of ingredients", knowing that lots of these recipes were harvested, collected and transformed from other sources (other language, classical CS algorithms) rather than invented especially for and unique to Java's cookbook.

Cheers, L aurent

[ Reply to This | # ]

BS&F re-purpose the Gupta doctrine
Authored by: Ian Al on Tuesday, April 24 2012 @ 04:52 AM EDT
Google: We have an issue with the 1st witness, and an exhbit. A series of side by side comparisons.

Judge: Oracle - no! You can't use this. You have to use the whole thing, not a cut up thing.

---
Regards
Ian Al
Software Patents: It's the disclosed functions in the patent, stupid!

[ Reply to This | # ]

The expert witness
Authored by: Ian Al on Tuesday, April 24 2012 @ 06:09 AM EDT
Mr. Jacobs for Oracle: We were talking at the end of your testimony about the instruction you gave to your coders. What are the 2 possible meanings of paraphrasing?

Bob Lee: Taking something and putting it into your own words.

Oracle: Look at your screen. 610.2. The Java documentation from the Java web site, and on the right, 767, which is the Android docs from Android.

Bob Lee: Java docs generated from the code. Not sure what it's called for Android.

Oracle: Does same mechanism apply to Android documents?

Bob Lee: Yes.
What's that about the Java website? Would that be one html document from among tens of thousands on Oracle's website? Was that available when Harmony wrote their clean room implementation of the libraries? You know, I don't think it was. And, what's that about java docs generated from the code?

Yes, of course, I remember, now! All of the API descriptions are generated from the source code for the API functions. As stegu told me,
Java comments are allowed in both formats that are legal for C/C++ comments, i.e. single line comments starting with //, and block comments enclosed in /* ... */.

The Javadoc headers aimed at auto-generated documentation begin with /**.
Now, what did the expert witness say?
Oracle: #2: Copying of documentation into source code.

John Mitchell: Yes. An API contains declarations. IntBuffer. That declaration is copied directly into Google code. Talking about timsort. Copying of code / rangecheck.

Oracle: Cleanroom?

John Mitchell: The person that wrote that had access to the Sun code.
Hang on! Harmony did the clean room API code and not Google. The only thing they would have to go on was the Java API Specification given to them by Sun for the express purpose of writing the clean-room API function code.

That Specification would contain the javadoc text drawn from the original source code files and identified to the javadoc program by the /** prefix.

The writers of the source code are under strict orders to make sure the javadoc comments are always written in the exact same format and layout and using exactly the same form of phrases for the method lines. Since the Oracle code writers and the Android code writers are writing about the same functions with the same names and with the same instructions about javadoc comments it is likely that they will look very similar.

Of course, anything in the way of creative expression that the programmers added to the javadoc comments would stand out like a sore thumb. Perhaps, they had no desire to add creative expression to their functional descriptions formatted in line with the Java API Specification format.

So, what do we make of Mitchell's expert opinion that 'the person that wrote that had access to the Sun code' and Jacobs question about 'clean-room'?

Ah, yes, they are talking about the nine rangeCheck lines (including the line that had '}') in timsort that Joshua Bloch wrote and donated to Oracle.
Q. How big is Timsort (referring to Bloch's Java implementation).

A. 900 lines.

[The rangecheck() function gets mentioned in here.]

Q. Was there a sort API in Java before Timsort?

A. Yes, in the arrays (class? package?).

Q. How did Timsort differ?

A. It was much faster: as much as 20 times, typically somewhere between 2 and 20.
9 out of 900? As a percentage, that is... that is... Well, you do the math!

Those were the nine lines that Google admitted to copying. In fact, they were the only nine lines in hundreds of thousands of lines that Oracle discovered were copied directly by Google. And Joshua Bloch handed them back to Oracle as a small component of the much improved timsort. Nice!

Perhaps it was just unlucky that Jacobs appeared to taint the whole of the Harmony project because of the nine lines that Google copied and gave back in the 900 line timsort.

---
Regards
Ian Al
Software Patents: It's the disclosed functions in the patent, stupid!

[ Reply to This | # ]

Structure, Selection and Organisation, doesn't sound like Java's OOP design methodology
Authored by: Anonymous on Tuesday, April 24 2012 @ 06:17 AM EDT
(IANAL) But has someone made a huge mistake on Oracle's behalf here? talking
about structure rather than objects oriented :)

Imo OOP based languages/APIs would be the hardest of all to claim any SSO
defence for, considering the whole selling point of an OOP design methodology is
that you let the real class instances(nature) guide your design; and therefore
this should always make your design “derivative” and “obvious” to any other
expert in the field capable of software modelling.

Even if Java was a structured/procedural language like SQL, I fail to see how
anyone is going to claim that SSO can be protected in public software
interfaces; regardless of complexity, when methodologies such as Structured
Systems Analysis Data Modelling(SSADM) exist freely for anyone skilled to use.

Where I feel the judge has let Oracle pull a fast one, is by using the words
“API specification” in place of what it really means and does; provides a
“public interface” for programmers to use the Java language.

[ Reply to This | # ]

Decompilation
Authored by: SLi on Tuesday, April 24 2012 @ 07:01 AM EDT

The decompilation stuff sounds quite bad for Google, in my opinion...

[ Reply to This | # ]

Week 2, Day 6 of Oracle v. Google ~pj - Updated
Authored by: Anonymous on Tuesday, April 24 2012 @ 08:43 AM EDT
The court and the law are so out of touch about software
and its development that this whole thing is absolutely
disgusting.

Engineers can't rely on laws about something while lawyers
define the very element of software that they demonstratably
know absolutely nothing about.

No wonder the world is going bad.

[ Reply to This | # ]

If they used Harmony, why did they have to write the APIs over again?
Authored by: s65_sean on Tuesday, April 24 2012 @ 08:53 AM EDT
One thing that I don't understand is if Google copied Harmony as they claim,
then why did they have to write these 37 APIs over again themselves in a clean
room? Hadn't the Harmony project already done that?

[ Reply to This | # ]

did Oracle's expert help Google?
Authored by: Anonymous on Tuesday, April 24 2012 @ 09:13 AM EDT
I noticed the following from Oracle's expert, and I think that this actually helps Google, not Oracle.

Judge: java.io, that's an API?

John Mitchell: Technically that's a package. As a grouping of classes, an API consists of information about packages classes and interfaces together with what they do. An overview of an API.

Couldn't Google use this statement and say that APIs are not eligible for copyright since they are ideas and facts?

[ Reply to This | # ]

This admission by the Judge is huge for other reasons:
Authored by: eachus on Tuesday, April 24 2012 @ 12:55 PM EDT
Judge: Well, I still question your premise. Now it may be that they agreed to a license, in the same way both of these companies have agreed to a patent from a troll, even though it's completely invalid, just because it's not worth fighting.

This issue may come up in the patent part of this case. I also expect that it will be used by lots of lawyers as a precedent for calling the plaintiff in a particular case a troll. And certainly just sending that snippet to your congressman and Senators can't hurt.

[ Reply to This | # ]

What's in a name? whats in an SSO?
Authored by: Anonymous on Tuesday, April 24 2012 @ 01:12 PM EDT
Google did not copy the code (except in some few instances)
It is so stipulated.

The names are not protected.
It is so stipulated.

So what is this circus all about?
It's not the code, and it's not the names.
Doesn't that mean that there's nothing left?

Not at all.

It's about the 37 APIs!

Well, no, it's not.

It is about the Structure, Selection and Organisation of the Documentation of
those APIs in a Book called The Java API Specification.

Oracle allege, that Google, copied a portion of their Book, the API
Specification, into their own book the Android Developer Reference.

Then it is alleged that Google, having done that copying, then copied the thing
that had been copied from Oracles Book in to Android source code. A symbol for
symbol exact copy, look at the names in the source code.

(Oracles filing #899 Accused 1, 2, 3)
(4 is the overreach that Jude Alsup looks like he's about to kick in to touch,
though I'm sure Mr Boies would like SSO to stretch over the expressive part
aswell)

Say what? names aren't protected, the judge said so.

No, they're not, but the SSO was a $7.4Billion pink elephant^W^W the result of
tens of years of man effort and hundreds of millions of pounds of investment.
Design Decisions, Creative decisions, many decisions, Artistic decisions, it, so
they say, the plot line of their work.

It is protected, or at least an SSO may be entitled to protection. (And for now,
Judge A is going to say that it is, from where he sits, there is some merit to
Oracles argument)

Oracle try to claim that the 37APIs should be the work as a whole, well lawyers
can claim whatever they are paid to claim, doesn't mean it's true, and anyway,
they don't mean the 37 APIs, or even the 37 Packages

What they are pleading is the SSO of the 37 subsections Described in the API
Specification.

And we know that it is not the work as a whole, the Judge has already asked, why
isn't it 42? isn't it a subset?, haven't you already dropped some? 14 have been
dropped, from 51 to 37, but even 51 is not the whole work.

Maybe I have a poor memory but I thought at one stage that Oracle had said that
there were more than 200, which makes the 37<20%, but Google asserted that it
is only 166 which makes it <25%, this appears to play into Oracles hand, it
gives Oracle a chance to assert the portion copied is a significant percentage.
But it's not.

It is only 20%-25% of the SSO, which itself is only a portion of the whole.
Even if you accept that the SSO is a significant portion of the whole, there are
a lot of Method names for example, and some very short English descriptions, it
is still the case that you are only talking about a portion of a portion of the
work as a whole.

Let us say, just for argument, that the SSO constitutes 40% of the work, a ratio
of ~1.5 lines of expression to 1 lines of SSO. Barking mad at best, but hey,
we're drinking Davey Boys shandy on this one, so let's go with it. It suggests
that Google only copied at maximum 10%.

Though let's go back to Mitchell, he said it was 90% (of the SSO), and Android
added some bits. So less than 10% then, likely much less.

But wait a minute, percentage copied goes to fair use, or substantial similarity
doesn't it? But fair use doesn't apply to SSO. SSO only gets thin protection,
the question is did you use it or not, did you copy it, or not?
It is not and should not be a question of how much of it did you use? So let's
look at the SSO

1) java.awt.font
2) java.beans

Need to pause there, of course these are only shortcuts to refer to 'Everything
Contained In' this section of the SSO, CLI junkies have a solution for that,
'.*' which we shall employ here

1) java.awt.font.*
2) java.beans.*

Stop again, we forgot, names are not protected, it is only the SSO that is
protected, so we need to abstract away the names, let's use Upper case for main
section, lower case for subsection, then numbers for sub-sub, and sub-sub-sub

1) A.a.1.*
2) A.b.*
3) A.c.*
4) A.d.*
5) A.d.1.*
6) A.d.2.*
7) A.d.3.*
8) A.e.*
9) A.f.*
10) A.f.1.*
11) A.f.1.1.*
12) A.f.2.*
13) A.f.2.1.*
14) A.g.*
15) A.g.1.*
16) A.g.2.*
17) A.g.3.*
18) A.g.4.*
19) A.h.*
20) A.i.*
21) A.j.*
22) A.j.1.*
23) A.j.2.*
24) A.j.3.*
25) A.j.4.*
26) A.j.5.*
27) B.a.*
28) B.a.1.*
29) B.a.2.*
30) B.b.*
31) B.b.1.*
32) B.c.1.1.*
33) B.c.1.2.*
34) B.c.1.3.*
35) B.c.1.4.*
36) B.c.2.*
37) B.d.*
(list is from Exhibit attached Filing 899, translation errors are mine)

Forget for a moment, what might be fair use, what might be barred by
function/merger/estop/public availability, Apache License, GPL License, common
knowledge, Language Library whatever (and there's lots).

This alone starts to beg question about just how far Boies is trying to stretch
his thin copyright protection.

This numbering assumes that the 37 are the whole of the work
we know that is not true.

How many other Main sections are there?
TBF, there's only 1.

HOw many other Subsections in Section A?... B?
That would be lots and lots, and they would be sprawled al among the
Sub-sections that you do see, so it should not really be 'a' through 'j', it's
more like

b,c,f,h,l,k,p,r,t,x,y

but we are trying to help you the reader see and it would be otherwise
confusing, so we'll stick with what we have.

Why is it, if Sub-sections A.b through A.j, are all called out in their entirety
(A.b.*->A.j.*)?
why is it then necessary to call out the sub-subsections separately?

Why is only one sub-sub-section of A.a.* is called out, what about the rest of
it?

How many more sub-sub-sections are there that are not listed?

That would be lots too, A.a.1.* here, is actually A.b.5.* if you refer to the
SSO of the Oracles API specification.

And sub-sub-sub-sections?
Yup there's a few of those too.

What about items 37 and 19? Aren't they just two sections on the same thing?
they're called A.h.* here and B.d.*
shouldn't they be A.h and B.h.

Well we're giving Boies the benefit of the doubt, so may be not, but may be yes,
why don't you decide, incidentally, same for 30) and 8).


Google do not deny that they copied the structure, they do not deny that it is
substantially similar. They copied it from Apache Harmony, they didn't copy it
from Boies Book, they could have copied it from a dozen places, they didn't need
to.

Googles selection arrangement and structure while it may bear some superficial
similarity to Oracles Structure, is a technical artefact of automated software
tools analyzing the source code (which Oracle admit they did not copy) and it is
plain on the face of it that if you look actually at Oracles SSO (not the code,
not the book, not the English prose, not the licenses, just the SSO), then
Google did not copy it from Oracles Book, at best they 'quoted some small bits
of it'

That is not enough when your copyright protection is only thin in the first
place.

If it is not copied from the Book, then it cannot have been copied into the code
(which is admitted was not copied),and even were it so, your thin copy right
protection does not get you that far Mr Boies and you know it.

Everything else you hear from Oracle is distraction.
(Exhibit A, attached to filing #899, read it carefully)

Boies/Jacobs perfect magicians.


My apologies for blathering on,
I hope you found it worth reading.

[ Reply to This | # ]

rangecheck couldn't be written by a grad student?
Authored by: Anonymous on Wednesday, April 25 2012 @ 04:29 AM EDT
To suggest that the range check function could only be written
by a grad student if they were told what to do is crazy. If
his students couldn't pull that off than that makes Stanford
look pretty bad.

[ Reply to This | # ]

Why does Google not use the GPL defense?
Authored by: Anonymous on Wednesday, April 25 2012 @ 06:36 PM EDT

If Java was really released under the GPL then the JavaDoc has been released under the GPL since it's just the comments, packages, classes, methods, fields, etc. How can Oracle claw back that information if it's released under a license that says Google can do whatever they want with it? Maybe Google should have invested in a clean-room implementation of javadoc. It would seem that using Oracle's interpretation, Oracle would themselves be infringing Red Hat's copyright on Red Hat Linux. I just don't understand why Google is not raising a GPL defense here.

[ Reply to This | # ]

They should use Object Pascal to demontarte this stuff
Authored by: Anonymous on Wednesday, April 25 2012 @ 10:19 PM EDT
Object pascal objects are very strict about interface and implantation sections.
It would be very easy to make the judge and jury understand the difference.

[ 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 )