Depressing indeed. Are there any other open source projects that are API compatible with a proprietary product/service? Is it ethical? I feel like it is but would be interested to hear HN's opinion.
A blackbox implementation (no access to original source code) is clearly ethical. The purpose of an API is specifically to allow interoperability with software that you don't write; the presence of a competitor (open source or not) who re-implements the server side of your API is a Good Thing for a competitive market place.
to extend on that idea, I'm fairly certain that a "clean-room" reverse engineering of a competitor's product HAS been shown to be legal. That is to say, as long as you can prove that the person(s) doing the reverse engineering didn't have any access to proprietary information about the workings of the product they were reverse engineering.
The classic example is the reverse engineering of the IBM BIOS for 'IBM compatible' machines.
And it was done with 2 teams, one analyzing and one implementing.
Linux is a reimplementation of proprietary Unix interfaces.
WINE is a clone of the Windows API. ReactOS is another one.
Also, we should include implementations of software that encodes or decodes data formats, such as audio/video/image codecs. There are numerous examples of free implementations of software that works with proprietary formats, which are analogous to a proprietary API.
Several open source cloud projects (OpenStack, Eucalyptus, CloudStack, OpenNebula) implement the Amazon EC2 API. Eucalyptus is the only one that formally obtained a license from Amazon.