E.g. POSIX C headers are protectable. But Lisp FFI declarations that compile down to the same ABI do not infringe because they targets the unprotectable method of operation, and do not copy the protectable textual description of those operations.
I think a lot of coders want the lower court to be right for pragmatic reasons. I totally appreciate those pragmatic arguments, but they're not based on having a better technical understanding of the issue.
Oracle was claiming rights to the "structure, sequence, and organization" of the APIs, not the text of their declarations. They were unmistakably going after something that was at least in some way more abstract and broad than the text of the declarations.
Doesn't this get into hair splitting? Somewhere in that Lisp code there's the symbolic name, as defined in the C code, for the function/entry point, and the C type-names for the parameters. Those are copyright protected. This is how I would expect Oracle to argue that changing language syntax does not excuse you from licensing their "copyright protected API."
This distinction does have a certain clarity to it, but isn't there a certain sense in which there's "only one way" to describe an API for a given language? "int foo(int a, int b)" is hard to write another way; perhaps I can rename the parameters.
(Your Lisp FFI example sidesteps this issue because API declarations in different languages will, of course, look different.)
In other words, I think there may be an "information content" argument. If the abstract operations are not copyrightable, and there is only one obvious way to write down the API's function prototypes in (e.g.) Java or C, does the source code really carry additional copyrightable value?
(I'm genuinely curious what case law now considers the line to be; this isn't a rhetorical question.)
(java.lang.Math is awfully similar to math.h; I actually wonder if, historically, there was copying.)
The basics of a recipe are hard not to duplicate, but if you start writing a lengthy description of how to do it, that enters a different territory. That seems like a decent analogy for this case.
And without studying the case, just on the general principles of what copyright is supposed to do, applying it to APIs is at least a debatable point. And probably should be hashed out by the Congress and the Executive.