Computer Scientists Ask Supreme Court To Rule APIs Can't Be Copyrighted
An anonymous reader writes: The EFF, representing a coalition of computer scientists, filed an amicus brief with the Supreme Court yesterday hoping for a ruling that APIs can't be copyrighted. The names backing the brief include Bjarne Stroustrup, Ken Thompson, Guido van Rossum, and many other luminaries. "The brief explains that the freedom to re-implement and extend existing APIs has been the key to competition and progress in both hardware and software development. It made possible the emergence and success of many robust industries we now take for granted—for example, mainframes, PCs, and workstations/servers—by ensuring that competitors could challenge established players and advance the state of the art. The litigation began several years ago when Oracle sued Google over its use of Java APIs in the Android OS. Google wrote its own implementation of the Java APIs, but, in order to allow developers to write their own programs for Android, Google's implementation used the same names, organization, and functionality as the Java APIs."
"in no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work." -- 17 U.S. Code 102
Baker v. Selden was one of the big rulings on this clause. But it was not consistently applied to newer technology like APIs.
It helps when a judge knows what an API is, the purpose of an API is clear to engineers. To provide an interface for operation of software components. But the courts haven't fulled grasped if that is a method of operation, as above, or is an API a "structure, sequence and organization" which would fall under copyright?
As a software engineer, I've always considered APIs to be a system to allow interoperability of software components. Given the same requirements and same software language and industry practice it's not hard to end up with very similar APIs between independent software teams. It's not an invention, even though there is work involved in designing and writing and testing it. And in cases where software compatibility is the requirement, there is no choice but to use the same interface (computer science might generically call it a contract). If a procedure requires three integers and a returns a float, that's not an invention that's an agreement between software components to permit inter operation.
“Common sense is not so common.” — Voltaire
There is no law covering "Intellectual Property" so you've actually said nothing at all. Legally, it's an empty sentence.
The laws governing copyright, patents, trademarks and every other legal concept commonly lumped under the banner of "Intellectual Property" are all entirely different, and in most cases they are mutually exclusive. This makes using them in the aggregate as "Intellectual Property" legally meaningless if one is trying to state something concrete.
The issue at stake in the topic is whether APIs are copyrightable, so perhaps you meant to say "APIs are copyrightable". However, since you haven't bothered to say WHY you think they are copyrightable, your contribution on the matter is exactly zero.
Because once you've got that, all the valuable work's done, right? Because what's left is just a SMOP?
Horse shit. As a copyrightable work, a bare API is grossly incomplete. With just the API, you've got _nothing_. It doesn't work. You can't make it work. You have to actually create or acquire the thing it describes to make it work. All of it. The converse is true, too. You have to have both parts to actually use the work. When judging whether copyright has been infringed, two of the major considerations are what fraction of the work has been copied, and what effect the allegedly infringing work has on the market for the original. It's simple: if I distribute _just_ the headers, nobody's going to want to come to me to get what I've copied, because it's a useless pile of shit without that implementation backing it. It's nothing. They get that part right along with the actual copyrightable work, for free. The part I copied resembles the whole about as much as a book's table of contents and index resemble the book -- Google even stripped the blurbs.
Personally, I think the EFF's concern (and the appeals court's distinction) are in error, that they lend credence to a distinction that has no right to so much as exist. The law says that fair use does not infringe. It doesn't say it's infringement but it's permissible. It says that fair use is not an infringement at all. It says that copyright does not, by statute law, extend to cover fair use. Alsup said you can't copyright APIs because they're simply functional descriptions, which aren't copyrightable. Whether or not the Supreme Court accepts his opinion on the legal basis, he's right: distributing just the API is also intrinsically fair use because it is intrinsically, by nature, wholly incomplete, to the extent that it's utterly unusable, completely unmarketable, of no value whatsoever without an actual work that usefully matches its description. Copyright simply doesn't have the reach to cover it.
As always, all IMO. Insert "I think" everywhere grammatically possible.
A lot of work goes into creating a good API. Copyright should be greatly reduced or eliminated if we care about human progress, but bad law passed by Congress is still law. The Supreme Court will probably rule against these computer scientists, and that may make things worse than ambiguity. "For a limited time" has already been deemed by the Supreme Court to be effectively equal to infinity minus one in the "Eldred v. Ashcroft" decision instead of the Supreme Court ruling copyright longer than a few years was now defeating "the Progress of Science and useful Arts" which IMHO would have been a better ruling. Given that, what should happen is that either Congress should change the copyright laws or we should change the Constitution and withdraw from various copyright treaties. But that would interfere with the Constitutional right for existing big businesses and long dead authors to make a profit.... Of course, it's also been shown that profit is no motivation for creativity, but that is conveniently ignored in a capitalist society:
http://www.youtube.com/watch?v...
See also:
http://www.neurope.eu/article/...
"Ignoring these exclusive rights - the copyright monopoly - allowed Eastern Europe to leapfrog 20 years of development. This is a consistent pattern through economic history: it is only the countries that are geopolitically dominant at a particular time that seek to impose their exclusive rights upon others, as a means of kicking away the ladder to the top. When the United States was in its infancy, those who illegally copied science, production plans, and useful arts from Great Britain were proclaimed national heroes. It was only recently - the 1980s - that the United States began aggressively pushing its exclusive rights regime as part of being a superpower, and as an integral means of maintaining that superpower."
http://blog.p2pfoundation.net/...
""There is an overall culture of sharing knowledge here, even if this isn't called 'Creative Commons'. We had the launch of CCIndia in early 2007, but there seems to be little activity there... I think CC is a bit too conservative and too respectful of copyright issues. Copyright has not worked for us (in the developing world) for generations. Generally speaking, copyright in any form, including CC, doesn't fit in too well with Asian ideas of knowledge, since it enables those controlling knowledge and information over the rest, and we find it impossible to emerge winners in this game. It is a colonial law, not meant to serve the interest of the people of those parts of the globe that are not ahead in the information race! Why should we be as respectful to it, as, say, Lawrence Lessig is?" "
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
The APIs that Linus used for Linux were not ones in general that he created. These APIs already existed in Unix. Linux was essentially a Unix cloning project. Rewriting it to remove the intellectual property attachments that still existed in Unix. The model that Google followed with Java for Android was very similar to what Linus did for the Linux rewrite of Unix. If the copyrightable APIs that you desire existed at the time then Linux could never well have come into existence and we would only have proprietary Unix which would have never would have taken off like Linux has since the primary attraction of Linux is the open source nature of it.
def fastFactorPrimeNum(primenum):
"""quickly factor a prime number"""
return 1, primenum
Happy to help. Only copyright stands in the way of breaking cryptography forever.
There are a few different types of APIs involved with Linux, so it is more than the public API:
http://en.wikipedia.org/wiki/L...
Consider: ... Here's an example that shows how this all works. The Linux USB code has been rewritten at least three times. We've done this over time in order to handle things that we didn't originally need to handle, like high speed devices, and just because we learned the problems of our first design, and to fix bugs and security issues. Each time we made changes in our api, we updated all of the kernel drivers that used the apis, so nothing would break. And we deleted the old functions as they were no longer needed, and did things wrong. Because of this, Linux now has the fastest USB bus speeds when you test out all of the different operating systems. We max out the hardware as fast as it can go, and you can do this from simple userspace programs, no fancy kernel driver work is needed."
http://www.kroah.com/log/linux...
"For Linux, we don't have a stable internal api, and for people to wish that we would have one is just foolish.
And:
http://www.helixsoft.nl/blog/?...
"Linux pioneered that model: they call a stable API nonsense. The interface between drivers and the kernel changes all the time. If the Linux developers think of a better, more consistent or more efficient way to interface with the drivers they go ahead and make that change."
Thinking up "a better, more consistent or more efficient way" to interface sounds like creative work to me.
I had a similar disagreement with Alan Kay who argued that programs are mathematical. Given that for our Garden Simulator my wife spent over a year full time translating badly-named spaghetti Fortran code from EPIC to well-structured Delphi code that did essentially *exactly* the same thing, but now was understandable and maintainable, I see *enormous* benefit in naming functions, parameters, and structures well and know how long it may take to do that.
http://www.kurtz-fernhout.com/...
http://www.kurtz-fernhout.com/...
If you don't believe well-named APIs have great value, try, say, reverse engineering compacted JavaScript code. It's possible, but it takes an enormous amount of time. From another angle, most of what is written in fiction is about the same old thing -- human conflicts, human emotions, human behavior, and so on; what differs is often mainly the nuances of how things are described or the sequence they are described in. Why should Disney get a copyright on "Snow White" (the movie) just because it attached some specific names and faces to seven dwarfs when the story itself was public domain at that point? What difference is there in that case from giving names to functions and parameters for Java when the general notion of calling into a virtual machine is also effectively in the public domain?
However, I still think you have missed my point because you say I desire copyrighted APIs. I'd rather see copyright rolled back entirely or at least greatly restricted like along the lines Richard Stallman proposes. What I am saying is that as long as one supports copyright as it is now, and as it is being expanded, then you have to accept APIs should be copyrightable. In that sense, if you believe in the value of copyrighting computer software, Linux should *not* have been legally made ignoring that copyright violation sued to be mostly just a civil matter until recently it became criminal, and that the UNIX copyright holders would have had to chosen to purse Linux in court).
I think we probably agree on the moral an economic aspects of FOSS. My point is that we should not be trying to carve out special exemptions for APIs when the whole copyright edifice is maki
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.