Does copyright protection under US law prevent anyone from legally copying an API?
For over a decade, that question has held the software industry in suspense, if not suspended animation. As the Supreme Court ruled Monday morning in a 6-2 decision, the part of software code that enables the functions of the underlying code to be addressable and usable by others may itself be copied into a new software package. This derivative work would enable those same functions to be addressable and usable by others using the same symbols — as long as it's for a different purpose.
Put another way: The method you use to make your software interoperable, is not something you can claim as your exclusive property.
Right away, you can expect software producers to treat the APIs of any application or service as unprotectable by copyright — as the valid subject of a fair use claim. They'll be buoyed by the Electronic Frontier Foundation's victory celebration. As EFF Special Counsel Michael Barclay wrote Monday afternoon, "This decision gives more legal certainty to software developers' common practice of using, re-using, and re-implementing software interfaces written by others, a custom that underlies most of the Internet and personal computing technologies we use every day."
Not that Barclay is in a position to speak for the High Court. However, he did appear to get out in front of any lengthy legal interpretation of the ruling, mainly to say the barricades had been busted down, and everyone's interface is now fair game.
There's still considerable doubt in legal circles — at least while the smoke from the barricades clears — as to whether that's what the High Court actually decided. Specifically, is any duplicated interface for a function being implemented on a different platform fair use of that interface?
"The Supreme Court did not answer this question yesterday," stated intellectual property attorney Joel B. Rothman, co-partner of Schneider Rothman IP Law Group (Sriplaw), a firm that deals exclusively with intellectual property matters.
"Instead, as I predicted at the outset," continued Rothman in a note to ZDNet, "the Court ruled on the basis of fair use, which is a fact-dependent equitable defense where the copying firm would need to prove that the different way or different scenario in which it used the copied API qualified as a fair use under the same factors outlined in the decision. In other words, yes, the duplicate can be considered a fair use, but it also may not be considered a fair use — it just depends upon all the facts."
"What will be important, wrote intellectual property attorney J. Michael Keyes of law firm Dorsey & Whitney LLP, in a note to ZDNet, "is how transformative the second work is."
The "transformation" at the key to this case took place in 2005. It was then that Google acquired the mobile Linux platform Android from its creators, Android Inc., along with its developers, most notably Andy Rubin. At that time, the Java programming language was shepherded by Sun Microsystems, but in a curiously loose manner. While Google negotiated with Sun for a license for a mobile Java — a negotiation that fell apart — on its own, Google engineers were developing a virtual machine for Android that could run Java code.
Called Dalvik, that VM would become the principal bytecode producer for Android operating systems, until its replacement with a much faster interpreter called ART in November 2014, for Android v5.0 "Lollipop." Dalvik did not produce Java bytecode, but bytecode of its own, by way of Java source code — and that's the "transformation" to which Monday's decision refers: same mechanism, different output.
"The Sun system was written for desktops and laptops," continued Keyes. "Google's use was transformative because it was developed for smartphones, a wholly distinct use."
Writing for the majority, Justice Stephen Breyer indirectly cited, of all artists, Andy Warhol as a case-in-point for how something that's copyrighted may be transformed, legally, into something else that can be judged for its cultural, as well as commercial, benefit. Wrote Justice Breyer:
In the context of fair use, we have considered whether the copier's use "adds something new, with a further purpose or different character, altering" the copyrighted work "with new expression, meaning or message. . ." In answering this question, we have used the word "transformative" to describe a copying use that adds something new and important. An "artistic painting" might, for example, fall within the scope of fair use even though it precisely replicates a copyrighted "advertising logo to make a comment about consumerism." Or. . . a parody can be transformative because it comments on the original or criticizes it, for "parody needs to mimic an original to make its point."
That interpretation of the concept of "transformative" appears to have infuriated Justice Clarence Thomas, who in his dissenting opinion wrote, "That new definition eviscerates copyright." If every derivative of a program were protected by fair use, Justice Thomas went on, every pirated copy of Microsoft Word would be a valid commercial product. "Ultimately," he continued, "the majority wrongly conflates transformative use with derivative use."
That "at the outset" prediction to which Rothman referred took place in 2014, just after the Federal Circuit Court of Appeals ruled in favor of Oracle, declaring Google's copying of Java code infringement, and entitling Oracle to an unspecified award (Oracle had sought $8.8 billion). Taking part in a legal affairs discussion panel at that time, Rothman stated he agreed with the Appeals Court's final decision.
"If there is work that is entitled to copyright protection — minimally creative, yes, but creative work because, in many ways, code is poetry," stated Rothman in 2014, "then it ought to be entitled to copyright protection. The decision as to whether or not it can be used without infringement, for example, as Google has done, should be an issue decided on the basis of whether it has been used in a fair way — whether it is a fair use."
Curiously, that's the part of the decision that the Appeals Court chose to remand back to the lower court in 2014. Earlier, after finding in Oracle's favor on most of its copyright infringement claims, a district court jury had deadlocked on deciding the validity of Google's defense that its copying did constitute fair use. That's the part the Supreme Court resolved on Monday, in Google's favor. Wrote Judge Kathleen O'Malley at the time:
We are mindful that the application of copyright law in the computer context is often a difficult task. . . On this record, however, we find that the district court failed to distinguish between the threshold question of what is copyrightable — which presents a low bar — and the scope of conduct that constitutes infringing activity. The court also erred by importing fair use principles, including interoperability concerns, into its copyrightability analysis.
Even if fair use was in question here, the Appeals Court decided, Google had applied its fair use logic the wrong way. The High Court struck down that assertion. While conceding the Java API is entitled to copyright in its entirety, it suggests that "implementing code" — the logic used to connect API calls with corresponding functions, like a switchboard — would essentially be identical on any other platform where the same calls would be performed to connect to functions with the same purpose.
If one's objective is to keep the language interoperable (as Java's always has been) then you have to use the same interfaces in any API that purports to enable programming with the same language. Thus, for whatever platform you end up using down the road, you essentially have to use the same instructions. So it doesn't really matter that Google's developers copied Sun's symbol tables; if they had used different symbols, they would have meant the same things anyway.
Wrote Sriplaw's Rothman to ZDNet Tuesday:
I think the fair conclusion is that a) if you create a programming language and API code designed to work with that language, and you encourage programmers to use your language, and programmers do use the language, and that programmer base grows and swells, and then another company comes along and wants to tap into that existing programmer base already familiar with the language and API calls made in the language but that other company wants to develop software to run on a type or types of hardware not already well served by you, and that other company copies a portion of the code from the API so that the existing programmers can call the API functions without learning a brand new set of calls for all situations, then you as the author of the original programming language and API may be in the same situation as Sun/Oracle.
Insert interface here
The software industry has always been an intellectual property exchange. Making a living around software means determining where its core value lies, and building a viable, sustainable business model around that. Patents and copyrights have always been about establishing a system of value around intellectual property's uniqueness. Both copyrights and patents openly grant the right of monopoly to creators — and then, of course, place such limits on the value of such monopolies to enable the rights themselves to be traded.
Math, it's been ruled time and time again, has no copyright or right of patent. It's believed to pre-exist, discovered by mathematicians who put it to use by human beings for the first time, but who aren't said to have given birth to it. Algorithms are essentially math in action. You can't claim an algorithm as exclusively yours.
Yet context has a way of transforming one's common sense. Genes, for example, are patentable. Certainly they pre-exist, but it's been said that no industry could have been built around genetics, and the many businesses that spawn from genetics, had people of law not openly decided to blind themselves to precedent, for the purposes of good commerce.
What no judge, jury, or justice thus far has disputed is that Congress explicitly declared software as entitled to benefit from copyright. The reason given was that software is, like anything that a language may convey, a personal expression. Today, very little software is the product of individual persons. In light of that, judges and justices have, over the last few decades, flaked off those parts of software they deemed exceptions to Congress' declaration. Math was one flake. Then algorithms. Next, the underlying methods behind functions. The idea behind software, it was determined, was not subject to copyright. Configurations should not be granted exclusive value. Now, at last, we get to implementation, and the glacier melts even further.
In the context of a different medium, no one is entitled to copy the method by which an encoded digital stream is rendered, with the intention of rendering that stream on another platform. Otherwise, MPEG4-encoded movies would have all been released on smartphones, by servers operating on a top-level domain like .to, years ago. Besides, the chasm that distinguished a smartphone from a personal computer in 2005 is not so wide a divide today. Look at the PC workloads that people perform on their smartphones, and ask yourself what really "transformed" here: the medium, or our perception of it?
One can only build a viable business around a concept whose value derives from its originality. If software cannot be original — or rather, if no part of software that can be exploited competitively is allowed to be treated as original, and therefore valuable — then it will not be the center of an industry. Those who build businesses will look elsewhere.
Justice Thomas makes the point that the same train of logic which led to copyrightable interfaces being copiable for different platforms could lead one to copy entire applications onto different media, and publish the results. He may be wrong, but here's the real problem: After Monday's decision, somebody, somewhere, is going to give that not-so-original idea a hell of a try.