Judge Orders Oracle and Google To Talk, Again
Reader Fluffeh snips from and links to Ars Technica with the latest chapter in the ongoing Google vs. Oracle fight involving patents, Java, and Android, writing that executives at both companies were "'ordered to hold one last round of settlement talks no later than April 9th, with the trial over Google's alleged use of Java technology in Android set to begin April 16,' though '[t]he last-ditch effort to avoid a trial seems unlikely to succeed. ... Oracle initially accused Google of violating seven patents, but has since dropped most of them. This is due to the U.S. Patent and Trademark Office ruling the patents described technology that was not patentable. Two patents assigned to the Oracle-owned Sun Microsystems remain: #6,061,520 which covers "an improvement over conventional systems for initializing static arrays by reducing the amount of code executed by the virtual machine to statically initialize an array," and #RE38,104 which covers a type of compiler and interpreter."
By skimming #6,061,520 it seems to me that google could go free from that one just by calling the static initializers something else than - I don't know if they already do that. But it somehow seems oddly specific that the patent explicitly says "clinit method(s)" instead of just saying static class constructors or something like that - like it's only targeting java without never mentioning java in the claims.
This is due to the U.S. Patent and Trademark Office ruling the patents described technology that was not patentable.
Then why did they have the patents in the first place? This just shows how big of a load of bullshit software patents are. Do they at least get their money back for the patents that are supposedly not patentable? I'd be pissed if I paid $25,000 and then the assholes tell me my patent is invalid.
It seems that IT news is dominated by A litigating against B (lawyers get rich.) C takes on D in a bunch of jurisdictions and has products pulled from shelves (lawyers get rich and consumer choice suffers a hiccup.) Much of the litigation is driven by US tech firms. As a European, I realise our legal systems are less than perfect, but I'd like to understand more about the motivation (beyond $$ alone,) for such active lawyering. Maybe it's all about $$...but isn't everyone getting bored with this?
As it is, patents have a fantastic ROI. How much has Apple profited by keeping Samsung off the market with Apple's "rounded corners" patent?
Patents allow you to turn $50K into $50 million. Where else can you get an ROI like that? Maybe lobbying.
It spite of Microsoft's smear campaign about Google, I don't think anybody is calling Google a patent scam aggressor.
Listen, PAL. Timothy has a JOURNALISM DEGREE. He is VERY smart. You shouldn't bother the resident genius with such pedantic trolling, for the rest of his content is superb.
Oh, wait...
At first, I assumed that this was about some complex algorithm like finding the greatest common subsets in a large set of static values or something similarly esoteric, but nope, it's trivial:
The preloader identifies all <clinit> methods and play executes these methods to determine the static initialization performed by them. The preloader then creates an expression indicating the static initialization performed by the <clinit> method and stores this expression in the .mclass file, replacing the <clinit> method. As such, the code of the <clinit> method, containing many instructions, is replaced by a single expression instructing the virtual machine to perform static initialization, thus saving a significant amount of memory. The virtual machine is modified to recognize this expression and perform the appropriate static initialization of an array.
It's so trivial that you don't even need to read the body of the patent to completely understand it! I can even boil it down to just three words: compile-time memoization,
Not only that, but this is hardly a concept unique to Java, there's even a Wiki article for it! Maybe Oracle should sue the inventors of the D Language, and the C++ committees too while they're at it, because if you use template meta-programming to initialise a static variable, then you've infringed -- or close enough anyway to be sued into bankruptcy.
The reason few (if any) compilers used static initializer memoization before 1998 is because most of the commonly used general-purpose languages with a concept of "static" weren't safe back then, so the compiler couldn't execute small arbitrary chunks of code without risking a crash or strange side-effects. The only reason Java could introduce this feature is because of a convenient side-effect of compiling a safe language -- not because someone had invented either compile-time evaluation, memoization, or the combination of the two. That, and nobody had over-used static values sufficiently while simultaneously caring enough about startup performance to bother implementing such a complex feature given the marginal performance advantage. You could probably demonstrate prior art by just pointing out that most compilers evaluate constant expressions at compile time, so "static int foo = 5 + 5" is basically the same thing as what the patent is claiming.
How did "of the people, by the people, for the people" turn into "of the inept, by the litigious, for the corrupt"?
"an improvement over conventional systems for initializing static arrays by reducing the amount of code executed by the virtual machine to statically initialize an array,"
What the hell? How is this one patent-worthy? so wait, refactoring is patented?
Make no mistake, there's no flirting going on here ;-)
Write boring code, not shiny code!