@copsewood. Huh?
"Even if an API has to contain small amounts of code (macros, in-line functions) there is a long standing principle that copyright doesn't obstruct manufacture of parts compatible with an intentionally defined interface between systems or subsystems."
Yes, this is true. You can not copyright the API which is a published set of accessor methods to the underlying code. However, you CAN copyright the underlying code contained within the API.
So if you have an API that says getFoo() then anyone who wants to access or create a compatible app could implement your API for getFoo(). What they can't do is copy your code of how getFoo() works.
Clean room copies of code take advantage of this... Here's an alleged use...
Allegedly, M wanted to use some smaller company's idea in their OS. So they offer to buy the company or license their software waving millions of dollars in front of them. In doing their due dilligence, M wants to audit their code. So the company gives their code to M. M then hands the code over to a team of people who write detailed specifications of how the software does what it does... Then M hands the documents over a 'wall' in to a clean room where developers take the specifications and generate their own code that meets the stated specifications.
M then goes back to the company and says no thanks, we already have a team who's working on this...
Allegedly.
(The other company is too small to spend millions on a legal case that would be too hard to prove.)
I say allegedly because this was a common story I had heard back in the early 90's.
Now that's why they talk about 'clean room' development.