Oracle's 'APIs are copyrightable' defense = nightmare for programmers(itworld.com)
itworld.com
Oracle's 'APIs are copyrightable' defense = nightmare for programmers
http://www.itworld.com/mobile-wireless/196381/impact-oracles-defense-api-copyrights
6 comments
In terms of scope I can agree that there is a bit of a difference, in that we're talking about whether you can copyright an entire library design versus a specific limited set of interconnection points. But even that would be problematic and contrary to existing practice; for example, Wine's reimplementation of the Win32 API would be a copyright violation if the Win32 API (and not just the code implementing it) is copyrightable. It contradicts the assumptions behind clean-room reverse engineering as well, which are that how-something-works documentation doesn't taint copyright of a new implementation that follows it as a spec.
There's also the middle ground of the mysql api that has long been claimed as being under the gpl (but never tested in court as far as I know). There is a real danger here that could affect emulators, compatability layers, really any interoperability in place of proprietary systems and would be a real step backwards. But, we are not the audience of the article and web apis are easier to explain to non-developers.
I have no problem with the idea that being able to copyright library APIs might affect other kinds of APIs. See http://news.ycombinator.com/item?id=2916969 for a longer description of why I think the article is talking about how apple-y oranges are.
[deleted]
I'm not an intern, and I don't understand why web vs. local makes a difference in this case. Can you explain?
The article treats the 'open' and 'closed' status of APIs as if it somehow relates to being open-sourced or something. Really they are just referring to access control, which is both irrelevant to the issue at hand (whether an API is copyrightable) and also not at all relevant to the actual APIs being discussed (Java). Access rights for linked APIs mostly don't exist, and if they do its by way of authorizing the runtime the library is running within, not by using security tokens + authentication.
Sure. The API Oracle is talking about is the interface between various parts of Java--if you include this file, you can now call these methods. Conversely, Twitter provide network endpoints with which you can communicate with Twitter.com. These bear a certain abstract similarity (there are interfaces), but they have vastly different purposes.
The author could make the argument that changes in the patentability of one meaning of API could impact the other meaning of API. Instead, while purporting to define the APIs under discussion. they talked about the Twitter sense instead.
They then discuss Java's API in terms of "Open" vs. "Closed," which appears to refer to how easy it is to register for an API key with web APIs. When you are using an APIs of the library kind, the files you are interacting with are under your control--there is no registration, there are no API keys.
The author could make the argument that changes in the patentability of one meaning of API could impact the other meaning of API. Instead, while purporting to define the APIs under discussion. they talked about the Twitter sense instead.
They then discuss Java's API in terms of "Open" vs. "Closed," which appears to refer to how easy it is to register for an API key with web APIs. When you are using an APIs of the library kind, the files you are interacting with are under your control--there is no registration, there are no API keys.
The mechanism for how you access an API is not important. I see no meaningful difference between including a file and accessing classes and methods, and communicating with a Twitter server and using their RESTful interface. It's also a copyright claim, not a patent claim.
The fundamental problem I see with the Twitter example is that Oracle is not, as far as I know, claiming that programs that use their Java API (classes and methods) are in copyright violation. They are claiming that implementing that API is a copyright violation. The only way to make an analogy with Twitter would be for someone to set up a similar service that implements the same API to communicate with it - that is, you could point your application to this new, Twitter-like service and everything would still work.
The fundamental problem I see with the Twitter example is that Oracle is not, as far as I know, claiming that programs that use their Java API (classes and methods) are in copyright violation. They are claiming that implementing that API is a copyright violation. The only way to make an analogy with Twitter would be for someone to set up a similar service that implements the same API to communicate with it - that is, you could point your application to this new, Twitter-like service and everything would still work.
The example might not be analogous to the initial situation but the possibilities for abuse would certainly extend to the example of a client implementing an api - if you copyright a server side api or a single computer api, you can copyright the client side of an api as well.
You've seriously never heard of registering a dll on a computer? It's the opposite way round but the concept's the same, the security's handled slightly differently though.
An API is an API man.
Your sheesh is causing a lot of programmers to look at you right now with a raised eyebrow.
Start beating your retreat now.
An API is an API man.
Your sheesh is causing a lot of programmers to look at you right now with a raised eyebrow.
Start beating your retreat now.
I found this to be a better treatment of the subject: http://fosspatents.blogspot.com/2011/08/oracle-defends-copyr...
According to that, nearly all of Oracle's arguments boil down to "the Java API is a beautiful and unique snowflake, therefor it should be copyrightable". It may very well be beautiful and unique, but are they really suggesting that Google cloned Java merely because they didn't want to take the time to come up with their own API and not because they wanted to interoperate with existing Java code and tools? Oracle points out that Google's Java is not 100% compatible, but so what? It's still compatible with a large subset of Java, and a large subset of tools and libraries do, in fact, work with Android unmodified.
Is there not some aspect of copyright law that prevents these sorts of doomsday abuse scenarios e.g. someone copyrights the sound of breathing and we all choke to death? It seems to me that the extreme collatoral damage that would be caused by copyrightable APIs is, in itself, a silver bullet argument against it.
Is there not some aspect of copyright law that prevents these sorts of doomsday abuse scenarios e.g. someone copyrights the sound of breathing and we all choke to death? It seems to me that the extreme collatoral damage that would be caused by copyrightable APIs is, in itself, a silver bullet argument against it.
Ah, you mean Oracle shill Florian Mueller?
Our "professional corporate communicator" certainly spends a lot of effort looking at these cases but his role in publicizing a a variety of bogus claims such as the various "Android violates the GPL" efforts inclines me to count my fingers and neurons after I read his blog.
Our "professional corporate communicator" certainly spends a lot of effort looking at these cases but his role in publicizing a a variety of bogus claims such as the various "Android violates the GPL" efforts inclines me to count my fingers and neurons after I read his blog.
Thanks for pointing that out. But law does sometimes conflict with how we wish things were or how things should just obviously work, and I don't pretend to know any better on the specifics (I certainly hope that there is indeed a precedent that protects abstract APIs from being copyrighted).
The guy did start the NoSoftwareParents campaign, so I don't know how much of an "Oracle shill" he could really be. Hard to really know, of course.
http://www.nosoftwarepatents.com/en/m/about/manager.html
The guy did start the NoSoftwareParents campaign, so I don't know how much of an "Oracle shill" he could really be. Hard to really know, of course.
http://www.nosoftwarepatents.com/en/m/about/manager.html
Mueller is a lobbyist. IE, he has a long history of being to represent various positions not of which are necessarily consistent (he has represented coalitions of closed-source companies for example).
http://en.wikipedia.org/wiki/Florian_M%C3%BCller
I'm not sure what is behind his current slant. However, I believe he created nosoftwareparents.com when he was working for MySQL. Oracle's acquisition of MySQL might be an explanation, here.
http://en.wikipedia.org/wiki/Florian_M%C3%BCller
I'm not sure what is behind his current slant. However, I believe he created nosoftwareparents.com when he was working for MySQL. Oracle's acquisition of MySQL might be an explanation, here.
So I guess Oracle owes IBM a lot of money for its use of SQL through the years.
Indeed, and since this is a copyright rather than a patent IBM could presumably still assert it. For that matter, if this is upheld it seems as though IBM could go after all the makers of IBM-compatible BIOS chips through the years -- the situation seems virtually identical, right down to the clean-room reimplementation.
Careful with that blunt legal instrument, Larry...
Careful with that blunt legal instrument, Larry...
Time to register my copyright on int main( int argc, const char* argv[] );
Copyrighting return might have a good ROI as well!
How exactly do you even define an API in real world terms? You can't see it, touch it, smell it, or hear it. If you can copyright an internal API, you can copyright anything.
It's very possible to be able to see some representation of an API. They'd be virtually useless if you couldn't.
The reason APIs aren't copyrightable is that such a copyright would defeat the entire purpose of an API: interoperability between bits of software.
To me copyrights for APIs should be treated the same as for recipes and games. You can't copyright the list of ingredients or design, respectively, but you can copyright any text or images that goes with it. In the case of an API, the specific documentation such as JavaDocs would be copyrighted.
Sheesh.