I don't think you understand what happened in this case. API's have inherently always been allowed to be used essentially since the beginning of coding. A Judge and/or jury didn't rule that the the code in the Java was fair use to use, just the functional names. This retained the same working conditions that have existed for the last 30-40 years of code development, including the white/clean room techniques that have been used by virtually every major development studio, (including Oracle by the way). The underlying code is still protected, but you can't protect the names of the functions. I mean seriously, how many times have people written a function called "length" or "size" (hint, thousands of times).
Are we all suddenly suppose to pay royalties to the first one who called their function by that name? What about if someone wrote a program that then auto-generated creating billions of function names from every language, but each function was simply "return(1)"? Am I to get billions of dollars from every company in existence now for them infringing my copyright on all those function names?
In other words, your argument is ridiculous. The real copyright is and always has been on the specific implementation of the code, not what it is named.