This was the fight that decided whether the open, interoperable software world would remain legal, and I was in it from beginning to end — signing the amicus briefs, writing about it, watching it climb to the Supreme Court over a decade.
The question was whether the design of an interface — the names, the structure, the way software declares how other software talks to it — can be owned, and that ownership used to control who may build compatible systems. Oracle said yes about the Java APIs. Google had reimplemented them in Android.
In 2021 the Supreme Court ruled for Google, finding the reuse to be fair use. It was the right outcome and it protected the freedom to reimplement an interface, which the entire history of computing depends on. It also did not resolve every underlying question — the Court decided on fair use rather than settling copyrightability outright, which leaves more ambiguity than a decade of litigation ought to have.
The analogy I kept using is the restaurant menu. The menu lists what is available and what it costs. The recipes and the cooking are the creative work. Owning the menu format so nobody else may list “soup” would be absurd — and yet that is roughly what was argued.
The practical takeaway for anyone building: publishing and sharing your API designs strengthens the norm that interfaces are shared vocabulary. Hoarding them weakens it, whatever the courts say.