The key distinction is, of course, you can't infringe copyright by accident. If you build your platform on someone else's proprietary API, without their permission, then can you really complain when you get sued?
In the context of the parent comment: if you build a business cloning Microsoft's Win32 API, I don't think you can complain if you get sued in the same way you can for a patent troll.
And yes, I think Microsoft should get to decide whether it wants clones of Win32, and also that it's a waste of time for open source developers to implement non-open source APIs.
Taking that further, the following things would be illegal:
- The HTML parsing specification (created by reverse engineering IE6 without Microsoft's cooperation), and by extension all non-IE Web browsers.
- Except IE is also illegal, because JScript was a hostile clone of JavaScript, down to the APIs.
- The x86-64 ISA, for two reasons: first, because AMD cloned x86 to start with, and second because Intel cloned AMD's work after seeing its success.
- All versions of Unix in common use; thus, by extension, 95% of smartphones by market share.
- VMware, by providing implementations of the proprietary x86 supervisor instructions in user mode.
Reverse engineering of proprietary APIs for the purposes of interoperability has been responsible for a lot of technologies that we use all the time. I understand the argument about IP protection, but I think an absolutist position in the other direction is a bit too far. In all of the cases above, there is a specific reason why the dominant player responsible for the proprietary API was failing to capture a market need, and the legality of API cloning was what allowed a smaller player to come in, address that need, and achieve a better economic outcome. I'm having a lot of trouble imagining how a world in which all of the above things were illegal would be a better one--you could argue that the dominant player could have done each of those things, but the fact is that they didn't.
It's not my position that you can copyright APIs per se. In my view, the protection in the Oracle case is a coincidence, stemming from the fact that you can't clone a Java API in Java without effectively copying the textual description of the API. So I don't think there would be a problem with reverse-engineering the operation of IE or x86 and describing it in an independently-written specification or implementing the same method of operation in another browser or CPU or in VMWare.
You're right about UNIX, but I don't think not being able to clone UNIX would've been any great loss to the world. iOS and Windows Phone would still exist, and I'm sure someone would have developed a cheap open source OS for the rest of the market.