Software fed upon itself in order to eat the world, digesting the earlier groundbreaking works of the development community in order to evolve into an economic force far more sophisticated than early programmers could have ever dreamed. The Supreme Court is about to decide whether to break that chain.
On Oct. 7, the nation's highest court will hear arguments in the long-running dispute between Oracle and Google over whether or not an important tool in modern software development can be subject to copyright protection, and the verdict could overturn long-standing practices behind modern software development. After Google prevailed in the initial trial related to its use of Java in the Android mobile operating system, two subsequent appeals courts rulings have upheld Oracle's argument that application programming interfaces (APIs) can be considered protected works of expression.
Generations of software has been built upon the premise that it makes little sense to duplicate some of the most basic parts of an application, especially the parts that make it easier for software to interact with other software. But now that it's almost impossible to imagine the modern commercial world without the rich network of software that has reached into every corner of our lives, most often through APIs, those who control those interactions control a large chunk of the world economy.
If Oracle's argument is upheld, software developers fear chilling effects will descend upon their industry. A ruling in its favor could embolden older tech companies looking for growth to assert copyright over a wide swath of modern software, arguing that many of today's applications would not exist without their work.
Leaving the appeals court rulings in place would definitely rattle the open-source software community, which built the blueprint for a generation of collaborative enterprise software development. It could make it that much harder to launch some new startups; it could also provide a legal defensive moat for other startup ideas. And it could further consolidate the power of the modern platform companies that control an increasing portion of this world.
"We're going to see a lot of software we would have seen written, not be written as a result of this," said Nell Shamrell-Harrington, a former senior staff research engineer at Mozilla who is active in open-source software communities. "[APIs] are the building blocks of the web."
Here comes the Sun
This dispute kicked off 10 years ago, following Oracle's acquisition of Sun Microsystems in 2009. Sun created Java, an extremely important programming language and software development platform that was the foundation for an enormous number of internet-connected applications in the late 1990s and early 2000s. More than 25 years later, Java remains the fifth most widely used programming language among professional software developers, according to this year's Stack Overflow survey.
When Google began development of Android, it wanted to use some key parts of Java's APIs as part of the core of Android, but it was unable to work out a licensing deal with Sun. So Google essentially duplicated those parts of Java in Android to implement similar ideas, while also using some code related to Java APIs taken from an open-source version of Java. It believed this action was protected by fair use principles, and a jury later agreed.
APIs are the connective tissue of modern software. If you use software that works in concert with another piece of software — which describes pretty much everything you now use — that interaction is often governed by an API, which sets ground rules for how software programs talk to each other and exchange information.
A brief filed in support of Google's argument signed by 83 prominent computer scientists explained it this way:
"Software interfaces, including those embodied in the Java application programming interface (API) at issue here, are purely functional systems or methods of operating a computer program or platform. They are not computer programs themselves. Interfaces merely describe what functional tasks a computer program will perform without specifying how it does so."
There aren't a lot of novel ways for software programs to exchange this information, so a great number of APIs are functionally alike; they might not use the exact same code, but for all intents and purposes, they accomplish pretty much the same thing.
"There's no reason to reimplement the structure of how software is implemented," Shamrell-Harrington said.
Red alert
Oracle argued, however, that Google's implementation of the Java APIs in Android was too similar to the way Sun engineers had implemented those APIs, and it sued Google in 2010 for copyright and patent infringement. The patent suit was tossed out at the initial trial, but the copyright claims have endured thanks to appeals court rulings that favored Oracle.
Five professors advising the Supreme Court on Oracle's point of view argued that APIs actually can be expressions of creative energy. "As our research demonstrates, even the simplest computer program is capable of being expressed in many ways," they wrote in a report. "As programs become more complex, the number of unique solutions also increases."
This is the aspect of this case that has both enraged and terrified people in the software community, especially those working for small- and medium-size companies, where APIs have rarely been considered more interesting than plumbing. Because so many APIs in use are functionally similar, whoever can claim to have originally developed those API methods would be able to assert copyright protection over those methods across a wide range of software, even software completely unrelated to the original interface.
"I think in a lot of those cases, it would be very easy to trip yourself into a place where you are unintentionally infringing," said Adam Jacob, co-founder and former chief technology officer at Chef and current CEO of stealthy startup The System Initiative.
Kyle Mitchell, an attorney who advises companies on software licensing issues, compared methods for building APIs to the tips and tricks that craftspeople acquire as they gain experience in a certain trade, like carpentry. Those so-called "secrets" are open knowledge among veterans of that trade, but they require some skill or a patient mentor to acquire; yet, no one "owns" the knowledge required to frame a wall, for example.
An Oracle victory would open up the floodgates to a new era of software litigation, said Van Lindberg, an intellectual property attorney with law firm Taylor English and a member of the board of directors for the Python Software Foundation.
"In the short term, it will be a huge windfall to a small number of companies that have interfaces that a lot of people use," he said. "These interfaces will suddenly be new control points that people will be able to use to extract revenue from other companies for the right to use what was previously understood to be free."
The delay to the hearing, which was originally scheduled for March but got pushed back due to the pandemic, has created a bigger challenge for Google. Because of the death of Justice Ruth Bader Ginsburg, there are now just eight justices on the Supreme Court, which means Google must secure a 5-3 verdict in its favor to overturn the appeals courts rulings. In the case of a 4-4 tie, the company could seek to have the case reheard before nine judges at some point in the future.
Silver lining?
Over the long run, a world where APIs are subject to copyright protection could actually be a boon to some startups that develop interesting and useful APIs for their software, Jacob argued.
A decade ago, enterprise software startups found traction by developing and commercializing interesting open-source software projects, which Jacob did successfully with Chef. The cloud era has started to expose the limits of that model, but APIs are even more important in the cloud era.
"In a world where the API is copyrightable, as an entrepreneur that's a brand-new vector of control," Jacob said. All things considered, he would prefer that the Supreme Court rule in favor of the status quo for APIs, but the software business has always forced its participants to adapt quickly to changes in the wind.
A large part of the problem is that two decades of software has been constructed without clear legal direction on how (or whether) APIs should be subject to copyright protection, Mitchell said. A victory for Oracle wouldn't bring immediate clarity to the issue, but it would serve as the beginning of a new round of legal wrangling that will define the parameters of how APIs can be protected.
"Is that bad overall? If you measure good and bad by the involvement of lawyers and paperwork, then yeah, it probably is," Mitchell said. "But were you living in denial?"
The Oracles and Googles of the software industry will be fine, regardless of which way the justices decide to vote. After all, they have billions of dollars in cash and armies of lawyers that will allow them to iron out licensing agreements and preserve interoperability across their key products.
But an Oracle victory could drag software development back into a world of silos, in which only the software built by a single vendor or across a consortium of powerful vendors would be able to enjoy the benefits of interoperability that have made the modern internet so compelling. Such a victory could create a new tax on software development, just as software becomes indispensable to the modern economy.