Can Dr. Mitchell's testimony in Google vs. Oracle finally be used to drive the stake through the heart of software patents?
Here's the situation in a nutshell. We have a disagreement between several experts on two points, dynamic vs. static function, and symbolic vs. non-symbolic reference. The patents say dynamic and symbolic, and Dr. August claims Dalvik's dexopt is doing the thing the patent claims neither dynamically nor symbolically. (If they are right, neither does Java, which means that the Sun patent could well be on something never actually implemented, one of the common travesties of the way software patents are currently done.)
Dr. Mitchell, for Oracle, claims that Google's experts are perverting the meaning of both dynamic and symbolic.
But an awful lot of software engineers agree with Dr. August's analysis, and his use of both terms.
For my part, I have heard computer scientists (generally of the type that don't write low-level code) use dynamic and symbolic in the sense that Dr. Mitchell uses it.
But, again, for my part, if we have to use the semantics that Dr. Mitchell is using, I cannot understand how the patent could have been granted, how these claims could have survived the review. If the patent is interpreted that way, there is absolutely nothing new (novel), original, clever, or in any way, shape, or form, patent-worthy in the claims.
Which makes me think that Oracle's lawyers must have been arguing in the patent office something quite different from what they are arguing in court here.
The difference is an interesting topic, and I will blog about it elsewhere sometime, but the point we have here is that software, like all math, is abstract. Abstract means that there is more than one way to interpret any program or software function, whether written in a high-level restricted dialect of English (as most software patents are done) or in real source code that can be compiled and run on real machines.
Even a real program, instantiated and running on a real system, is still subject to interpretation. Change the icons, and much of the sub-function of a traffic control system looks like sub-functions of a factory control system.
There's a danger when you mix abstract with law. That's why the US Constitution doesn't guarantee freedom or privacy or just about any of the democratic ideals specifically. Even when it talks about family welfare, it does not try to define that, leaving the implementation to the individual states, where there is a better chance of making meaningful laws.
When you bring abstract stuff into the courtroom, lawyers can pretty much twist it whatever way suits them, and you have to rely on the judge being unusually (even for judges) sharp, fair, just, knowledgeable, etc., to protect people from predatory legal practice. The Founders knew that. That's the real reason for the Constitutional injunction against all the former trappings of royalty and royalism. (False royalism, but bringing that up will just confuse things here.)
Well, patents are actually one of the few terms they couldn't quite get rid of. But the Constitution specifies limited time. It also specifies another limit that tends to get washed over quite regularly, these days -- there is no provision for giving people rights to things they didn't create or invent.
(I'd prefer that the sale of copyrights or patents should be illegal, but I'm not prepared to argue that here.)
But it is very clear that a patent should not be expanded in the court of a lawsuit beyond what the patent office recognized as patented. That's happening all the time, these (especially with non-practicing entities "owning" patents), and it's what is happening here. Oracle is trying to use their patents, which they bought from Sun, to exercise control over something no one at either Oracle or Sun ever invented, something that actually predates both companies.
The abstract nature of software makes it particularly susceptible to this kind of expansion.
Okay, I just said the same thing I said above, but it seems it has to be emphasized and said in many ways, before people get the idea.
And this is why software patents are not appropriate. It's far and away too easy for unscrupulous or misguided lawyers to expand the scope of the patent way beyond what it should be.