What everyone hopes will be the climax in a 10-year long battle between Oracle and Google starts this week as the Supreme Court hears the matter of Oracle versus Google over Java copyrights.
You might have heard from people on both sides of the matter exclaiming how the outcome will determine how all future software is written as well as how all current software is "owned." There is a good chance you're basically confused and just wish the whole thing would disappear so more interesting news can dominate the tech media again (not that there's a shortage of tech news right now).
Some speculate that the reason Oracle purchased Java from Sun Microsystems was so it could sue for licensing fees.
If so, you're not alone. Seeing two companies worth billions (and in Google's case, close to trillions) fighting over who gets even more billions can be tiring and most times is confusing by design. This case is no different. And the worst news is that no matter the verdict handed down, it still may not be over; lawyers are really good at finding new billable items.
All this aside, the case is pretty important and could have a big impact on all software and the companies that develop it because at its heart it is still about whether or not a result can be copyrighted even if the method used to achieve it isn't.
Google's point of view, as well as mostly every tech company not named Oracle, is that nothing was done incorrectly and that granting the type of copyright injunction Oracle wants would put severe restrictions on building software that can work with other software. Oracle claims that Google should not be able to engineer code that can use existing Java functions or interfaces in order to be compliant with its version of Java, even if the Java Google "wrote" is very different from Oracle's version.
I think the best way to explain what's going on is to look at how a little company called Oracle did this very same thing to IBM in 1979 and made billions of dollars from doing it.
In the mid-1970s, IBM began working on what is now known as SQL (Structured Query Language), a database query language that's easy to use as much as using any database query syntax goes. You don't need much formal computer science education to use SQL and because of this, it's still extremely popular more than 40 years later. It just works.
In 2020 Oracle still has no license to use SQL, and it should never need one.
Because this idea was so unique, IBM researchers did a great job of documenting the language and how it works. Oracle, then known as SDL, rightfully wanted in on such a product so it approached IBM to get even more details about the project to make sure any commercial software it developed worked 100% with this new query syntax. Long story short, IBM decided that some of the information needed to be confidential and Oracle was unable to get the full details it wanted.
But because SQL was so well documented in almost every other way, Oracle was able to clone the functionality and the new Oracle database (where the company got its name) was fully compatible and reached the market before IBM even began to develop any commercial product using its own code.
And this was fine. And it should be fine. In fact, it must be fine if two pieces of software can be made to work with each other instead of in competition. Not even IBM says otherwise. In fact, almost every company other than the current version of Oracle thinks this should be fine.
Fast forward to 2010 and Oracle sues Google for copyright infringement because Google "reimplemented" Java (meaning it rewrote the language making sure the results would come out the same). Google says it has done nothing wrong and that U.S. copyright law specifically excludes methods of operation; all it did was make sure function names and arguments stayed the same to keep both versions interoperable.
This case could only be heard in the U.S. because of its broader interpretation of the law.
Notice I said U.S. copyright law. That's because in the rest of the world Oracle would be unable to bring Google to court over what it did because excluding systems and methods of operation from copyright really is the law, both on paper and in practice. And this is where all the dire talk about how this decision could affect all software moving forward. For years it was just accepted that software copyright law in the U.S. worked the way Oracle and Google used it to their advantage in the past. If something happens that changes that perception, crazy ideas like Bell Labs "owning" parts of iOS because of software API functionality isn't that much of a stretch. It's not something that seems likely, but 10 years ago the case in front of the U.S. Supreme Court wouldn't have seemed likely, either.
One theme that carries across all the suits and appeals is that both sides know (and are even banking on) the fact that judges probably aren't very well versed in exactly how software operates. In the second trial — there were four others before Google petitioned the Supreme Court — District Judge William Alsup famously held a recess so he could learn Java programming in order to better understand what was being argued.
A judge shouldn't have to learn to code in order to make a ruling.
Judges understand copyright law by the way it is defined and how mitigating factors — including the effect of its use upon the potential market — affect it. It's rare to find a judge with enough knowledge of computer science to be an authority on every nuance a case this big can have. Oracle knows this and maybe can use that to its advantage to block Google from profiting the way it did 40 years ago. Google knows this and will try to sway the court into placing more weight on U.S. programming jobs. Both sides will use every play possible to come out ahead.
The best outcome we can hope for is to have the matter settled in a way that's fair, not only to both parties but to consumers. This is the outcome the justices really want, or at least it's what they should want. I'll just be glad when it's over and everyone knows what they can and can't do when it comes to a software project the size of Android. The best Android phones will benefit from being able to use Java in its current format for years to come.