9 ms·
If you apply this view to all APIs, the computer revolution would never have happened. The PC was a clone of IBMs API. They fought this battle and lost and no
by alex_young 9y ago
If you apply this view to all APIs, the computer revolution would never have happened. The PC was a clone of IBMs API. They fought this battle and lost and now we can argue about it on little handheld clones all day long.
- protomyth 9y agoIn fact, IBM was so sure that the BIOS API could not be copyrighted they basically made their source public (in the manuals but NOT open source) so anyone reading the manuals to understand the BIOS was tainted and couldn't write a competitor. Compaq did a clean room setup to get around this.
- hcknwscommenter 9y ago>IBM was so sure that the BIOS API could not be copyrighted they basically made their source public That is not how copyright works. You almost got it right with your comment "anyone reading the manuals to understand the BIOS was tainted and couldn't write a competitor." Copyright protects against copying. It does not protect against independent development. Hence the clean room set up.
- protomyth 9y agoIf the BIOS API was copyrightable, they would have had to do nothing and simply declare that they owned the copyright to the API and thus no clones. Since they couldn't do that, they had to go to the extra step.
- hcknwscommenter 9y agoThat is simply incorrect. Copyright covers copying. It does not cover independent re-implementation. That is the point of clean-room re-implementation. It is not copying because--> clean room. Silly Example: you design a phone book containing all the names and phone numbers of everyone in the city. To the extent that any subjective decisions were made in the design, it is a copyrighted work. I design a phone book. If I copy yours, it is a violation of your copyright. If I collate the underlying information and then make my own phone book it is not copying, even if it looks exactly the same.
- protomyth 9y agoNo, you are not getting the point of the whole "copyright the API" thing this discussion is talking about. If I can copyright the API then it doesn't matter if you clean room or not since the API is copyright and I can sue the heck out of you no matter how you did your work. That is my point that you are missing. IBM didn't believe they could copyright the API so they took some additional measures. If they thought the API was copyrightable then Compaq would have gotten sued out of existence. This is what makes Oracle's assertion so scary for the computer industry.
- treis 9y agoActually, you're not getting it. Copyright means I can't copy your work. If I arrive independently at the same thing, then I didn't copy your work and therefore didn't violate your copyright. If I take your picture of a building and copy that's a copyright violation. If I take a picture of a building from the exact same angle you did, that's not a copyright violation.
- protomyth 9y ago> If I arrive independently at the same thing, then I didn't copy your work and therefore didn't violate your copyright. That's not how it works for copyright. Beyond that, how do you independently arrive at an API that you are trying to have an exact copy of? Photography is not programming. I cannot run a bunch of words through a program until it prints out some book I want and then say I arrived at it independently. You honestly need to read the copyright laws as you are missing some information. [edit: the original premise of all this thread is IBM didn't try to copyright the BIOS API]
- treis 9y agoI suppose you could argue that black box reproduction is simply an elaborate form of copying. That's not relevant to this case because Google did simply just copy it.
- hcknwscommenter 9y agoReplying to your comment below. I am not missing your point. I am merely pointing out that your point is incorrect as a matter of law. Copyright does not cover re-implementation. Copyright only covers copying. Your statement that IBM could sue company using a clean-room developed re-implementation of IMB's BIOS if IBM owned a copyright to their BIOS is incorrect as a matter of law.
- dragonwriter 9y ago> Copyright does not cover re-implementation. Copyright only covers copying. Coypright covers derivative works of copyright-protected works, as well as literal copies. If APIs are copyrightable, there is a very good case to be made that a reimplementation of an API implementation (not an API that serves a similar function, but an actual reimplementation) is a derivative work of the API itself.
- hcknwscommenter 9y agoAn interesting argument. However, the Oracle Google case is not about derivative works. Google admitted to copying.
- dragonwriter 9y ago> However, the Oracle Google case is not about derivative works. The Copyright Act, however, is; if APIs are protected by copyright, than making a derivative work of an API is an exclusive right of the copyright owner. Which is a key reason why there is widespread concern about the CAFCs ruling on API copyright. (OTOH, Google losing on fair use at the CAFC makes it more likely that the API copyright issue gets to the Supreme Court in this case rather than a later one, so it might be a good thing for resolving that concern.)
- hcknwscommenter 9y agoClean room reimplimentation is not considered a derivative work. Derivative works requires actually copying (and then derivatizing).
- treis 9y agoThere's a fundamental difference between: Blackbox testing -> API Specification -> Implementation and Copy API Specification -> Implementaton In the first case, you will come up with something similar but ultimately original. In the second case you are blatantly copying someone else's work.
- Ajedi32 9y ago...I don't really see what the difference is. In both cases Google would end up with exactly the same API specification. There's no room for them to come up with an "original" API, because if the API they end up with is not an _exact copy_ of Oracle's, then software written for Oracle's Java implementation would not be compatible with Google's Java implementation (and vice-versa).
- treis 9y agoIt is effectively impossible to take something as complex as the Java API, do black box testing, and come up with an exact copy. Google's API being slightly different is ultimately the point. The process yields a new original work even if it ends up being 99% the same as Oracle's API.
- Ajedi32 9y agoThe 1% that's different being... what? Bugs? Like I said, any differences in Google's version of the API would, by definition, be interoperability problems that need to be corrected. To make that more concrete: if Oracle's string concatenation function is called `String.concat` and Google's is called `String.append`, then code which calls `String.concat` isn't going to work with Google's implementation, and code which calls `String.append` isn't going to work with Oracle's implementation. It doesn't matter if the APIs are "similar" or not, they have to be _identical_ in order for code written for one system to be interoperable with the other.
- treis 9y agoThe 1% will be things like String.methodNoOneUses or ObscureClass. Even if they aren't identical they will be close enough for 99.999% of the programs people write.