Yesterday was day 3 of the Oracle v. Google trial, and we have our first report now from mirror_slap. More to come, so drop back by. [Update: Done.]
I think you'll find it interesting to contrast his report with media coverage yesterday. The headline to me, now that I've read the report, is that Google's Larry Page bested David Boies. That's not so easy to do. But I see it in the report. Also on the stand today were Dr. Mark Reinhold and Edward Screven.
And let me explain some things about answering questions in a trial as a witness.
Jump To Comments
Update 4, Update 5,
The rule is the lawyer is supposed to ask a question that can be truthfully answered by the witness with either yes, no, or I don't recall or I don't know. Sometimes witnesses give long explanatory speeches instead, and when that happens the judge will remind them of how to answer. Sometimes a witness will say they can't say yes or no and be accurate, and sometimes they'll be allowed to elaborate, but normally that kind of explanatory material comes out when your own lawyer follows up later with questions for you.
You see that in every trial that I've ever watched, that witnesses have to be reminded. Because in real life, none of us talk that way.
But when that happens, it's usually the lawyer's fault that the witness is flummoxed and can't answer with any of the three simple responses and still be accurate. It's the lawyer's job to ask questions in a way that can normally be answered that way. If they don't, it can be because they are trying to trap the witness into apparently agreeing with something they don't agree with. That's what I see in this report.
Another interesting detail: when Oracle's lawyer, David Boies, handed him one exhibit, seeking to get Larry Page to authenticate it, which is a requirement before an exhibit can be introduced as evidence, Page instead pointed out that the page numbering was off, with two different sets of numbers. Hmm.
Anyway, because of that detail that he noticed, the judge didn't allow the exhibit to be used. I mean what if it was a doctored exhibit? Page couldn't know and what he could know is the numbers were off and unexplained. So in those circumstances, it's not being evasive to refuse to authenticate the document, because it might not be authentic. It could just be a mistake, too, But until someone can explain the numbering, it's not usable.
Geeks are good at noticing details and being precise.
Oracle can try to get it in later maybe when the email author takes the stand, but he couldn't this day ask Page about it. They'll have to authenticate the document, then call Page back to the stand, and that's if they have enough time left.
Sometimes precision can look like evasivenes, and maybe it happened as the media reported it, but they are not lawyers, and so it's just as likely they saw what they saw with layman's eyes. What *I* see, from this report, is a man realizing someone was trying to catch him in his speech, and so he was cautious and extremely alert. As a result, a number of exhibits Oracle wanted to use it couldn't because of Page's responses. Assuming he was precise and truthful, that's what I would call a major win for Google. I understand now why the media reported Page left with a smile on his face, unlike Larry Ellison the day before.
Here's mirror_slap's first section, taking us through Larry Page's testimony, with more to follow:
Oracle v. Google, day 3 (Wednesday, April 18)
[more to follow]
[Apologies for the delay in getting the proceedings transcribed; personal emergency prevented me from getting this done yesterday, and I will not be at Oracle v. Google today (Thursday April 19), but will be there Friday. ]
Discussion going on about exhibit numbering:
Oracle: Exhibits 1, 2, 7 and 401 shown during the deposition of Larry Page.
Other Administrative Issues Before Jury Brought In:
Judge Alsup: Any objections?
Google: No objections.
Judge Alsup: In the future, please get these straightened out before showing them to the jury.
[Back and forth over exhibit 3, something that Oracle said that they sent an email about to Google 2 days ago. Google is saying that Oracle was too late in trying to introduce it and missed the 48-hour lead time limit. Judge Alsup decides that Oracle was indeed too late and that the exhibit would have to be introduced via a witness. This is another example of Judge Alsup sticking to his own order w.r.t. introduction of exhibits, and he gave both parties fair warning about it. Boies Schiller is not going to be able to use the same approach as they used with SCO v. Novell.]
Judge Alsup to Google: I hope that you aren't trying to get Oracle to burn through their [allotted, limited trial] minutes.
Google: No, Your Honor.
Oracle: Regarding the 4 questions from yesterday, our answers are:
Judge Alsup: Bring back the jury, but not the witness.
1) about 4,500 methods copied
Judge Alsup: Can I say it in my own words and have you correct it? [ uses example of subroutine, generalizing to “any computer program””, “so the computer knows what routine to call”. ]
2) Sun developed the methods themselves, and they were later developed by 3rd parties via JCP
3) definition of Method Declaration
Google: A method declaration is a statement that defines an API element name, return type, parameter type and order.
Judge Alsup: I don’t think it’s all that different (from my explanation), maybe yours [Google’s] is a bit better.
4) definition of derivative work
Judge Alsup: Is the issue for the jury or for the judge?
Oracle: It could be either.
Judge Alsup: Mr. Van Nest?
Google: [ going back to 3) ] This may seem a bit circular, but a Method Declaration has to be a method. Regarding 4), if the structure of the API’s are copyrightable, there would still need to be (per Apple v. Microsoft?) an investigation of the contents.
Judge Alsup to Google: Do you agree with the 4,500 [ methods ] number?
Google: It’s in the ballpark.
Judge Alsup: I don’t know if at the end of testimony whether the Court will say that the SSO (Sequence, Structure, Organization) is protectable. It might go to the jury [ to make that decision ] Or, this decision could go up to the Court of Appeals. I don’t know.
Judge Alsup to Oracle: Practical item for the jury: please come up with a one page document for the jury for the exhibits where you didn’t follow my order.
Judge Alsup: Also, please produce a one-page “Who’s Who”, with 10 to 12 names for each side, [ so the jury can tell who the witnesses are, who they work for. ]
Judge Alsup: Anything else?
Google: Exhibits issue has largely been worked out [ between parties ]. Oracle has withdrawn their addition from Monday. We can work this out [ between the parties ].
Judge Alsup: You can use additional exhibits to impeach witnesses, but they must be used narrowly.
Oracle: One item -- the Lindholm email -- it directly contradicts Larry Page. It says that “We have been asked by Larry and Sergei”?
Judge Alsup to Google: What’s wrong with that?
Google: Larry Page didn’t author that email, and so it’s “far outside the breadth of impeachment”. It was disclosed late, after Larry Page was on the stand.
Judge Alsup: It’s not privileged; it will come into evidence in due course. I will let Mr. Boies ask the question.
Judge Alsup to Oracle: You can ask Larry Page if Larry Page asked Lindholm to do this.
Oracle: These were in the 10 documents presented to the Court, and we didn’t know if they would carry witness to witness.
Google: We do not want the email published to the jury.
Judge Alsup: It will come into evidence with Lindholm’s testimony.
Judge Alsup: Accounting of minutes used so far: Oracle: 131; Google: 62.
[ Jury is seated. ]
Judge to Jury:
Judge Alsup: Is the coffee and the Federal doughnuts working out okay for you?
[ Tells the jury that the lawyers are not being rude when not talking to the jurors in the elevators or at the coffee stand, that the lawyers are respecting the role of the jury and cannot engage in any conversation with them. ]
Judge Alsup: bring the witness back in.
Judge Alsup: Also, if a lawyer reads directly from an exhibit, you can accept that reading as evidence [ clarifying what Judge Alsup said previously that whatever a lawyer says in court cannot be taken as evidence. ]
Judge Alsup: And a heads-up for what you [ the jury ] might be listening for in the course of this trial ( hearing about high finance and from brilliant people):
What is a copyright? It is a provision under Federal law that precludes someone from making a copy (of someone else’s work). Some things cannot be copyrighted, such as facts, concepts. (Example of E=mc2). To prove infringement (on a copyright), the plaintiff needs to show 1) copying of the original work, and 2) defendant had access to the original work.
Judge Alsup: What is not in contention: Oracle doesn’t accuse the following:
1) Android’s use of the GPL
Judge Alsup: What is being challenged ( and the lawyers will correct me if I am wrong ):
2) any particular name in an API element, including methods, packages, parameters
3) Android source code implementing the 37 API’s, except for a few instances
4) the idea of an API
5) Dalvik VM
6) Android API packages, except for the 37.
1) 37 API’s
Judge Alsup: Nothing I have just said is evidence. I am trying to give you [ the jury ] the benefit of my interpretation and understanding of the issues. If you are confused, please give the Court a note [ describes the process of how to do that ] and we will get it to the lawyers [ so that they can clarify/explain ].
2) 2 files in the 37 API’s that contain 9 lines of range-check code that is symbol-by-symbol copying
3) 2 files where comments are identical [ explains comment usage in general in source code; no distinction yet as to whether these a plain comments or documentation comments. ]
4) declarations in the 37 API’s, which are symbol-for-symbol identical
5) SSO - the 37 API’s do not have the same source code [ mostly ], but they have an identical SSO.
6) Documentation “detailed booklet, written in plain English”.
7) Beyond the 37 API’s, there are 8 additional files that Oracle claims are word-for-word copies.
Judge Alsup: Anything from the lawyers [ regarding the above, or anything else, I suppose? ]
[ nothing from the lawyers ]
Judge Alsup to Oracle: While we are waiting for the witness, about how much time do you expect to use with this witness?
Oracle: 30-40 minutes on direct, your Honor. No stipulations to be read to the jury.
Larry Page Takes the Stand, 2nd Time:
[ Larry Page enters the courtroom and is seated in the witness box. He looks relaxed and throughout his upcoming testimony does what he did yesterday: generally he stays focused on the jury, with his head turned towards them. He rarely looks at Mr. Boies at all. ]
Cross-examination of Larry Page:
Judge Alsup: Hello Mr. Page and welcome back. [ reminds him that he is still under oath. ]
[This is where things get fast and furious again with the pace of questions and the length of responses. Mr. Boies appears to be trying to ask yes/no questions of Larry Page that would pin him down to Oracle’s view of reality. Larry Page generally answers with explanations of context first and typically does not answer either yes or no, apparently demonstrating that the questions being asked cannot be accurately responded to with a yes or now (or “I don’t know”. ]
Oracle: (on copying): Would it have been a violation of Google policy for a Google engineer to copy somebody else’s copyrighted property?
[Back and forth over this question. Larry Page never answers with a “yes” or “no”. He brings in the context of Google offering up snippets of copyrighted books and articles as a way for people to get an idea of the full content of same, indicating that the breadth of Google’s business makes this question hard to answer with a yes/no. Boies tries to pin him down to source code copying, and Larry essentially says that he doesn’t know what Google’s policy with regard to this actually is. Eventually, Boies just moves on. ]
Oracle: Did you ever ask anyone to investigate the allegations by Oracle of Google copying [Oracle’s IP]?
Larry Page: I don’t recall asking anyone to do that.
Oracle: Has anyone at Google ever been disciplined for copying copyrighted material?
Larry Page: I am not aware of anyone [ being disciplined ].
Oracle: Referring to Exhibit 2, from July 2005.
Hands witness TX 7, email from Andy Rubin to Larry Page, October 11, 2005.
Oracle, quoting exhibit: Rubin: “ my proposal is that we take a license from Sun that specifically grants us the ability to open source Android.”
Larry Page: The TCK is a way for Sun to make money, among other things.
Oracle: You knew that in 2005 that [ Sun was intent on avoiding fragmentation of Java ]?
Larry Page: It’s hard for me to speculate on what Sun’s intentions were regarding fragmentation. (Sun produced many versions of Java).
Oracle: Do you, from your own personal knowledge and experience in the industry in 2005, know whether Sun wanted to avoid fragmentation? It’s a yes/no question.
Larry Page: Yes, subject to [Sun wanting to retain ] control and other previous statements.
Oracle: You were what Google calls the “Executive Champion” for Android?
Larry Page: Yes. (Any major project at Google requires there to be a sponsor from the executives. )
Oracle: TX 431 and 432 given to Page.
Judge Alsup: Any objections?
Google: Objection, #403 [ I am not sure what a #403 objection indicates.] [PJ: Here's what it is. It's referring to the Federal Rules of Evidence 403.]
Judge Alsup: 403 objection denied on 431.
Google: 431 is a phase 3 issue [damages] , not a phase 1 issue [copyright].
Judge Alsup to Oracle: Is the point of this document to put big [$] numbers out there [for the jury to see]?
Judge Alsup: #403 objection overruled of TX431.
Judge Alsup to Oracle: You still have to lay foundation [ for using TX431. ]
Google: This document [ TX431 ] should not be published to the jury.
Oracle: This document was given to the EMG [ Executive Management Group at Google ].
[ IIRC, Judge Alsup said that this is a public trial and that it would be allowed, again, IIRC. ]
Larry Page: Sorry, let me read this [TX431] for a minute.
Judge Alsup to Larry Page, after perhaps a minute passes: Do you know what the document is or not?
Larry Page: It seems to be a strange [ strangely ordered? ] sequence of emails. It may be something that I presented [ to the EMG].
Judge Alsup: Do you recognize it?
Larry Page: No.
Judge Alsup: [TX 431 is thrown out, no foundation. Will be able to bring back this witness once it is in evidence through foundation. ]
Oracle: [ missed some stuff] pages that were presented to the Board of Directors [ for Google ]
Judge Alsup to Larry Page: Does it look like something produced by Google?
Larry Page: It looks like it came from Google. Let me read it to see if it’s the right version [ that was actually presented to the BoD ]. It’s not clear to me that this was used [in the presentation].
Judge Alsup: Not sufficient foundation. Disallowed.
Oracle: You believe that Android was a critical asset for Google?
Larry Page: It was important. I wouldn’t say “critical”.
Oracle: You are on the Google Board of Directors?
Larry Page: Yes.
Oracle: Wasn’t the board told that this was a critical asset?
Larry Page: They may have been, but I do not agree with that characterization.
Oracle: Remember yesterday when I asked you about Tim Lindholm?
Larry Page: Yes.
Oracle: In this email [ Exhibit 7?] there is a reference to “Tim”. Is that Tim Lindholm?
Larry Page: It might be. I am not sure.
Oracle: TX 6, September 6, 2005 email from Andy Rubin to the EMG, cc: Tim Lindholm, page 4-2005 of exhibit…
[Some confusion about page numbering here. Larry Page points out that there are two sets of page numbers in the exhibit ]
Judge Alsup: TX10 is not in evidence; the witness who authored this is not yet here.
It will be allowed to be shown to the jury [ yet].
Larry Page: Don’t recall if I have seen this.
Oracle: Quoting Google: “we’ve been asked by Larry and Sergei to investigate technical aspects of replacing Java. Does that refresh your memory?
Larry Page: No.
Oracle: Were you told in August 2010 that Lindholm had concluded that Google needed to negotiate a license for Sun’s technology?
Judge Alsup to Larry Page: Most of the questions are a yes or no... please answer in the spirit of that.
Oracle: Did Google ever get a license from Sun or Oracle for Java?
Larry Page: I don’t think so.
Oracle: You are aware that Google uses Jave API’s in Android?
Larry Page: I have no idea what Sun copyrights or not.
Oracle: Does Google copyright its API’s or not?
Larry Page: I am not sure. I think that everything is copyrighted by default, but I am not a lawyer.
Oracle: Are you aware that many companies that use Java take a license for Java?
Larry Page: Yes.
Oracle: Are you aware of any companies that use the Java API’s that has not taken a license?
[ no response recorded... sorry ]
Oracle: No more questions your Honor [ said with a tone of exasperation.]
Google: You were asked your opinion on several emails.
Why was Google investing in Android technologies?
Re-Direct of Larry Page:
Larry Page: We were frustrated with having a closet full of 100s of phones [ using different OS’s ] that wouldn’t work. We wanted our stuff to work on them.
Google: Were you excited about buying Android and bringing Andy Rubin on board?
Larry Page: We were very excited to solve the phone problem.
Google: (Please describe the) Negotiation with Sun.
Larry Page: We got frustrated [ with the pace and direction ] of the negotiations, and we went on our own path, got a free version of Java, re-implemented it in a clean room. It took a lot of time and money (on the order of 2 years and millions of dollars).
Google: How helpful would it have been to be able to seal the deal with Sun for Java?
Larry Page: It would have been very helpful. It would have saved us a lot of time and effort.
Google: From your perspective, why did you decide to move on your own path?
Larry Page: The TCK testing and the cost were frustrating.
Google: Once negotiations failed?
Oracle: Objection, no established basis.
Judge Alsup: Did you make a decision to move forward with Android without a license from Sun?
Larry Page: [ Response that did not seem to satisfy Judge Alsup. ]
Judge Alsup: Insufficient foundation.
Google: You were asked about API’s and copyrights. What do you recall from 2005 about the API copyrights?
Larry Page: We didn’t even think about it. I don’t recall discussing them.
Google: ( You attend tons of meetings)?
Larry Page: Too many. [Chuckles from everyone]
Google: Google has about 30,000 employees?
Larry Page: [ Something to the effect that it's about that, currently.]
[This is going to whether or not it is reasonable for LP to remember Tim Lindholm, IMO ]
Oracle: You just said that you didn’t recall in 2005-06 knowing about APIs.
[ Back and forth over this. Larry Page indicates that he knew a ton about APIs in that timeframe. Oracle tries to get more specific about the Java APIs and their copyrighted status. Larry Page professes not to know anything about that, which is consistent with his previous testimony.]
Oracle: Was the benefit that Google was seeking in Android to be the control of the user experience when presenting its apps?
Larry Page: I don’t disagree with that as a potential benefit.
Oracle: Next page from the bottom [ TX not clear to me; probably TX 6: this is I think the exhibit of the internal Android presentation in 2005 ]... the mention of APIs.
Larry Page: That doesn’t refer to Java APIs [ seemed to me to clearly refer to Android APIs for its apps]
Oracle: [Asking about discussions of API’s at Google].
Larry Page: We talk about APIs every day.
Oracle: [ Tries to conflate the use of the term APIs in Exhibit 6 to be Sun’s Java APIs .]
Larry Page: I couldn’t tell which APIs are being discussed [in the TX].
Oracle: [ the TX ] has to do with Android?
Larry Page: Yes.
Oracle: It has to do with Java?
Larry Page: Yes.
Oracle: It has to do with delivery [ of ? ]?
Larry Page: It has to do with application delivery.
Oracle: When it talks about negotiation, it’s about negotiation with Sun?
Larry Page: Yes.
[ I think that this is where Oracle has effectively gotten Larry Page to answer a question in the affirmative that is in fact not the case. I think that this section of the TX has to do with negotiating timelines of delivery of apps with developers, either internal to Google or external is not clear ].
Oracle: These are notes of a conversation that you had...
[ Oracle tries very hard to pin down Larry Page on this email. Oracle was largely thwarted, but it’s possible that Page may have appeared to be evasive to the jury. The cross by Van Nest was masterful, showing that Larry Page’s interest and enthusiasm was in moving forward with Android, and overcoming obstacles by going with a free version.
Update 1: Update:
Here's part two, Edward Screven, a witness called by Oracle, with one more part to go:
Edward Screven, Oracle Chief Corporate Software Architect
[Mr. Norton, or so the name sounded like, for Oracle is doing the examination.]
Cross-examination of Mr. Screven by Google
Oracle: Where do you work?
Edward Screven: At Oracle since 1986. Did undergraduate studies in CS at CMU, but left before getting a degree. 13 years as a programmer. Started in high school and worked professionally while in college. Started working with the Oracle Advanced Technologies Group, and when the head of the ATG became ill, I took over the role and started reporting directly to Larry Ellison.
I am now the Oracle Chief Corporate Software Architect.
Oracle: Tell me about Java at Oracle.
Edward Screven: Java is one of *the* most important technologies that we use in our business. It runs in MySQL, Linux, Virtualization, Middleware.
Oracle: Describe middleware.
Edward Screven: Oracle's middleware is based almost entirely on Java.
Oracle: Uses the Java APIs?
Edward Screven: Extensively.
Oracle: Were you involved in the decision to base Oracle's middleware on Java?
Edward Screven: Yes. We used to use C/C++, (which was cumbersome). Java has an interesting facet: WORA ("Write once, use anywhere").
Oracle: Was one of the reasons for the choice to use Java for the middleware the features of the Java language?
Edward Screven: Yes. Java is well-specified. Compared with C, which has differing integer widths on different platforms.
Oracle: How is the [Java] language specified?
Edward Screven: The documentation is very precise. It doesn't leave a lot of room [in the implementation] for wiggle room.
Oracle: Is the use of Java alone enough for WORA?
Edward Screven: No, you need the JVM's to run the same on every platform.
Oracle: Define an API.
Edward Screven: Part of a program. Programs have 2 parts:
1) definition of structure
Oracle: Is there any relationship between the class libraries and the APIs themselves?
2) code that carries out that functionality [example of "add entry"/"remove entry"]
Edward Screven: There is no distinction in Java between the APIs and the class libraries. They are co-mingled [here I believe that ES is referring to the Java source code itself].
Oracle: There is a specification?
Edward Screven: There is a human-readable form of the specification in the documentation. The APIs are a part [of the documentation].
Google: Objection… leading the witness.
Judge Alsup: Yes, this is leading.
Judge Alsup to Oracle: Stop leading the witness.
Oracle: [brings out a file cabinet]. This filing cabinet, is there any relation of it to an API?
Edward Screven: No way is that an API. It's a filing cabinet. You can put papers or file folders in it. "You could even put old shoes in it".
Oracle: Do you design APIs?
Edward Screven: Yes.
Oracle: Is API design creative?
Edward Screven: Very.
Oracle: How so?
Edward Screven: You have to make a conscious decision about structure and layout. There are implications [that follow from these decisions] on the implementation.
Oracle: [ ? ]
Edward Screven: [Explains why API design is difficult, important, and interesting -- impacts the productivity of thousand to millions of engineers.]
Oracle: Are you familiar with the 37 APIs that Oracle says are infringed?
Edward Screven: Yes.
Google: Objection, leading.
JA; Sustained. Stop leading your witness, Mr. Norton.
Oracle: [Asks a non-leading question.]
Edward Screven: You do not have to use the APIs that come with Java. For example, the logging, math and encryption APIs are sometimes replaced with other implementations. But it's common for programmers to use the standard APIs.
Oracle: Has Oracle ever redesigned the APIs?
Edward Screven: No. There is no reason for Oracle to redesign the APIs, and it would be a lot of work (and a lot of expense).
Oracle: Is there any technical reason why Oracle couldn't redesign the APIs?
Edward Screven: No.
Oracle: Were you directly involved in Oracle's decision to buy Sun?
Edward Screven: Yes. I was part of a small number of executives [involved in the purchasing decision], concentrating on software technology. I was very interested in Java. Java is a valuable asset. It is still a valuable asset. If Java was the only thing that we got in the acquisition, it was worth the entire purchase price. [Here Screven gets the $7.4B figure out before Google can object.]
Judge Alsup: I am instructing the jury to ignore the number [mentioned by the witness]. it is not a part of this case.
Judge Alsup: [Admonishes Mr. Norton.]
Edward Screven: [Turns towards Judge Alsup and shrugs so high that the palms of his upturned hands are partially visible above the front of the witness
box.] [To me this gesture looks artificial.]
Oracle: [Asks Screven to describe the Apache and the GPL licenses.]
Edward Screven: [Describes them as being types of Open Source licenses.]
Oracle: After Sun released Java under the Open Source license, did Apache continue to release Harmony?
Edward Screven: Yes. Apache tried to get licenses [from Sun]. They sought a JSL (Java Specification License). Sun was willing to grant Apache a JSL and a TCK so long as Apache Harmony was only available on desktop computers and servers, but not mobile devices (a "field-of use restriction").
Oracle: Regarding TX 2347 a letter that Oracle and others sent to Sun June 22, 2007, to encourage Sun to give Apache Harmony a license.
Did you sign on [on behalf of Oracle] to this letter?
Edward Screven: Yes.
Oracle: Do you see Google as a signatory?
Edward Screven: Yes.
Oracle: Were all these signatory companies involved in Java?
Edward Screven: Yes. All of them were a part of the JCP (Java Community Process).
Oracle: Why did you sign the letter?
Edward Screven: Sun wasn't doing well. Oracle feared that their company's Java assets were at risk and wanted there to be an alternative source for Java if Sun went under.
Oracle: When you signed this letter, were you concerned about the Open Source Software license?
Edward Screven: We had no idea that any of the signatories would want to harm Java or fragment it.
Oracle: [Asks about Apache Harmony seeking a TCK.]
Edward Screven: The fact that Apache wanted a TCK showed their intent to make Apache Harmony compatible.
Oracle: Did you know [at the time] that Google was pursuing using Java in a way that would fragment it?
Edward Screven: We had no idea. Had we known about it we would never have signed onto the letter.
(Talked about Sun's rightful reluctance to offer the TCK to Apache Harmony. Said that Apache Harmony is now essentially defunct, placed "in the attic" in their source code repository, and is not being further developed.)
Oracle: (How about GNU classpath?)
Edward Screven: GNU classpath was always incomplete. It didn't fully implement the API or run the TCK. There is no commercial use of the GNU class path, especially after Sun released Java under the GPL.
Oracle: Did Oracle have any interest in developing mobile apps?
Edward Screven: Yes, [mostly for tablets and not phones].
Oracle: Once Oracle made the decision to buy Sun, did Oracle consider entering into the smartphone market?
Edward Screven: Yes. I was involved in that discussion.
Oracle: Was any conclusion reached?
Edward Screven: Yes. From a technical basis, it would be possible, but it would not be profitable.
Oracle: How did you reach this conclusion?
Edward Screven: Google's release of its Android Javaphone had removed [the market] advantage.
Google: Various editions of Java exist, such as the JSE (from the original Java platform)?
Edward Screven: I wouldn't characterize the JSE as being only for laptops and desktops. Smartphones have become capable enough to run the JSE. The JEE has additional functionality (tailored to server applications).
Google: The JEE has additional APIs and class libraries?
Edward Screven: Correct.
Google: So programs written in JEE wouldn't run on a JSE device?
Edward Screven: Correct. You'd need to load the additional JEE class libraries.
Google: JME (Java Micro Edition) is for small devices?
Edward Screven: Yes.
Google: JME is stripped down.
Edward Screven: Yes. It's for devices with smaller memory/CPU.
Google: So apps written in JSE won't run on JME?
Edward Screven: (Maybe.)
Google: This means that a JME app may not run on a JavaCard device?
Edward Screven: Yes.
Google: There are different APIs between JavaCard and JSE?
Edward Screven: [Some disagreement over the differences between versions.]
Google: There are differences between JSE, JEE, JME, and Java Card?
Edward Screven: Yes.
Google: How can it be that (Oracle can say that Java is WORA)?
Edward Screven: Oracle defines WORA as across platforms [different operating systems], not Java versions.
[Really fast here… I couldn't track it all.]
Google: Differences between English language document and source code?
Google: Java API name and Java Language Elements relationship?
Google: [Drilling down on the English Java Language specification.]
[Personal observation about Edward Screven: he seemed incredibly smart and visibly twitchy.]
[Often during this witness's testimony, the poor court reporter's fingers started smoking, and there would come a request for people to slow down.]
Google: Some of the [methods in the] 37 APIs are required by the Java specification?
Edward Screven: Maybe a dozen of the 4,500 in the 37 API's.
[On to Oracle's due-diligence process in their purchase of Sun.]
Google: How long did the due-diligence process take? 2-3 days?
Edward Screven: Yes.
Google: Your role was to evaluate all Sun's software technologies?
Edward Screven: (We pared this down to evaluate the items of most interest.)
Google: Did you calculate the [monetary] value of any of the copyrighted technology?
Edward Screven: [Unresponsive answer according to Google.]
Judge Alsup: The witness is not answering the question.
Judge Alsup to Edward Screven: [Slowly repeats the question.]
Edward Screven: I personally assigned a value greater or equal to the number that cannot be mentioned [the purchase price].
Google: There was a lot of other Java components than the 37 APIs?
Edward Screven: Yes.
Google: (What other software assets were acquired?)
Edward Screven: Server software, thousands of patents, trademarks.
Google: Were all items of value relative to the value of Java?
Edward Screven: [Danced around the point of the question].
Google: During the due-diligence process, you never put in writing the value of any of these assets?
Edward Screven: Yes, we did not [write down anything]. (I talked with Larry Ellison on the phone to report my evaluation.)
Google: (Was your evaluation that Oracle should buy Sun?
Edward Screven: (It was.)
Google: Your opinion is that Sun had good engineering practices but they weren't very good at running a profitable business?
Edward Screven: Yes.
Google: Momentum for Java development had stalled in Sun?
Edward Screven: (Externally, the release frequency had slowed.)
[The following is a bit of witness impeachment.]
Google: Regarding TX2237 Report that Oracle prepared on acquisition of Sun to the EC (European Commission). In submitting information to the EC, everything that Oracle represented to it would be true, yes?
Edward Screven: [Affirmative but possibly slightly equivocal answer.]
Google: Quoting Google: "Java's success - for Oracle and the industry - depends on Java remaining open and unified."
Edward Screven: [Seems to go back to a previous question… my notes always proceed chronologically, so this following confuses me.]
Sun's releaser process had slowed, frustrating programmers and companies that relied on it [for bug fixes and new features].
Google: "Was it your impression that Sun is less focused on making money than Oracle"?
Edward Screven: "No, Sun was just less focused in general."
Google: [Playback from Screven's deposition, p70, line 16-21.]
Google: [In the video deposition, it shows Screven unequivocally answering this question with a flat "Yes".]
Judge Alsup: (Overruled. Goes to impeachment.)
Google: [Does another direct impeachment comparing today's testimony to the same question asked during the video deposition.]
Google: You have testified that Oracle didn't have the expertise [to be able to develop a smartphone].
You testified that Oracle bought Sun because of Oracle's dependence on Java.
Google: [Reading from June 22, 2007 letter from Screven to Jonathan Schwartz, asking Sun to grant an unrestricted license to Apache Harmony.]
Google: Anyone could have downloaded and use the Apache Harmony implementation?
Edward Screven: Yes, but doing that [would place Sun at risk, as shown by Google's actions].
Google: Sun never sued Apache?
Edward Screven: No.
Google: Sun never asserted that Apache was violating Sun's copyright from the time period 2005 onward?
Edward Screven: Not aware [whether they did or didn't.]
Redirect of Edward Screven:
Oracle: Asked about the different editions of Java-- Are there edition forks or fragmentation?
Then there is an exchange about a document (sorry, missed any ref to a TX) prepared July 30, 2009, before the lawsuit, which says that Android is fragmenting Java by putting out an incompatible clone of JME.
Edward Screven: No. It's all about the capabilities of the device on which the software runs.
Oracle: Are there any names of the API classes that are not part of the Java Language Specification?
Edward Screven: Double float long int boolean string thread object class… none of these are in the JLS. This list might not be comprehensive; that was off the top of my head.
Oracle: Questions the value of Java and WORA.
Edward Screven: 1) Without WORA, software would be much more expensive to write. 2) Makes software less appealing to customers (more expensive and more prone to cross-platform variations.
Oracle: You said that you never produced a written report [of the due-diligence evaluation].
Edward Screven: I told Mr. Ellison that, "We should buy Sun for no other reason than the acquisition of Java."
Oracle: Back to the docs, TX2237, p17, on Java's success being dependent on Java remaining open and consistent.
Edward Screven: It's important that Oracle protects its IP, otherwise people would take our software and not pay for it.
Witness is dismissed.
Judge Alsup to Oracle: 1) I want to know the 12 classes not in the JLS and their methods
2) [ missed the next part about the 37 API's, because the above kind of blew my mind… wha? why?]
Oracle: [Regarding item 2.] This is going to sound a little circular… the next witness will explain this.
Judge Alsup: Okay, I'll wait.
11:30 - Exhibits that were stipulated and received into evidence:
450, 451, 453, 454, 455, 460, [ missed some ], 475, 476, 510, 511, 513, 518, 520, 521, 523, 524, 526, 595, 596, 597, 598, 599, 601, 603, 603, 659.
And now the final part of mirror_slap's report for the day, the testimony of Dr. Mark B. Reinhold:
Testimony of Witness Dr. Mark B. Reinhold
Wait. First Jacobs and now Reinhold say APIs are a blueprint, and yet Reinhold says, when asked if APIs can be too big:
Chief Architect, Java Platform Group, Oracle
Worked for Sun since 1996. Holds a PhD in CS from MIT.
Oracle: Have you designed APIs?
Mark Reinhold: Yes.
Oracle: What do you do [at Oracle]?
Mark Reinhold: At a high level, I direct projects, ensures the cohesiveness of Java.
Oracle: This includes Java APIs and class libraries?
Mark Reinhold: Primarily for JSE, yes.
Oracle: For how many years?
Mark Reinhold: 16 years.
Oracle: Including API design?
Mark Reinhold: Yes.
Oracle: Why did you join Sun?
Mark Reinhold: Primarily because of interest in Java.
Oracle: What do you mean by Java?
Mark Reinhold: The Java environment.
Oracle: So you've written class libraries?
Mark Reinhold: Yes.
Oracle: You've designed APIs?
Mark Reinhold: Yes.
[This is really, really fast. Many times the court reporters ask for these guys to slow down.]
Oracle: What do you mean about clear documentations?
Mark Reinhold: [Talks about two kinds of comments, regular comments and "doc comments", and how the doc comments in the source make it a tightly-coupled, highly accurate, self-documenting language.]
Oracle: [How many classes are in Java?]
Mark Reinhold: 3500 classes in Java 5 (the version addressed in this lawsuit).
Oracle: What is an API?
Mark Reinhold: An API is a blueprint for the class libraries, and a specification of the structure.
Oracle: The actual structure of the APIs.
Mark Reinhold: [Yes.]
[Mark Reinhold now launches into a tutorial on the Java Language, its APIs and structure, over the objection of Google, which was overruled.]
Oracle: Please explain your involvement with the java.nio.channels package.
Mark Reinhold: I was the specification lead, in charge of all aspects of API design.
Oracle: How many packages are there in the JSE?
Mark Reinhold: Cites specific numbers for JSE5 and JSE7.
Oracle: [Puts a poster up with the structure of the Java APIs on it for the jury.]
Oracle: What is this poster?
Mark Reinhold: It's a visual depiction of the Java APIs - perhaps half of them.
Oracle: Was it produceed for this litigation?
Mark Reinhold: No- it was produced at roll-out of Java 5 [for the public]. It is used by engineers/programmers.
Oracle: Are the 37 APIs under contention shown on this chart?
Mark Reinhold: 34 of 37 API's are. 3 are not.
Oracle: What does this poster tell us about the relationship of classes?
Mark Reinhold: [ missed ]
Oracle: Docs poster shows methods oct fields?
Mark Reinhold: (No, would make the poster enormous.)
Oracle: What about the Structure of the Java API's and Java class libraries?
Mark Reinhold: They are exactly the same. "The software contains its own blueprint."
Oracle: Which Oracle Java API specs are at issue?
Mark Reinhold: javax.net.ssl , java.sql [others missed].
Oracle: If you run the source files from the 37 packages [through the documentation extraction tool], how many pages of output does that produce?
Mark Reinhold: About 11,000 pages, or 3 1/4 banker's boxes full of documentation.
Oracle: Exhibit 610 [again, Oracle mucks up their extibits. 610.2 get shown.]
Mark Reinhold: [From the point of view of the computer], very little API organization is required by the VM. We could have given them completely random names and put them into one huge package.
The design goal was that API's should be easy to learn and easy to use.
1) performance is important
Oracle: When you launch the API design process, what do you do?
2) Portability is important [wouldn't want to define an API that is specific to Windows].
Mark Reinhold: Collect use cases, define the problem/solution space, general requirements. Important to get quick to a high-level summary [ of the design ] to share with others. Sketching, writing code snippets. Then you start writing code for the methods. It's important to work on the implementation at the same time as the API specification to find bugs in the specification.
Oracle: How long does it take to design a package?
Mark Reinhold: 2 years, working half-time on it, with additional experts and engineers working on it simultaneously.
Oracle: How does that work?
Mark Reinhold: Through the JCP. A Java Specification Request (JSR) is put together. The JSR sketches out the problem to be solved, ideas to solve it, relation with existing APIs. The proposers get feedback and send it to the JCP. The JCP Executive Committee oversees the process- they have to approve the JSR. If it is approved, the JCP forms an Expert Group or EG. Experts from IBM, SAP, Red Hat, individuals. It works over about a 2-year period.
Mark Reinhold: As specification lead, I had to understand and distill all information. Several drafts are written to a final revision. A JSPA is required (Java Specification Participation Agreement], which makes it explicit that all the IP will be contributed. The work is required to be original.
Oracle: Is the java.nio unique in this respect (JSR, committee)?
Mark Reinhold: No.
[ missed some things ]
Mark Reinhold: There are millions of choices to be made in designing an API. Choosing names are really important. Is it a class that many developers will use? If so, then shorter names are important (to productivity). If not, then longer names are fine. Also [the design of] inputs, outputs, from and from methods is important.
Judge Alsup: Can someone from outside of Sun [/Oracle] submit JSR's?
Mark Reinhold: Many JSR's are submitted from outside Sun/Oracle. If the idea is small, then the RFE (Request For Enhancement) is available [as a means of getting a change to Java]. If the submitter is known to have experience, knowledge, and good judgement, then it makes the process smoother/faster.
Oracle: Please give examples of changes/differences?
Mark Reinhold: Logging
Google: java.util.logging versus loggingforjava.
Mark Reinhold: also SSL.
Oracle: Have the number of APIs changed?
Mark Reinhold: They've grown dramatically.
There were 7 in 1997. In Java 5, there are 166. In Java 7, there are 209.
Oracle: Why were more APIs produced?
Mark Reinhold: To make the language more attractive to developers.
Oracle: Are there other programming languages with a large number of libraries?
Mark Reinhold: Yes. Python is a good example.
Oracle: Are the APIs in Python the same as in Java?
Mark Reinhold: No.
Oracle: How do you decide as the Chief Architect whether or not to add a new API?
Mark Reinhold: Many decisions -- would the new API impact a large enough number of developers with a high-quality design and implementation?
Oracle: Is it possible to make a package too big?
Mark Reinhold: Yes. Humans are bad at managing long lists of uncorrelated information.
Oracle: How is consistency of API specifications maintained?
Mark Reinhold: They have to be designed to WORA.
Mark Reinhold: Compatibility across different implementations of Java versions is critical to WORA. Sun/Oracle spends a lot of time and energy on this. API specification, class libraries, and TCK (~100,000 tests) have to all be done.
Oracle: When you were at Sun, were you involved in any litigation over fragmentation?
Mark Reinhold: Yes. I was involved in the Microsoft suit in the late 1990's where I was a technical investigator. Microsoft left stuff out (a bug) [chuckles ], but also put stuff in (fragmentation).
Oracle: [Established the nomenclature of subsetting and supersetting.]
Oracle: So Microsoft subsetted Java?
Mark Reinhold: Yes.
Oracle: And they supersetted Java?
Mark Reinhold: Yes.
Mark Reinhold: Making sure that the Java APIs remain as clean as possible.
Oracle: If one wants to find out about the Java Language Specification (JLS), where would one go to find it?
Mark Reinhold: A book, 3rd edition, "The Java Language Specification". [It's large.]
The JLS is very technical, from the bottom up.
Oracle: What is in and out of the language?
Mark Reinhold: Anything.
[Witness was dismissed with possibility of recall.]
Judge Alsup: Time used, in minutes: Oracle: 315; Google: 107.
Yes. Humans are bad at managing long lists of uncorrelated information. So, the truth oozed out. APIs are nothing but long lists of uncorrelated information. That's why they should not be copyrightable, any more than a phone book's white pages contents can be. They are just a list, no matter how much work you put into it or how much money you spend getting it done. That's not at all what a blueprint is, is it? Fess up, y'all. APIs, as Google told you, are not blueprints.
And about whether there are any other companies that don't license Sun/Oracle's Java, there are, I think. If you look at the Oracle opening statement slides [PDF], look at the slide where Oracle showed licensees, slide 8, who don't you see? You don't see Microsoft and you don't see HP. There's some water under that bridge.
HP, I find in our research, didn't want to license from Sun, because they thought Sun rigged everything to suit Sun. So HP developed a Java clone, something called Chai, and a VM called MicrochaiVM, and the two companies went around and around about it:
HP is Sun's friend and foe when it comes to Java software. Despite HP's continued refusal to agree to Sun's Java licensing terms for gadgets, HP's own efforts are nonetheless helping Sun succeed in its vision to spread Java into handheld computers, cell phones, e-mail pagers, car computers and other devices. A lot of companies sided with HP by 1999, and they formed the J Consortium:
On Monday, HP unveiled MicrochaiVM, its Java clone designed for gadgets. HP also announced Monday that Qualcomm has endorsed MicrochaiVM as its new cell phone software standard, boosting Java but sidestepping Sun.
A group of companies that don't want to play by Sun Microsystems' Java rules have formed an outside work group into an outfit called the J Consortium.Did you notice, Java was already "fragmented"?
The companies, including Hewlett-Packard, Microsoft, and NewMonics, have formalized an ongoing effort to set a standard for a component of Java called "real-time" extensions. Real-time extensions are features that enable Java to work in devices like factory floor robots which must respond to commands immediately (in "real time").
J Consortium members say they're unhappy with Sun's dominance and that Sun detracts from the effort to actually build products, according to Kelvin Nilson, chief technology officer for NewMonics and technology chairman for the J Consortium.
Sun, with a parallel and competing effort under way, says its development process is open and objects strongly....
Current J Consortium members include Omron, Perennial, and Plum Hall. More than 25 members have "expressed intent to join the J Consortium," including Ericsson, Octera, and Transvirtual Technologies….
Nilson countered that Sun's policies were what led to the split-off group in the first place.
"I would say that to a certain extent, Java has already been fragmented, and it's because of the stranglehold that Sun puts on the Java technology," Nilson said. "There are something between 10 and 20 'clean room' Javas. Each of us has been forced to create our own diverse way of working around the problems that Sun has put [up]." "Clean room" refers to Java-like software that's been developed independently of Sun's source code and is marketed as a separate product.
Sun's real-time effort is flawed because "the whole process is controlled by a single company [Sun], a company that does not necessarily understand real-time and does not necessarily understand the real-time community," Nilson said.
The Real-Time Java Working Group made an effort to have the National Committee for Information Technology Standards shepherd a real-time specification, but NCITS members, including Sun, voted the proposal down. Afterward, HP vowed to continue the fight.
Sun, meanwhile, set up its own Real-Time Expert Group and appointed an IBM staffer to lead the effort.
By 2001, HP was still working on Chai, developing the Chaiserver, an embedded Java application server:
To help make Linux pervasive with intelligent, connected devices, HP has developed the HP Chai-LX embedded Linux-based software platform. HP Chai-LX is a customizable software platform that enables devices to host Java applications and dynamic Web services. The platform combines an optimized embedded Linux operating system with HP Chai software and selected Java applications. By 2002, the J Consortium had 150 members, and they were building APIs:
Products such as the HP Digital Entertainment Center, an Internet-connected component for the living room, may offer consumer benefits of Chai-LX in future offerings. Currently, the HP Digital Entertainment Center allows customers to conveniently download and store MP3 files, access Web-based entertainment information and create custom CDs.
To help accelerate the pervasiveness of intelligent devices, HP also plans to open source the HP Chaiserver, an embedded Java application server. Currently, HP Chaiservers are deployed in millions of Web-connected HP LaserJet printers to enable Web-based printing services.
June 21, 2002
Something called the J Consortium still exists, I gather, doing standards around Java, but without, as far as I can tell, any license from Sun, trying for what they view as a
more democratic process, and here's how they explain why they are not part of Sun's family to this day:
On June 27-28, J Consortium members will meet in Rennes, France, to discuss standard specifications to assist in developing and porting embedded Java(TM) language software. An international cadre of experts and software tools vendors will present on many topics, including high-integrity profile extensions for hard real-time and even safety critical applications in general and for automotive control applications in particular.
Another important topic will also be addressed: The new ISO JEFF(TM) standard. A highly efficient file format specified by J Consortium, JEFF provides a ready-to-execute format for object-oriented programs, and especially for Java programs.
J Consortium is an independent organization comprised of companies and individuals world-wide dedicated to accelerating the use of Java technologies in real-time and embedded applications. Members of the open forum seek to provide a vendor-neutral technical framework ensuring the ability for Java-based development of soft and hard real-time applications. From its seven founding companies, the organization has now grown to more than 150 members, with new members being added all the time. The working groups set up within the J Consortium build APIs addressing the particular needs of individual niche market segments.
3. What is your relationship to Sun’s “Community Process”? I may not have all the ins and outs of the story, but this is enough to show you the context of Page's remarks about how difficult it was to work with Sun, how controlling its process was, and how many felt it was all for Sun and nothing much for anybody else. HP still is not on the list of licensees, but I do see HP on Oracle's slide 9, companies who participate in the JCP. Things that make you go hmm.
Most of the group are not participants in Sun Microsystem’s “Formal Process”. We do not feel that Sun’s process is sufficiently open and vendor-neutral, but in fact creates an environment in which Sun Microsystems can potentially enforce positions that provide an advantage to their products. For example, one must sign a Non-Disclosure Agreement and a Java Specification Participation Agreement before one can participate in Sun’s “Community Process” or become a member of its “Expert” group. Moreover, we have concerns with respect to the potential surrendering of intellectual property rights, the possibility of being asked to agree to outside audits where we have no voice in the selection of auditor or definition of compliance, and the potential control by Sun of procedural rules governing the decision-making process. We do not feel this dominance is in keeping with a truly open process where products are allowed to compete on a “level playing field” where they are judged on their respective technical merits. By contrast, anyone may join and participate in our process, with free membership levels.
4. Don’t you feel that you are splintering the Java™ community?
No. Our organization was formed as an outgrowth of work done under NIST (National Institute of Standards and Technology) and NCITS (the National Committee for Information Technology Standards). It was only after participation in Sun’s “Formal Process” was predicated upon signing of “Participatory Licenses” from Sun that we determined it would be impossible to bring forth real-time extensions for the Java™ programming language that were truly independent and vendor neutral. We feel that Sun has left us, an open community that endeavors to represent the real-time requirements necessary to make the Java™ programming language successful in our particular market space, in favor of creating an organization that it can dominate. We have invited Sun to rejoin us, and hope that they will see fit to embrace an open, non-restrictive approach to providing embedded and real-time extensions for the Java™ programming language.
Update 4: It occurs to me that it might be good to link to an article I did early in 2011 about copyright law in the US, particularly in the Ninth Circuit. Note in particular
Apple v. Microsoft, which is linked to on that page and explained a bit, now that Google has mentioned it here. It should help you understand how complex it is to figure out if something is infringed or not, when it comes to software, as opposed to a book. And
here's Joe Mullin's coverage of the day for ars technica.
Update 5: We have the trial exhibits for this day,
- 0001.pdf [Powerpoint "Android GPS: Key strategic decisions around Open Source"]
- 0002.pdf [Email from Andy Rubin, "Fwd: GPS Notes (Android) 07.26.05"]
- 0006.pdf [Email from Andy Rubin, "Android GPS Notes", 9/6/05, with large attachments.]
- 0007.pdf [Email from Tracey Cole, "RE: Sun meeting." 10/11/05.]
- 0401.pdf [Email from Nick Sears, "Mobile Strategy Meeting Notes." 11/7/06.]
- 0450.pdf [Certificate of Registration, US Copyright Office, "Java Development Kit Version 1.0 alpha 2" Dec 24 1997]
- 0451.pdf [Certificate of Registration, US Copyright Office, "Java Development Kit Version 1.1.3" May 7 1998]
- 0452.pdf [Certificate of Registration, US Copyright Office, "Java 2 Standard Edition Version 1.3 (Microsoft Windows Edition)" Aug 03 2000]
- 0453.pdf [Certificate of Registration, US Copyright Office, "Java 2 Standard Edition Version 1.3 (Solaris for SPARC Edition)" Dec 14 2000]
- 0454.pdf [Certificate of Registration, US Copyright Office, "Java 2 Standard Edition Version 1.3 (Linux Edition)" Dec. 14 2000]
- 0455.pdf [Certificate of Registration, US Copyright Office, "Java 2 Standard Edition Version 1.3 (Solaris for Intel/x86 Edition)" Dec 14 2000]
- 0460.pdf [Certificate of Registration, US Copyright Office, "Java 2 Standard Edition Version 1.2 (Solaris for Intel/x86 Edition)" Mar 20 2001]
- 0461.pdf [Certificate of Registration, US Copyright Office, "Java 2 Standard Edition Version 1.2 (Linux Edition)" Mar 20 2001]
- 0462.pdf [Certificate of Registration, US Copyright Office, "Java 2 Standard Edition Version 1.2 (Solaris for SPARC Edition)" Mar 20 2001]
- 0463.pdf [Certificate of Registration, US Copyright Office, "Java 2 Standard Edition Version 1.2 (Microsoft Windows Edition)" Mar 20 2001]
- 0464.pdf[Certificate of Registration, US Copyright Office, "Java 2 Standard Edition Version 1.4" April 20 2005]
- 0475.pdf [Certificate of Registration, US Copyright Office, "Java 2 Standard Edition Version 5 0" Dec 20 2004]
- 0476.pdf [Certificate of Registration (Supplemental), US Copyright Office, "Java 2 Standard Edition Version 5 0" Feb 2 2005]
- 0509.pdf [Certificate of Registration, US Copyright Office, "Java Development Kit Version 1.2 beta 2" Mar 17 1998]
- 0510.pdf [Certificate of Registration, US Copyright Office, "The Java Language Specification" 11/22/96]
- 0511.pdf [Certificate of Registration (Supplemental), US Copyright Office, "The Java Language Specification" May 12 1998]
- 0513.pdf [Certificate of Registration, US Copyright Office, "Java Development Kit Version 1.0 alpha" Jun 23 1998]
- 0518.pdf [Certificate of Registration (Supplemental), US Copyright Office, "Java Development Kit Version 1.0 alpha 2" Feb 24 1999]
- 0520.pdf [Certificate of Registration (Supplemental), US Copyright Office, "Java Development Kit Version 1.0.2" May 12 1998]
- 0521.pdf [Certificate of Registration, US Copyright Office, "Java Development Kit Version 1.0.2" Dec 24 1997]
- 0523.pdf [Certificate of Registration (Supplemental), US Copyright Office, "Java Development Kit Version 1.1" May 7 1998]
- 0524.pdf [Certificate of Registration, US Copyright Office, "Java Development Kit Version 1.1" Dec 24 1997]
- 0526.pdf [Certificate of Registration (Supplemental), US Copyright Office, "Java Development Kit Version 1.2 beta 2" March 24 1999]
- 0595.pdf [Certificate of Registration, US Copyright Office, "The Java Virtual Machine Specification" Dec 16 1996]
- 0596.pdf [Certificate of Registration (Supplemental), US Copyright Office, "The Java Programming Language" Mar 20 1998]
- 0597.pdf [Certificate of Registration, US Copyright Office, "The Java Programming Language" 5/30/96]
- 0598.pdf [Certificate of Registration (Supplemental), US Copyright Office, "The Java Application Programming Interface, Volume 1: CORE PACKAGES" Mar 20 1998]
- 0599.pdf [Certificate of Registration, US Copyright Office, "The Java Application Programming Interface, Volume 1: CORE PACKAGES" 6/28/96]
- 0601.pdf [Certificate of Registration (Supplemental), US Copyright Office, "The Java Application Programming Interface, Volume 2: Window Toolkit and Applets" Mar 20 1998]
- 0602.pdf [Certificate of Registration, US Copyright Office, "The Java Application Programming Interface, Volume 2: Window Toolkit and Applets" 6/28/96]
- 0603.pdf [Certificate of Registration, US Copyright Office, "Java Development Kit Version 1.0" Jun 23 1998]
- 0659.pdf [Certificate of Registration, US Copyright Office, "Java Standard Edition 6" May 20 2008]
- 0984.pdf [The Java Language Specification, Third Edition]
- 1028.pdf [Chart "The Java Class Libraries"]
- 1041.pdf [Transcript of Larry Page's Deposition. (Excerpts)]
- 2347.pdf [Joint letter to Jonathan Schwartz from several JCP Members.]
- Revised demonstratives for Mark Reinhold PrintV2.pdf
Update 6: All the trial exhibits are now available as PDFs here. Some are also done as text. Look for the date nearest the day, as they are listed by the date they were entered, which could be a day or so after the date of their use in the courtroom.