Over the past six months I discovered that my prior understanding of Oracle vs. Google lawsuit was completely wrong.
Obviously, I wasn’t happy to find out that I was wrong for years, but this happens to me occasionally. Not a big deal. However, the realization of how much emotional and ideological baggage I had carried in conjunction with this lawsuit shocked me.
See, several years ago I left the semiconductors industry and became an Android developer. I made this transition in large part to be a member of an open and collaborative community. I thought that Google believes in openness and has the best interests of Android users in mind.
In some sense, to accept the truth about Oracle vs. Google lawsuit, I had to admit that I’ve been naive when I decided to become an Android developer. Not an easy thing to do.
Keep the following in mind if you decide to read this article.
I’m not a lawyer and don’t have any legal education. I don’t have any insider information about either Oracle or Google or court proceedings. Everything I write in this article is based on information that is publicly available on the internet.
I will try to do my best to summarize the situation as objectively as I can, but I’m already biased.
Accurate and detailed information is hard to find:
During the preliminary research for this post I read lots of material related to Oracle vs. Google lawsuit. I estimate the combined volume of all this material to be equal in length to 4-5 books. If it sounds like I’m exaggerating, then you’ll see that I’m not in a minute.
I find the absolute majority of the articles concerning this topic very inaccurate. Many of them predict that if Oracle wins this lawsuit, software armageddon will follow. By the end of this post you’ll understand why these articles aren’t reliable sources of information.
Even the more accurate sources like The Register did not go into the depths of legal matters at play. I guess it’s because the average reader isn’t interested in the intricacies of this lawsuit.
But I was.
Fortunately, I found Florian Mueller’s blog FOSS Patents.
Florian published his first post on this topic on August 13 2010, shortly after Oracle announced that it sued Google. This is my favorite paragraph from that post:
Some aspects of this are unclear, so I believe this is mostly the time to ask the right questions, and time will provide the answers, probably sooner rather than later.FOSS Patents
This kind of cautiousness pertains all Florian’s articles.
He waits for the information to become publicly available, analyzes it and then shares his analysis and predictions. In rare cases when he speculates based on a limited information, he makes sure to clearly state this and discusses multiple alternative outcomes.
Most importantly, Florian understands the law and knows how to explain it to someone like me.
In his latest post about this lawsuit from December 8 2017, Florian predicted that Google’s “fair use” win is “virtually certain to be overturned” by appeals court. More than three months later Oracle officially won the appeal. Unlike many others, I wasn’t surprised at all because by that time I had already been following Florian’s blog.
Florian wrote more than 100(!) full length articles over the course of seven years about this lawsuit specifically. I estimate that the combined length of these articles equals to 2-3 books.
I read all Florian’s posts about this lawsuit and, believe me, he did a truly amazing job.
FOSS Patents is by far the best source of information about Oracle vs. Google lawsuit that I found. Therefore, I’m going to rely heavily on Florian’s articles in this post.
Oracle vs Google lawsuit timeline:
Let me briefly summarize the history of this lawsuit for you. To do that, I’m going to cherry-pick from Florian’s posts the ones that seem most important to me.
Note that my approach makes the below summary partial and opinionated.
- Aug 13 2010 – Oracle sues Google, says Android infringes seven Java patents (plus unspecified copyrights)
- May 31 2012 – Judge says Google only used uncopyrightable elements of 37 Java APIs in Android
- May 9 2014 – Oracle wins Android-Java copyright appeal: API code copyrightable, new trial on fair use
- Oct 9 2014 – After successful Oracle appeal, Google asks Supreme Court to hear Android-Java copyright case
- Jan 12 2015 – Supreme Court wants U.S. government to weigh in on Google’s petition to hear Oracle’s Android-Java copyright case
- May 27 2015 – U.S. Dept. of Justice finds Google’s Supreme Court petition in Oracle case flawed, recommends denial
- Jun 29 2015 – Oracle v. Google Android-Java copyright case goes back to San Fran: Supreme Court denies Google petition
- May 26 2016 – Oracle v. Google: jury finds in favor of “fair use,” as no reasonable, properly-instructed jury could have
- Dec 8 2017 – Google’s Android-Java “fair use” trial win over Oracle is virtually certain to be overturned
- Mar 29 2018 – Happy as Larry: Why Oracle won the Google Java Android case [this article is from The Register because Florian decided not to cover this lawsuit anymore; I personally hope that he will change his mind]
So there you have it, a “short” summary of this multi-year lawsuit.
What’s next in Oracle vs Google lawsuit:
For all practical purposes the future of this lawsuit is much more interesting and important than its past history.
Unfortunately, Florian decided to stop writing about it. I haven’t found an equally deep and trustworthy alternative to his articles yet. Probably I will never find one. Therefore, I’m forced to put my “legal expert” hat on and try to analyze the situation and make predictions myself.
I very much hope that reading Florian’s articles taught me something, but I remind you that I don’t have any legal education whatsoever.
Google accepts Federal District ruling:
If Google accepts the latest ruling by Federal District then this case will go straight back to Northern District of California for another trial.
This third trial in Oracle vs. Google lawsuit will be all about determination of the appropriate compensation for damages. It’s probably impossible to predict the actual final compensation at this stage (if there will be any at all), but papers filed by Oracle in April 2016 already hinted about damages theory north of $10 billion.
In addition to monetary compensation, Oracle will probably seek one more remedy that I’ll discuss towards the end of the post.
Google petitions Supreme Court and petition rejected:
I find it very probable that Google will attempt to petition the Supreme Court again. Even if Supreme Court will reject this petition, Google will still benefit from delaying the damages trial. That’s a win-win situation for Google.
I asked Florian about the chances of this petition to succeed and this is what he replied:
When Florian says “now it’s very much for real” he refers to the chances of Google to convince the Supreme Court to just hear this case, not overturn the latest decision.
However, if Supreme Court will reject this petition, the next stage of this lawsuit will be the aforementioned damages trial.
Supreme Court agrees to hear the case and Oracle wins:
If Supreme Court will agree to hear the case, I believe that Florian would estimate that chances will be in Oracle’s favor. He already stated that Google’s ‘fair use’ defense against Oracle is an insult to human intelligence: Android’s use of Java APIs violates copyright.
In the past, Florian’s opinions proved to be very accurate predictors of judges opinions in appeal courts.
If Oracle indeed prevails in Supreme Court, that will be the last word in copyright and fair use questions. The case will then go back to Northern District of California for damages trial.
Supreme Court agrees to hear the case and Google wins:
To the best of my understanding, if Supreme Court hears this case, it can overturn either of the two Federal District’s decisions in this lawsuit. Java APIs can be deemed uncopyrightable, or Google’s use of Java APIs can be found to satisfy the “fair use” criteria.
Any of these decisions will allow Google to get away with what it did as far as copyright is concerned.
Obviously, this is the best outcome for Google. It’s also the outcome that I thought to be the best for the industry in general in the past.
The shocking truth about Oracle vs. Google lawsuit:
Let me assure you that I didn’t try to come up with the most “click bite” title for this post. I just wanted the title to describe what I felt during and after my research.
Shock. I was shocked.
Turned out I absorbed a huge amount of misinformation and prejudices in respect to this lawsuit. I was naive and believed to the most inaccurate and incomplete sources. Worst of all, I allowed my opinion to be manipulated by what seems to be carefully crafted PR campaigns.
In the next sections I will discuss findings that shocked me the most during my research in the past six months.
The “judge who codes” knows better:
I don’t like lawyers.
Not personally of course. I myself have several friends who are lawyers. However, there is something deep inside me that makes me very skeptical about this profession in general.
Interestingly, I don’t have similar predisposition towards judges. Go figure.
It is probably the combination of the above two factors that turned me into a big fan of Judge William H. Alsup of the northern district of California. Also know as the judge who codes.
I mean, how could a software developer not be a fan of a judge who puts a lawyer in his place like THAT:
I have done, and still do, a significant amount of programming in other languages. I’ve written blocks of code like rangeCheck a hundred times before. I could do it, you could do it. The idea that someone would copy that when they could do it themselves just as fast, it was an accident. There’s no way you could say that was speeding them along to the marketplace. You’re one of the best lawyers in America, how could you even make that kind of argument?Judge William H. Alsup
Judge Alsup is a long time amateur programmer. He learned Java to understand this lawsuit better and he ain’t gonna take nonsense from those silly lawyers!
And you know what else? His middle name is Haskell (like Haskell programming language)!
In short, judge Alsup is a very admirable person. And, apparently, not a very good judge.
By now, US Court of Appeals for the Federal Circuit overturned two decisions in the same lawsuit that came out of his courtroom.
Florian respectfully disagreed with judge Alsup’s opinions for quite some time, but he gradually grew to criticize his professionalism. During the second trial, Florian clearly explained why he thinks judge Alsup is unfair. That’s a very strong and bold statement to make. However, it dwarfs next to another Florian’s post that stated that the biggest problem for the Oracle v. Google retrial is Judge Alsup’s reality distortion field.
It was painful to even imagine that the judge I admired was consistently wrong in respect to this huge lawsuit. However, I had to accept this shocking truth because at some point it became evident that even Florian understands the copyright law better than judge Alsup.
The consequences of Google’s win for the industry:
For a very long time I was convinced that if Oracle wins this case the sky will fall. I thought that the mere fact that APIs will be deemed copyrightable will make it easy for big companies to intimidate smaller players with copyright threats.
What I never thought about is what’s going to happen if Google wins. I just assumed that things will get back to normal, whatever this “normal” used to be.
Thanks to Florian’s coverage of this lawsuit, I discovered that APIs have been copyrightable long before Oracle decided to sue Google. Furthermore, despite the apocalyptic predictions about the “end of software as we know it”, it looks like software industry leaders are on Oracle’s side.
After reading Florian’s analysis I started to believe that deeming several thousands lines of highly expressive and original code non-copyrightable might pose a problem to the industry.
Florian said this in context of his prediction that Supreme Court will reject Google’s first petition:
The only way the Supreme Court could help Google here would be by creating a black hole that would absorb almost all software copyright protection, including all (no exception there) object code protection. Since the Supreme Court won’t create a black hole, and since there’s no basis for an interoperability exception to copyrightability in U.S. law, what good would a Supreme Court review do other than delay resolution of this case, which would come in handy for Google but not be in the public interest?FOSS Patents
I don’t understand the entire potential impact of “a black hole that would absorb almost all software copyright protection”, but it doesn’t sound like anything good. If we assume that there is a reason for copyright protection to exist, Google’s win in this lawsuit would undermine it and the entire industry built on top of it.
It was shocking to read that Google attempts to rewrite industry rules and effectively remove copyright protection from almost all software.
Google knew Android’s use of Java is illegal:
For years I believed that Oracle attacked Google for no reason and Google fights a just fight on behalf of the entire software industry. Specifically, open-source community.
The reality hit me in the face after I read Florian’s summary of the huge amount of evidence for Google’s willful-infringement of Sun’s copyright.
The question of whether the infringement was indeed willful will be decided in the courtroom, not on the internet. However, I just can’t see how anyone could read the aforementioned post and still believe that Google isn’t guilty.
Florian separated the evidence into five groups:
- Google Knew Sun Claimed Copyright in the Java API Packages.
- Google Knew Throughout That it Needed a License to Use the Copyrighted Materials.
- Google Knowingly and Willfully Infringed Because of its Profit Motive and To Secure Its Dominance in the Mobile Search Market.
- Google Knowingly and Willfully Infringed Because It Had No Viable Technical Alternative.
- Google Attempted to Conceal its Use of the Copyrighted Materials for as Long as Possible.
I strongly recommend to read the aforementioned Florian’s article and see the evidence by yourself. It’s really insightful.
To me it looks like the situation evolved in the following manner:
- Executives and technical leaders at Google knew that Android absolutely needs Java to succeed.
- Google negotiated Java license with Sun.
- Sun was willing to license Java, but Google didn’t like Sun’s terms.
- Google hijacked Java even though they knew it’s illegal.
I was really shocked to find out that Google knew they infringe Sun’s copyright, but still decided to built the entire Android ecosystem on top of Java.
Oracle vs. Google lawsuit is not about money:
The most interesting question in respect to apparently willful copyright infringement by Google is what did Sun ask for during license negotiations that was unacceptable for Google?
Money is the wrong answer.
Sun indeed wanted licensing fee for Java in the range $30 – $100 millions a year, but that wasn’t the issue. Google ex-CEO Eric Schmidt testified in court that Google was prepared to pay Sun for Java license. His explanation for why license negotiations failed was: “at the highest level, the core issue had to do with control”.
Google wanted to use Sun’s IP and take advantage of the existing ecosystem, but also keep Android closed and under their exclusive control. This was true back then, but it is even more true today.
Oracle vs. Google lawsuit is not just about money. Potential compensation in many billions is not even the heart of this lawsuit. It is about Google’s aggressive desire to keep Android under its exclusive control at all costs.
Undoubtedly, Oracle will be very happy to get billions of dollars from Google for copyright infringement. However, the main remedy that Oracle seeks in this lawsuit is injunction.
Back in 2011 Oracle already stated that it wants an injunction, unless Google brings Android into full compliance with the Java standard. I’m not sure that seven years later this specific proposal is still on the table, but I believe that Oracle will still push for injunction if damages trial will take place.
OpenJDK in Android doesn’t resolve the issue:
Google replaced their own implementation of Java APIs with Oracle’s OpenJDK in Android Nougat.
Since OpenJDK distributed under GPL + Classpath Exception license, I thought that Google got Oracle off their back with this move. After all, they use Oracle’s Java now!
There are also opposite opinions.
Bradley M. Kuhn, who is a renown open-source activist, speculated that introduction of OpenJDK into Android was purely technical decision that is not related to the ongoing lawsuit:
I specifically didn’t mention the lawsuit above because I don’t actually think this whole situation has much to do with the lawsuitBradley M. Kuhn
With all due respect to Mr. Kuhn, Google disagrees. In this court filing Google’s attorneys claim that introduction of OpenJDK does make a difference.
Accordingly, and only to the extent that Oracle continues to accuse the new versions of Android released on December 24, 2015 in Oracle’s own damages study, then any damages claim associated with the new versions expressly licensed by Oracle under OpenJDK would require a separate analysis of damages from earlier releases, which are not expressly licensed by Oracle under OpenJDK.GOOGLE’S STATEMENT RE DAMAGES PERIOD
Luckily, Florian weighted in on this subject as well.
Already on April 26 2012, long before OpenJDK appeared in Android, he explained that open-sourcing of Java and API copyrightability are entirely unrelated issues. In respect to classpath exception he stated:
Even the Classpath Exception, which was designed to ensure that other software could link to a GPL-based implementation of the Java APIs, couldn’t solve Android’s licensing problem. Android doesn’t “link this library [GNU Classpath] with independent modules to produce an executable”. Android incorporates the structure, sequence and organization of the asserted API packages, which Google then redistributes as a new API.FOSS Patentts
After OpenJDK actually made it into Android, Florian wrote a very detailed post discussing whether Google switching to open-source license for Java APIs in Android will limit Oracle’s case to past damages. His conclusion was that if Oracle indeed scores an injunction, there is a chance that switching to OpenJDK won’t help Google.
However, since there is a chance that OpenJDK will limit the scope of potential compensation and injunction to pre-Nougat versions of Android, it’s still a good tactical move on Google part. Even just a need for another trial will benefit Google a lot.
I think that introduction of OpenJDK into Android is also interesting outside of legal context. In my previous post I speculated that Google adopted Kotlin programming language for Android development due to the ongoing legal battle with Oracle. Turns out that wasn’t the first time Google invested a considerable technical effort and took risks in conjunction with this lawsuit.
When I started my research of Oracle vs. Google lawsuit I didn’t expect to find much new information. I had already been following this lawsuit for several years and thought that I generally understood it.
Turned out I was completely wrong.
The final word in this lawsuit is for court to say, not me or any other internet resource. However, personally, I was shocked to find out that Google knowingly built the entire Android ecosystem on apparently illegal foundation.
In the next post I will share my troubling thoughts about the approaches Google might use to mitigate potential damages associated with Oracle vs. Google lawsuit.
As always, please leave your comments and questions below.