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.
- 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.
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.
> wine (the windows emulator)
Intentional humor?