Of course, APIs are copyrightable. Anything written is copyrightable. The question is, what exactly does that mean? If another API uses the same method, type and package names, but has everything that is insignificant to a compiler - the parameter names, order of methods, comments, etc. - different, is that the same expression of the "ideas" embodied in the original or a new expression? Is the .class file version of an API covered by the copyright of the original or a new expression? Can copyright be construed so broadly that it prevents any implementation of the API without permission from the copyright holder?