> They're creative, rather arbitrary designs.
Which isn't relevant. Harry Potter is a creative work, including the character names, but the page numbers those characters appear on are not.
Similarly, Java is a creative work, and maybe even the interfaces are "creative" in that they aren't totally determined by the domain. But after the fact they're just a listing of resources, like a list of characters in a book.
Nobody is trying to say that "Dumbledore" isn't property of JKR, but everyone agrees we can discuss him and his characteristics. We can flip to pages where he appears, etc.
The court got bamboozled on this one.
> And applying that reasoning to code leads to the weird result that the "functional aspects" of all code (not just APIs) should not be copyrightable.
Right. You can't copyright the concept of adding one to another number, nor the code. You're copying the C-lang spec, not inventing "x++" yourself.
In the mix with creative elements, the work as a whole is granted protection that isn't available to the parts. Nobody says JKR owns "wizard", or the concept of wizards at boarding school, despite owning the copyright on her book about wizards at boarding school.