This is the first in a continuing series of essays comprising a legal history of the free software movement from 1991 to the near future.
The Supreme Court’s April 3rd decision of the long-running dispute between Oracle and Google brings to a last victorious conclusion the free software movement’s legal campaign, which began more than thirty years ago. Though the Justices have only now resolved the issue of API copyright, it was among the first of the legal problems with which FSF and I dealt.
The heart of the free software movement’s long-term strategy was to harness the power of independent reinvention. Writing from scratch new programs that implemented both sides of all major software APIs was the technical pillar of our master plan. Licensing those programs on terms that protected the resulting commons—giving every user rights to study, copy, modify and share, with copyleft restriction on downstream licensing—was the legal pillar. The master plan of GNU was the independent reimplementation of both sides of all Unix APIs, thus allowing anything that could be done by general purpose computers to be done by software in which users had rights and free invention could flourish. When FSF and I started working together, in 1993, the Foundation—which was made possible by Richard Stallman’s 1990 MacArthur prize—was new, and the 1991 GPLv2 license brilliantly constructed for Stallman by Jerry Cohen was even newer. Gaining broad legal acceptance for GPLv2 and assessing the risk from the patenting of purely software inventions were immediate legal problems in need of my attention. But the threat posed by broad API copyright was the most urgent. The urgency arose because the issue was already headed for the US Supreme Court.
API Copyright: Lotus v. Borland
In 1988, Philippe’s Kahn’s Borland released an independently reimplemented version of Mitch Kapor’s Lotus 1-2-3, a pioneering spreadsheet program for personal computers. Borland’s Quattro (later Quattro Pro) offered both user interface compatibility, through an equivalent menu hierarchy and identical keyboard shortcuts, and macro language compatibility as part of spreadsheet portability, so that everyone’s formulas kept working. After unsuccessfully offering $4 billion to purchase Borland in 1991, IBM—which had acquired Lotus—sued Borland for copyright infringement. In December 1993, when Richard Stallman sought my help for the first time, Judge Keeton sitting in the Federal District Court in Boston found that Borland had infringed Lotus’ copyright. The judgment focused entirely on the copying of the command hierarchy in the menu tree. In 1995, the First Circuit reversed this decision. (I was then teaching at Harvard, meeting frequently with Stallman for the first time, and agreeing to become FSF’s general counsel.) The Court of Appeals concentrated, as the District Court had, on the user interface aspect of the case, but it broadly held that Borland’s reimplementations were non-infringing because the copied elements of Lotus’ product were “methods of operation,” outside the scope of copyright. Lotus sought and was granted certiorari in the Supreme Court.
Among the legal issues demanding attention when I started as the Foundation’s general counsel in 1995, API copyright was therefore the most pressing. A Supreme Court decision in favor of Lotus in 1995 would have had all the deleterious consequences FOSS advocates and the software industry in general warned the Court about 25 years later in the Google/Oracle dispute. Such a decision would have also prevented all the transformative innovation that the free software movement’s ideas helped to spark. But back then, all the world’s most powerful incumbent producers of software were on the other side.
The problem was that the First Circuit’s copyright reasoning in Lotus v. Borland was tenuous where it most needed strength. Though the UI design and menu hierarchy was the aspect on which the Courts below focused, it was the reimplementation of the spreadsheet macro language that raised the issue of API copyright squarely. The Court of Appeals’ ground for holding Borland’s copying from Lotus 1-2-3 outside the scope of copyright was that the copied elements were “methods of operation,” and thus excluded by the express language of § 102(b).
Unfortunately, this was not a very strong argument with respect to software APIs. One can, doubtless, assert that software APIs are a method of operating software. But precisely in the same way that every subroutine call is a method of operating the subroutine, and the methods of operating on objects are … well, methods. If this is a basis for exclusion from copyright, then it is difficult to see why software can be copyrighted at all. Overinclusive literal interpretation is a familiar risk with § 102(b) with respect to software: there is not much in our world that can’t be described as an “idea, procedure, process, system, method of operation, concept, principle, or discovery,” after all. It was foreseeable that this argument alone was not likely to convince a majority of the Supreme Court. Therefore, what mattered most to the legal position of free software—the possibility that API copyright would be used to inhibit independent reimplementation—hinged on the weakest application of this not-very-strong argument.
In US appellate procedure, the rule is that parties arguing for affirmance of the judgment below may argue for upholding the judgment on any sufficient ground. One valuable purpose for briefs amicus curiae is to suggest alternate grounds for affirmance. In this—the first of many cases in which I appeared on behalf of FOSS amici in the US Supreme Court—the purpose was to suggest another approach to the question of API copyright. Perhaps instead of showing that software APIs can be literally included within the capacious language of § 102(b), it would be more helpful to analogize the unfamiliar material of program source code to a more familiar kind of literary material that cannot be copyrighted, namely language itself.
Though the matter is scarcely ever brought before courts, there is broad consensus that languages cannot be copyrighted. One can copyright particular expressions in a newly-invented language. These are literary works, the core of copyright. But it is equally clear that someone else’s completely different expressions written in the same newly-invented language are not infringing. Hence I found myself quoting extensively from James Joyce’s Finnegans Wake in a brief before the Supreme Court. Software APIs are languages, I argued—structured modes of communication for both computer programs and human authors—invented by whomever defines them, and then usable for the creation of other works of authorship by all.
As it turned out, my argument was ideally designed for Google v. Oracle, but its immediate effect in Lotus v. Borland was nil. That remains the only case I’ve ever briefed in the Supreme Court in which the decision came down before I received the printer’s bill.
The decision equally divided an eight-judge court. (Justice John Paul Stevens had recused himself. Recusals are not publicly explained. One plausible explanation would be, for example, that Justice Stevens owned IBM stock.) When the court is equally divided, the decision below stands, because there is no majority to issue an order altering it. But such an affirmance is for this reason of no precedential weight: no deference to prior decision should be given when there was nothing decided.
The swiftness with which the order issued was itself informative, however, if you’ve worked at the Court and know its rhythms as well as its melodies. Evidently the Justices were sharply divided 4-4 from the outset. Thus there was no reason to assign someone the effort of trying to write an opinion that could command five votes.
Lotus v. Borland taught me, first, that no Supreme Court majority existed to declare software APIs outside copyright scope under § 102(b). Evidently there was, indeed, a strong bloc of votes against the rationale and the result.
US Supreme Court litigation is a specialized trade which begins and ends, whatever comes in between, with the lineup. The Constitution, as Chief Justice Charles Evans Hughes once remarked, is what five Justices say it is. Everything one does in one’s practice before the Court is based on how one plans to get five votes. A nine-judge Court composed of life-tenured judges can be studied, if not precisely predicted. I therefore also learned in 1996 that we wanted to keep the rule in Lotus out of the Supreme Court until a clear five votes in its favor could be seen.
That never happened. Fifteen years passed, during which the rule that software APIs lay outside copyright was happily accepted by the makers of software. Enterprise IT, hardware and software makers, servicers as well as manufacturers, needed an interoperability exception from software copyright. This the rule in Lotus provided, perhaps more tenuously than appeared. However unconsciously, businesses were adopting the central legal idea Richard Stallman and I propounded: freedoms from copyright restriction that protected users’ rights were also beneficial to their business. By the beginning of the 21st century this insight had become conscious at IBM and HP, who were embracing copyleft, royalty-free standards for free software implementation, a move to GNU and Linux away from their own proprietary Unices, and other previously heretical ideas we had originated or championed. The GPLv3 public legislative process in 2006-07, which I led, showed the extent of industry’s engagement with our ideas.
After Lotus, our legal priorities shifted away from API copyright to software-only patenting, “trusted computing,” and the legal globalization project that was GPLv3. But the bridge abutment holding up the interoperability highway wasn’t strong, and fifteen years in, an accident knocked it over.
The Java Wars
Sun Microsystems designed its Java ecosystem to be defended by its patents. Anticipating an “embrace and extend” effort by Microsoft, Sun defended the Java trademark with strict compatibility requirements as well as its patent portfolio. It encouraged, however, other parties’ development participation in its “Java Community Process,” including its own free software license, the CDDL. Ultimately, Sun carried that strategy to its logical conclusion, placing all of the Java Standard Edition components (known inside Sun as the “Church,” in contrast to Java ME’s “State”) under GPLv2. It was not part of Sun’s Java strategy to assert copyright over the APIs., as opposed to its implementations of those APIs, as its adoption of copyleft licensing showed.
Assertion of its patents to protect its Java business, on the other hand, was central to Sun’s survival. Long before Sun tried to sell itself to IBM and wound up instead with a better offer from Oracle, it had raised the issue of patent licensing for Android with Google, and had been unceremoniously rebuffed.
Oracle therefore purchased both Sun’s patent portfolio and an incipient patent dispute with Google over the Java preponderance in Android, for which Java ME customers (including Research in Motion, whose Blackberry was a dominant product line and service business) paid significant license fees. But Oracle has traditionally eschewed offensive patent assertion and litigation; it has historically pursued instead a strategy of “I have tons of ammunition and if you bother me I just might do something crazy.” I was a close observer of the process, but it is not yet time for a full historical recounting of how, precisely. Oracle wound up bringing a patent lawsuit against Google from which Apple rather than Oracle primarily stood to benefit.
It hardly matters now anyway, because the eight patents that Sun believed would force Google to surrender turned out, after a very expensive jury trial when Oracle sued on them, to be duds. The jury found that none of the patent claims was infringed. Oracle didn’t prevail, either, on its makeweight copyright infringement claim on the Java standard class APIs that Android Java independently reimplemented, which the District Court dismissed following Lotus.
The First Appeal
But the dead patent claims ruled from the grave on the matter of appellate jurisdiction. Oracle’s appeal of the dismissal of its copyright claim went before the Court of Appeals for the Federal Circuit, the patent specialist body whose approach to copyright is that it never met a government-issued monopoly it didn’t love. Required by the rules of its ancillary jurisdiction over the copyright claim to apply Ninth Circuit law, the Federal Circuit panel predicted that the Ninth Circuit wouldn’t follow Lotus v. Borland, and found the Java standard class APIs copyrightable and potentially infringed, remanding to the District Court for trial on the defense of fair use. Google sought review in the Supreme Court by petition for cert.
I did not believe there were five votes on the Supreme Court to affirm Lotus. That made Google’s determination to bring the issue there very risky for everyone else. “I hope they both lose,” one very senior lawyer at a major global IT firm told me. My hope was that nobody would lose instead, if the Court could be convinced to deny cert. The Federal Circuit’s decision was wrong, and would be disastrous for free software and for the global IT industry if the Supreme Court affirmed it. But as the Federal Circuit’s guess about what the Ninth Circuit would say if faced with the choice whether or not to follow Lotus. the decision had even less weight than Lotus itself. It would disappear altogether as precedent the minute the Ninth Circuit actually decided a Lotus case. I thought the odds in the Ninth Circuit were better than they were in the Supreme Court, by far.
Moreover, as we pointed out to the Supreme Court in SFLC’s brief opposing cert, Google could have prevented the controversy in the first place by using Java under GPLv2 copyleft, which Sun and then Oracle offered free as in freedom to the entire world. The undisputed evidence in the record showed that Google failed to do so because a non-lawyer Google executive, Andy Rubin, didn’t understand how GPL works and refused to listen to people who did.1 So even if Google failed in its fair use defense, all that was at stake was money Google would owe Oracle, of which Google had enough to satisfy even Larry Ellison, difficult as that might be. We didn’t need to put everyone’s ability to interoperate at risk for a rent-seekers’ bonanza.
Confirming my belief that there was no clear majority for Lotus, the Conference called for the views of the Solicitor General. The SG recommended cert be denied, in a brief that said some of what we had said, but a great deal less clearly. Cert was denied. Nobody had lost. Free software had therefore won, but this car crash wasn’t over yet.
Back in the Northern District of California, Judge Alsup tried the fair use defense to the jury, and the jury found that Google’s use of the Java standard class API declarations was fair. (It will help non-US lawyers to keep in mind through the remainder of this discussion that—in an anomaly of US law among the world’s copyright systems—fair use in US law is a defense to infringement, akin to the defense of license, not a limitation on copyright itself statutorily defined. So when a copyright holder pleads the facts showing infringement, a defendant can plead the defense of fair use, as it could instead or also plead the defense of license. Fair use is therefore a fact found by the jury, under legal instruction by the judge, as the existence and interpretation of a license would be.)
The CAFC Falters, Again
After the jury in the Northern District of California found fair use, Oracle moved for judgment as a matter of law, notwithstanding the verdict. Judge Alsup denied the motion, and Oracle appealed once again to the Federal Circuit.
The Federal Circuit reversed, holding that Oracle’s motion for judgment as a matter of law should have been granted. It disposed with evident distaste of the jury’s verdict on fair use, stating that the jury’s verdict was “merely advisory” on everything involved in the mixed question of fact and law, other than “matters of historic fact.” Then—amidst a slew of its own procedural and substantive errors—the panel re-weighed for itself the evidence and found that Google’s use was not fair.
This is what happens when Congress in its wisdom makes and staffs a federal appellate court with patent lawyers, specifically to decide patent cases, who wind up dealing through the magic of ancillary jurisdiction with stuff they know nothing about. This high-handed, near contemptuous, treatment of the jury’s verdict, procedurally and substantively, is actually the standard of review the Federal Circuit applies to jury findings on “nonobviousness” under the Patent Act. Let’s put aside, for the moment, whether the Federal Circuit is right about its own specialty. Applied to a motion for JMOL nullifying a jury verdict on fair use in a copyright case, this ran roughshod over Ninth Circuit law that CAFC was statutorily required to apply when exercising ancillary jurisdiction over non-patent aspects of Judge Alsup’s case; it even ignored a directly relevant Supreme Court decision.
The Second Supreme Court Round
Naturally, Google sought Supreme Court review. Once again, the Court sought the advice of the Solicitor General and then quite uncharacteristically failed to follow it. The SG’s brief recommended against reopening the copyrightability issue on which the Court had previously declined to grant cert, and characterized the fair use determination as “factbound,” that is—in the local jargon of the Supreme Court—too dependent on particular factual peculiarities to form the basis for a general ruling by the nation’s highest court. Google’s counsel, both in their somewhat sniffy reply brief and in their subsequent briefing on the merits seem to have believed that a grant would therefore imply the existence of five votes to affirm Lotus v. Borland’s copyright limitation rule at last.
This was not a good assumption for two reasons: it only takes four votes to grant cert, and the spread of votes on the fair use issues that were actually the subject of the order appealed from might not be so easily dismissed with the “factbound” incantation. If there continued to be no five-vote majority in support of Lotus, briefing that as the top-line issue presented a substantial risk. There might, for all we knew, be a majority against the rule in Lotus, and four votes for reviewing the fair use determination, from a variety of viewpoints. The SG’s views as called for had not been productive of clarity on any side.
I still did not believe in the existence of a majority for the Lotus rule. With the exception of Justice Breyer, the Conference was entirely renewed since 1995, but I had never counted a time when I thought there were five votes. Rather than see a ruling that would upend one of the most important legal supports for the whole FOSS development model, I thought it was imperative to offer the Court a compelling procedural reason to reverse the decision below. Providing a possible off-ramp from a decision that would adversely affect the law is one valuable function that briefs amicus curiae can perform.
There was nothing uplifting, from my point of view, about trying once again to keep Lotus v. Borland from being decisively cast aside in the Supreme Court. As we shall see in the next chapter, the first of our issues when I started representing FSF had become the last remaining unsettled from a doctrinal point of view. Our transformative legal approach to the social-market production of software, having succeeded in resolving the other legal and institutional issues in its favor, was on this one vexing question trying once again not for victory, but to avoid defeat.
Thus we filed a brief urging reversal on the basis of procedural failings by CAFC in its headlong effort to reduce the plebeian unruliness of jury decision-making anywhere in its domain. Ours was one of only two briefs out of dozens that raised the procedural grounds for reversal. Our re-framing of the questions presented was too daring from the Clerk’s Office point of view, and for the first time in decades of filing amicus briefs at the Court, I was ruled out of order on page 1 until my too-out-of-box questions had been obscured from judicial sight by a blank sticker the Clerk’s Office required us to apply to the printed copies of our brief.
When one files to provide such a “contingency plan,” one expects at most to provoke a question at oral argument. To my great surprise, the Court issued an order requiring supplemental briefing on the questions we and the other lonely amicus had raised. This very unusual event solidified my belief that the lineup was uncertain, that one or more Justices were looking for additional approaches, and that petitioner’s way was uncertain, which meant that freedom from API copyright was in immediate danger.
This confirmed, as I had believed all along, that there were not five votes for the rule in Lotus. While the Court’s final opinion leaves the issue formally unresolved, it now seems quite unlikely that there will ever be a majority holding APIs outside copyright scope. Copyright infringement for reproducing someone else’s menu hierarchy may be about to experience a renewal; perhaps there are “look and feel” wars in the future. But on API copyright we have been saved from a sudden plague of API rent-seeking blighting the entire world software industries, because Justice Breyer found another way.
Justice Breyer’s Solution
Reading the sixty amicus briefs filed on the merits in Google v., Oracle is a tedious but ultimately informative experience. The briefs filed by software-makers or software industry parties almost uniformly supported the rule in Lotus and the finding of fair use. Filings on behalf of other copyright industry parties equally consistently opposed finding fair use and urged that API declarations as well as implementations should be treated as copyrightable works. But, once again with an eight-Justice bench, the rule in Lotus did not have majority support. Another 4-4 split on that issue would affirm the opposite outcome this time around, to the benefit neither of the clarity of the law nor the standing of the Court.
Justice Breyer’s opinion for the Court, therefore, finesses the entire tortured history of Lotus v. Borland away with an assumption:
We shall assume, but purely for argument’s sake, that the entire Sun Java API falls within the definition of that which can be copyrighted. (Slip op. at 16).
“Purely” is a bit of a stretch. As the dissenters are quick to point out, one ought logically to decide whether the material at issue is copyrighted before proceeding to decide whether the allegedly infringing use was instead fair. More like Sir Walter Raleigh’s jacket laid across the mud puddle for Queen Elizabeth to walk on, this assumption does heroic work in allowing the Court to substitute its new “fair use as a matter of law” conclusions for the pre-existing Lotus doctrine, now presumably “reserved” by the Court for eventual decision after the end of time.
Instead, the Court determines that, on the basis of the four statutory factors alone, copying of API declaring code in order to program to the API, including for reimplementations, is fair use “as a matter of law.”
By treating the jury’s determination in the trial court with almost the same degree of hauteur as the Federal Circuit’s approach, the Court’s opinion determines that copying API declarations is “transformative use” whenever the API is coded to or reimplemented, and that the quantity of copying is inherently fair when all the necessary API declarations are copied, but no implementing code. The Court’s analysis of the market effects of Google’s copying of the Java APIs will not be particularly convincing to knowledgeable industry observers, but the effect of the analysis is to create a nearly irrebuttable presumption that copying of API declarations is always fair use. Both the scale of the copying and the degree of commercial exploitation involved in this case approach the maximum plausible in any other setting, and if the Court could find “as a matter of law” that such use is fair, it would be difficult in any future case to convince a lower court to depart from this new, highly-specific doctrine.
Once again, in understanding the consequences of the Court’s fair use analysis, it is important for non-US readers to remember that fair use is a defense to infringement liability, just as license is. So a presumption of fair use is the precise functional equivalent of a compulsory license. We can therefore say, in terms familiar to FOSS lawyers, that the decision in Google v. Oracle establishes a compulsory permissive license for API declaration code.
The Court’s decision in Google v. Oracle is destined to be much criticized by professors of copyright law. Creating a special “fair use for software API declarations” rule smacks of the arbitrary jurisprudence of a “ticket good for today and this train only.” I have heard one law professor already describe Google v. Oracle as “the Bush v. Gore of copyright decisions,” and I fear that jibe may last.
But the beauty of legal symmetry is not the only measure of judicial triumph. Justice Breyer succeeded in mustering six votes on an eight-judge court for an outcome that saves the preferred copyright policy of the global software industries without harming the interests of other copyright stakeholders. He managed smoothly to replace Lotus v, Borland with a new rule having the same effects while silently abandoning its rationale.
For the free software movement, in particular, Justice Breyer’s legerdemain has resolved to our satisfaction our most longstanding fundamental doctrinal problem. The compulsory permissive license he devised for API declarations loses us nothing that Lotus v. Borland gave us. The emphasis the opinion puts on the transformational character of free use of APIs and the social value in independent reimplementation expresses our basic ideas in an operational form ideal for our efforts. The Court’s opinion shows, indeed, how deeply our view of the proper relationship between copyright and computer programs has embedded itself in the thinking of software-makers and IT vendors everywhere.
Thus the saga of Google v. Oracle brought the cycle of free software law that began almost thirty years ago to an end.2 In the next chapter I describe the larger context of our legal campaign in that period.
Please email any comments on this entry to email@example.com.