| Because APIs are more functional than creative. Imagine an Array class. How many names can you come up with for: "number of elements in an array"? Count(), Size(), Len(), Length(). Those are 4 common names. Now imagine a system where you can copyright those names. The first 4 people who use those obvious, functional names get a monopoly on their use because that's what copyright is: a government granted monopoly. We have hundreds of languages, and many languages have multiple Array classes. Can you see how such system would destroy our ability to write understandable code? An API is a very small part of the overall code. If you want to compare this to writers: code is the novel and it does get copyright protection, just like a novel. API name is like a chapter name and just like Melville doesn't get copyright (i.e. exclusive use) of "Loomings", a programmer shouldn't get a an exclusive use of Array.Count(). |