5 ms·
Any API reimplementation is a verbatim copy of the original API.
by Oletros 13y ago
Any API reimplementation is a verbatim copy of the original API.
- dragonwriter 13y agoDepending on the languages involved in both the original declaration and the implementation, its quite possible for an API reimplementation to include a derived work rather than a verbatim copy of the original API declaration (and obviously, it wouldn't be a reimplementation if it was just a verbatim copy of the original API implementation.) Though both making verbatim copies and making derived works are exclusive rights of copyright owners so that doesn't really reduce the impact of API copyrightability on API reimplementations,
- Oletros 13y agoWhen I say API reimplementation is including the underlying functional code, not just the API headers. And what is copied verbatim are just the headers
- dragonwriter 13y ago> And what is copied verbatim are just the headers If you are using different languages that compile to a compatible target, or if you are using the same language that admits different literal declarations expressions that produce the same interface, it is possible to have an API reimplementation -- for the same target platform even -- that does not involve verbatim copying of even the headers/declarations.
- DannyBee 13y agoIt's possible in some languages, but it often involves serious messing around. For example, in C, this would involve function name aliasing which is usually a compiler specific extension. This might give you name compatibility, but to get struct-level compatibility, you'd have to copy the exact layouts due to padding issues. In C++ it's even harder, due to when vtables are emitted, etc. My java knowledge is old (java 5), so i don't know if they made it possible. Objective-C, I believe it would only be possible if you used the runtime reflection methods directly. I don't think you can easily do it with just headers (corrections welcome!) etc
- Nullabillity 13y agoI believe Java will look up methods etc by name (and signature) at runtime, so anything missing will just produce an exception when you try to use it.
- pron 13y agoYes, but most open source projects I know implement APIs while complying with their license. Google chose not to.
- mbreese 13y agoIf you're implementing an API, you don't need a license... (or at least you shouldn't). You are implementing something based upon given facts, which can't be copyrighted. Google thought that didn't need a license in the first place. And that's the crux of this case... is an API copyrightable?
- b1daly 13y agoWell, doesn't it seem like the circuit court has answered this question in the affirmative?
- Oletros 13y agoGoogle used Apache Harmony, I suppose that they complied with its license.
- pcwalton 13y agoSamba and Mono, just to name a few, are pretty big-name open source projects that implement APIs without consent of the creator of those APIs. And even the Linux kernel uses the same system call API as AT&T Unix...