Well, well. A few weeks ago, the jury in the Google/Oracle lawsuit ruled that Google infringed on a very small amount of Java API, but as we noted it was still an open question (and one for the judge to rule on) whether or not APIs were even eligible to be covered by copyright. In the second phase of the case, the jury completely rejected the idea that Google had infringed on Oracle’s patents. So all that left was the 37 APIs. And that tiny “win” for Oracle is now gone as well, as the judge has ruled that those particular APIs are not covered by copyright:
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.
It is true that the very same functionality could have been offered in Android
without duplicating the exact command structure used in Java. This could have been done by re-arranging the various methods under different groupings among the various classes and
packages (even if the same names had been used). In this sense, there were many ways to group
the methods yet still duplicate the same range of functionality.
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.
As some have pointed out the ruling is somewhat narrowly focused just on these 37 APIs, but the principles involved in why those 37 APIs are not copyrightable certainly will apply to plenty of other APIs as well. The ruling itself (embedded below) is pretty thorough and detailed. We had noted earlier that Judge Alsup had admitted that he’d learned to code Java in order to better understand the case (and that he’d had a history of knowing other coding languages as well) — and it shows. Rather than using braindead broad analogies that don’t make much sense, as we see all too often in court rulings, Alsup gets to the heart of the matter and clearly understands what an API is and how it works. His ruling is actually a decent primer on some parts of code for those who have never coded.
From that, Alsup points out just how ridiculous this entire case has been — and specifically notes that he’s explaining the level of ridiculousness of Oracle’s position for the benefit of the appeals court who will surely hear this case once Oracle appeals (and which almost certainly will be staffed with judges not nearly as clued-in as Judge Alsup).
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.
He goes on to explain not just how insignificant the situation was, but he details how it happened and why it’s crazy to consider it worthy of a copyright infringement suit. It’s a pretty complete smackdown of Oracle’s position.
Again, it is quite likely that Oracle will appeal, even though this ruling is so firm it might be smarter for Oracle to issue a giant apology to the tech community and just get on with doing business. That seems unlikely, of course, as Oracle probably hopes to find less knowledgeable judges on appeal. One hopes, however, that the appeals court judges will recognize the very, very thorough nature of Judge Alsup’s ruling, and reject any appeal as well.