Search This Blog

Thursday, May 10, 2012

Google's Waterloo? US Patent 6,061,520

Richard Stallman
There have been a lot of tech articles (see this) regarding the Google/Oracle battle over Java and I have covered it here recently.  So far Oracle is ahead - the jury deciding Google infringed Oracle's patents but deadlock on whether it was "fair use" or not.  Not exactly a win, but moving ahead.

Recent events from yesterday, though, seem, at least to me, to point at more serious trouble ahead for Google.

At issue is whether or not Google "stole" Java by making an exact (infringing) copy of it.

The key Google issue with Java for Android would be to create a Java environment that would work with existing Java code.  Otherwise what's the point?  If you create a Java-like environment and then everyone has to change all their Java code somehow it use it you may as well create a new, different environment.

It seems pretty obvious that Google wanted to tap into the existing code-base of Java apps so they opted to go with a straight, standard Java.

Hence the copying of the Java interfaces.  I can see why a jury might deadlock on this.

More interesting (and a tip of the hat to Oracle's lawyers) is the details of yesterday - in particular the '520 patent (US Patent 6,061,520).

Now Oracle took pains to interview Andy Rubin about whether or not his team looked at Sun's (now Oracle's) patent portfolio while developing the Dalvik Java for Android.  Repeatedly Rubin said no and, at one point, Rubin said "I personally am not responsible for legal reviews of the Android system."

As a geek I have to believe that Rubin would be well aware of patent issues with software - especially software that was targeted to millions or billions of users over the course of a decade.

Next up, though, was the '520 patent.  Now I have written here a great deal about what nonsense most of these patents are - basically rehashing past discoveries and then claiming new ownership (see my post "Googling for Motorola" from a while back).

But '520 is a bit different.

It addresses something you'd normally find out after something like Java was in the field for a while.  Basically it involves noticing that when loading a class you would be repeatedly executing code that would create some static initializations associated with the class, say zeroing out memory, initializing a table, things like that (at least his is my reading of the claims).

This would be, in large Java implementations, something that would stand out.

The '520 patent develops an optimization for this by basically "play" executing the initialization code to see what it would do to memory and then replacing the execution steps to initialize the memory with a copy of the pre-initialized memory.  This makes the start-up time for a class shorter where there are involved static initializations.

So the question now is does the Google Dalvik violate '520, i.e., does it contain a implementation of this specialized initialization code.

If it does, and since this code is not part of the public API's and is also patent protected, Google may have a serious problem on their hands.

Let's go back to Rubin for a moment.

As long as I can remember software patents were a serious part of the business - the earliest known software patent and some detailed history is here.

Subsequently there was a dramatic effort by the GNU folks and Richard Stallman to create a "free unix" (see this).  Now UNIX in its earliest form was a product of Bell Laboratories and covered by license and copyright.

Stallman set out to create a free version and, though he decried software patents, was careful to ensure that all the GNU work was done so as not to violate any copyright or patent claims.  One would think that work like Stallman's would be both legendary to someone like Rubin as well as a clear marker for how to go about something like Google was attempting.  (Later Linux would subsume much of Stallman's efforts.)

Google, in their arrogance I suppose, figured that clearing these sorts of technical hurdles was not important.   Clearly it was not important to Rubin.  (I have to believe that most people in his position would not have said "that wasn't my job".  Long before I became interested in blogging this sort of thing (Stallman, GNU, Linux, etc.) was common knowledge in the industry - as was Stallman's efforts to remain clear of all lawsuits and patent claims.

But again we see Google's culture getting in the way: "we know best" seems to be the motto - regardless of actual facts or ownership.

I have to believe that this cultural nature is in part one based on academia and related to the various posts and links I have created showing that the modern educational system is failing us.

Not properly referencing the "prior art" really does seem to fit in with "US Scientific Medical Studies: a 1 in 20 Accuracy Rate." 

Why worry about the past when you can simply create you own future?

This arrogance has been and will continue to be Google' Achille's Heel (hmmm, the Google spell checker doesn't know that word Achille's).

I predict that if Oracle can show Google's Dalvik contains an infringing implementation of '520 or any of the other patents I listed in my post above they will win and win big.  There's no way for Google to explain away how those implementations would be present save of simply stealing Sun now Oracle's code.

No comments:

Post a Comment