Copyright covers only the expression. For example, in a C program, the header files can be copyrighted. I think it's pretty fair to argue that Sun can copyright their expression of an API. However, you cannot copyright facts. I would argue that the array class having a sort method is a fact. And therefore I should be able to create my own expression of that fact.