The two-year-long legal battle between Google and Oracle began its final confrontation today in San Francisco district court. At stake in the eight-week showdown? The future of the Java programming language and Android, the world's most popular smartphone operating system. That's not all.
This epic contest may also affect the fundamental notions of computer software and what a computing language is. In a move that makes things much more difficult for Oracle's case, District judge William Alsup has tasked Google and Oracle to take a position on whether computing programming languages are copyrightable. The final answer could reverberate across the entire technology landscape.
How We Got Here
When Google bought Android in 2005, it envisioned bringing its search engine and advertising solutions to mobile devices everywhere. The more people that use the Internet, the better for Google's bottom line. The search giant has built a sprawling empire (complete with feudal kingdoms) out of Android, all built upon the open source technologies Linux and Java. Google provides aspects of Android as an open source platform to equipment manufacturers, app developers and wireless carriers. And the platform runs on nearly half of all smartphones across the globe.
Java was started by Sun Microsystems in 1995. Google chose to use Java for Android over other programming languages because it is easy to write and ubiquitous. In January 2010, Oracle completed its acquisition of Sun for $7.38 billion. It has had its eyes on Google's use of Android ever since. In July 2010, Oracle approached Google about "patent infringements" of the search giant's use of Java in Android. The lawsuit that is now reaching its final stages was filed on August 12, 2010.
was Google. Oracle originally sued Google asking for damages between $1.4 billion and $6.1 billion on seven patent infringements and several issues of copyright. That number has come down drastically in the nearly two years of litigation with courts ordering the two companies into settlement negotiations twice. Both times talks broke down, setting up the court case that started today.It is fair to say that Oracle figured it could take all the intellectual property it acquired from Sun and use it to make money through litigating companies that supposedly infringe on Java patents. The biggest target, of course,
Oracle is now seeking $1 billion in copyright damages.
What's the Issue?
This case has not gone well for Oracle. Only two of the seven patents in the suit are still applicable and its damage claims were said to "overreach." Now, instead of Oracle's stated goal of bringing all Android development into the fold of the official Java platform, the issue boils down to copyright.
This is where it gets interesting.
Judge Alsup ordered Oracle and Google to, "take a firm yes or no position whether computer programming languages are copyrightable." See the order below:
Alsup turned the issue into a very simple matter with that order. This is not specifically about Oracle's Java APIs, tools or frameworks. It has been boiled down to a computer language. A computer language that Sun had released to the open source community well before it was acquired by Oracle. Google once had talks with Sun about licensing Java but decided that it could get away with not doing so.
The common consensus among developers is that Java, as a language, cannot be copyrighted. ReadWriteWeb's former Web master, Jared Smith, said it best:
"It's akin to copyrighting English."
The idea of copyrighting the English alphabet would be a joke. Yet plenty of works created with the English language are copyrighted everyday. If I write a book, I own the copyright to my work as soon as my words hit the word processor. If an Android developer writes an app in C/C++ (from which Java derives its syntax), and it is original, the copyright belongs to that developer.
Oracle is also taking issue with the idea that some of the Android code might be a direct copy and paste of Java and its implementations. But many experienced developers are wondering how Android's use of Java is different from how Microsoft introduced C#, its Java-based language used for much of Windows development. Sun sued Microsoft in 1997 over Microsoft's use of "compatible with Java" after Microsoft essentially forked Java for C#. Microsoft paid Sun $20 million and the two sides agreed that Microsoft could use a version of Java in its products for the next seven years. Microsoft still uses C# and it is the primary programming language for apps made on Windows Phone.
When Microsoft created C#, it looked very similar to Sun's version of Java. Yet, more than a decade later, the C# environment is its own distinct platform that many developers find extremely easy to use. For its case, Google may have used some of Java's specific code but much of the implementation is different.
The Burden of Proof: Oracle's Weakening Case
Oracle is going to have a tough time with Java going forward whether or not it wins this case. It is essentially trying to put copyright limitations on a language that has been open source for many years. The FOSS (free and open source software) community is not going to like what Oracle is doing. Especially if an Oracle win sets a precedent that sets off an avalanche of similar litigation.
Java was created with the basic intention of letting developers use one language to write applications that would run anywhere. It is one of the basics of Web development and has been forked to suit developers' needs several times in its history.
The idea of copyrighting Java is antithetical to the idea of Java. This comes to the central notion of the case. Oracle wants to argue that specific uses of Java in Android are an infringement of its patents acquired from Sun Microsystems. Google is going to argue that, as a language that fundamentally operates computers processes, Java is an abstract language that cannot be copyrighted.
With his decree, Judge Alsup made this case more about what a computer language is rather than the specific use of Java in Android. The burden of proof is then on Oracle and it will have to fight an uphill battle.
Does that mean Oracle will lose? Not necessarily. Many things can happen during a two-month court case. Oracle's job did get a lot harder though.
If you are a developer, what are you putting your money on, Google or Oracle? How much does the fact that Android is the dominant worldwide smartphones operating system weigh in Google's favor? Let us know your thoughts in the comments.
Top image courtesy of Shutterstock