updated 09:52 pm EDT, Thu May 31, 2012
41-page brief first ruling of its kind
Further announcements have come from Judge William Alsup's courtroom in the Google versus Oracle case today. The judge has decreed programming APIs to be non-copyrightable. The ruling comes in accordance with existing copyright law declaring "a utilitarian and functional set of symbols, each to carry out a pre-assigned function" non-copyrightable under Section 102(b) of the Copyright Act. Alsup's court is the first court, district or appeals, to have specifically addressed the separate matter of API copyrightability, instead of the complete codebase copyrightability issue.
Judge Alsup sided with Google on this matter. Google lawyers previously requested the matter be decided as a judgement as a matter of law (JMOL) in this fashion. From the summary: "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," Alsup writes.
The judge adds for emphasis that "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."
The finding does address the duplicated nine lines of rangecheck code specifically, and specifically notes that Dr. Joshua Bloch planned to contribute the offending library back to the Java community by submitting his code to an open Java implementation. In fact, the library in question is included as part of the Java J2SE 5.0 release. This code no longer exists in Android, as it was purged from the codebase over a year ago.
Judge Alsup's summary draws from decisions as far back as the 1980s, including Atari Games Corp (Tengen) versus Nintendo of America to address the reverse-engineering issue, Sega versus Accolade for software standards and compatibility, and Lotus Development Corp versus Borland International for interoperability and software look and feel. Sony Computer Entertainment versus Connectix Corporation was also referenced, but as an outlying example. This case only addresses APIs, the libraries used to make software. Complete code packages are still protectable by copyright law.
A brief analysis of the 41-page summary of judgement suggests that Alsup is attempting to constrain the power of broad patents used in lawsuits, such as that decried by Tim Cook in his recent AllthingsD conference keynote interview. The judge clearly states near the end of the brief "we should not yield to the temptation to find copyrightability merely to reward an investment made in a body of intellectual property."
While the ruling is likely to have long-lasting implications for future court decisions, the immediate concern of the judge is Google versus Oracle. Alsup's filing reads a bit harshly in the summary in regards to Oracle's point of view during the trial, stating "Oracle has made much of nine lines of code that crept into both Android and Java. This circumstance is so innocuous and overblown by Oracle that the actual facts, as found herein by the judge, will be set forth below for the benefit of the court of appeals."
This statement, taken with the rest of the judicial summary, doesn't leave much room for Oracle to successfully appeal to, or get any traction from, another court or judge. Also, the wording suggests that Judge Alsup isn't particularly enthusiastic about Google disgorging, or giving up, any profit earned from Android. The trial, and penalty phase for any infringement that remains and is considered substantial, continues next week.
Oracle v. Google: Order Regarding Copyrightability of APIs