Judge Delivers Thorough And Complete Smackdown Of Oracle's Copyright Claims
from the a-bit-narrowly-focused dept
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.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.
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
java.package.Class.method()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.
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.