If you're on the West Coast right now, that breeze you're feeling is the collective exhalation of relief coming out of Silicon Valley and the rest of the Ninth Circuit from programmers and engineers who were holding their breath for a key ruling in the Oracle v. Google lawsuit.
Demonstrating a deeper understanding of programming than one might expect from someone sitting on a Federal bench, Judge William Alsup has issued his ruling on the matter of APIs falling under copyright protection: that application programming interfaces do not fall under copyright.
Traditionally, APIs have been presumed to be non-copyrightable, because unlike other elements of a software, which involve creativity, APIs are typically comprised of facts that enable one specific task: how does my software program talk to your software program and vice versa?
In the Oracle trial, Oracle maintained that by copying 37 Java APIs collectively, it was the same as if Google would have infringed on the structure, sequence, and organization (SSO) of a computer program, which is not the same as an API. The very combination, Oracle argued, makes the APIs become a creative, and therefore copyrightable, element of software.
In a 41-page ruling Alsup found Oracle's arguments lacking. In his summary, Alsup wrote:
"So long as the specific code used to implement a method is different, anyone is free under the Copyright Act to write his or her own code to carry out exactly the same function or specification of any methods used in the Java API. It does not matter that the declaration or method header lines are identical. Under the rules of Java, they must be identical to declare a method specifying the same functionality--even when the implementation is different. When there is only one way to express an idea or function, then everyone is free to do so and no one can monopolize that expression. And, while the Android method and class names could have been different from the names of their counterparts in Java and still have worked, copyright protection never extends to names or short phrases as a matter of law."
Alsup's ruling maintains what many programming and legal experts have tried to assert during the events leading up to this decision: that in order to work, APIs have to use specific functions and names in order to perform their job: hook into another application.
Alsup continues in his summary:
"But the names are more than just names--they are symbols in a command structure wherein the commands take the form
"Each command calls into action a pre-assigned function. The overall name tree, of course, has creative elements but it is also a precise command structure--a utilitarian and functional set of symbols, each to carry out a pre-assigned function. This command structure is a system or method of operation under Section 102(b) of the Copyright Act and, therefore, cannot be copyrighted. Duplication of the command structure is necessary for interoperability."
Earlier in the trial, the jury found that only a few lines of Oracle's code were actually infringed upon by Google in their creation of the clean-room implementation of Java for the Android operating system known as Dalvik. Last week, in the second patent phase of the trial, the jury found absolutely no patent infringement on the part of Google, thus prompting Alsup to cancel the third phase of the trial that was supposed to go over damages.
Today's ruling on copyright APIs was the last major element of the trial outstanding, and resolves what for many became the most important part of the case. Alsup decided to let the jury rule as if APIs were copyrightable, leaving the decision on that matter for himself:
"For their task of determining infringement and fair use, the jury was told it should take for granted that the structure, sequence and organization of the 37 API packages as a whole was copyrightable. This, however, was not a final definitive legal ruling. One reason for this instruction was so that if the judge ultimately ruled, after hearing the phase one evidence, that the structure, sequence and organization in question was not protectable but was later reversed in this regard, the court of appeals might simply reinstate the jury verdict. In this way, the court of appeals would have a wider range of alternatives without having to worry about an expensive retrial. Counsel were so informed but not the jury."
Even though the jury part of the trial had pretty much left Google unscathed from Oracle's lawsuit, if the judge had found that copyrights do apply to APIs, the effects would have been very disruptive for current development processes, which depend on the notion that APIs, when properly licensed, can be used to freely connect one bit of code to another.
Alsup's ruling does not affect all APIs, it should be noted, just the ones in this case. But an opposite ruling would have had far more negative consequences.
Given the stakes of the lawsuit (an Oracle expert testified an estimated $6 billion in damages, a figure well-touted in the media at the beginning of the lawsuit), it is not an unreasonable expectation that Oracle will likely appeal decisions made in this lawsuit. I would wonder, though, if they will appeal this particular decision. Even if it were reversed, the jury's findings of very little actual infringement would really do Oracle very little good.
But sometimes litigation is not about making sense, so we will just have to wait and see. Advocates of Oracle's position are sure to be thinking about how this decision can be spun, so I'm sure we will soon be feeling another, rather warmer breeze soon of hot air.
Read more of Brian Proffitt's Zettatag and Open for Discussion blogs and follow the latest IT news at ITworld. Drop Brian a line or follow Brian on Twitter at @TheTechScribe. For the latest IT news, analysis and how-tos, follow ITworld on Twitter and Facebook.