Hacker News new | ask | show | jobs
by ricardobeat 2619 days ago
I was going to say the same, but it looks like the documentation mentioned is for the client indeed. If the client is MIT licensed, are you infringing on anything by writing a compatible API?
2 comments

That question is the essence of the ongoing Oracle v. Google case:

https://en.wikipedia.org/wiki/Oracle_America,_Inc._v._Google....

The difference is that even though the Java API was licensed under the GPL, Google did not accept the GPL license. They implemented the API without a license. Were they willing to implement their code under the GPL there would have been nothing that Oracle could have done.

I'm with others who say that an API should not be copyright-able, however it appears that in this case it doesn't matter. They may have a license! I haven't looked into it at all, but if it's true that Smartcar have implemented this API and distributed it under an MIT license, I think it will be really hard slogging to say, "We only meant to license some of the IP. We just gave a license and decided we'd wait until after the fact to tell people what it covered".

I am a huge advocate of free software, but it really bothers me when people license something without having any clue what it actually means. I can't tell you the number of projects I've encountered who say things like, "I put it under the GPL, but you can't sell it", or "I put it under an open source license, but you can't use any of the code; just look at it", or "I put this game under a free software license, but you can't use any of the story for the game because software licenses only cover code", or "I put my code in the public domain, but that doesn't mean you can make a few changes and claim that it's yours", etc, etc. If you want a "I'll tell you if it's ok after you've done it" license, don't grant a general license! Reserve all your rights and handle licencing on a case by case basis.

It wasn't Google who did it, but Apache: https://en.wikipedia.org/wiki/Apache_Harmony
Google had the choice to deal with Sun, but they though given Sun's account state they would get away with it, to the point that buying Sun to own Java wasn't even considered.
The question regarding Apache is interesting though -- how is what they did legally different from what GNU/Linux did to commercial Unix?
The APIs discussed in that case are only "classical" APIs, i.e. code APIs, not "web APIs", which are really protocols. Despite the fact that recently people have started calling protocols APIs, the two have huge differences from a copyright perspective[1], so that extrapolating from the former to the latter is tenuous, regardless of the ultimate outcome of that case.

Moreover, the court ruling makes it seem that if the intent is interoperability, fair use may apply (only the court rules Google's intent was not interoperability, as their implementation was intentionally incompatible).

Although in this particular case, it appears they can claim copyright violation on the documentation.

[1]: Most notably, in order to be copyrightable, a work has to be "fixed in a tangible medium of expression" (https://www.law.cornell.edu/uscode/text/17/102), i.e. you need to have a specific text (or image) that you can say, this is the work (although then even derivatives are protected). This is true for APIs, but not for protocols (or REST "APIs"). Whether this distinction makes sense to programmers or not is irrelevant. The same distinction holds for programs vs. algorithms: programs are "fixed in a tangible medium", and are subject to copyright, but algorithms are not, and not subject to copyright (but can be protected by patents).

The docs are also MIT licensed, aren't they?
I don't know, but the MIT license is given under conditions that can be violated.
I thought most people (including myself) on HN were in favor of Google in that case, that APIs shouldn't be copyrightable.

What exactly is Smartcar's product? Is it just the API design?

If so, I personally think this is in the same boat as that case, and I don't really see having the same API as copying either.

Not everyone, I am in favour of Java developers not having to write two versions of libraries thanks to Google's J++.
I agree that copyrighting and endpoint just because the request and response have the same structure is insane.

The docs would be something different thou, but again, I don't know how the docs were licensed.

Nokia, Cisco and others in the telecomunication industry usually patent network endpoints.
Compatible APIs happen all the time with SaaS. Look at all the S3 clones out there. Look at SignalWire, which cloned Twilio. It is very, very common.