Today was opening statements finishing up in the Oracle v. Google trial, day 2 of phase 2, the patent claims. Then came witnesses called by Oracle, beginning with Tim Lindholm. When this is over, he will have developed a full-blown allergy to litigation, methinks. Also to email retention. Following Lindholm, Oracle called Andy Rubin again, then Robert Vandette and Noel Poore, Oracle employees. We had a new reporter for Groklaw there today. She was using paper and pen, so we await her transcribed report, but in the meantime, Caleb Garling of Wired has a good run-down of the day's highlights.
Jump To Comments
Update 2, Update 3
Here's a snip from Garling's article:
After the opening arguments, Oracle called Googler Tim Lindholm back to the stand. As was discussed during the copyright phase, Lindholm sent a 2010 e-mail to the head of the Android project, Andy Rubin, saying he believed Google needed a license to use Java. But before Lindholm testified, Alsup told Oracle that the e-mail could not be mentioned, as it was not relevant to the patent phase — though he said that Oracle could reference other e-mails Lindholm received and sent. Hello World speed tests.
Oracle’s Jacobs called Lindholm a Java virtual machine expert, pointing to the Java Virtual Machine Specifications that Lindholm co-authored and his 17 patents received as a Sun employee as evidence that he was well-versed in the technology underpinning Java. Lindholm testified that Andy Rubin had “absolutely not” asked him to investigate whether Android infringed on Oracle patents.
Oracle also called Robert Vandette and Noel Poore — two other Java virtual machine gurus that work for Oracle but were not paid as witnesses — to testify about performance tests they ran on the Android operating system. Vandette said that when you remove the patented Oracle technology in the Froyo version of the operating system, benchmark performance drops to 9.4 percent of the performance of the OS that does use the technology.
Google countered Vandette’s testimony by saying he wasn’t looking at application performance specifically, and it countered Poore’s testimony by saying that he’d done his tests with an application that generated nothing more than a “Hello World” world message — a common but basic programming exercise.
If that doesn't beat all. I guess you'd call that a mini-sprint. More like jumping up and down in place for a second.
Did you know you can't write Hello World in Java without Java APIs or some equivalent, like Project Harmony's APIs? So, although Oracle's position is that anyone can use the Java language without permission, if you want to actually write anything you do need the APIs, at least some of them, which is why Oracle's position that it can copyright APIs and make us pay to use them makes no sense to me, when I hold it next to the Oracle claim that anyone can use the Java language.
Logic is sometimes the first to go, when you walk in to a courtroom, I've observed, and that is more true about tech cases than any other kind, I think. No. Wait. Patent trials seem to fly free from any logic ties, now that I think of it, and here we are. A double bull's eye. I can't read about patents, software patents, without my Alice in Wonderland inner voice saying, Wait. They let somebody patent *that*? That's stupid. While the Red Queen is yelling, Off with their heads!
Don't go by me. I hate software patents. I'll tell you that up front. I tried to retire from Groklaw so I'd never have to cover a trial about them ever as long as I lived. But then Oracle invented the concept of suing over the sequence, selection and arrangement of APIs, a list of names, how they are arranged, no less. And that woke me up with a jolt from my lovely dream of a life free of stupid lawsuits.
So here I am, reading about speed tests using Hello World. I thought I'd earned my way to heaven, so to speak, by writing about SCO nonsense for nearly a decade. Who knew the same law firm would come up with API SSOs and speed tests of Hello World?
Would you like to see Hello World? All right. Me either, but here's a link to show you how incredibly short it is. It's the tiny little lines at the bottom. Any line that begins with a * isn't code, just comments about the code. The comments are about three times as long as the code. That's the speed test. It's like having a race with my horse and your horse to see which one is the fastest, and they run for one second.
[Update: Thinking about it, I realized it's even worse. It's like you hand me some hay and my horse eats it, and after the "race" shows my horse is the fastest, you say my horse is fast *because* it ate your hay. So you sue me. I mean, what about all the other possible explanations? Oh, and in the copyright phase, you claim that my horse is now a derivative work because it ate your hay. So you hire people to tell the media I owe you $6 billion for stealing your hay.]
That's not as stupid as the SCO Group, via its law firm, the very same Boies Schiller & Flexner, declaring the GPL was unConstitutional. I thought I'd die from laughter when they tried that theory.
tried it briefly.
I'm older now, and grumpier, having been awakened from my pleasant reverie of a patent-free life, and so my reaction to a speed test of Hello World is not laughter. My lip is curled. That's true. And I'm certainly mumbling to myself. But that's not the same thing.
I'll post our reporter's notes as soon as I have them. You can also follow along with some incredibly bored journalists
on Twitter, if you wish. Patent lawyers love this stuff. So they're having a delightful time, I suppose. The rest of us think we fell into Kafka's The Trial, the original German title for which is The Process, which is what the US gives patents on. What are these people thinking?
That's what Wikipedia says, anyway. Normally, I'd tell you to check it to be sure. But we're in Patentland now. So do as you please. Nobody cares what we think or know.
Did you know Oracle used to say it opposed software patents? Yup. Here's Jerry Baker, then VP at Oracle, testifying before Congress about software patents in 1994:
As we proceed through
these hearings let us always keep sight of the U.S. Constitutional mandate for the patent system, to promote the progress of science
and useful arts. I cannot find any evidence that patents for
software will tend to achieve this purpose. Indeed, every indication is to the contrary.... Words to live by. Words to live by. Not any more. Now Oracle wants to be paid for two software patents. I told you. Check your logic at the door. Ethics optional.
Software varies from manufacturing in another key aspect. The engineering and mechanical invention which patent protection was
devised are often characterized by large building block inventions that can revolutionize a given mechanical process.
Software seldom includes substantial leaps in technology, but
rather consists of adept combinations of several ideas. A complex program may contain numerous established concepts and algorithms as well as a multitude of innovative ideas. Whether a
software program is a good one does not generally depend as much
on the newness of each specific technique, but instead depends on
how well these are incorporated into the unique combination of
known algorithms and methods. Patents simply should not protect
such a technology....
The U.S. software industry has evolved to a multibillion dollar
industry that leads the world in productivity and accounts for a
substantial portion of the U.S. GDP. The software industry has
advanced the efficiency of other industries through the proliferation of computing and computer-controlled processes. All of
these gains have come prior to the application of the patent process to software, and consequently without patent protection for
software. Software companies succeed because they continue to
be innovative in bringing new and better products to the market,
and these very market forces will continue to drive the software
industry without patenting of software....
Oracle has recommended that patent protection be eliminated for
computer software and computer software algorithms because
software patents are failing to achieve the Constitutional mandate of promoting innovation and indeed are having a chilling effect on innovative activity in our industry and because software
is fundamentally different from manufactured products and these
differences justify different treatment under the law.
I know. You don't have to yell. IP is Most Holy and all that.
SCO taught us all about that kind of holiness, did it not?
Would you like to know how holy and wonderful Oracle's patents are? Here, from Garling's description:
The two remaining patents — U.S. Patents 6,061,520 and RE38,104, aka ’520 and ’104 — are related to the underpinnings of the Java virtual machine, a piece of software that runs applications written in the Java programming language.... Holy of Holies, indeed. A method for resoving data references in generated code. Oooh. What genius came up with that??? I know. Oracle.
As the two sides battle over patent ’104 — which describes a “method and apparatus for resolving data references in generated code” — the arguments will revolve around the term “symbolic reference” and how this applies to software compilation, the process of turning programming code into executable software. A “symbolic reference” tags data with a name rather than its numeric memory location, and the two are then dynamically resolved. Google will argue that it does not use symbolic references, Jacobs said, but Oracle will argue otherwise. “The evidence is the source code,” he said.
The ’520 patent describes a “method and system for performing static initialization.” Basically, this is a way of consolidating classes of files, allowing virtual machines to execute less code than they otherwise would. Here the key term is “simulated execution.” Oracle claims Google uses simulated execution with Dalvik, while Google says it doesn’t simulate — it merely parses files.
Nah. I think it bought it.
Like I say, don't go by me. I believe all software is algorithms and that's all there is to them. Algorithms are mathematics, and you're not supposed to be able to patent math. But they do anyway. I told you. We're in Patentland, where up is down and you can be as mean and petty and silly as you please, and lawyers will get all huffy and indignant about some poor soul who stepped on your precioussss.
Ka-Ching! And there you are in the trap, upside down with your foot in a noose, wondering what you stepped on, and there's the mighty Michael Jacobs asking you questions in a court of law.
Then they pick your pockets. It's a nightmare, I tell you. A nightmare. And for sure, I'm not kidding.
And we didn't even get to the fun part, where paid experts tell us how much said patents are worth. Back when Oracle had more patents to use in this case, before the USPTO took a good look at them, there were endless arguments about valuations. This article Mark Webbink wrote will give you a taste, back when they were trying to figure out the right way to figure the math. Poor Mark. He has to actually read and analyze this stuff. Lawyers have all the fun, don't they? As Judge William Alsup says in one filing on that page, the reader may wonder how a judge would let such things as one equation Oracle's expert, Dr. Iain Cockburn, came up with go to a jury:
The reader may well reel in disbelief at this equation and wonder how the judge could let it be presented to the jury. While it is sui generis [unique] and will not be found in the textbooks, the equation is merely an arithmetical statement of the components previously allowed, such as the assumption that the 2006 value of the copyrights in suit would have been half the 2006 value of the six patents in suit. The jury may well raise a skeptical brow over the seemingly convoluted testimony but that is not the test for Daubert.
Verily and forsooth, my lord.
I actually pulled together a list of all the zigs and zags Mr. Cockburn's expert reports went through. I say reports because it took him three tries to get it right, and even then part of the third one was struck by the judge. Gives you a warm feeling, eh? Here, for historians, then:
COCKBURN: Look like science to you? More like we are stuck in purgatory for some sin we can't figure out but must pay for by having to read all this stuff.
Most of expert Cockburn's report was deep sixed by the judge (note this was on his 3rd try, as the first two tries were not accepted):
Some reasons why: http://www.groklaw.net/pdf3/OraGoogle-681.pdf
The transcript of the hearing on July 21, 2011 on it:
Tentative Order striking portions of Cockburn's report:
Google motion in limine #3:
Order on Google's Motion in Limine #3 (670):
Oracle wanted a 3rd try:
Judge said Cockburn could try again, conditionally:
He did a third, and Google filed another motion
to strike portions of it:
Judge's proposed order:
Order granting in part, denying in part:
Google Motion to Strike:
Oracle statement re #785:
Order re adjustments to Cockburn's report:
Like I say, to me software and patents need to get a divorce, but sadly that can't happen in time for me to escape writing about Oracle's. And my list isn't even complete. Lots of exhibits left out. So go to our list of Oracle v. Google filed documents in the case, and feel free to supplement.
Joking. What? Not having fun?
I wish *they* were joking. Anyway, if Mr. Cockburn shows up on the witness stand, in phase 3, you'll at least know what his report's been through. And us with it, as we have to read every last blessed word. Donald Knuth, called the "father" of the analysis of algorithms, stated: "Basically I remain convinced that the patent policy most fair and most suitable for the world will regard mathematical ideas (such as algorithms) to be not subject to proprietary patent rights." To refresh our palates, then, let's end this with the immortal words of Dr. Donald Knuth:
"I am told that the courts are trying to make a distinction between mathematical algorithms and nonmathematical algorithms.
To a computer scientist, this makes no sense, because every algorithm is as mathematical as anything could be." He was testifying before Congress too. Not that Congress listens to real experts.
~ Donald Knuth
Update 2: Bryan Bishop at The Verge has his take on the day, including quite a lot of detail about the patents, if you are free to read up on them. He even has slides. He notes that the jury is not being informed that the '104 patent has been found preliminarily to be invalid by the PTO [PDF]. So many things the poor jury isn't told, it's positively miraculous they get things right to the degree they do. Here's one more detail:
The consensus had been that this phase of the trial wouldn't be nearly as dramatic as the copyright portion had been — Van Nest even told the jury to not expect any "celebrity executives" — but the intensity in the courtroom unmistakably rose when Oracle called Android head Andy Rubin back to the stand. He was questioned only briefly before testimony ended for the day, as Oracle tried to establish that Google executives were aware that Sun had patents in play, and that Mountain View had never bothered to investigate them in proper detail. Rubin proved to have the same elusive recall when it came to internal Google documents that he's had throughout the trial, but he's scheduled to be back on the stand tomorrow morning at 7:45am PDT. Mark taught me something about patents that relate to this. Oracle keeps implying that Google had an affirmative duty to dig into things and find out if Sun had patents they might infringe. It turns out the law requires no such
obligation unless you are directly copying something (reverse
engineering it and you know, because of patent marking, that the device
is covered by patents). So this is, I guess, another smoke and mirrors moment, whereby the Oracle team tries to imply that somehow Google neglected its obligations. But it didn't.
There is actually even more going on regarding the '104 patent. The parties have filed a stipulation which the judge has signed and made an order [PDF], and Oracle's side goes like this:
In turn, Oracle conditionally stipulates for purposes of Phase 3 that Oracle and Sun did not mark the practicing products with the ’104 patent during the relevant time period. So there you have it. This patent isn't Oracle's road to riches, as far as damages are concerned, as Mark explained in this article, even if Oracle can prove infringement.
Update 3: Our reporter, Mary Hodder, has now filed her report:
Phase II, 4/8/12
Before the Jury Enters:
Oracle added these exhibits:
77, 79, 81, 82, 83, 85
93, 286, 663, 2746, 2749, 2756, 2775
2776, 89, 90, 91, 82, 94, 87, 388, 662
Google agreed to add these exhibits,
in exchange not to have Oracle call Eric Schmidt for Phase II.
Google added these into evidence:
2460, 2462, 2464, 2929, 2955, 2956, 3469, 2072
Google had a disagreement with Mr. Jacobs' (Oracle) slide from his opening the day before:
that slide of the 104 patent said in version 1:
"patent office approved" which it was, 3 times, but currently the PTO says it's in the process of being rejected
so then when asked, Oracle changed the slide to:
Google thinks that Oracle shouldn't be able to say the patent "was approved three times" when Google can't say the patent was rejected the 4th time.
The judge said that since validity was not an issue for trial, this was quibbling, and he heard them, but then moved on.
Before the jury was brought in the judge mentioned a blog that noted the "mashing of teeth" but corrected it to the "gnashing of teeth" which is a Biblical reference.
Judge Instructions to Jury:
With the jury present, the judge mentioned patent 520, claim 1, which has 5 limitations in the patent. In order to find infringement, there must be 5 of 5 violations by Google of the patent or "accused method."
Google's opening statement for Phase II:
There will be no celebrity witnesses, just engineers to talk about the "Dalvik virtual machine" and whether this violates the one limitation in question.
Google concedes 4 of 5 and so the fight is over 1 of the limitations.
#20 is asserted with the 1st limitation in play or "dependent."
#18 is independent.
The main arguments Google asserts are:
1. The patent in question was never about smartphones. The patent in question was about Sun desktops and was not about Virtual Machines.
2. Android doesn't use patent stuff or virtual machines, and was developed between 2005-08.
3. This Android work is different than the Sun patent work.
4. There is no evidence that Google engineers were aware of '104 or '520.
5. Oracle didnt' complain until July 2010 -- 2 years after Android came out.
6. After Ellison failed to enter then smartphone marketplace, then Oracle went after Android.
7. Google made fundamentally different decisions developing Android.
8. Google independently developed Android.
9. Android uses "virtual machine," specifically the Dalvik VM.
10. Code making up Dalvik created between 2006 and 2007.
11. Java virtual machine was developed by Sun/Oracle.
12. Android == Android virtual machine.
13. Per an Oracle engineer: "Android is not based on the Java ME."
14. Oracle engineer and experts concede that source code works differently in Jave ME and Android ME.
15. Code is developed and compiled and used in these ways:
Source code -> Compiler -> Object Code -> OS
Virtual machines allow for this:
Source code -> Compiler -> bytecode
Virtual Machines were created in the 1960s so that bytecode could be used virtually.
Android does it this way (with their own compiler):
Source code -> compiler -> bytecode -> DX tool turns bytecode into Dalvik executable
Note: The Java Language Compiler is free.
Then Dexopt sends apps to the Android phone -> puts into memory
Dexcode -> app
-> Dalvik VM runs apps
16. He then used an example where four characteristics could be used to create "limitations" for a patent on a soccer ball:
And he compared this to a football, where the football is not spherical and therefore cannot violate a soccer ball patent because it's not meeting the 4th limitation.
All elements must be present. Patent '104 requires things like "the way instructions work in the program."
17. The '104 patent requires a "symbolic reference" -- a reference that identifies an item.
Symbolic Ref || Numeric Ref|
White House || 1600 Penn Ave.|
The '104 patent talks about converting a symbolic reference to a numeric reference. This is a requirement.
Android doesn't use a symbolic reference. Dalvik doesn't use symbolic references.
The instructions in Dalvik work like this:
1-> 1 -> 02 -> 02 -> 03 -> 03
There is no symbolic reference. Instead there are numeric references. Symbolic references are also *not* in the instructions.
An index is a numeric reference to a number in an ID table. Android engineering choose numeric references because they thought it would work better.
The '104 patent requires that references have to be resolved "dynamically" not "statistically" and we'll hear about this later.
18. The '520 patent is dated April 7, 1998 and requires arrays which are used 1/10th of 1% of the time in Android.
The data is arranged where an array is put through a compiler to create another array, and '520 deals with the way to initialize this.
520 requires "... simulating execution of a CL unit....."
But Android doesn't use a stack; instead it uses pattern matching.
The '520 patent is limited to an "array" issue, where Android uses pattern matching.
Google summed up saying:
END of Google's Opening Statement
- Google made fundamentally different design choices
- Google indpendently developed Android
- Google didn't use Sun technology to develop Android
Update 4: We have the trial exhibits entered Tuesday,
Update 5: 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.