It's a shit argument, because software interfaces are no more and no less "immutable facts" than software implementations. Oracle is correct here; fair use and copyright law need legislative intervention to fix the problem.
> software interfaces are no more and no less "immutable facts" than software implementations
The crucial litmus test is whether there is creative expression involved or not.
So you have to ask yourself this question: are there multiple choices about how to make the interface or not? And the clear answer is, the very definition of an interface is to fix a single way to transmit some information. No other way works to interface to all the existing systems out there. Given there is no other way that works, there is no creative choice involved and copyright has no application.
Now where the argument sets in is that making a binary compatible interface actually doesn't require (in Java) all the variable names to be the same, nor the order of the methods to some extent. Hence all the argument in court about the "sequence and structure" being Oracle's creative expression. And the fact is, Google did copy many of the argument names etc. So you come down to things like, was it creative expression to call the x and y of a Point class 'x' and 'y' or is that part of the interface?
Which is all to say, yes you can argue about this. The OP however said there is no argument. I disagree: there's an argument here with valid perspectives from both sides. If you think there's no argument, you don't understand the nature of copyright law (after all, there's a reason this has made it to the supreme court).
You must be joking. Of course there are multiple ways one could design an application programming interface. People make subjective and aesthetic judgements about API design all the time.
As far as I know a single judge has ruled in favor of Google. Appeals courts have ruled in favor of Oracle on matters of the law and applicability of fair use. (It doesn’t apply.)
Yes, you're right. The original act of designing the interface is creative expression.
But that isn't actually the point. The question is whether the the person creating something compatible with it has scope to exercise creative expression.
It's like the difference between reproducing Van Gogh's chair and stating the fact it that it is yellow. The fact that it is yellow isn't copyrightable, even though the original painting is.
It's a Table of Contents at best. There's nothing "original" about System.out or StringBuilder.append. The only reason this case has seen success is because the appeals court ruled that an API is akin to a taxonomy and that a taxonomy is copyrightable. The problem I have with that is that facts aren't copyrightable.
You can append to a string. You can prepend to a string. You can reverse a string. And that's all API's are. There definitions of things you can do to a given structure. If the API was "Shazam.PowerBuilder.AwesomeThing()" I'd understand this position. But it wasn't. It was obvious lists of "facts" about given structures.
>You can append to a string. You can prepend to a string. You can reverse a string. And that's all API's are. There definitions of things you can do to a given structure. If the API was "Shazam.PowerBuilder.AwesomeThing()" I'd understand this position. But it wasn't. It was obvious lists of "facts" about given structures.
But in Java I can't add to a string. I can't prefix a string. Nor can I invert a string. So the things you mention aren't mere definitions or facts about things you can do to a string. They're methods specifically chosen by the language designer to be useful and those choices are a big part of what makes Java different from Ruby, for example.
But structured compilations of facts (taxonomies) are copyrightable. You can’t just expect cases to go as if the black letter law and case law were written as you wish they were. The courts apply the law as it has been written and interpreted previously.