Slightly off topic, but I've always had a hard wrapping my head around the stance the somehow an API is distinct from code. I understand that it's an abstraction in programming, and that industry practice has been that it's acceptable to take an existing API that you didn't create and write a new implementation.
But since the API is "implemented" in code, it seems like for the purpose of copyright consideration that the distinction is simply one of custom.
It's a programming abstraction, to create your own "implementation" of the API you still have to use code that is identical to original.
Alsop's original, overturned, ruling was that as a matter of law API's couldn't be copyrighted because they express an idea that can only be expressed exactly that way, and traditionally this would not be allowed (can't copyright an idea). As I understood it, his concept implied that to get IP protection over an API would require something more like patent protection. (I might be totally wrong on this).
> It's a programming abstraction, to create your own "implementation" of the API you still have to use code that is identical to original.
Not if you think of it like this really rough analogy: if the software product is a closed box, the API is the different configuration of holes cut in the box, and the code is whatever is inside the box. So you can imagine that boxes, despite being cut with identical holes, could hold different things within.
Going a bit deeper would be to consider that software with identical API, and different implementations may have different run-time characteristics between them. That is, the same API call in one implementation may take twice as long to execute than in another implementation. Further, depending on how explicit/rigid the API spec is, a call in one implementation could have some "out-of-band" behavior (e.g. affect another software system unbeknownst to the calling routine; or every API call may be logged in one implementation, but not logged in another).
But since the API is "implemented" in code, it seems like for the purpose of copyright consideration that the distinction is simply one of custom.
It's a programming abstraction, to create your own "implementation" of the API you still have to use code that is identical to original.
Alsop's original, overturned, ruling was that as a matter of law API's couldn't be copyrighted because they express an idea that can only be expressed exactly that way, and traditionally this would not be allowed (can't copyright an idea). As I understood it, his concept implied that to get IP protection over an API would require something more like patent protection. (I might be totally wrong on this).