Andy Dean - Fotolia
Supreme Court ruling on Java APIs eases developer worries
Now that the Supreme Court has ruled for Google over Oracle in their high-stakes copyright battle over Java APIs, developers can rest easier -- but some questions linger.
Developers can feel some relief now that the Supreme Court has ruled in favor of Google in its landmark copyright case versus Oracle.
Oracle sued Google more than a decade ago, claiming that the search engine giant infringed Oracle's copyrights by using more than 11,500 lines of Java code from Java APIs created by Sun Microsystems, which Oracle acquired in 2010. That code was used to create the Android mobile operating system.
The Supreme Court of the United States' (SCOTUS) decision overturns two lower court rulings in favor of Oracle, and ruled that Google's use of the APIs falls under the fair use doctrine of copyright law.
"This decision came down to the fact that the code recreated by Google within Android was a part of the Java API, and because an API is only an interface, a functional means of accessing the copyrightable aspects of Java, 'the copied lines are inherently bound together with un-copyrightable ideas,' per the Supreme Court ruling," said Brad Shimmin, an analyst at Omdia in Longmeadow, Mass.
Perhaps the most sage observation of the ruling came from the creator of Java himself, James Gosling.
"It's the right outcome," he said. "Oracle themselves would have been damaged if they won. For example, they have lots of cloud infrastructure compatibility APIs that would have been problematic. But neither side comes out particularly clean after over a decade of brawling."
And brawl they did. Oracle sought roughly $9 billion in damages from Google. In fact, shortly after Oracle bought Sun, Gosling told this reporter that one of his first debriefings was with Oracle lawyers who had "dollar signs" in their eyes when they talked about Sun's intellectual property regarding Java and the patents Sun held.
"This case was between two enormous and shockingly profitable companies," said Cameron Purdy, CEO of xqiz.it, a startup based in Lexington, Mass., and former senior vice president of development at Oracle. Purdy was at Oracle when it purchased Sun. "There is no 'little guy' to protect here; there simply is one enormous bully trying to take something from another enormous bully."
Great for developers and open source
Meanwhile, one key executive in the Java ecosystem who asked to remain anonymous called the Supreme Court ruling "a great day for developers and for open source." The court's ruling makes it clear that open source implementations can reuse proprietary, copyrighted APIs to provide interoperability and alternative implementations, the executive said.
Still, it will be interesting to see how this affects the Java ecosystem over the medium to long term. Oracle has been using the threat of lawsuits like the Google one to prevent people from forking Java. The company has done so on the basis of copyright, patent and trademark threats.
"Now one of the legs of that three-legged stool has been kicked out from underneath them," the executive said. "By winning this lawsuit, Google has demonstrated a playbook that could be used by others."
James GoslingJava creator, engineer, AWS
Does the decision go far enough?
However, some question the finality and clarity of the decision. Shubha Ghosh, a law professor at Syracuse University, said that while the ruling for Google was not surprising, predicting the court's reasoning was more difficult as the ruling was not as broad as some wanted.
"The ruling is narrow," Ghosh told TheServerSide. "Some were hoping the Court would create a categorical rule that APIs are not copyrightable. Instead, the Court ruled narrowly that Google's use of the declaration code was not infringement. This would mean that software developers can follow what Google did with impunity. That is narrow. But the Court's reasoning implies that not all copyrighted software will be treated the same. This is Justice [Clarence] Thomas' and [Samuel] Alito's concern: It creates a huge hole in software copyright law."
Moreover, the ruling suggests that fair use has an important role in guiding the use of copyrighted software. What that role is may be the subject of future litigation.
"While we're not out of the woods yet because [the case has] been remanded and SCOTUS did not rule definitively on the strict question of the copyrightability of APIs, this ruling was a big win," said Stephen O'Grady, an analyst at RedMonk in Portland, Maine.
The technology industry has for decades behaved as if APIs were either not copyrightable or available under fair use.
"A sudden reversal of that foundational assumption in the best case would have led to an immediate and systemic injection of confusion and uncertainty into the market," O'Grady said. "Worst case, it would have led to a sea of copyright trolls, litigation and a strangling of innovation and velocity in the industry."
APIs: The cornerstone of software ecosystems
Indeed, APIs are not just the cornerstone of all software ecosystems; they are also the foundation of all innovation that has occurred in software over the last two decades.
"The idea that [APIs] could be copyrighted, hence preventing further innovation, might have made sense in the mind of a lawyer with the mission to double-dip on the monetization of their assets, but was otherwise frightening to the absolute rest of the industry," said Sacha Labourey, co-founder and chief strategy officer at CloudBees. "As such, the Supreme Court ruling brings copyright laws a bit closer to the 21st century, indeed."
Overall, the court's ruling is good for developers creating and using APIs, which are an essential ingredient in digital transformation initiatives.
"The interface part of the API should not be copyrighted," said Eric Newcomer, CTO at WSO2. "You can -- and probably should -- copyright the implementation of an API, but not the interface itself. This should help further API adoption and widespread use, and eliminate any concern over potential lawsuits for using the same interface."
The court's ruling means that Google and Android are no longer operating under a cloud of further legal action, which undoubtedly makes a lot of people breathe easier.
However, "For the industry as a whole, it's less clear to me," said Ted Neward, director of technology culture at Quicken Loans, who has also been a prominent speaker, consultant and trainer in both the .NET and Java worlds.
"Theoretically, it suggests that implementations of well-known interfaces are covered by legal protection, but I'm not sure how much that's going to make a significant difference to anyone beyond the huge tech firms," he said. "For example, if somebody decided to create a new implementation of the Facebook HTTP API, will that be covered by this ruling? It would be interesting to see that play out, but I'm not sure that would actually hold up, so I'm not sure this story is quite over yet. Short version: Android is safe, but the rest of it isn't super clear to me."
Meanwhile, some well-known Java experts aired their views on the ruling on Twitter.
"For the past 50 years, we software engineers have been free to re-implement each other's APIs," said Joshua Bloch, a professor at Carnegie Mellon University and a specialist in APIs who worked at Sun, Oracle and Google, in a tweet. "Eleven years ago, Oracle sued Google to eliminate this freedom (and gain billions of dollars in the process). Today, after a long, tangled court battle, Oracle lost and the rest of us won.
"I was deeply involved in the case. I worked for both litigants, testified in court, and teach API design at CMU. Also I co-wrote and co-signed several amicus briefs, most recently this one," he added in a follow-up tweet.
Mike Olson, chairman of the board at Berkeleyside and board member of the Cloudera Foundation as well as founder and former CEO and chief strategy officer at Cloudera, also weighed in. "As a developer and as a tech businessperson, I'm pleased by today's SCOTUS finding," Olson said. "I think the Court got this exactly right: Reproducing an API is fair use. The underlying implementation must be independently created, but the API should be usable generally."