decoration decoration

When you want to know more...
For layout only
Site Map
About Groklaw
Legal Research
ApplevSamsung p.2
Cast: Lawyers
Comes v. MS
Gordon v MS
IV v. Google
Legal Docs
MS Litigations
News Picks
Novell v. MS
Novell-MS Deal
OOXML Appeals
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v Novell
Sean Daly
Software Patents
Switch to Linux
Unix Books


Groklaw Gear

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

You won't find me on Facebook


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

No new stories

COMMENTS last 48 hrs
No new comments


hosted by ibiblio

On servers donated to ibiblio by AMD.

Week 2, Day 7 at the Oracle v. Google Trial ~ pj - Rubin, Schmidt, Updated 7Xs
Tuesday, April 24 2012 @ 11:53 AM EDT

We have our first report from the courthouse, on day 7 of the Oracle v. Google trial. Today's witnesses are Andy Rubin and Eric Schmidt. Mirror_slap is back, and here's his first quick word, with plenty more to come:
Google chose not to cross-examine Andy Rubin, saying that they'd reserve their questions for when they begin presenting their case later today.

Eric Schmidt will be called next by Oracle. It sounds like he is the last Oracle witness.

So Google's up at bat next. As Robert Van Nest, Google's lead attorney, yesterday told the judge, they hadn't had a chance yet to tell their side. Today it begins. And mirror_slap brought a laptop today, his wife's, so he hopes he'll be a lot faster sending us the news, instead of taking paper and pen notes and transcribing them when he gets home. So stop back by when you see the title says Updated. It should be a super-interesting day.

Also, while sparse, in that it's Twitter, there's a stream of tweets just about the trial with several reporters tweeting that feldegast has put together for us. Mr. Schmidt has taken the stand, and David Boies will be the lawyer for Oracle asking Schmidt questions.

Jump To Comments

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

There are some legal things the reporters are missing, but that's only natural. It's not their field. But at least you'll see a blow by blow. Here's an example. A couple of tweets seems to imply that Rubin was dodging truth by refusing to acknowledge an email. But Rubin noticed that the indentation was off in the Oracle exhibit. That could be an indication of doctoring the exhibit. Or not. But if you don't know, you can't authenticate it. You really, legally can't, because the issue is whether or not it's what was really sent. If it's doctored, it's not what was sent. This is, after all, an Oracle-prepared exhibit, so do you wish to assume, after the doctored video in the Microsoft antitrust trial years ago?

Rather than tell you, I'll show you, so you can be da judge. Caleb Garling tweeted:

Oracle's Boies visibly aggravated with Rubin right now. Rubin maintaining he can't be sure who wrote an email because the indents are off
And James Nicolai tweeted:
That was rare, Boise lost his temper. Rubin refuses to admit an email with three names in the header written by one of those three people
See what I mean? The reporters are assuming, I think, that if there are three names in the header of an email, it proves one of the three must have written the email. But in the law, you have to prove that a document was written by one of the three. You can't just guess. Because, as I explained, someone could have cooked the email to make it look like it was written by one of the three, or even not on purpose misprinted it in such a way that some essential bit was lost, or the paralegal making copies got the pages shuffled wrong. Things do happen. So the law requires a much higher standard of proof than just that you have a paper copy of an alleged email that allegedlly three people either wrote or received. All those steps have to be proven, and if the indents are off, there is strong reason to doubt.

In other words, even if the email is real, Oracle didn't prove it so. Keep in mind. Rubin is a techie, not a reporter, so he knows very well all the tech tricks that could result in a document that looks real but isn't. And remember when Larry Page noticed that there was something off in the pagination of an exhibit he was shown? I'm just saying, this doesn't happen in trials every day, that the exhibits have flaws. Or maybe non-geeks don't notice when they do.

Dan Farber has a report up already, titled Google's Andy Rubin dodges David Boies' bullets. Larry Page was able to do that too. The bullets were the emails that I analyzed and reported on in this article a couple of days ago. I don't think they show what Boies tried to make them show, but you can look through them for yourself and make your own determination. Here they are, collected in a PDF.

Update: Dan Levine is tweeting something I didn't know:

Schmidt says Sun wanted roughly $30-50 mln for mobile partnership with Google, and Google would have paid. Dispute was abt control
He also reports his impression that Schmidt is much more relaxed than Larry Page. And now it's cross examination time, with Robert Van Nest, Google's attorney, getting into evidence Google's side of the emails about licensing from Sun.

Update 2: The Verge's Nilay Patel is providing coverage too specifically of Eric Schmidt's testimony, based on Bryan Bishop's providing details from the courtroom:

11:59 am: Judge Alsup telling Van Nest that this whole discussion is coming out of Google's time. Van Nest: "Whoa whoa whoa, if you'd told me that I would've objected!" Big laughs all around — the jury clearly loves Van Nest.

11:55 am: Eric Schmidt, the former CEO of Google, is now explaining to the jury a JavaScript function that finds the bigger of two numbers as a way of describing APIs. Just think about that for a minute.

11:50 am: Van Nest now showing off an email in which Vic Gundotra suggested the full rights to Java would cost $100m. Google considered paying but didn’t think Sun would go for it.

11:50 am: Did anyone say your code was copied before this lawsuit? "No." And that's been avail since 2008? "Yes, I'd say about 3-4 years." Cute, but honestly — who else would say Android was copied?

Well, that's not the right question. The question is, why didn't Sun object? It's clear, from Schmidt's answer, that they never did.

Why does that matter? Because this appears to be a U-turn by Oracle, to close up what Sun left open. They are suing people who are saying they relied on Sun's position and had no reason to think anyone would ever object.

Oracle seems, to me, to be trying to develop a kind of proprietary alternative to Linux/FOSS. If you license Java, you get extensible software. What else would you need? Freedom? That's not an Oracle meme, from all I've seen. So I now have come to suspect that this is about forcing FOSS into a very sad and limited corner, where it actually can't compete any more, because FOSS developers don't have the big bucks, other than Google, to pay for licenses and patents. Even if it's not a plan, or a plot, it's what this case will result in, if Oracle prevails.

We've talked a lot here on Groklaw about what an API is, and eventually I hope to have the time to collect all your input, but here's what the Verge says Schmidt said about it, and they very appropriately highlight it:

11:44 am: Schmidt answering the question, drawing the distinction between the API name and code used to do the work. "The difference between calling "print" and the code that actually does it."...

10:47 am: That was a bravura performance by Robert Van Nest and Eric Schmidt. We'll see how Oracle deals with it on re-cross after a short break.

10:45 am: And we're back for just a few more questions, says Van Nest. Are APIs blueprints? Schmidt: "No, APIs are the way you make something happen... the way you do that is completely up to the other side of the interface." How long have you thought that? "For as long as I've been a computer scientist, so 40 years." And with that, Google rests....

9:31 am: Schmidt saying he was "the executive in charge" of Java at Sun, and "the language itself is not useful unless you can make something happen," which is what the APIs do. Google's clearly trying to establish that Schmidt designed Java at Sun to be open-source and include the APIs.

He means rest, I assume, in the sense that Google's examination of Schmidt was done. But there is lots more to come from Google.

Update 3: They are now done for the day, the Verge is reporting, and what a great job of reporting Bryan Bishop has been doing for them. From their Andy Rubin report, including the section when Rubin was called back to the stand after Eric Schmidt was done:

12:33 pm: Rubin wanted to have a conversation with Sun and convince them to open source elements of Java as they had done with other partners. Looking at an email between Rubin and a Sun sales person responsible for Java in which Rubin wrote, ""Looks like there are no roadblocks to us taking a license and then open sourcing our implementation... Right now we are moving ahead with the project, and doing an independent implementation."
In other words, since there were no fabulously wonderful alternatives to Java, they'd do their own.

Dan Levine has just tweeted this:

Google atty: if APIs are copyrightable would be a "substantial departure" for the computer industry.
I'm glad to hear Google put that out there. I hope it was in front of the jury, so the judge and jury both understand that Oracle is asking for a huge change in the law, and we'll find out when mirror_slap files his report for the day. [Update: It was not. It was said at the end of the day, after the jury was dismissed.]

Update 4: Here's mirror_slap's report on the discussions between the judge and the lawyers before the jury entered for the day, followed by the testimony of Andy Rubin:

Oracle v. Google, Day 7, 2012-04-24

Before the Jury Comes In

Google: Supplementary response, ref interrogatory #4, specifically reference Jonathan Schwartz' blog. It was specifically referenced there. And by reference in #10(?) We go on one interrogatory, registered patent disclosures, May 26 2006

Google: Oracle was aware of Android in advance of Sun purchase, Open Handset Alliance. Oracles statements and Google's claim is that Oracle's knowledge and statements speak to waiver, estoppel, and laches.

Judge Alsup: It does seem to me that this interrogatory called out the blog.

Oracle: Never identified any witness who had done so. Never said *who* at Google relied upon Oracle's statements.

Oracle: At this point, bringing up witnesses who say that they relied on it, regardless of the fact that this has not come up into discovery.

Judge Alsup: Possibly an pattern of acquiescence regarding what Google has been doing. Sun was an enthusiastic supporter of Google.

Judge Alsup: Google should be given an opportunity to prove that.

Judge Alsup: No [Google] witnesses have said that they relied on it.

Judge Alsup: The pattern should come into evidence.

Two, if Sun themselves thought that Android was "going to strap rockets to" Java in a spaceship going into outer space, then it seems to me that Google has a counterclaim against unjust enrichment. [ laughter ]

Judge Alsup: Fair game. Objection overruled.

Oracle: Mr. Schmidt and Mr. Rubin today.

Google: Van Nest- one category of documents… the "large number" documents, #431, for ex. financial docs, October 2010, please do not show this in the courtroom. Getting the same large #'s with a B in front of jurors. No problem with witnesses being examined regarding how Google was going to make money off Android. Object to Oracle using these numbers. May be relevant to phase three.

Oracle: Boies .- ref ext 431, not throwing around billion numbers. The more revenue obtained by an infringer in a copyright case, the more indicative of unjust profit from the infringing. The law with respect to "fair use".

Judge Alsup: That is a good point.

Google: The amount is not speaking to fair use. These are general statements of all of Google. Includes not only Android, but other business units such as Chrome, search, display, etc. Also, these are projections. The amounts are irrelevant.

Judge Alsup: I am not so sure that you are right about that. With reference to your protesting your case, it has been put forward as a charitable case. Boies can say that it is greed, greed, greed.

Judge Alsup: Read me the entire statute.

Judge Alsup: You left out the part about "commercial".

Google's Van Nest: The whole point was to get Android out there, for Google's products to work better. What I am objecting to is throwing large (prejudicial) numbers out there. 403 objection.

Judge Alsup: Overruled, unless Boies goes overboard. Unlike the situation where I excluded Mr. Norton saying how much Oracle paid for Sun. These are Google's own internal docs showing how much Google expected to make off this (A). Intended for commercial purposes, therefore [ possibly not fair use ]. You [Oracle] can use two of them.

Judge Alsup: Never got a ruling of 207 from yesterday.

Judge Alsup: Mr. Rubin is on the stand?

[ Yes ]

[ Jury is seated. ]

Judge Alsup: Re your question on why lawyers have to ask to approach… old tradition of lawyers leaning over the witness stand, putting their arm around the witness, and shouting in their ear. The witness would say anything to get rid of the lawyer.

Judge Alsup: Mr. Rubin, you are still under oath.

Andy Rubin Testimony Resumes

Oracle: [Boies] - Identify documents that you may recognize.

Oracle: TX207, is this a document sent to you May 11, 2007?

Andy Rubin: Yes it was. May 11.

TX 248- an email from Eric Schmidt, May 18, 2006?

Oracle: Andy Rubin: yes, it is.

Oracle: TX215, June 1, 2007, subject Aj class libs.

Andy Rubin: Yes.

Oracle: TX216, was this an email to you, from Mr. Schmidt on January 15, 2007?

Andy Rubin: Yes.

Oracle: TX 217, email to you from Dave Burke, Nov 2?, 2007?

Andy Rubin: Yes.

Oracle: TX 221, email from you August, 2007?

Andy Rubin: Email thread, my response to it.

Oracle: TX 223 email from Larry Page July 16, 2007.

Andy Rubin: Email to me.

Oracle: TX 230, email from you August 11, 2007?

Andy Rubin: [Missed answer.]

Judge Alsup: Have these all been objected to, Mr. Van Nest?

Google: No objection to emails to/from Larry Page.

Oracle: 273,382, 389 431,433, 438, 618, 619,1002, 1044, 1050, 1051, 1060, 2233

Judge Alsup: All exhibits into evidence.

Oracle: TX1061 - Not something that you prepared, but you participated ?

Andy Rubin: Draft presentation; not clear that I participated.

Google: Objection, 403.

Judge Alsup: Overruled.

Oracle: We were talking about cleanroom implementation.

Oracle: This is a July 26, 2005 press release: "develop a cleanroom implementation of a JVM"

Andy Rubin: Yes.

Oracle: OTX 12- an email you had written?

Andy Rubin: Yes.

Oracle: Says that a cleanroom implementation would be tough given composition of the team?

Andy Rubin: Yes.

Oracle: TX 147- is that in evidence? [yes]- a document that includes an email that you wrote, and a response to that .

Andy Rubin: Partial email.

Oracle: An email that Andy Rubin wrote. Do you see that?

Andy Rubin: Yes, I do.

Oracle: Cleanroom implementation would be hard, especially with a large number of former employees form Sun.

Andy Rubin: Yes.

Oracle: They would have too much knowledge?

Andy Rubin: They had too much specific knowledge of Java, yes.

Oracle: You said that [ we are walking away from negotiations with Sun"?

Andy Rubin: Yes.

Oracle: You wrote that in July 2006?

Andy Rubin: Yes.

Oracle: Regarding fragmentation.

Andy Rubin: [Asks for definition.]

Oracle: You say in email to Larry Page that "we need to take a license… run the TCK… to avoid fragmentation.

Andy Rubin: Yes.

Oracle: Sun wanted to avoid fragmentation?

Andy Rubin: I am unclear on what exactly Sun wanted.

Oracle: "Although this has the makings of another stare down"… If we don't show strong efforts towards avoiding fragmentation, we are also going to have to make …"

Andy Rubin: I don't think that I wrote this email.

Oracle: Do you agree with it?

Andy Rubin: I am not sure.

Oracle: Tim Lindholm wrote it?

Andy Rubin: Yes.

Oracle: TX9- email fm TL to AR- OCt 2005. "Alan [ Brenner] presumably wants this both for tactical reasons and strategic ones." Did you ever ask what fragmentation means?

Andy Rubin: I have my own definition of what fragmentation meant.

Oracle: But you knew what it meant, didn't you, sir?

Andy Rubin: I am not clear what their definition was, specifically.

Judge Alsup: Back then, did you have any reason to believe that they understood the term differently?

Andy Rubin: There was some caution on my side for using the term "fragmentation". Sun's term might differ. Mine is fragmentation is about compatibility. Incompatible implementations of Java.

Oracle: TX21- Email fm Andy Rubin to Dan Borenstein, April 13, 2006, in reply to Dan Borenstein email.

Oracle: "Java has very little fragmentation" -- see that?

Andy Rubin: Can we go back to broad email so I can see the whole thread?

[Exhibit is provided to Rubin ]

Andy Rubin: I am unclear whether Borenstein said that or the other person cc:ed replied. Indentation differences.

From this email, it is clear that Dan Borenstein is replying to another email.

Oracle: You are testifying that you don't know whether Mr. Borenstein wrote this, or whether someone else did it?

Andy Rubin: Yes. It could have been from a forwarded email. Not all the headers of the responses are here.

Oracle: Nobody else listed here.

Andy Rubin: Signifies to me that there is a missing header.

Oracle: I don't want to spend too much more time on this. 3 responses, 3 people included.

Andy Rubin: I'm not sure -- not seeing cc: of the Android team… that's four parties.

Andy Rubin: Email was addressed to somebody, and the party is not in the header.

Oracle: *Somebody* at Google wrote, "There is very little fragmentation in Java"? Andy Rubin: Yes.

Oracle: You didn't ask what fragmentation was?

Andy Rubin: No.

Oracle: TX180- email thread… Nov 14, 2007… middle of page. Eric Schmidt wrote to you.

Andy Rubin: Apparently responding to me, yes.

Oracle: Email discusses certain statements that Sun was making, correct?

Andy Rubin: Email re PR team regarding launch messaging.

Oracle: Page 2. See email ant from Stephen Shankland [ reporter] to Eric Schmidt, re a statement of Mr. Green, Sun VP, re the announcement of Android.

Andy Rubin: Yes.

Oracle: People at Sun made comments.

Andy Rubin: Yes, I suppose.

Oracle: Do you remember comments from Mr. Green?

Andy Rubin: Not until I saw this.

Oracle: Quote: "very interested in working with Google to ensure that Java doesn't become a fractured environment" -- you see that?

Andy Rubin: Yes, I do.

Oracle: Saw that at the time in 2007?

Andy Rubin: Faint recollection.

Oracle: Ever ask anybody what fragmentation meant?

Andy Rubin: No.

Oracle: Email says that Google would work to help solve fragmentation issue?

Andy Rubin: Proposing revised statement.

Oracle: Don't know what he is talking about re: fragmentation?

Andy Rubin: No.

Oracle: Ever ask him about it?

Andy Rubin: No.

Oracle: None of you thought that fragmentation was a good thing?

Andy Rubin: No.

Cross Examination of Andy Rubin
Van Nest: We reserve our questions until our case begins later this morning.
Judge Alsup: The witness may step down. Next witness.

[ Next witness, Eric Schmidt. ]

Update 5: Here's the first section of the testimony of Eric Schmidt, being asked questions by David Boies, once Mr. Schmidt arrived -- he was 15 minutes or so late, after which Oracle finished its case in chief, and Google began with its first witness, Eric Schmidt:

Judge Alsup: While we are ascertaining Eric Schmidt's whereabouts… Dawn, will you hand out another one-page guide, approved by lawyers on both sides, a list of witnesses and their positions, including spelling of their names. [ handed out ]. Stick it in the back of your steno pad.

Google's lawyer Robert Van Nest: The witness was scheduled for 8:30. I apologize.

Judge Alsup: Anything for Oracle to get in, stipulations, interrogatories?

Oracle: No.

Judge Alsup: We'll take a 15-minute break now. [Admonitions.]

Google: He will be here in 5 minutes.

Judge Alsup: Any issues for the Court?

[ none ]

[ Judge Alsup takes a break, too. ]

During the break, Eric Schmidt comes in, meets with Van Nest at the head of Oracle's table, then they move over to Google's side and talk. Eric Schmidt looks relaxed, as does Van Nest.

Judge Alsup comes in. Eric Schmidt is seated. Jury comes in. Eric Schmidt is sworn in.

Testimony of Eric Schmidt

Oracle: [ Boies] May I approach? TX6- Presentation in August 2005, with regard to Android to the GPS (Google product strategy) group.

Eric Schmidt: Yes.

Oracle: You were present for this?

Eric Schmidt: I believe so.

Oracle: [References page 8 of the exhibit.

Oracle: Google has more control of user experience and built-in Google apps?

Eric Schmidt: Yes.

Oracle: What are Google apps?

Eric Schmidt: I didn't write this… apps that [ lost the words].

Oracle: You certainly expected Android to result in more revenue for Google search?

Eric Schmidt: Yes.

Oracle: You said, "would pay for Android, and a whole bunch more"?

Eric Schmidt: Yes.

Oracle: "It's not an OS, It's an Open Handset" slide.

Oracle: References: "Disrupt the closed and proprietary dominant Industry players: Microsoft and Symbian. Eventually build... (p 24) Plan: beat Microsoft and Symbian to volume by offering an open handset solution.

Oracle: You wanted to get your handset out there.

Eric Schmidt: Volume means more users. Certainly more customers. Vast majority of revenue is from search. In principle, we would wind up with more revenue.

Oracle: After it had been announced and had been out for a while, this is what you found was happening?

Eric Schmidt: Yes.

Oracle: [TX158] Do you recognize?

Eric Schmidt: um… not particularly. I have it in front of me. Pease proceed.

Oracle: You remember it?

Eric Schmidt: Probably.

Oracle: Presentation on Android. You saw this on or at the time it was produced?

Eric Schmidt: I don't recall explicitly. Similar to others I saw at the time.

Oracle: TX 251 -- another, related document. Same subject matter. Have you seen it before?

Eric Schmidt: I haven't seen it before.

Oracle: Back to XT158- a presentation from Andy Rubin?

Eric Schmidt: It's not clear to me.

Oracle: TX 151. You've seen this before?

Eric Schmidt: Yes.

Oracle: GPS notes taken at a GPS meeting, Eric Schmidt: taken by a note taker, yes. 3/17/2007.

Eric Schmidt: Not the same as previous TX's referred to.

Oracle: Go down to the end, do you see note attributed to Andy Rubin?

Eric Schmidt: I do.

Oracle: "Still shopping for libraries and JVM's"

Eric Schmidt: Yes.

Oracle: Has to do with Android?

Eric Schmidt: Yes.

Oracle: Andy Rubin says that this is a hotspot. What does he mean by that?

Eric Schmidt: Not sure.

Oracle: Not having class libraries and JVM were slowing Android down?

Eric Schmidt: Yes.

Oracle: there was as time when you didn't had class libraries or JVM.

Eric Schmidt: Yes, because we chose to build them ourselves. We chose to use Apache software.

Oracle: For SE?

Eric Schmidt: Defers to technical folks.

Oracle: You understand that software had not been authorized for mobile use?

Eric Schmidt: I was not aware of technical details.

Oracle: In laymen's terms.

Eric Schmidt: I was not aware of details of licensing of the software that was available to us.

Oracle: Don't you investigate?

Eric Schmidt: Not personally.

Oracle: Aware of anyone who did investigate it?

Eric Schmidt: Now aware.

Oracle: TX- EM -- Google Peso on Open Handset. P 7 of TX. -- Possible deal between Google and Sun -- "Why do the deal"?

Eric Schmidt: Yes.

Oracle: "Critical to our Open Source handset?

Eric Schmidt: Yes.

Oracle: Drastically speed up development schedule?

Eric Schmidt: Yes, that was their belief [ presenters… ES didn't prepare the presentation.]

Oracle: TX10- email from TL to Andy Rubin, Dan Grove. I don't expect that you have seen it. It's not to you. Have you seen it?

Eric Schmidt: No.

Oracle: "We have been asked by LP and Sergei…" -- Were you aware on or about August 2010 that Larry and Sergey…

Eric Schmidt: We were trying to figure out what to do. This email speaks to that.

Oracle: "We conclude that we need to negotiate a license for Java."

Eric Schmidt: Yes.

Oracle: Was this reported to you?

Eric Schmidt: Not reported to me.

Oracle: In august 2005, ref TX1, presentation on July 26, 2005, to GPS. Were you at this?

Eric Schmidt: I don't know. I don't recognize it.

Oracle: You generally attend GPS meetings?

Eric Schmidt: If I am in town. I do not recognize this document.

Oracle: Page 9, do you see " must take license?"

Eric Schmidt: I see that. Given what I recall, this is not accurate.

Oracle: move to strike, non-responsive.

Judge Alsup: [ Strikes ]

Oracle: Look at document in context or what we were talking about a moment ago re: Apache and field-of-use restrictions. May 30, 2008, from Bob Lee to Eric Schmidt. 2nd paragraph, "Sun puts field of use restrictions for Java SE", you see that?

Eric Schmidt: Yes.

Google reserved its cross examination until Google presents its case, shortly. Oracle's case is now presented, and it rests.

[PJ: You know what's salient to me? Oracle didn't call Scott McNealy. He's still alive. If it were true that Sun was upset at Google's Android when it began, or if he could rebut the testimony from Jonathan Schwartz that Sun was fine with Android, don't you think they would have called him to the stand?]

Judge Alsup: We've reached a milestone. All motions of Rule 50 have been deemed to have been entered at this time.

Judge Alsup: [to Google] You may call your first witness.

Google: Google calls Eric Schmidt.

Judge Alsup: Welcome back! [ laughter ]

Testimony of Eric Schmidt, Google's First Witness

Google: Background… Berkeley, graduated in CS PhD, 1982, went to Sun, 14 yrs. Engineering manager, ran operations, then CTO, primary executive in charge of Java.

Eric Schmidt: The joke was that CTO was Chief Talking Officer.

Google: Was Java developed at Sun while you were CTO?

Eric Schmidt: Yes.

Google: What was your role?

Eric Schmidt: Taking from primary author, James Gosling, working with Bill Joy.

Google: Duration of development?

Eric Schmidt: 1989 to 1994. "Attempt to build a new religion around a new way of thinking."

Google: When was language released?

Eric Schmidt: In 1994, here in the Moscone Center.

Google: How was it released?

Eric Schmidt: It was released with the understanding of developing with partners. [He negotiated licenses with Netscape and Oracle.]

Google: Why do this?

Eric Schmidt: We, who had come out of Berkeley and Unix, put the software out there to allow others to modify it. You could use Java under license, or you could make your own, as long as you did not call it Java.

Google: How did you promote it?

Eric Schmidt: Education, conferences.

Google: JavaOne? What is it?

Eric Schmidt: A series of conferences for developers. Demos of what was great about Java, but not many apps. We hoped for 500 people, but got a huge response.

Oracle: I've been relatively patient.

Google: Brought in by Reinhold. will move on soon.

Google: When Java was introduced, were the APIs released too?

Eric Schmidt: Yes.

Google: What is the purpose of the APIs?

Eric Schmidt: Language is useless without the APIs.

Google: How were APIs made available?

Eric Schmidt: Book by Bill Joy, documentation.

Google: APIS were developed at the same time as JPL?

Eric Schmidt: Yes.

Google: How would Sun make money off it?

Eric Schmidt: You could pay a modest license fee, or do your own implementation.

Google: Did anyone at Sun ever call APIs blueprints?

Eric Schmidt: No.

Google: Is that an accurate phrase?

Eric Schmidt: No.

Google: When you left Sun…

Eric Schmidt: I went to Novell. Stayed in touch with Sun folks working on Java.

Google: You went to Google as CEO?

Eric Schmidt: Yes.

Google: Now?

Eric Schmidt: I am Executive Chairman of the Board.

Google: Doing?

Eric Schmidt: Lots of travel, giving speeches, working with governments.

Eric Schmidt: Before, on anything really important, all three (him, Larry Page and Sergey Brin) had to agree.

Google: What was the purpose of buying Android?

Eric Schmidt: Larry Page and Sergey Brin were interested in mobile. Interesting tech.

Google: What was the strategy?

Eric Schmidt: It evolved 2005-2006. Build a platform that would be free and clear of other licensing restrictions that were slowing down others in the industry. It would allow things to grow really quickly.

At the time we were very concerned about Microsoft's mobile strategy. Before the iPhone revolution.

Google: See series or presentations from Andy Rubin for strategies?

Eric Schmidt: Yes.

Google: Was it always certain on how to proceed?

Eric Schmidt: No. The goal was always clear.

Google: Variety of options on how to proceed?

Eric Schmidt: Yes. Discussion with Andy Rubin regarding specific issues, including $2M for buying out licenses for codecs.

Google: TX1- very early in Android.

Eric Schmidt: Yes.

Google: Your first meeting?

Eric Schmidt: I was not at this meeting.

Google: Andy Rubin: "need coffee cup logo for carrier certification", do you understand what that means?

Oracle: Objection.

Judge Alsup: Overruled. please explain what that expression means as it relates.

Eric Schmidt: The judge wins. In 2005, Java had evolved to being primarily used on mobile carriers. Sun's strategy was for mobile development manufacturers to use the Java coffee cup logo.

Google: You said that the next line is wrong, "must take license from Sun"

Eric Schmidt: [ referred to using the coffee cup logo "

Google: Google contacted Sun.

Eric Schmidt: Yes.

Google: You contacted other companies.

Eric Schmidt: Of course. Qualcomm, Sun, etc.

Google: email communication with folks at Sun?

Eric Schmidt: Yes.

Google: What was the purpose of talking with Sun?

Eric Schmidt: Always better off working with everybody else, talking. McNealy was boss and a friend for 14 years. He'd call me up and try to sell me Sun servers, which we didn't need.

Google: You had direct contact with McNealy?

Eric Schmidt: Yes.

Google: TX205 -- recognize it?

Eric Schmidt: I do.

Eric Schmidt: It's an email from me to Scott McNealy, and his response.

Google: [Displays email.] Starting with it, highlight whole first paragraph. Read that and tell us what you are trying to communicate to Sun.

Eric Schmidt: Andy Rubin is talking with Alan Brenner, "very interesting partnership proposal" -- Does is make sense for Google to work with Sun? Second paragraph: Google has engaged with Sun's Java platform team to form an alliance for your Open Handset platform. "we should do this together"?

Google: Did Mr. McNealy respond?

Eric Schmidt: Yes.

Google: What was response?

Eric Schmidt: "Typical Sun response, saying Jonathan and the team are on top of this. Worried about replacing revenue that this would submarine. Need to understand the economics.

Google: You continued to have dialogue with people at Sun?

Eric Schmidt: Yes.

Google: Who was Jonathan Schwartz?

Eric Schmidt: CEO.

Google: You knew him well?

Eric Schmidt: I hired him, yes.

Google: You talked regularly with Mr. Schwartz?

Eric Schmidt: Yes.

Google: TX245.

Eric Schmidt: It's an email from Jonathan Schwartz to Eric Schmidt, cc'd to Scott McNealy.

Google: TX 435.

Eric Schmidt: Jonathan Schwartz to me. Google: "Eric, my team has alerted me that our negotiations to jointly create a Java-Linux mobile platform are at an impasse". April 2006. "I believe that this effort is an important project for both of our companies. We're at a critical stage in the industry" "Don't hesitate to let me know how Scott or I could move this forward." Eric Schmidt: "Sun is ready to embrace Google's innovation". We are not willing to cede complete control of management ( hosting, authorizing committees) for key components of the stack"

Google: What Sun components were you hoping to leverage form Sun?

Eric Schmidt: Their APIs and their source.

Google: Is your understanding that to use their source, you have to take a license?

Eric Schmidt: Of course.

Google: This idea was still in-play in 2006?

Eric Schmidt: Yes.

Google: TX2372- recognize this?

Eric Schmidt: I do.

Google: What is it?

Eric Schmidt: A message from Andy Rubin to Jonathan Schwartz.

Google: Page 2 of exhibit… recognize email exchange? [Exhibit entered into evidence, no objection.]

Google: Congratulating Jonathan. Why?

Eric Schmidt: Promoted to CEO, July 2006.

Google: Partnership between Google and Sun mobile.

Google: Concerns?

Eric Schmidt: We, Google, should have the final decision regarding what part of Sun's technologies that we take in. Subtle and important differences.

Google: Were you able to reach an agreement?

Eric Schmidt: Unfortunately, no.

Google: Why not?

Eric Schmidt: Contributors have little control after release. Sun wanted much tighter control.

Google: Was money the reason?

Eric Schmidt: Not really, $30-$50M. Money as not the big issue.

Google: After the negotiations broke off in 2006 …

Eric Schmidt: Date of exhibit is May 2006.

. Google: At that point, what did you do?

Eric Schmidt: Wanted to make sure that we could support the Java language.

Eric Schmidt: We started cleanroom implementation. Totally different form the way that Java worked internally.

Google: What do you mean by that?

Eric Schmidt: We went with a route that didn't use the byte code approach.

Eric Schmidt: This is referring to Google's activity after 2006.

Google: Google wanted to continue developing Android. Sun was no longer in the picture?

Eric Schmidt: Best approach was to go partnership. Unable to seal the deal, so we invented a different approach. Didn't use team from Sun, didn't use their IP.

Google: Were you still using an open source approach?

Eric Schmidt: Yes. G'oogles opinion is that OSS is the best way to go about developing software.

Google: Were parts of Android developed using OSS?

Eric Schmidt: Android was developed to implement the Java APIs.

Google: How did Google go about using the Java language?

Eric Schmidt: Programmers used the Java language to write the code.

Google: And you knew that you could do this without a license?

Eric Schmidt: Yes.

Google: In 2006, when you went in a different direction, what was your understanding about using the Java language?

Eric Schmidt: We could use it as we saw fit. A language by itself is not very useful. When I say "language", I mean the language with APIs.

Google: Sun knew you were using Java?

Eric Schmidt: Yes, absolutely.

Google: Did anyone at Sun ever tell you that you couldn't use Java language?

Eric Schmidt: No.

[More to come]

Update 6: The day continues with Eric Schmidt on the stand, Google's Robert Van Nest asking the questions:

Eric Schmidt: We put our Google technology under the Apache license. It is unusually liberal. I can modify your code and not give it back to you.

Google: Are there some fairly well-known commercial entities that are using Android that are not under the Apache license?

Eric Schmidt: They are all under the Apache license. Amazon Kindle is an example of someone who implemented something radically different.

Google: Announcement was on behalf of the Open Handset Alliance, not Google?

Eric Schmidt: Yes.

Google: Where was devkit placed?

Eric Schmidt: Handled the same as source.

Google: Would anyone who wanted to know what APIs Android was using find out?

Eric Schmidt: Looking at the Android devkit.

Google: Java APIs Android APIs?

Eric Schmidt: Yes.

Google: TX3441, email from Jonathan Schwartz to Eric Schmidt.

Eric Schmidt: 3 emails Nov 2007, above it, Nov 9 2007.

Google: At bottom of email, read…

Eric Schmidt: "Let us know how we can support our announcement next week. We're happy to do so."

Google: Refers to?

Eric Schmidt: Release of an SDK.

Google: Next part, your response.

Eric Schmidt: "Thanks, Jonathan. I will review right now."

Google: Schwartz response?

Eric Schmidt: "A few of your alliance partners have reached out to us to start a similar but separate effort."

Google: What was the gist of his message?

Eric Schmidt: Would love to have one big tent, as opposed to having a lot of splintering.

Google: you knew Jonathan Schwartz well?

Eric Schmidt: Yes.

Google: Met often with him?

Eric Schmidt: Yes.

Google: What is a blog?

Eric Schmidt: Describes blog.

Google: Was his blog widely read in Silicon Valley?

Eric Schmidt: It was.

Google: You read it frequently?

Eric Schmidt: I did.

Google: TX2352- Jonathan Schwartz blog.

Eric Schmidt: Yes.

Google: "Congratulations, Google, Red Hat and the Java community" "heartfelt congratulations to Google."

[PJ: You can read the blog entry yourself here.] Google: Reference to NetBeans for Mobile platform. What is NetBeans?

Eric Schmidt: A developer environment. This is Sun's entry in the area.

Google: "We've done a ton of work to support developers on all Java based platforms, and were pleased to add Google's Android to the list."

Eric Schmidt: "And needless to say, Google and the Open Handset Alliance just strapped another set of rockets to the community’s momentum..."

Google: Did you continue to have discussions with Sun?

Eric Schmidt: Yes.

Google: Jonathan Schwartz?

Eric Schmidt: Yes.

Google: McNealy?

Eric Schmidt: Yes.

Google: Google was a big customer of Sun, right?

Eric Schmidt: Yes.

Google: What other items did you [collaborate on]?

Eric Schmidt: Java toolbar for MS IE. Microsoft was making it difficult to get to Google. Whenever a customer installed Java, they got this toolbar installed too.

Google: What about StarOfice?

Eric Schmidt: Describes.

Google: Did you and Jonathan Schwartz continue to discuss Android after the launch?

Eric Schmidt: Yes.

Google: What did you discuss after the release of the SDK?

Eric Schmidt: Jonathan Schwartz wanted Java to be successful.

Google: Building Sun products on top of Android?

Eric Schmidt: Yes.

Google: TX 3446, March 2008, Eric Schwartz to Jonathan Schwartz, cc: Andy Rubin.

Oracle: Objection, hearsay.

Judge Alsup: Let me see exhibit.

Google: Fairly routine email from Eric Schmidt to Jonathan Schwartz, like dozens we have been seeing.

Judge: Incomplete objection?

Oracle: References two other articles, one is license itself, other is something else, neither of which is attached.

Google: This is how the document was produced.

Google: These are links, your honor.

Oracle: Also informed that this was added to the exhibit list in the last three days.

Judge Alsup: Has it been on the list for the required length of time?

Oracle: For 2 days.

Google: Document is complete.

Judge Alsup: Before we allow 3446, you must establish more foundation.

Google: Did you meet earlier with Jonathan Schwartz on this?

Eric Schmidt: Yes.

Google: What happened?

Eric Schmidt: I met with Jonathan Schwartz in Sun's cafeteria. Details of their licensing approach vs. our licensing approach. Jonathan Schwartz asked for more technical details. I was concerned about miscommunications amongst technical teams.

In the Java community, Google was winding up with a Java mobile. Maybe there was critical software that Sun had that would make this possible. What were Sun's choices?

Google: Jonathan Schwartz asked for information?

Eric Schmidt: Yes. This email is the response.

Oracle: Objection.

Judge Alsup: Admit with instructions to jury that there is no proof that there was anything in the public domain. It shows communication between Eric Schmidt and Jonathan Schwartz.

Google: Paragrah 1, the whole paragraph says: "Our license is Apache v2, public domain. Google technology is forced on no one."

Eric Schmidt: The user can choose what they use. No patent assertions for Google patents. If a competitor of Google wanted to take any Google technologies out, they were free to do so.

Google: Paragraph 2, Sun would be able to take Android and "do whatever you like" with it. Did you and he discuss that subject previously that day?

Eric Schmidt: It was both a technical question and "is it permissible", so the second part was answered yes.

Google: TX 2531 -- recognize it?

Eric Schmidt: Yes.

Google: What is it, May 2008 email between Jonathan Schwartz and you.

Oracle: Objection.

Judge: May I see it?

Google: Offered in same vein. All I am asking is what he heard.

Judge Alsup: Denied. [PJ: Means that the objection by Oracle was denied.]

Google: Did you continue to speak with Jonathan Schwartz about Apache licencing?

Eric Schmidt: Yes.

Google: Remained a customer of Sun?

Eric Schmidt: Yes.

Google: How frequently? [did they talk?]

Eric Schmidt: Once every 6 months.

Google: Did he ever express concern about you using Java or Java APIs?

Eric Schmidt: He did not.

Google: Did they ever express any concerns?

Eric Schmidt: No.

Google: Did he ever say that there was any need for Google to take a license?

Eric Schmidt: No.

Google: What was your understanding from Sun?

Eric Schmidt: Our usage was permissible. Very comfortable that what we were doing was legally correct [and within the spirit of our agreements with Sun].

Google: Did Jonathan Schwartz ever say anything that contradicted that?

Eric Schmidt: He did not.

Google: Were you aware of any other platforms that used Java technologies?

Eric Schmidt: Where were a lot.

Google: Who?

Eric Schmidt: IBM.

Google: Were there any objections from Sun regarding IBM's use?

Oracle: Objection. Hearsay.

Judge: Sustained.

Google: Any other companies using Java APIs?

Eric Schmidt: Mobile phone manufacturers.

Google: Was it your understanding that Java APIs were in wide use?

Eric Schmidt: Yes.

[Google wants to make a proffer, asks for a sidebar. After a few minutes, Mr. Jacobs goes over. Judge Alsup is leaning over the bench, listening with his left hand clasped on the back of his neck. They've spent perhaps ten minutes at the sidebar. 10:44 AM sidebar discussion ends.]

Google: Are APIs blueprints?

Eric Schmidt: They are not.

Google: Why not?

Eric Schmidt: It's the way you make something happen, for example printing, or show something on a screen. The *way* you do that is up to the other side of the interface… It can be executed in any way by the other side.

Google: For how long have you held this view?

Eric Schmidt: For my some 40 years as a computer scientist.

[Break. Jury exits. Witness steps down.]

Cross-examination of Eric Schmidt by Oracle's David Boies

Oracle: You gave the impression that you had many conversations with Jonathan Schwartz. Where did you meet with him?

Eric Schmidt: Sun cafeteria.

Oracle: That was where you remember Jonathan Schwartz not saying that there was any problem with Google using Java?

Eric Schmidt: Yes.

Oracle: When did you recall these meetings?

Eric Schmidt: Don't recall.

Oracle: [Recital of Eric Schmidt's deposition:]

Oracle: What, in you view, led you to believe that what you were doing was not infringing?

Google: What what we had done was free and clear.

Oracle: Who at Sun gave you that impression?

Eric Schmidt: Jonathan Schwartz.

Oracle: Anyone else at Sun?

Eric Schmidt: No.

Oracle: Orally, or in writing, or both?

Eric Schmidt: Orally.

Oracle: Anyone else present?

Eric Schmidt: No.

Oracle: Where else did you meet?

Eric Schmidt: At his office at Sun. I don't remember his exact phrase or … this is just my impression.

[End of deposition read-back.]

Oracle: You stand by this testimony today?

Eric Schmidt: Yes.

Oracle: You understand that Google doesn't have any rights to use Sun's technology?

Eric Schmidt: Correct.

Oracle: You are not claiming that Google got any rights [to Sun's technology] under the Apache license?

Eric Schmidt: No.

Oracle: You are not claiming that any of the rights that Google got came through the Apache license?

Eric Schmidt: Correct.

Oracle: Are you aware of any other companies that are using Sun APIs (other than Google) that do not have a license?

Eric Schmidt: Not aware either way.

Oracle: You are aware that Google doesn't have a license from Sun to use Sun's Java APIs?

Eric Schmidt: Yes. Oracle: Sun and Oracle ...

Eric Schmidt: I do.

Oracle: There were a number of licenses available to Google to be able to use Sun's APIs?

Eric Schmidt: Yes.

Oracle: GPL.

Eric Schmidt: GPL makes JAva APIs available under the terms of the GPL.

Oracle: Google could have used the GPL to get a license for the Sun APIs?

Eric Schmidt: GPL gives rights to access to the source code.

Oracle: GPL would have given all the access to the Sun APIs?

Eric Schmidt: That would be a question to ask of a Sun person.

Oracle: Let's take Mr. Rubin… what did he say?

Eric Schmidt: He said that we were going to use the Apache license. They are very similar in approach.

Oracle: TX154. Do you see where Andy Rubin wrote, "GPL license doesn't work for us"?

Eric Schmidt: Yes.

Oracle: Did he tell you this?

Eric Schmidt: I am sure that he did.

Oracle: TX 1048, ZDNet article, "Sun concerned Google's Android will fracture Java", Aug 2008.

Eric Schmidt: I see it.

Oracle: Did you see this news report on or about when this came out?

Eric Schmidt: I did not.

Oracle: Did you see ANY report about this?

Eric Schmidt: I don't recall seeing one.

Oracle: Android was announced in Nov 2005, but didn't release SDK until much later?

Eric Schmidt: It was about week later.

Oracle: After Google did release the Android SDK which told people which APIs were in there, that was when the ZDNet article was published?

Eric Schmidt: I see that.

Oracle: You say that you have to use APIs to use a language in a particular way.

Eric Schmidt: Yes.

Oracle: Did Google have to use Sun's APIs?

Eric Schmidt: There is no difference.

Oracle: Are you aware of any company that programs in Java that doesn't use the Sun Java APIs?

Eric Schmidt: I'm not aware of any. As far as I know, every company uses Sun's APIs. You might be thinking about the class libraries.

Oracle: Has anyone talked with you about a European company named "Spring"?

Eric Schmidt: No.

Oracle: From the beginning of Android, you intended to use Sun's Java language?

Eric Schmidt: Yes.

Oracle: You decided to use Sun's APIs?

Eric Schmidt: Without the APIs, the language is useless. There is a language interface and the library.

Oracle: Distinguishing between Sun APIs as being the 37 Sun Java APIs.

Eric Schmidt: [I understand that this is your definition.]

Oracle: You were told by somebody that Google had to use 37 of Sun's APIs to be able to use Sun's Java?

Eric Schmidt: I don't recall specific technical conversation about this.

Oracle: As far as you are aware, did Google make any effort to create your own API?

Eric Schmidt: I'm having trouble with your question, because I don't agree with your use of the word "interface". I want to answer your question truthfully.

Oracle: I want you to answer truthfully. [PJ: James Niccolai's coverage adds that at this point, Schmidt laughed, which almost certainly wasn't the reaction David Boies was hoping for.]

Oracle: Just to be clear… you copied the 37 Sun Java APIs.

Eric Schmidt: We used the function names.

Oracle: Is what you are saying is that you only copied the names?

Eric Schmidt: [Tries to answer with an explication, is asked to answer y/n] Yes.

Oracle: How many of the APIs did you copy?

Eric Schmidt: As I understand it, the implementation uses the API definitions.

Oracle: You know that you went out and hired a company to work on Java… Noser?

Eric Schmidt: I don't know who Noser is. Is it a company or a person?

Oracle: [Shows scope-of-work to Schmidt.] Do you recognize this?

Eric Schmidt: Not that I can recall.

Oracle: Did you ever hear anyone at Google describe Noser as being "super shady"?

Eric Schmidt: NO.

Oracle: Google is interested in J2SE 1.5.

Eric Schmidt: I see that.

Oracle: Is it your understanding that ...

Eric Schmidt: I was not briefed and am not familiar with the technical details at this level.

Oracle: Regarding "must take license with Sun… were you talking about a trademark license?

Eric Schmidt: I want not to speculate. I said that we'd be combining the second and third.

Oracle: Tou knew that this had to do with more than trademark?

Eric Schmidt: No.

Oracle: Points out "Tim Lindholm negotiates first OSS J2ME JVM license with Sun."

Eric Schmidt: Was not possible to license the trademark without the code. It's true that if you get the OSS J2ME license that you get a trademark license, too. The copyright is a small part of the license.

Oracle: [Harrumphs about what is large or small.]

Eric Schmidt: TCK license was something that came after I left Sun.

Oracle: What does TCK stand for?

Eric Schmidt: I don't know. What does TCK stand for?

Oracle: You are saying you don't know?

Eric Schmidt: I left Sun 20 years ago. Things change.

Oracle: Email that Andy Rubin sent to TL: "Google needs a license for TCK." Did anyone tell you that?

Eric Schmidt: I don't recall.

Oracle: TX7, Andy Rubin to Larry Page Oct 7, 2005, seeking license to Open Source Android.

Eric Schmidt: This is not a message or email thread that I was on.

Oracle: [Some question regarding what rights a TCK license would provide.]

Eric Schmidt: TCK license is a test of compatibility. I don't know if it conveys any copyrights.

Oracle: Did you know what licenses Java required?

Eric Schmidt: No. That was a detail that I was not familiar with.

Oracle: There came a time when when Google was sufficiently worried about being sued that they considered buying all the rights to Java?

Eric Schmidt: Yes. Let me modify that. Do you mean the executives?

Oracle: Yes, the executives.

Eric Schmidt: Yes.

Oracle: You didn't want to be sued over Java?

Eric Schmidt: Correct.

Oracle: TX406 email from a Brett Slatkin (sp?), Jan 2009, proposal to buy full rights to Java from sun, to fix lawsuits faced by Google. Recall?

Eric Schmidt: I do.

Oracle: Apologies, I used TX406 before it was entered into evidence.

Google: Objection.

Judge: It's an email from the witness on the stand?

Oracle: Yes.

Judge Alsup: Overruled.

Redirect of Eric Schmidt
Google: Get some terms clear. Did Google need a license of any kind to use the Java language?

Eric Schmidt: We did not.

Google: Why not?

Eric Schmidt: Languages are in the public domain. Sun wanted everyone to use the Java language.

Google: Did Google need (in your view) a license from anyone at any time, need a license for the APIs?

Oracle: Objection.

Judge Alsup: Witness is not a lawyer. "Too raw a legal question" -- not allowed.

Google: Regarding the source code in the libraries, what was your ability to use them?

Oracle: Objection.

Judge: I will allow this line of questions in a slightly different way, as follows. It seems that you are drawing a distinction between the implementing code and the organizational structure.

Google: That is exactly right.

Judge: Coming sideways in my brain, may be the case with the jury, too. If someone needed to use a cleanroom… [ missed ]

Google: What is the difference between the language, the source code, and the implementation?

Eric Schmidt: From the first year of computer science… 2+3=x; print x. The word "print" is calling the API to do something that involves a lot of code to cause something to appear on the printed page.

Google: You say a lot of code, why?

Eric Schmidt: It takes a lot of code to do something complex… some nice company or nice person provides the API and says that I will take care of the print statement.

Google: [Asks for description of cleanroom, and the print code].

Google: Which one of these elements are the Google engineers implementing in the cleanroom?

Eric Schmidt: The libraries that implement the APIs.

Google: In your discussions with Mr. Schwartz, did the use of the APIs ever come up?

Eric Schmidt: Never.

Eric Schmidt: We wanted our software to be as widely open as possible. Helps to find bugs, fix problems.

Google: Once the source code is public, anyone can have access to look at it?

Eric Schmidt: Yes, worldwide.

Google: Did anyone make this claim [APIs] before this lawsuit?

Eric Schmidt: No.

Google: TX 406 -- start with text from bottom, from Mr. Slatkin. Do you know who he is?

Eric Schmidt: No. It looks like he is on the Google app engine team (not part of the Android team at Google)….

Google: He mentioned that Google could buy Java from Sun?

Eric Schmidt: He did, and you can see by my response that this would not likely work (JAVA stock ticker symbol, etc.). [ Indicated some exasperation at the time with the length of what he considered to be a fruitless discussion].

Google: Want to dismiss Eric Schmidt, but have one question to ask out of hearing of jury.

Judge Alsup: Fine, but put up diagram from Josh Bloch (on easel). Can you see that?

Eric Schmidt: Yes.

Judge Alsup: Can you tell what it's doing?

Eric Schmidt: Describes the comparison of 2 values.

Judge: Using this exhibit, which part is the API, which part is the declaration?

Eric Schmidt: I understand it's confusing. The print example is something from the 1970's. This is a description of making a comparison between two things. The declaration is still part of the application's interface. Everything below the declaration is the implementation, and would be proprietary. The stuff above it is the interface.

Judge Alsup: What command would you put in this code to call up this comparison?

Eric Schmidt: In my code, java.lang.max(1,2), would return 2. To be completely precise, result=java.lang.max(1,2).

Judge Alsup: What role does the declaration serve?

Eric Schmidt: Back to printing… it has to know whether it is printing an integer or a floating point. Multiple implementations are possible for the same function.

Judge Alsup: I am done, but this is coming out of your time, though.

Google: In your understanding, the API that is in the public domain is in the declaration; the name and variables, available in the public domain for anyone to use?

Eric Schmidt: Yes, without the declaration, you don't know anything about how to call it [the library].

Google: But how about the cleanroom?

Eric Schmidt: If I had seen this source code, and vehemently disagreed with it, I could not have worked in the cleanroom; I would no longer be clean.

Re-cross of Eric Schmidt
Oracle: References Java Class Libraries poster…. a list of Java class libraries. How much of what's on this chart did Google use or copy in its Android product? Eric Schmidt: I'm not familiar with the specifics.

Oracle: More than half?

Eric Schmidt: I don't know.

Oracle: TX18, discussion about whether Java APIs are the same or different. March 24, 2006, Andy Rubin says "The Java APIs are copyrighted." You see that?

Eric Schmidt: Yes.

Oracle: Is your understanding that the Java programming language is copyrighted?

Eric Schmidt: I don't know.

Oracle: Did he ever say this to you [about copyrights of the API requiring license]?

Eric Schmidt: Not that I recall.

Oracle: No further questions.

Google: Mr. Schmidt can be excused.

Judge Alsup: Both sides agree?

Google & Oracle: Yes.

Google Andy Rubin Back to the Stand
Judge: Welcome back, still under oath.

Google: Introduce yourself.

Andy Rubin: Apple, Danger, Android.

Google: First became interested in computers?

Andy Rubin: Lived in same town as Reader's Digest. His father's friend took him to work and he fell in love with computers.

Google: When you came to Apple, what did you do?

Andy Rubin: Statistical process control for manufacturing.

Google: Yesterday, questions about Danger. What was the product?

Andy Rubin: TMobile sidekick, first cell-phone sidekick.

Google: What was interesting about it?

Andy Rubin: It allowed people to surf the Internet, as differentiated from flip-phones.

Google: How much additional functionality did you need to get to a smartphone?

Andy Rubin: [A lot of work.]

Google: The license you took at Danger from Sun. Explain why you took one.

Andy Rubin: We wanted to be able to have everyone be able to build apps, Java was being taught in schools, we wanted to use all those developers. Did some press, word got out, and Sun got in touch with us to sell us some of their technologies. We wanted access to ther TCK.

Google: Slow down, why did you want access to that?

Andy Rubin: We wanted programs written on our device to run on other companies devices.

Google: What else?

Andy Rubin: We wanted to get "marketing lift" from the recognition of Sun's Java.

Google: Did you believe you needed to get a license from Sun for the Java language or the APIs?

Andy Rubin: No.

Google: Why did you start Android?

Andy Rubin: I am an enterpreneur. I wanted to make it more mainstream, something that everybody would have. Wanted to give it away for free so that it [buying it] becomes frictionless.

Google: How were you going to make money?

Andy Rubin: If we were right, then we'd know that a lot of people were using our software, and we knew then that we could sell services to large carriers.

Google: Was it an advantage from the point of view of the manufacturers?

Andy Rubin: I think so. It was free; they didn't have to pay anything for it. We estimated that the cost of the phone was 20% accounted for by the cost of the software.

Google: How did you come to work for Google?

Andy Rubin: I knew Larry Page, and emailed him to let him know that I had left Danger and started Android, [and one thing led to another].

Google: How did you ship that?

Andy Rubin: Build service that we were going to offer services for.

Google: What was the benefit to Google for making available the platform and open sourcing the code?

Andy Rubin: It made Google apps available on a mobile platform, making them universally accessible.

Google: Putting the business strategy aside, were there different ways that you could build the product?

Andy Rubin: Tens of thousands of ways to do that.

Google: Had you made the decision by the time you had gotten to Google regarding whether you were going to build it yourself?

Andy Rubin: Still undecided. We knew we were going to create an open platform, and knew that we were going to put together the OHA (Open Handset Alliance).

Google: Who was in the OHA?

Andy Rubin: Motorola, Samsung.

Google: Who else?

Andy Rubin: Many other technology platforms. We actually paid some of these other companies to build products (focused tech) and give them away.

Google: At the beginning, talking with partners, had you decided for sure that you were going to use the Java language?

Andy Rubin: we hadn't decided for sure...

Google: What other languages might have worked?

Andy Rubin: Python.

Google: What other languages were considered?

Andy Rubin: Languages that were being taught in universities. Javascript, Python, lua.

Google: Is javascript any relation to Java?

Andy Rubin: No, just a poor naming decision.

Google: Drawbacks to using Java?

Andy Rubin: Not as fast as C, interpeted language.

Google: Did you get in touch with Sun?

Andy Rubin: Yes.

Google: Were you involved directly in negotiations with Sun?

Andy Rubin: Yes.

Google: In 2005?

Andy Rubin: Yes, early discussions.

Google: What then were you talking about?

Andy Rubin: Open sourcing Java, making our product come out sooner.

Google: TX1… what is TX1?

Andy Rubin: Presentation given to executives at Google in July 2005.

Google: How long had you been at Google at that point?

Andy Rubin: Two weeks.

Google: Who would have been there?

Andy Rubin: Google executives.

Google: Tell us what's on the page "What is Android?" Explain what "The Model" is.

Andy Rubin: Starting to get locked into what the model is… take OSS and integrate it into their platform. Google has direct connection to the consumer.

Google: "Java" page 9 of 10. "Java +javascript/XML = Key differentiator". Java vs. Javascript.

Andy Rubin: Cleanroom implementation of Java, plus web tech (javascript) plus XML.

Google: [XML discussion.]

Andy Rubin: Talked about getting a TCK to ensure compatibility and to get Java trademarks for marketing.

Google: What does that mean?

Andy Rubin: Get us a license to open source the Android platform with Sun components.

Google: TX617- end of document, email chain. Starts at bottom. You recognize it?

Andy Rubin: Yes.

Google: What is it?

Andy Rubin: Email thread between me and Sun over licensing of Java, June 2005. An email discussion between me and Leo Cizek and includes Tim Lindholm.

Google: You said, "I understand that… Looks like there are no problems with moving forward with plan to Open Source."

Andy Rubin: Yes. Sun had to make a decision whether to partner with Google. They'd have to throw out their standard license.

Google: Is this an email from you to Cizek a few days later… "sorry, I was unclear, I was asking for you to modify the various agreements to allow our model, per our discussions with Vineet. I'm really hoping that is the approach that Sun is comfortable with".

Andy Rubin: Yes.

Google: Who is Vineet?

Andy Rubin: Someone high up in Sun.

Google: TX11- what is this March 2006 status update? Page one, background, first paragraph. Read the first sentence, slowly.

Andy Rubin: Google was seeing partnerships with leading wireless companies and service providers. … "Sun is considering providing a Java implementation as a key component of the platform."

Google: Would include source code?

Andy Rubin: Source code and proprietary implementation.

Google: If Sun provided their source code, would you need a license for that?

Andy Rubin: I'd think so.

Google: Picture at the bottom, what does that show?

Andy Rubin: A depiction of the ecosystem. Wanted to memorialize in writing what we were talking about.

Google: First paragraph of last page: "Sun and Google jointly develop an Open Handset solution. Sun's main responsibility is the Java code VM class libraries, MDP stack and relevant JSR's. Google's main responsibility is the OS, system framework, graphics, telephony.

Google: TX18… document you were asked about last night by Mr. Boies. Starting at the bottom, who is Greg Stein?

Andy Rubin: First interaction with him. A Google employee who was asking questions about J2ME.

Google: J2ME is proprietary?

Andy Rubin: Yes.

Google: [missed question]

Andy Rubin: He was being vague. He was under a confidentiality agreement.

Google: What was he proposing?

Andy Rubin: Open sourcing the Sun J2ME.

Google: What was your initial response?

Andy Rubin: Couldn't see how you could open source Sun's J2ME.

Google: What did he say?

Andy Rubin: He had some scheme to open source it.

Google: Did you respond?

Andy Rubin: Yes. I told him that the Java libraries are copyrighted.

[ missed a bit here ]

Google: Along the way with your discussions of Sun (2 years), did you present various statuses to Google management?

Andy Rubin: [ yes ]

Google: What is this?

Andy Rubin: A template we present to management if we are proposing to spend a large amount of money.

Google: TX 331 offered into evidence.

Oracle: Objection.

Judge Alsup: Let's see the document.

Google: This is a proposal to the EMG, it's the same as many that we have already seen.

Oracle: It's a draft.

[Juror #1 is wearing a zipped-up poofy jacket (down?). It's not all *that* cold in the courtroom. Maybe this juror is getting sick?]

Judge Alsup: I think it's best to find out from witness first-hand.

Google: Were there in Spring '06 presentations to EMG?

Andy Rubin: Yes.

Google: By time of spring, generally what were these presentations about?

Andy Rubin: Paying Sun to open source Java.

Google: What would Google be providing?

Andy Rubin: Donating the Android code and paying money to Sun.

Google: Why pay money with Sun when it was going to be open sourced?

Andy Rubin: It would be a change in their business model.

Google: How large a payment?

Andy Rubin: $28-$34 million payment to Sun.

Google: Did you get approval?

Andy Rubin: Yes.

Google: Was this presented to the EMG?

Andy Rubin: It was.

Google: Was this your work or the work of your team?

Andy Rubin: Yes.

Google: Move TX331 into evidence.

Oracle: Objection, hearsay.

Judge: Sustained.

Google: What was it that prevented there from being an agreement?

Andy Rubin: the definition of "open"… cannot still charge money for it or control it. Sun still wanted to control it.

Google: When did negotiations with Sun end?

Andy Rubin: 2007. Still needed to come to market with a cleanroom implementation. Andy Rubin: You were responsible for getting the Android platform to market?

Andy Rubin: Yes.

Google: Names of engineers working on Android?

Andy Rubin: Brian Swetland, others.

Google: Cleanroom implementation?

Andy Rubin: Separated folks working with Sun businesses. I set the rules… engineers couldn't get access to proprietary source, no click-through agreement-protected technology.

Andy Rubin: We wound up shipping the cleanroom implementation.

Google: Visual depiction of Android components?

Andy Rubin: An architectural diagram.

Google: TX 2881(?), what is that?

Andy Rubin: The Android platform architectural diagram.

Oracle: May I ask 3-4 Q's?

Oracle Asks Andy Rubin Final Questions

Oracle: Android was launched in Nov. 2007? Was this on the web site in 2007? Exactly this version?

Google: Not represented that this was exactly the document. Not produced for this trial.

Oracle: It's a demonstrative. Needs foundation.

Google: is this a good time (12:59) to start that?

Judge Alsup: 25th anniversary of court clerk, Dawn.

[ jury dismissed ]

[witness dismissed]

[time breakdown: Oracle: 780; Google: 589 minutes.]

Judge and Parties' Lawyers Confer After Jurors Have Left

Judge Alsup: Juror that had problem with employer, no longer needs assistance.

Judge Alsup: Issues? None.

Judge Alsup: Next witness?

Google: Dan Borenstein built Dalvik, worked on Android platform.

Judge Alsup: Are we going to have any more testimony about names… how anyone would write a program using these names, etc?

Google: Yes, Your Honor.

Judge Alsup: It has been said that there is an elaborate series of relationships amongst the APIs. Want to learn more about how programmers use the APIs.

Google: There will be an expert witness who will do that. Will walk through that and invoke the APIs.

Judge Alsup: Will he do this for both Java and Android?

Google: Since they are the same, they will work fine on either or both.

Judge Alsup: Is there going to be an exhibit?

Google: Yes.

Judge: Equal time for Oracle. Mr. Jacobs?

Oracle: Distinguished the difference between writing an application program and copying the whole API, and when an application programmer writes a program, they do not implement the class library.

1) What words and symbols are necessary versus what Google copied.

2) An application programmer may rely on the API, but Google copied the class library APIs that use the SSO.

Judge Alsup: What is the work, as a whole? You both want me to figure that out. Mr. Jacobs used the phrase "stand-alone", referred to each advertisement being a stand-alone unit. Does this mean that we have to analyze each API to see their relationship? Seems like Oracle wants to have it both ways. If it stands alone, how can it be tied into all these other APIs?

Oracle: To state precisely, the 37 APIs are packages.

Oracle: Google took several volumes, copied the collection of volumes.

Judge Alsup: But then they can't be stand-alone, if they have cross-references.

Oracle: We know that the packages come from JSR's. There may be interfaces that are relied upon elsewhere. What is quite powerful was what Google was trying to bring into evidence, the document that had links in it.

Google: Not analagous at all.

Judge Alsup: In order to make sure that you understand one chapter of Westlaw, you have to go read another chapter. How much record is there that when a method invokes some other method and requires it to be run, I've heard lawyer arguments but nothing is in evidence. Maybe it's in the big thick book?

Google: You will get an explanation for that from Professor Astrachan.

Google: You cannot do anything with the language without the basic building blocks. Every new JSR builds upon packages that are already there. They are all dependent on the fundamental packages. [Differentiates literature and computer languages.] With regard to Oracle's claim that Google took the whole thing, if Google had taken just the max and not java.lang.math.max. [ lost something here ]

Judge Alsup: No decision on point that says that computer languages have not been copyrightable.

Google: API's are not new to computer languages. Every component in your computer is because everybody knows the APIs. They are the nuts and bolts for how computers work. The issue of APIs specifications not being available would be a substantial departure from the way that the computer industry works today. There are proprietary APIs. Banks have them. Financial institutions and closely held, because any outsider could use it; keeps data protected.

Judge Alsup: Poems?

Google: Poems are not a method of operation.

Judge Alsup: 102b argument.

Google: Exactly.

Judge Alsup: Johnson controls decision… SSO of a computer program was copyrightable.

Google: There is a way to address that.

Judge Alsup: I've said to both of you about how that works in the industry, trade secrets…. none of it is in the record as evidence.

Adjourned for the day.

Update 7: 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 7 at the Oracle v. Google Trial ~ pj - Rubin, Schmidt, Updated 7Xs | 396 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Corrections Here
Authored by: DaveJakeman on Tuesday, April 24 2012 @ 12:50 PM EDT

When a well-packaged web of lies has been sold gradually to the masses over
generations, the truth seems utterly preposterous and its speaker a raving

[ Reply to This | # ]

Threadus Correctionalia
Authored by: hardmath on Tuesday, April 24 2012 @ 12:52 PM EDT
Mayst thou impart to us the spirit of the error and its
correction, high upon the subject line and in abbreviated

"Prolog is an efficient programming language because it is a very stupid theorem
prover." -- Richard O'Keefe

[ Reply to This | # ]

News Tidings
Authored by: hardmath on Tuesday, April 24 2012 @ 12:56 PM EDT
Let the herald of News Tidings placeth an URL of Linking-sure
at the head, so the finding may be quickened for late readers.

"Prolog is an efficient programming language because it is a very stupid theorem
prover." -- Richard O'Keefe

[ Reply to This | # ]

Untopical matters of no great relevance
Authored by: hardmath on Tuesday, April 24 2012 @ 01:03 PM EDT
Whatever herein imparts the poster should not be pertinent
upon pain of impertinence.

"Prolog is an efficient programming language because it is a very stupid theorem
prover." -- Richard O'Keefe

[ Reply to This | # ]

Transcriptia Comes...
Authored by: hardmath on Tuesday, April 24 2012 @ 01:06 PM EDT
...and goeth here, with formatting that is Hypertextual yet in
a mode that is Plain, so that the harvesting thereof may be

"Prolog is an efficient programming language because it is a very stupid theorem
prover." -- Richard O'Keefe

[ Reply to This | # ]

E-mail headers
Authored by: tknarr on Tuesday, April 24 2012 @ 01:07 PM EDT

Rubin's right about the e-mail header. The From: header's completely under the control of the e-mail client. I can forge an e-mail with anybody's address in the To: header. You have to dig deeper, not only into the headers in e-mail but into the configuration of the mail servers that handled the mail. To trust the headers, you have to know that the originating server required a user log-in and recorded that information in either the Sender: or Received: headers, and then you have to trace back to exactly which headers (remember that a client can add it's own Received: headers before the originating server handles the mail). Most mail clients won't show those headers when you read the message or when you print them out, so it's fairly common for people to be unaware of them and printed copies of messages to be missing them completely. In that situation, I'd utterly refuse to authenticate an e-mail merely because my name was in the From: header and it looked reasonable. I'd want to examine the full headers and compare it to my archive of sent e-mails before I'd be willing to testify on the stand that it was exactly what I sent.

And yes it's common for mail servers to require a login but not record that information. My own uses a pretty standard Postfix configuration, and while you need to authenticate with a username and password to be able to relay mail through it (send mail to a domain other than one it handles itself) the server doesn't record the username in the headers. Given what's in the headers I could look back in the server logs to find out the user who sent the message, but just from the headers alone I couldn't tell you more than the IP address that submitted the message.

[ Reply to This | # ]

properly spelled corrections thread
Authored by: nsomos on Tuesday, April 24 2012 @ 01:12 PM EDT
While we may use as much wit as we like in the post
that introduces the corrections thread, it is important
that the title include 'corrections' correctly spelled.

This would be a fine place to post corrections.
A summary in the title may be helpful.

[ Reply to This | # ]

Week 2, Day 7 at the Oracle v. Google Trial ~ pj
Authored by: tknarr on Tuesday, April 24 2012 @ 01:21 PM EDT
I'm just saying, this doesn't happen in trials every day, that the exhibits have flaws. Or maybe non-geeks don't notice when they do.

Actually I think it happens quite often. It's just that the witnesses are intimidated by being up in front of the court and are trying to be helpful, so when presented with a reasonable exhibit they aren't willing to dig in their heels, balk and say "No, I can't say whether that's authentic or not.". Their thinking is that if there's no glaring indications it's not authentic then they have to admit that it is. The reality is that it's supposed to be the reverse, but most people aren't used to being picky about technicalities.

Geeks of course are typically jaded and cynical from having had elided technicalities come back to bite them time and time again. We're used to saying "No, you didn't say that in your requirements. If you want to add it, that's fine, but don't try to pretend it was there all along.". After a few iterations of that we tend to get used to making sure all the i's are dotted and t's crossed.

[ Reply to This | # ]

Authored by: mexaly on Tuesday, April 24 2012 @ 01:45 PM EDT
Google knows their adversary well, I'd say.

Perhaps they're briefed about evidence authentication? Maybe they're very
consciously holding BS&F to the serifs of the letter of the law.

The plaintiff has not been a precision act, and the more that Google can
spotlight each and every oversight, the less credibility Oracle has with their
complaint. When the benefit of the doubt comes to bear, it won't be to Oracle's

IANAL, but I watch actors play lawyers on high-definition television.
Thanks to our hosts and the legal experts that make Groklaw great.

[ Reply to This | # ]

Which email?
Authored by: Anonymous on Tuesday, April 24 2012 @ 01:47 PM EDT
I looked through the PDF, and there are several emails with 3 names in the
headers. None of them have suspect indentation. To which of the emails in the
PDF was "Rubin maintaining he can't be sure who wrote an email because the
indents are off?"

[ Reply to This | # ]

Email indentation => quoting
Authored by: LouS on Tuesday, April 24 2012 @ 02:00 PM EDT
I assume everyone knows, but ...

Indentation in email is often used to indicate levels of quotation. Funny
indentation can mean that what looks like the statement of the sender is really

the statement of someone else the sender is quoting.

[ Reply to This | # ]

Authored by: SilverWave on Tuesday, April 24 2012 @ 02:08 PM EDT
Quote: "Ginny LaRoe ‏ @GinnyLaRoe

to clarify prior tweet. Google's VanNest is making some sort of proffer.
Oracle's Boies and Jacobs listening.

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 | # ]

Google rests?
Authored by: s65_sean on Tuesday, April 24 2012 @ 03:31 PM EDT
<blockquote>10:45 am: And we're back for just a few more questions, says
Van Nest. Are APIs blueprints? Schmidt: "No, APIs are the way you make
something happen... the way you do that is completely up to the other side of
the interface." How long have you thought that? "For as long as I've
been a computer scientist, so 40 years." And with that, Google rests.

Did they really rest their entire defense of the copyright phase, or were they
merely done questioning that one witness? I hope that they didn't actually rest
their case. They still have Jonathan Schwartz to bring on so they can question
him about his statements praising Android, especially his statement about
Android strapping rockets onto java.

[ Reply to This | # ]

Time Left
Authored by: Kilz on Tuesday, April 24 2012 @ 04:09 PM EDT
I cant seem to find how much time the parties started with.
That would make finding out how much time they have left.
Does anyone know?

[ Reply to This | # ]

Really enjoyed The Verge's reporting
Authored by: SLi on Tuesday, April 24 2012 @ 05:32 PM EDT

I love the style of theverge's reporting, especially the part about Eric Schmidt's testimony. It may not capture all of the precise legal points, but the way it describes the lawyers and the witnesses and the emotions gives a very human feeling to it.

"The juror's heads are snapping back and forth like they're watching a tennis match"

"For whatever reason the jury is now totally engaged with Schmidt — they're all facing him like sumflowers tracking the sun. Either they really hate Oracle's attorneys or they really love Google's Robert Van Nest."

[ Reply to This | # ]

Engineers talking about the law
Authored by: jbb on Tuesday, April 24 2012 @ 05:34 PM EDT
From The Verge:
11:42 am: [Google] [a]sking Schmidt if Google needed a license — Oracle objects, saying it's hearsay because Schmidt isn't a lawyer. Sustained. Same objection to similar question about license for core Java libraries.
Whoa Nelly! I seem to recall days filled Oracle's non-lawyer witnesses opining about the need for a license. Why was that allowed while Google is forbidden to answer back? I also remember the crowning piece of Oracle's evidence: the Lindholm email where an engineer opines about the need for a license. I imagine there must be solid legal rules for why only Oracle's non-lawyer witnesses are allowed to give their opinions on the need for a license but it sure seems strange.

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 | # ]

What harm is there in copying APIs?
Authored by: Anonymous on Tuesday, April 24 2012 @ 06:02 PM EDT
Let us harken back to the oldendays first. Why do copyrights exist? They're
definitely not intrinsic to humans, as copying and emulation are built-in, one
of our most basic ways we learn.

Copyrights exist to protect the copyright owner from harm. ("Harm" is
defined by appropriate copyright laws, and does vary quite a bit around the

Our societies have decided that copyrights are a necessary counterbalance,
limited in duration (not for forever!), to encourage creators to create new

What harm can there be to a copyright owner, when an API is copied?

After all, an API in and of itself is useless, unless there is an
implementation. (In the Oracle-Google court case, there seems to be very little
in dispute with respect to the implementation itself; a handful of lines.)

When a new work appears, and implements the same API, the only harm to the
original copyright owner is increased competition. And that only if the two
implementations are interchangeable. The body of the original work is not
infringed, and its value is still the same. Only the market for the original
work has changed.

When a new work appears, having an API with substantial similarities -- enough
to make it familiar for those familiar with the first one --, what is the harm
to the original copyright owner? It does not even change the market for the
original work; there is no impact on the original work.

Any impact there is, is completely indirect, and completely depends on the
market approach of the copyright owner. Unless copyrights are intended to
protect specific business models, then copying the API of a work does no harm to
the copyright owner.

Now, assume APIs are copyrightable. Java APIs borrow extremely heavily from
other languages like C and C++. What license did Sun/Oracle get for using those?
Or is this entire argument something that only applies when the copyright owner
is a certain large company?

[ Reply to This | # ]

Oracle's API Kool-Aid
Authored by: jbb on Tuesday, April 24 2012 @ 06:10 PM EDT
Again from the Verge:
11:43 am: Judge Alsup breaking in, asking Schmidt how he can reconcile needing a clean room but not needing a license. Van Nest says he'll address the issue in further questioning.
It appears that Judge Alsup has taken a deep gulp of Oracle's tainted Kool-Aid. The entire purpose of a clean room is so you don't need to get a license. Usually the code you are re-implementing belongs to a competitor who doesn't want you to do a re-implementation. If a license was needed to do the clean room then the competitor would not grant it. If they did want to give you a license then it would make sense for them to give you a license to the code as well so you don't have to waste gobs of time and resources rewriting it all again from scratch.

It really seems to me that the Oracle team is just making stuff up. Saying you need a license to do a clean room implementation is identical to saying APIs can be protected by copyright. I really wish the judge would pin them down on these unsupported claims they keep making that are so central to this case. First Oracle said the legal landscape has changed since 1996 and even though APIs could not be copyrighted back then, now they can. I've seen no evidence to back up this extraordinary claim. A few days later in a tacit admission that their extraordinary claims were fibs, they admitted to the judge that they were actually asking him to make "new law". Now Oracle is at it again trying to sneak their unsupported claim through the back door by saying you need a license to do a clean room implementation.

The judge warned the jury to remember that what the lawyers say is not evidence. Why doesn't he take this advice himself? If the judge takes to heart unsupported claims made by the lawyers then aren't we on a collision course for a miscarriage of justice? Perhaps the judge does not believe Oracle but it still seems grossly unfair to let them frame the debate around their concoctions. It feels more like we're in a dirty political campaign than in a court of law.

After is all said and done (I hope) Oracle's lawyers might have a lot of 'splainin' to do. Part of me yearns for a "three fibs and you're out" rule. Maybe judges could start issuing green cards, yellow cards, and red cards to lawyers like referees do in some sports but I can see how that could be abused and cause problems. You don't want to punish people for making honest mistakes. OTOH, if there is no penalty when someone repeatedly games the system then eventually the system will always be gamed.

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 | # ]

"about forcing FOSS into a very sad and limited corner"
Authored by: Yossarian on Tuesday, April 24 2012 @ 07:01 PM EDT
That "corner" will be the world outside the US.
I don't think that a lawsuit like Oracle can win in Europe,
India or China. A win by Oracle will just move all the FOSS
projects into "the rest of the world".

The US will probably lose plenty of talent, and may be even
lose the lead in software innovation. But the US lawyers
will make plenty of money suing the rest of the world.

It seems like a great business plan, for the lawyers...

[ Reply to This | # ]

under Update 4
Authored by: Anonymous on Tuesday, April 24 2012 @ 07:40 PM EDT
Judge Alsup: Re your question on why lawyers have to ask to approach... old tradition of lawyers leaning over the witness stand, putting their arm around the witness, and shouting in their ear. The witness would say anything to get rid of the lawyer.
Up to and including, "Don't touch me."

If a lawyer did that to me in a courtroom, the bailiff would be subduing us both.

[ Reply to This | # ]

APIs a clear analogy
Authored by: Anonymous on Tuesday, April 24 2012 @ 08:20 PM EDT
APIs are how data are passed between different modules,
programs, classes,
functions, etc. APIs are connectors. On
some side of most electronic devices,
you have connectors.
Some provide power, some computer data. On the other end
what plugs into those connectors is another connector. You
can't use any
connector to any connector, otherwise nothing
(good) will happen.

examples of connectors: href="">

On the back of your
computer, you typically have USB type A
port, power (which can be different for
different models or
manufacturers), audio, network. Some older computers may
also have parallel port, serial port, IRDA, firewire
(IEEE1394), and sometimes
other proprietary connectors for
various peripherals such as docking stations
(for laptops).

Each connector is a certain size, shape, with a certain
of pins arranged in a particular direction and

You can do without
many connectors, such as network
(wireless works around it, no network works
around it, and
USB can work around it), but others you cannot do without,
if you do, you have little functionality. Power is
essential, you cannot do
without it. USB is essential in
this modern age, as you can't do much without a
connection. On most devices today, an audio connection is
essential for
private listening.

Wireless devices such as bluetooth or wireless networking
are radio connectors, but bluetooth doesn't work with
wireless network, and
vice versa.

[ Reply to This | # ]

Motions of Rule 50
Authored by: jbb on Tuesday, April 24 2012 @ 08:38 PM EDT
When Oracle was done presenting its case Judge Alsup said:
We've reached a milestone. All motions of Rule 50 have been deemed to have been entered at this time.
I looked it up and found:
Rule 50. Judgment as a Matter of Law in a Jury Trial; Related Motion for a New Trial; Conditional Ruling

(a) Judgment as a Matter of Law.

(1) In General. If a party has been fully heard on an issue during a jury trial and the court finds that a reasonable jury would not have a legally sufficient evidentiary basis to find for the party on that issue, the court may:

(A) resolve the issue against the party; and

(B) grant a motion for judgment as a matter of law against the party on a claim or defense that, under the controlling law, can be maintained or defeated only with a favorable finding on that issue.

(2) Motion. A motion for judgment as a matter of law may be made at any time before the case is submitted to the jury. The motion must specify the judgment sought and the law and facts that entitle the movant to the judgment.

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 | # ]

Google clean roomed Java ..
Authored by: Anonymous on Tuesday, April 24 2012 @ 09:04 PM EDT
"Google developed its Android smartphone software without using Sun's intellectual property and its use of Java in Android was "legally correct," .. Instead, Schmidt said, Google created a "clean room" version of Java that didn't use Sun's protected code. Its engineers invented "a completely different approach" to the way Java worked internally, Schmidt testified." link
-- --

`by a process of elimination we were able to determine you're Bob Arctor`

`I'm Bob Arctor?'

[ Reply to This | # ]

Can you safely use the GPL'ed OpenJDK
Authored by: Anonymous on Tuesday, April 24 2012 @ 09:35 PM EDT
I was wondering if someone can clear up where the below reasoning is wrong.
There HAS to be something I'm missing here as it seems there is no safe way to
do changes to OpenJDK.

1. OpenJDK released under GPL2.
2. You can make changes and if you sign away your copyright to Oracle they can
be accepted this back into OpenJDK so then you could use your changes as part of
3. If you make changes and these are not put back into OpenJDK then you have
created a Fork.
4. Your Fork is fine for copyrights because GPL gives you rights to these but
you can't call it Java or use trademarks etc. You also don't get Patent
coverage so Oracle can sue you when and If they feel like it (GPL2 has no patent
clauses right?)
5. You can then apply for a TCK if you pay them some money and then your Fork
can be called Java and has all there Patents and IP covered.
6. Now the field of use restictions you have just accepted with the TCK breaks
GPL so it is void and you have now broken coyprights of anyone who contributed
to OpenJDK.
7. Oracle or anyone else who can claim copyrights to OpenJDK can now sue you for

I think you would be quite safe from being sued in most situations but only
because they won't bother. But having your derivative work under a big black
cloud of uncertainty can't be great.


[ Reply to This | # ]

Didn't use bytecode?
Authored by: Anonymous on Tuesday, April 24 2012 @ 11:47 PM EDT
"Eric Schmidt: We went with a route that didn't use the byte code

It struck me as odd for such a technical guy to get that fundamentally
wrong. Was it a misquote?

[ Reply to This | # ]

Week 2, Day 7 at the Oracle v. Google Trial ~ pj - Updated 5Xs
Authored by: Anonymous on Wednesday, April 25 2012 @ 12:32 AM EDT
Here's one more explanation of an API declaration/implementation, that
might work well for non-technies.

Consider a bank Ace. To operate your accounts at the bank, you would need
to use a form to make a request. These forms would be

Basic forms
1. Request balance
2. Credit amount $X to accnt C
3. Withdraw amount $X from accnt C
Adv. forms
4. Transfer amount $X to Accnt C
5. Transfer amount $X to Accnt C every month

Internally, bank Ace implements this with people & ledgers.

Bank Ace wants to make this a standard in the entire world, and says this is
called SmoothBanking. If you want to call yourselves a SmoothBank, you have
to pay us. But if you just want your customers to use this, and not call
yourselves a SmoothBank, then you don't need to pay us. But the more
customers we have in the world who use these forms, the better for all of us.
So we're ok with anyone using these forms as such.

Since it's now the 21st century, bank Bar decides to open up, using only
software to do this. They implement the same interface, since they want the
same set of customers to be able to use bank Bar without changing how the
customers work, and since Bank A said they're fine with people using these

Bank Bar offers the SAME operations, but instead of someone manually
operating with ledgers, they do it with software.

The API interface is like the set of forms used to request an operation. The
form itself does nothing. The implementation is HOW you do an operation,
and in software you could do it in any number of different ways.

Sun said anyone can implement the Java language, but you need to be
compatible and pay for the trademark, if you want to call it Java. Without the
API, the Java language has very few operations in it.

It's like if the bank forms didn't have (#4, #5) "transfer to". All
the customers
who implemented SmoothBanking would find their operations failing, since
they rely on (#4, #5) "transfer to" being available in the API of the

[ Reply to This | # ]

Oracle v. Google Trial - as math
Authored by: SirHumphrey on Wednesday, April 25 2012 @ 12:38 AM EDT
with Oracle_v_Google {

import credibility from("/dev/null");
import SCOXQ.BK(gamePlan);
import java.awt.notBeAbusedThisWay;
boolean initialDamagesClaim $7.4;
long windedObfuscation;
float aGrandPlan;
double claimOfDamages && double again;
String aBunchOfVagueClaimsTogether;
call witnessToStand();
confuse public claims(with statements.~[ fa(based)ct ]);
Aggravate.Boies(by(Rubin) with truthfulStatements);


[ Reply to This | # ]

Trade Secrets?
Authored by: Anonymous on Wednesday, April 25 2012 @ 01:13 AM EDT
Judge Alsup: I've said to both of you about how that works in the
industry, trade secrets…. none of it is in the record as evidence.

Uh, oh... This out to sound familiar. With all the publications out there,
this is going to be an issue for Oracle. How many publications are out
there dealing woth those 37 APIs? No trade secrets there? :)

[ Reply to This | # ]

Week 2, Day 7 at the Oracle v. Google Trial ~ pj - Updated 5Xs
Authored by: Anonymous on Wednesday, April 25 2012 @ 01:54 AM EDT
Another API explanation/analogy, and since we seem to be missing a car analogy:

- API = ignition, steering, acceleration, and brakes
- Most vehicles have a key (or wireless fob), steering wheel,gas pedal, and
brake pedal

You can get in any car and use the ignition to start the vehicle - Turn
clockwise on the steering wheel to turn right. Turn counterclockwise to go
left. - Press on the gas to go. - Press on the brake to stop.

The actual implementation (code) is the interrelationship between the engine,
sensors, computer, hydraulic system, steering mechanism (manual, power,
rack-and-pinion, etc). Every manufacturer does it differently to some extent to
make their solution "better" than the competition. Components are not
interchangeable between manufacturers.

With Oracle's attempt to claim ownership of the API, the equivalent effect would
require each manufacturer to come up with a different way to allow the user to
interact with the vehicle. The term Edsel comes to mind.

[ Reply to This | # ]

"A kind of proprietary alternative to Linux"
Authored by: Anonymous on Wednesday, April 25 2012 @ 02:15 AM EDT

PJ said:

Oracle seems, to me, to be trying to develop a kind of proprietary alternative to Linux. If you license Java, you get extensible software.

This analogy isn't very apt, as it compares a programming language to an operating system. For Oracle, Java is an element in the "platform" that they sell on top of any operating system. And it really isn't Java itself that matters, so much as the way they can make it integrate into their other much more profitable products. I think that Oracle can see that operating systems and databases are becoming commodities, which is why they have been steadily buying up enterprise software vendors which provide complete solutions rather than just infrastructure. "Java" is intended to be the "glue" which makes them work together. Or at least that's what it no doubt looks like on Oracle's Power Point presentations.

Quite frankly, I think that if Oracle wins, it will be more of an own goal rather than any great loss for Free Software. Developers will simply have one more reason for avoiding corporate controlled languages and using truly free and open languages. Regardless of what Java fans may think, Java is not indispensable and quite a few developers would be happy to see the back of it.

The one real problem would be if the "API's can be covered by copyright" theory. That's a can of worms whose effects could reach throughout the software industry in ways that no one can anticipate at this time. However, I have serious doubts about whether that theory will survive the trial.

[ Reply to This | # ]

State of Play
Authored by: sproggit on Wednesday, April 25 2012 @ 02:51 AM EDT
I would like to ask (Mark, PJ, and our legally-trained Groklawrians) if they
would be willing to give us their views on the state of the case to date.

Oracle have presented their evidence on the first part of the case and Google
have had a chance to cross-examine Oracle's witnesses. I wonder how things stand
from the perspective of Judge and Jury.

What I don't know enough about here is the legal bar that Oracle need to
overcome. Their strategy is very clearly one of describing a great deal of smoke
to the jury - as in the adage "You can't have smoke without fire."
What I don't yet see from Oracle is actual, honest-to-goodness fire.

So I'm curious and my question to those legally trained would be: if you were
van Nest, today, how would you feel about the outcome of the trial?

[ Reply to This | # ]

  • State of Play - Authored by: PJ on Wednesday, April 25 2012 @ 07:56 AM EDT
    • State of Play - Authored by: Anonymous on Wednesday, April 25 2012 @ 09:26 AM EDT
      • State of Play - Authored by: Anonymous on Wednesday, April 25 2012 @ 09:46 AM EDT
        • op self-correction. - Authored by: Anonymous on Wednesday, April 25 2012 @ 09:58 AM EDT
        • State of Play - Authored by: Anonymous on Wednesday, April 25 2012 @ 10:59 AM EDT
          • State of Play - Authored by: Anonymous on Wednesday, April 25 2012 @ 11:37 AM EDT
            • State of Play - Authored by: Anonymous on Wednesday, April 25 2012 @ 12:03 PM EDT
              • State of Play - Authored by: Anonymous on Wednesday, April 25 2012 @ 01:36 PM EDT
    • State of Play - Authored by: Kilz on Wednesday, April 25 2012 @ 09:28 AM EDT
Court: Is each API stand-alone or are the APIs a work as a whole?
Authored by: Ian Al on Wednesday, April 25 2012 @ 03:57 AM EDT
Oracle: Which one is worth the most?

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

[ Reply to This | # ]

Of course, I know what a JSR is!
Authored by: Ian Al on Wednesday, April 25 2012 @ 04:05 AM EDT
Just in case you don't:

Q : What is a JSR?

A : A JSR is a "Java Specification Request", the formal vehicle
through which Java technologies are created or updated. A JSR is proposed by
any JCP member, who is then known as the "specification lead" or
"spec lead" for that JSR. The spec lead organizes an "expert
group" and that expert group works to create the specification. The expert
group must also create a "reference implementation" or "RI",
as well as a "technology compatibility kit" or "TCK".

Yes, I did know that!

I really, really did!

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

[ Reply to This | # ]

Mixing and Matching: SSO/Names : Book/Code
Authored by: Anonymous on Wednesday, April 25 2012 @ 07:20 AM EDT
Software source code is a literary work
Apple Vs Franklin +USC 107 101
An API Specification is a literary work
It is a document, it is the documentation, it is a treatise on another
literary work (the source code), it would be nonsense to argue anything else,
and I don't believe anyone is. It is a book about APIs.

An "API" Copyright is therefore a two part copyright in literary work.
It does not matter what an API is or isn't.

The Document <--- Google copied the SSO from this
The Source code <-----Google did not copy this

What do you get when you take the "SSO" of the document?
What do you get when you take the "SSO" of the code?

Can you compare the two?

Can the source code have it's own SSO?
and also be/have an exact copy of the SSO of the document?

(does anyone care, unless you are specifically attempting to stretch the
boundaries of copyright protection?)

What do you get, when you take an unprotected part of the source code (the
Names) and then claim that as the SSO in the document?

What do you get when you take the SSO from a document, and then point at
unprotected elements in source code and say "you can see all the elements
from our SSO, symbol for symbol"?

Do Oracle have copyright in their document, or hundreds of thousands of
copyrights in all the many "works as a whole" that comprise their
(which is not a compilation, so they said anyway)

Aside from a judge who says
"Names are not protected"
"SSO is protected"

(and BTW yer'onor, was that the SSO in the document, or the SSO in the code?
Have you asked if they are equivalent?)

One thing that is for certain, whatever an SSO is and it not an API, and both
sides should be held to task when they say API or Package and they mean
"SSO in the Document"

This is really hurting my head ATM.

Look under you see the pea?

[ Reply to This | # ]

Are google Attorneys making a mess of this?
Authored by: Anonymous on Wednesday, April 25 2012 @ 07:26 AM EDT
From Update 3 on day 6 , the student

"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."

Can anyone point to that, or is that just a random assertion, misinterpretation
by the reporter?

If Google did/are arguing that, they need to get new people and damned fast,
"package" is one of the things that is copied symbol for symbol from
the SSO, and is a Java Language keyword.


#package java.nio;
class IntBuffer{
// stuff,methods, fields, implementation

[ Reply to This | # ]

Oracle relying heavily on Johnson Controls v Phoenix Control?
Authored by: Anonymous on Wednesday, April 25 2012 @ 08:35 AM EDT
I think Oracle are basing their case on the Johnson Control
v Phoenix Control case. However there is considerable
criticism of this case, it appears to be weak, maybe even
erroneous, at any rate very questionable in its application
to API's.

I found one paper:
"Copyright Protection of SSO: Replete with
Internal Deficiencies and Practical Dangers
Cary S. Kappe"

... this addresses quite a few of the issues
that I have seen also especially this quote:

"The SSO of a computer program is conceptually closer to a
system of accounting, which was held not copyrightable in
Baker v. Selden, than to the plot of a novel."

The above is a key point and IMO Johnson Controls missed it.
Another issue is that they were arguing about different
subject matter namely: actual customized source code

Furthermore IMO were the law is as clearly worded as in 17
USC 102(b) the legislative Law takes precedent over case law
(correct me if I am wrong on this please).

Are there any other papers similar to this, which critisize
copyrightability of SSO in computer programs?

[ Reply to This | # ]

An API is ... an offset into a 'binary' file and a tremendous amount of imagination...
Authored by: Anonymous on Wednesday, April 25 2012 @ 10:31 AM EDT

Some People write books about the imaginary things

Some People write source code about the imaginary things

Some People make programs from the source code

Some People write books about the source code

Some People write books about the programs

Some People write source code about the books

An API is none of these things.

It is an offset into memory, some careful filing and a modicum of hope, but
mostly your imagination,

oh, if you squint really hard you might see some electrons shuffling round a

(c) A Tired Programmer With a Headache.
Given freely unto the public domain

Spread the word.

[ Reply to This | # ]

Another gaping flaw in the Oracle argument?
Authored by: Anonymous on Wednesday, April 25 2012 @ 11:01 AM EDT
Just struck me.

In order to be certified as being "Java", implementations
need to apply for and take the TCK.

They seem to be saying that in order to be java, the TCK
must run. The TCK tests the API. This is basically admitting
that the APIs are a fundamental and inseparable part of
"Java". They have already admitted that Java is free to use.

Case dismissed.

I'm pretty sure this logic is as well reasoned as anything
Oracle have come up with.


[ Reply to This | # ]

How to "Fix an API" in a tangible medium of expression
Authored by: Anonymous on Wednesday, April 25 2012 @ 11:02 AM EDT
hexdump -C |head
00000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 03 00 03 00 01 00 00 00 70 5a 01 00 34 00 00 00 |........pZ..4...|
00055500 8b 6c 24 28 8d 64 24 2c c3 e8 82 84 00 00 eb ca |.l$(.d$,........|
00055510 8d 64 24 d4 89 5c 24 1c 89 74 24 20 e8 18 06 fc |.d$..$..t$ ....|
00055520 ff 81 c3<--------------This one here!!!

That one, that's glColor4f(float r,float g,float b,float a) that is


Try it.

Well may be you better not, actually if you did your program would probably
crash horribly or something else completely unexpected, because I just made that

It's in there somewhere though, I leave it to real programmers to decide what
the actual address is.....


[ Reply to This | # ]

Licensing APIs
Authored by: the_flatlander on Wednesday, April 25 2012 @ 11:54 AM EDT
Someone should mention to Larry that Oracle didn't take a license to the API of
whatever language Oracle RAC is written in. I mean, if I were the vendor for
whatever C compiler his database is likely written in, I'd be preparing for some
additional revenue.

The Flatlander.

[ Reply to This | # ]

an interface example to help understand API
Authored by: Anonymous on Wednesday, April 25 2012 @ 12:07 PM EDT
In computer science, and interface sits at the border between two different
"units", and acts as a gatekeeper. In this sense, a Network Firewall
is an interface from one network into another. It opens up ports to the
external network, and routes the traffic to a port on a server inside the
network for processing. When you are outside the firewall, the only thing that
you can possibly know, is which ports are open, and some firewalls try to hide
that as well. The API for the firewall would be the identities of which ports
are open, and what services they are providing (how to use them). It does not
tell you which servers inside the network are processing the traffic.

In programming circles, the interface is the edge that exists between two
different compiled entities (programs, libraries, OSes, etc). That edge makes
certain services/functions available for use by external entities, but does not
necessarily say what they are or how to use them. The API provides this info.

Compare this to the interface between computer and the user (ie the UI or User

[ Reply to This | # ]

Java's relationship to C++
Authored by: Anonymous on Wednesday, April 25 2012 @ 12:37 PM EDT
Oracle's case portrays Java as some wonderfully unique product some engineers
developed on their own, but in reality a lot of it came from C++.

I don't know enough about either language's APIs to know whether this copying
carried over to the APIs but would be surprised if it did not.

Perhaps demonstrating this relationship to the Jury might be helpful in putting
the value of Java in context. And Sun didn't get a license from Bjarne
Stroustrup for copying his language or APIs, did they?

[ Reply to This | # ]

ECMA 234
Authored by: Anonymous on Wednesday, April 25 2012 @ 12:57 PM EDT
There was a group years back, ECMA, that was a standards body.

A group, INCLUDING Sun, helped develop and PASS as an international standard,
ECMA 234.

It was a specification of the Microsoft Windows Application Interface. Several

large,international, computer manufacturers passed the specification. The
intent was that we could 'fix' the API so that companies could be assured the
would NOT CHANGE. The fear being that Microsoft could at its own whim,
change the contract.

Microsoft opposed, but at the time, no one, including Sun, thought we could
NOT do what we were doing. Based on the spec, we were able to build a
compatible implementation that ran on Unix computers. The Wine Project is
indirectly a benefactor of this, building a 'clean room' version of the Windows


There are YEARS of precedent for this, including even the Phoenix BIOS. I would

have thought that the years of practice in the field of software development
would have established this as acceptable practice, to be able to claim fair use
use an interface to an existing body of code to build a separate, compatible

How much will we have to undo if we roll back the clock and now say what we
were doing then is no longer acceptable.

Would Java even be possible?

[ Reply to This | # ]

  • ECMA 234 - Authored by: Anonymous on Wednesday, April 25 2012 @ 01:21 PM EDT
Oracle: move to strike, non-responsive.
Authored by: hAckz0r on Wednesday, April 25 2012 @ 01:01 PM EDT
Interesting that when the witness says something that the Oracle lawyer doesn't like, he takes the opportunity to have it stricken from the record? That was not a "non-response" in my opinion, it was in direct conflict with what the lawyer was trying to get the witness to cooberate.

Eric Schmidt: I see that. Given what I recall, this is not accurate.

Oracle: move to strike, non-responsive.

DRM - As a "solution", it solves the wrong problem; As a "technology" its only 'logically' infeasible.

[ Reply to This | # ]

Analogy for APIs: mechanical interfaces
Authored by: Anonymous on Wednesday, April 25 2012 @ 02:08 PM EDT
An analogy for an API would be a mechanical interface standard.

For instance, an IEC 60309 multiphase plug and socket. You have a machine which
needs electrical power. The building has electrical power. The interface between
the two is the plug and socket pair. The standard says, you make something with
this shape and electrical specifications in the device, and that shape and
electrical specifications on the building, and both will work together so the
device has power.

Now transposing this analogy to computer programming:

In the "device" side (your program), you have for instance a method

System.out.println("Hello, world!");

In the "building" side (the framework), you have the called method:

public void println(String text) { /* something which prints to the
screen... */ }

The API is just the definition of how one side calls the other:

public void println(String text);

Together with an explanation of what the semantics of calling that method will

Of course, given that this is a computer, it appears to be much more
complicated. Instead of a single power socket, imagine if you had thousands of
them, in several different shapes, and some of them were plugged in the opposite
direction (callbacks from the framework into the program). But the complexity is
just in the number and variety of small pieces, which allows for endless
combinations; each piece of the API is individually simple.

[ Reply to This | # ]

An INCREDIBLY obvious analogy for APIs
Authored by: xtifr on Wednesday, April 25 2012 @ 03:46 PM EDT

I'm surprised that nobody has come up with this before. The most obvious analogy for an API is a computer language! Because that's basically what an API is--and extension to an existing language. The API adds new words to the language. When people say an API is "just words", that's exactly right! It adds new vocabulary to the language.

When you write a useful library, you need to make it accessible to the people who are writing programs in a given language, so you create an interface between the language and the code in your library. This makes your library essentially become part of the language--programmers can reference it just like they can reference the built-in parts of the language, to write their programs.

The more I think about it, the more this seems like a perfect analogy. You can write a library in one language (like, say, C) and provide APIs for several (say, C, Python, Perl, even Java if you want to sacrifice the portability factor). The library remains the same in all cases--all the API does is add the library to the language! And someone can come along and write a similar library using only their own code, and use your API (your vocabulary) to add their library instead, just as they can re-implement the basic underlying language(s).

I'd love to hear one of Google's lawyers ask the expert: "what is the difference between a language and an API?" We all know that languages aren't copyrightable--although implementations are. Why is it different for extensions--added vocabulary--for the language?

Do not meddle in the affairs of Wizards, for it makes them soggy and hard to light.

[ Reply to This | # ]

Authored by: TemporalBeing on Wednesday, April 25 2012 @ 04:07 PM EDT
[PJ: You know what's salient to me? Oracle didn't call Scott McNealy. He's still alive. If it were true that Sun was upset at Google's Android when it began, or if he could rebut the testimony from Jonathan Schwartz that Sun was fine with Android, don't you think they would have called him to the stand?]
McNealy gave a nice keynote speech at POSSCON 2012 (YouTube).

While there are some inconsistencies (e.g. to paraphrase - "Sun invented Open Source"), it does give quite a bit of insight into how Sun operated. It also probably bolsters Google's position and likely what Schwartz will testify to.

So it's no wonder why Oracle won't bring McNealy up - he'd probably kill their whole lawsuit.

BTW - if you ever get a chance to listen to him speak, do so - especially now. He was a riot at POSSCON.

[ Reply to This | # ]

Analogy: let's try lawyers :)
Authored by: Anonymous on Wednesday, April 25 2012 @ 05:22 PM EDT
IANAL, I am not a native speaker and I can be way off, but let's try to describe
the lawyer API.

As far as I know, the litigation in USA is a precisely defined process with
strict rules what each party can do and when.

So, let's say, any legal action (all the things lawyers do according to the
rules of litigation process) is a method.

There are fairly low primitive methods like "assert objection on the
testimony", "provide exhibit", "ask question" and there
are highly sophisticated methods like "argue a case in court",
"conduct cross-examination" etc. which themselves will typically rely
(would be built on) on the more primitive methods.

Any actor (attorney, attorney assistant, judge, witness etc) is a class with a
certain set of methods it commands. There could also be inactive (inhuman)
classes without any methods at all (like "exhibit" or
"document" etc) acting as just an information containers.

So, the API would be a catalogue of those actors and their methods. Like the
list of possible moves any of the actors can do in no particular order without
any specifics.

The API documentation would be that list of moves with descriptions what said
move is good for. Sometimes with examples for clarification. But without any
specifics of how exactly those particular movies are done.

So, let's say you want to provide a solution to a certain type of the legal
problem (developer wants to develop the application for a certain purpose).

To do this you think of all the eventualities, actions you can take and lay out
the action plan using the methods defined in said catalogue. Like how to obtain
the relevant information from your client, how to test if the information is
relevant or not, how to set up the case according to that information, how to
accomplish all the needed legal procedures in order to go to court and how to
argue the case at the court, how to decide if appeal or not and so on.
This would be an application, a highly complicated creative work.

For example, the witness examination API for attorney would look like following
(for simplicity I am using some pseudo programming language):

METHOD witness_examination (LIST prepared_questions, witness)

(1) TAKE question out of list of prepared_questions
(2) answer = witness.ASK_QUESTION(question)
(3) result = attorney.EVALUATE_ANSWER(answer)
ELSE witness_answers.PUT(answer)
(5) repeat from (1) UNTIL done with prepared_questions


So, this was the actual implementation. The API would contain only the

CLASS attorney
METHOD witness_examination (LIST prepared_questions, witness)
... and many others....

So, if you would want to qualify as a fully fledged attorney, you would need to
write the actual implementation for each and every method in the attorney class.
If you skip some methods or name them differently then you would not be able to

Let's say you want to specialize on certain methods, because you are good in
that particular area. Or you just earn for the living as an assistant providing
some technical services. So you could declare yourself as a LIBRARY which
provides certain PACKAGES. Like for example "divorce litigation" or
"court action" or "witness testimony analysis" or just
trivial everyday routine like "preparation of certain types of the legal

So others can buy your library and incorporate it into bigger application. Some
libraries come from courts or judges directly just to solve the routine tasks
(included in java), some come from third party (law firms).

Now let's put it into Java VS Android perspective.

Let's say, Java is the USA Court system. Also, there are a lot of existing law
firms practicing under the USA legal system (developers programming in JAVA).

Now let's imagine, Google creates a colony on the moon and calls it Android.
They can't call it USA, as it is not USA (government of the USA refused to form
an federation), but would like to offer some legal system compatible to the USA,
so any american lawyer could fly to the moon and use his/hers existing know-how
to practice a law there.

So, what google did is to take the american catalog of legal actions and create
own courts, judges etc to implement all those methods. So, the american attorney
can fly to the moon and will know how to interact with local judge. And the
local judge will know how to interact with american attorney.

[ Reply to This | # ]

Hopeful that Judge Alsup will Create GOOD Case Law
Authored by: RMAC9.5 on Wednesday, April 25 2012 @ 10:20 PM EDT
I hope Google has a software expert lined up who will help Judge Alsup
understand that Application Program Interfaces are "methods of
operation" and can't be copyrighted because of how they work and have
worked for the last 40+ years!

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