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
Your contributions keep Groklaw going.
To donate to Groklaw 2.0:

Groklaw Gear

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

Contact PJ

Click here to email PJ. You won't find me on Facebook Donate Paypal

User Functions



Don't have an account yet? Sign up as a New User

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.

Day 2 of Patent Phase in Oracle v. Google Trial -- The Most Holy Patents ~pj -Updated 5Xs
Tuesday, May 08 2012 @ 08:25 PM EDT

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 1, Update 2, Update 3
Update 4, Update 5]

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.

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.

Hello World speed tests.

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!

Sigh. Ellison Wonderland.

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.

Briefly.... They 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....

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.

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.

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

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.

Holy of Holies, indeed. A method for resoving data references in generated code. Oooh. What genius came up with that??? I know. Oracle.

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:


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:

The transcript of the hearing on July 21, 2011 on it:

Tentative Order striking portions of Cockburn's report:

Google response:
Oracle's response:

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:

Oracle response:

He did a third, and Google filed another motion to strike portions of it:

Judge's proposed order:

Oracle response:



Order granting in part, denying in part:

Google Motion to Strike:

Oracle statement re #785:

Order re adjustments to Cockburn's report:

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.

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."
~ Donald Knuth

He was testifying before Congress too. Not that Congress listens to real experts.

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, 310, 426, 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:
"thoroughly examined".

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

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.

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:

1. leather
2. smooth
3. stitched
4. spherical
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:

  • Google made fundamentally different design choices
  • Google indpendently developed Android
  • Google didn't use Sun technology to develop Android
END of Google's Opening Statement

Update 4: We have the trial exhibits entered Tuesday, 2012-05-10:

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.


Day 2 of Patent Phase in Oracle v. Google Trial -- The Most Holy Patents ~pj -Updated 5Xs | 360 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Corrections Please
Authored by: Tufty on Tuesday, May 08 2012 @ 08:31 PM EDT

Linux powered squirrel.

[ Reply to This | # ]

Off Topic
Authored by: Tufty on Tuesday, May 08 2012 @ 08:31 PM EDT
and off tropic

Linux powered squirrel.

[ Reply to This | # ]

News Picks
Authored by: Tufty on Tuesday, May 08 2012 @ 08:32 PM EDT
Read all abaaaaarrrt it

Linux powered squirrel.

[ Reply to This | # ]

Comes Documents
Authored by: Tufty on Tuesday, May 08 2012 @ 08:32 PM EDT
Pretty Please

Linux powered squirrel.

[ Reply to This | # ]

Tweets from the court room
Authored by: feldegast on Tuesday, May 08 2012 @ 08:40 PM EDT!/Feldegast

- --
My posts are ©2004-2012 and released under the Creative Commons License Attribution-Noncommercial 2.0
P.J. has permission for commercial use.

[ Reply to This | # ]

Day 2, Patent Phase, Oracle v. Google Trial -- The Most Holy Patents ~pj
Authored by: Anonymous on Tuesday, May 08 2012 @ 08:42 PM EDT
Let alone the fact that using a speed test to prove patent
infringement is as absurd as saying that any fast car
violates the patent on my engine because it goes fast,
darnit, and I want money.


[ Reply to This | # ]

Ellison in Wonderland
Authored by: BJ on Tuesday, May 08 2012 @ 08:45 PM EDT


[ Reply to This | # ]

Oracle used to oppose software patents...
Authored by: Crocodile_Dundee on Tuesday, May 08 2012 @ 08:46 PM EDT
I think many software companies do.

Until they stop innovating.

That's not a law suit. *THIS* is a law suit!

[ Reply to This | # ]

Check your logic at the door. Ethics optional.
Authored by: Anonymous on Tuesday, May 08 2012 @ 08:48 PM EDT
Ethics has never ever been part of any consideration when dealing with Oracle in
any setting. A courtroom is no exception.

[ Reply to This | # ]

Patent ’104 — a “method and apparatus for resolving data references"
Authored by: Gringo_ on Tuesday, May 08 2012 @ 09:04 PM EDT

I have an idea. Google has said they are not going to prove the patent is invalid. Instead, they are going to prove they don't infringe. Google says their algorithm is different. Oracle says it is they same as their precious.

Now suppose Google takes the track that it can't be the same as Oracle's code, because Google used a common, well known algorithm, while Oracle contends their code is unique.

Suppose Google has really good evidence demonstrating their algorithm is well known. This puts Oracle in a serious bind. After that, they sure don't want people thinking Google's well known algorithm is the same as Oracle's. Sound like a plan?

[ Reply to This | # ]

Day 2, Patent Phase, Oracle v. Google Trial -- The Most Holy Patents ~pj
Authored by: Anonymous on Tuesday, May 08 2012 @ 09:20 PM EDT
PJ, I love you and Groklaw, and I think you've earned your
own place in the open-source Parnassus not once, but
(there's always a "but" in those kind of sentences, isn't
there) I think you've stepped out of your line here. While I
do agree wholeheartedly with all your points here, this is
not something I'd personally say to a wider audience - as
this is too emotional, not substantial, not fact-focused,
not professional enough. And not being professional leads us
straight to the abysses of vulgar florianmuellerness - so
please, please, don't go this way.

Your faithful reader.

PS. And yeah, I know that this comment is the epitome of
everything I advise against - but heck, I'm just an
anonymous commenter.

[ Reply to This | # ]

Symbolic References
Authored by: BitOBear on Tuesday, May 08 2012 @ 09:25 PM EDT
I avoid reading software patents, as all programmers find they must for the same
reason, to prevent some patent from retarding my advancement of the useful art
of programming by making me liable for willful infringement.

That said, every dynamic linker on the planet going well back into the
prehistory of computers (e.g. the seventies) uses "symbolic
references" to do its linking, at runtime no less. Static linkers do their
linking at compile time, also using symbolic references.

Is this some sort of new low? "symbolic reference" is even a basic
term of art in computer science. It's like patenting the phrase "turbulent
flow" with respect to fluid dynamics.

[ Reply to This | # ]

I keep thinking about unbreakable linux
Authored by: mossc on Tuesday, May 08 2012 @ 09:50 PM EDT
I am fixated on the fact that Oracle distributed GNU Classpath BEFORE acquiring SUN.

I don't know about the two patents in question but they certainly did they exact same thing the they now are suing Google over as far as the APIs.

Did they think they were violating SUNs intellectual property at the time?

If not how can they claim Google is now?

What damages could SUN have claimed? Can SUN ex-shareholders now sue Oracle for those damages? Chuck

[ Reply to This | # ]

The Most Holy Patents
Authored by: grouch on Tuesday, May 08 2012 @ 10:29 PM EDT

I once made a tremendous increase in the speed of one of my most gnarly bash scripts by re-writing part of it in C. (It was already fast enough, but I just wanted to see if I could do it). Fair warning: As soon as my patent comes through, a bunch of you freeloading coders are gonna owe me beellions! If I get the right patent attorney, every program written in C and operating faster than its bash equivalent should produce handsome royalties.

Can someone please pinpoint for me when the Cult of Imaginary Property became a major, world-wide religion? Oh, for the days when you could actually stub your toe on an invention!

Maybe I should change my name to Rip van Winkle (if it's safe to do so without getting sued).

-- grouch

GNU/Linux obeys you.

[ Reply to This | # ]

  • Dymaxion - Authored by: Anonymous on Wednesday, May 09 2012 @ 04:43 AM EDT
    • Dymaxion - Authored by: Anonymous on Wednesday, May 09 2012 @ 10:41 AM EDT
  • The Most Holy Patents - Authored by: Anonymous on Wednesday, May 09 2012 @ 09:12 PM EDT
How to use Hello World for a Java speed test
Authored by: bugstomper on Tuesday, May 08 2012 @ 10:29 PM EDT
In the spirit of PJ's article I am putting ethics and rationality aside to specifically not post this in the Off Topics thread. I Googled around for a more appropriate Hello World in Java example that one could use if one really did want to run Hello World for a performance test. I found this one as an entry in an Obfuscated Hello World Speed Challenge, on a site that I can't link to because the domain name violates the Groklaw comment guidelines. If you really are interested in finding it, Google is your friend.

I find it quite appropriate that this speed hog of a Hello World, even though written in the WORA language of Java, will only run under Windows.

This code contains what appear to be gratuitous 250msec delays, but they are there to enhance the user experience by letting you watch as the program goes through its steps. Besides, if you use this to test the efficacy of the '104 patent, wouldn't it be impressive to discover that the patented technology can speed up a 250 msec pause by 9.4%?

Without further ado, I present Hello World, in Java:

import java.awt.Robot;
import java.awt.event.KeyEvent;

public class HelloWorld {

 public static void main(String[] args) {
   Robot r = null;

   try {
     r = new Robot();
   } catch(Exception e) {






















































[ Reply to This | # ]

My thoughts are with the jurors
Authored by: Anonymous on Tuesday, May 08 2012 @ 11:10 PM EDT
PJ, I do understand you. There is only so much a reflective and honorable human
being can bear.

But Groklawians go through this, because they have a choice (we could choose to
ignore this pile of ...). The jurors presumably sit through all of this, because
they have a sense of civic duty. Their long deliberation on fair use showed that
they take their job seriously. Because they are jurors they lack the knowledge
to see through this charade at once.

Instead of sitting in court, they could tend to their children, take a nap or
have a walk. But they will have to take Java 101 in 60 minutes in the closing
statement in order to understand that one party has played their tricks on them.

I am really angry. And I am not even a citizen of the US.

[ Reply to This | # ]

Software isn't math... it's even more basic.
Authored by: Anonymous on Tuesday, May 08 2012 @ 11:19 PM EDT
It's input.

Software is the x in f(x). The processor is the f.

A computer is a very, very complicated mathematical function
(specifically, boolean algebra - a processor is logic gates
and a clock, nothing more). Software is the input to the
function that is the processor.

I would hope any judge who saw a patent case over the use of
a specific number (say, Pi/6) in a common function (say,
tangent(x)) would laugh and laugh and dismiss it in a

That's what patenting software is. You're patenting a
specific arrangement of switches. Not the switches
themselves. Not the physical electronics that manipulate
those switches to a useful end. Just the pattern.

This is like if someone found a car, discovered turning the
wheel while putting the stick in reverse and pressing down
the gas could make it turn, and then filed for a patent on
doing that.

Of course, the functions of a car are commonly understood,
and the various permutations of the inputs.

Finally, I refer to the structured program theorem, which
states that all algorithms can be reduced to a combination
of elementary combinations of existing functions. Recursive
application of the theorem breaks all algorithmic tasks down
to elementary functions.

I believe that this theorem means no software program can be
novel, because every programmer knows, at some level, that
the program exists. Not only do they know it exists, they
know how to find it (that is, a program for any possible
algorithm can be developed using standard processes to break
it down to a combination of existing programs, in a way that
is non-novel).

Then, the only possible room for novelty in software is to
add functionality that isn't already there. But this means
adding a new function at the most basic level, which is
processor operations... which requires modifying the
physical hardware of the processor, at which point we're no
longer talking software.

[ Reply to This | # ]

  • au contraire - Authored by: Anonymous on Tuesday, May 08 2012 @ 11:55 PM EDT
Still no arguments against software patents per se
Authored by: Anonymous on Tuesday, May 08 2012 @ 11:25 PM EDT
Have I missed a case where this happened? Is there some legal reason this isn't
being argued? God knows Google has had plenty of opportunities to argue this.
Could someone ask Mr. Van Nest, perhaps after the trial is over, why he isn't
making this argument? I've never seen any lawyer comment on why this never seems
to have been done. Is it not worthy of a real lawyer's consideration? Everyone
seems to be making this argument but the lawyers. Maybe Mark can tell us why.

[ Reply to This | # ]

Symbolic references is an obsfucation
Authored by: Anonymous on Tuesday, May 08 2012 @ 11:32 PM EDT
Processors can only process binary addresses in memory. They
are physically incapable of doing anything else, as they
have no circuits for it. At some point, the symbolic
reference is converted to a numeric reference. The only
decision is when to do it. As such, I don't see how Oracle
could have argued for non-obviousness (If I have three
colored blocks in some order, a three year old could come up
with the idea of rearranging them!)

Source code is no evidence of when a name is converted to a
numeric reference. You'd have to look at the compiler being
used. Two different compilers could easily produce two
different programs for the same source.

[ Reply to This | # ]

I've just read patent '104 and I feel sick
Authored by: Anonymous on Wednesday, May 09 2012 @ 12:48 AM EDT
Dynamic references have been resolved in the manner "disclosed" in
this patent since the dawn of time. Almost every serious LISP system that uses
slots and every Scheme system that uses lexical scoping resolves symbolic
references into numeric references in this way.

The symbols are retained in the parse tree or in the tokenized module or in the
symbol table (depending on implementation) so that the symbolic references can
be revisited for reflection or when constructing new functions, because code is
data in languages of the LISP family. But at runtime the symbolic references
are typically optimized out either on first demand-loading of the function
containing the symbol or on first execution of the symbol lookup call.

Without that, interpreted access to any non-global variable would be dirt slow
just like in the original BASIC, which is why only toy languages interpret
symbolic references from scratch on every single access. This isn't novel.
This is NORMAL AND OBVIOUS in the field of language implementation to anyone
skilled in the art and indeed to any reasonable student, and it has been so for
many decades.

People who implement language interpreters aren't stupid, and they didn't stop
optimizing their 1960's code until Sun came along and "showed them
how" in a totally obvious patent. I'm sure that this is true of thousands
of languages, not only those derived from LISP.

Patent '104 is an "invention" in the same sense that the gardener
leaving his shovel stuck in the dirt while he goes for a quick coffee is an
"invention", instead of first putting it back in the shed. Words fail

[ Reply to This | # ]

Symmantics of legalese
Authored by: Anonymous on Wednesday, May 09 2012 @ 12:49 AM EDT
...Oracle claims Google uses simulated execution with Dalvik, while Google says it doesn’t simulate — it merely parses files.
With the way things get renamed for no apparent reason (other than to create new buzz words/obfuscate meaning/sound more impressive than it really is [eg a disposal operative == garbage collector]), it wouldn't surprise me to learn that to Oracle the words "Simulate execution" means the same as "Parse" to everyone else.

[ Reply to This | # ]

Day 2, Patent Phase, Oracle v. Google Trial -- The Most Holy Patents ~pj
Authored by: hairbear on Wednesday, May 09 2012 @ 02:16 AM EDT
PJ ... getting a little worked up. Calm down and relax. Watch the world go by.
Have a nice cup of <insert your favourite relaxing drink>. Mine is
Chamomile tea with a very small dash of Lime. Works wonders.


[ Reply to This | # ]

Shrivelled tags
Authored by: Ian Al on Wednesday, May 09 2012 @ 02:58 AM EDT
It had to happen. My scorn, sarcasm and irony tags are all shrivelled due to the
massive demands of this trial.

The two patents deal with initialising arrays and creating a jump table for
(method calls? I am not really sure) during the development phase of compiling
Java programs and converting them to run on Dalvik. Oracle explains in their
opening comments that the two programs, dx and dexopt, are added to the bottom
of the Sun JDK and do the jump table and the initialisation.

The expert engineers claimed to have removed 'the patented Oracle technology in
the Froyo version of the [Android] operating system'.

If the initialising of arrays and the creation of jump tables were removed from
Dalvik, it would not run at all. If the two accused programs were removed from
the JDK development platform, then the 'Hello World' could not be made to run on

If the *same* 'Hello World' Android program was used before and after the
removal of 'the patented Oracle technology in the Froyo version of the [Android]
operating system' then both the before and after tests have used the accused dx
and dexopt programs and the difference in performance cannot be related to the
two patented inventions.

It is not clear that the 'Hello World' program requires initialisation of
arrays. Strings in Java are, I'm assured, immutable and no string array needs

The generation of jump table is a requirement for both the JVM and for Dalvik.
The patented invention does it by simulating the running of the program on the
JVM and Android does it by parsing the program for [function calls?] and
creating the table that way.

Without the jump table, the program will not run. It is not possible to remove
the simulation of the JVM from Android in any way.

All of which poses the question of what technology was removed from Android for
the before and after tests. A pretrial Google motion explains this. The two
engineers compiled the Dalvik VM both with and without JIT and then ran the

OK, just imagine my scorn, sarcasm and irony. /scorn, /sarcasm, /irony.

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

[ Reply to This | # ]

Hello World
Authored by: janolder on Wednesday, May 09 2012 @ 04:27 AM EDT
To be fair, a simple "hello world" program can be a useful tool for
measuring some aspects of a VM. Java is particularly awful in terms of startup
time and any simple program like this would be a viable metric for that.

A couple years back I wrote a Java-based CLI for accessing an application
server. The time it took to launch and then do very little was so long I was
forced to implement a Python version which then ran circles around the Java

Don't get me wrong, Java is a wonderful development environment - especially on
Eclipse - and its portability is a valuable asset. Java has drawbacks for sure,
the language spec could use a face lift and its GUIs are even more dated. But on
the whole it is still a very useful tool. Whether it will remain that way under
Oracle is a different story.

I have not read any of the patents in suit nor will I ever so your mileage will

[ Reply to This | # ]

If I were Google, with a - now spare - $6 billion to spend, I would...
Authored by: Anonymous on Wednesday, May 09 2012 @ 04:56 AM EDT
Invest it all in building an enterprise grade database and
application server, with almost full compatibility (to the
extent allowed by law) with Oracle's, and with extenstive
tools to port data and applications from Oracle to the new
DB / app server.

And then release it for free / GPL, with complete
documentation, big fanfare, advertising across the entirety
of Google's ad network and sites, support contracts for 1/10
of Oracle's subscription costs, and a featured advert on
the home page of

$6 billion would be a worthwhile investment to put that
company completely and finally out of business, they are a
scourge on both open and closed source development, and they
produce shoddy software.

[ Reply to This | # ]

Why is the OIN not relevant here?
Authored by: Anonymous on Wednesday, May 09 2012 @ 05:30 AM EDT
Why is the Open Invention Network (OIN) not relevant here?
Both Oracle and Google are members. "openjdk" is one protected package
as it is part of the "Linux Environment Component" list.

And each licensee grants each other any patents for use that touch these

1.2 Subject to Section 2.2 and in consideration for the license granted in
Section 1.1, You, on behalf of yourself and your Affiliates, (a) grant to each
Licensee and its Subsidiaries that are Subsidiaries as of the Eligibility Date a
royalty-free, worldwide, nonexclusive, non-transferable license under Your
Patents for making, having made, using, importing, and Distributing any Linux

If the patents are part of the openjdk, they should have been granted to Linux,
should they not? Or is it because they don't use openjdk but recreate a
different component?

Excuse if this has been discussed, if yes I must have missed it.

[ Reply to This | # ]

Closed Source software companies should be forced to open their codebase for public scrutiny.
Authored by: Anonymous on Wednesday, May 09 2012 @ 06:06 AM EDT
The Playing field is not level between open and closed
source software companys, the situation is actually anti-

I am sure that there are some key closed source players that
are benefiting from opensource code with their closed source
products. They should be forced to open thier source codes
to public scrutiny and auditing for infringements. A
prerequisite to receiving copyright or patent protection
must be to open up the code of the applicant for public
scrutiny and auditing.

IMO a closed source software company with a large patent
portfolio and broad product line is far stronger of a
monopoly than an equivalent opensource company, simply
because the opensource companys code can be publically
audited for infringements of anykind; not so with the closed
source company, they are not auditable for infringements,
which is a huge slant in the playing field.

One might actually ask the closed source players the
question: What are they hiding?

[ Reply to This | # ]

"Sun had patents in play"--says more than the truth
Authored by: Anonymous on Wednesday, May 09 2012 @ 06:48 AM EDT
Sun Microsystems had patents, yes. Jonathan Schwartz explained how the other Big Players tried to get Sun to knuckle under and pay royalties. Sun's response was to show that the other Big Players themselves were just as guilty, and how unwise it would be to pursue the claims any further.

Sun had patents, but they weren't "in play."

[ Reply to This | # ]

How to avoid 520 patent going forward
Authored by: Anonymous on Wednesday, May 09 2012 @ 07:57 AM EDT
One interesting point about the 520 patent is it is all practiced in the
compiler really. So Google could code around it by just releasing an update to
the compiler to generate the array's a completely different way. The great
thing is no change needs to be done to the android devices that have shipped or
will be shipped in the future. Android/Dalvik code remain exactly the same. As
long as developers stop practicing the patent in the compiler.

The output generated by practicing their patent before (past android apps) may
be an issue but I am not a patent lawyer that would know this really. Anyone
know what happens to goods/services produced using a device that violates a
patent? If I copy a patented saw design and someone else cuts down a tree do
they own the tree's profits now or am I just liable for the saw?

This should all be pointless anyway because hopefully the Jury will find that
they don't practice the patent right now anyway which is Google's defense. But
it does highlight how stupid the whole thing is.


[ Reply to This | # ]

Day 2, Patent Phase, Oracle v. Google Trial -- The Most Holy Patents ~pj -Updated 2Xs
Authored by: Anonymous on Wednesday, May 09 2012 @ 09:20 AM EDT
uh... like the Google Apps Engine
( they started
building years ago (out of beta this year)?

Fortunately they've covered their bases here and support not
only Java but also Go and Python ;-)

[ Reply to This | # ]

Hello World speed test
Authored by: Anonymous on Wednesday, May 09 2012 @ 09:45 AM EDT
Before ridiculing things you don't quite understand and
buying into only one side's account, did you ever stop and
think why would smart people run a speed test on Hello

Well, such tests are commonly done precisely because the
program does so (seemingly) little. They're usually done to
measure startup time. When a Java virtual machine starts,
there's a lot that needs to be done before executing user
code. That's actually true for any environment. It affects
the delay you perceive from the time you click the
application icon to the time anything "happens". This is
very important and has a significant effect on how slow or
fast users perceive your system to be. If users had to wait
3 seconds before their app starts on Android, it wouldn't
matter how fast it runs afterwords. They would still
consider the system to be slow.

And while it seems that you find this whole API issue so
ridiculously obvious, keep this in mind: to write a Hello
World program you do need a console IO API, but it doesn't
have to be "System.out.println". Case in point, for GUI
applications (with textboxes and menus and checkboxes etc.)
the Java ecosystem has several different APIs, none of them
compatible with the other in the least. And Android's GUI
APIs aren't compatible with any such API that came before
them - made by Oracle or any other third party, for either
desktop or mobile phone. So for the user interface Google
used a brand new, incompatible API. But for some other
things, they've claimed that they simply had to use Oracle's
API. Now, why is that? (I'm saying this from a Java
developer's perspective, and have no opinion on API

[ Reply to This | # ]

'104 a decoy?
Authored by: pem on Wednesday, May 09 2012 @ 10:25 AM EDT
If, for some silly reason (e.g. liking Michael Jacobs) the jury feels obligated to give Oracle something for their troubles, and decides that something will be '104, surely Google will have no trouble posting the appeal bond and then dragging their heels until the action at the patent office is over...

[ Reply to This | # ]

Horse analogy
Authored by: Anonymous on Wednesday, May 09 2012 @ 11:55 AM EDT
Google's horse didn't eat Oracle's
straw before the race, it ate straw
that was selected and organized the
same way that Oracle feeds its
horse with.

--Jpvlsmv, not logged in

[ Reply to This | # ]

  • Horse analogy - Authored by: Anonymous on Friday, May 11 2012 @ 05:09 PM EDT
Buying and selling
Authored by: The Cornishman on Wednesday, May 09 2012 @ 02:21 PM EDT
PJ wrote: Nah. I think [Oracle] bought it.

The Constitution explicitly says that patents are granted to promote the
progress of technology. Once the patent is granted, in exchange for the full
disclosure of the invention, that purpose is served. Why, oh why is a patent
grant a transferable item, a commodity? Inventors should exploit their monopoly
by practising the invention, or by licensing it to others. The nation states
that grant patents are suffering from the trade in those grants more than they
are benefiting from the disclosures. If I had the reins of power for a short
time, I'd make patents non-transferable, preferably with retrospective effect.
If I was feeling just a little more radical, I'd forbid their corporate
ownership. People invent things, not companies.

(c) assigned to PJ

[ Reply to This | # ]

Day 2, Patent Phase, Oracle v. Google Trial -- The Most Holy Patents ~pj -Updated 2Xs
Authored by: Anonymous on Wednesday, May 09 2012 @ 06:23 PM EDT
Just reading tweets from the courtroom.Tomorrow oracle will be
filling their mistrial motion. You can almost see Jacobs
smiling that Oracle now agrees with google,judge A please
order a mistrial before ruling on copyrightability of APIs.

[ Reply to This | # ]

Reporter Thank you thread
Authored by: celtic_hackr on Friday, May 11 2012 @ 04:16 PM EDT
I just wanted to thank our reporter Mary for the awesome court report.
Absolutely the most detailed report I've seen on Google. Well worth the wait.

Chuck full of useful information. Google doesn't infringe the patent because
they use a completely different model than Java. No wonder it's faster. They use
pattern matching. An AI approach with a logarithmic O vs an array which has a
geometric O.
Log N(O) vs O^N

Unless Java is using a B-Tree or something of like kind against the array. Or
one would hope. Although, I haven't heard any mention of it, and this is one
patent I can't look at. Can't risk infecting myself with such a silly thing. I
use techniques like this. Have not had the need to scale to heuristic approaches
as Google did with Android here. Totally SOA, as I would expect from Google.

If this is all true, Oracle has no prayer of proving infringement, at least to
anyone ordinarily skilled in the art. Perhaps Oracle doesn't have anyone left,
ordinarily skilled in the art.

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