Who Ever Thought APIs Were Copyrightable, Anyway?

Post Syndicated from Bradley M. Kuhn original http://ebb.org/bkuhn/blog/2012/12/09/oracle-v-google.html

Back in the summer, there was
a widely
covered
story
about Judge
Alsup’s decision regarding copyrightablity
in
the Oracle
v. Google
case. Oracle
has appealed
the verdict
so presumably this will enter the news again at some
point. I’d been meaning to write a blog post about it since it
happened, and also Karen Sandler and I
had been planning an audcast to talk about it.

Karen and I finally released last
week our audcast on it,
episode 0x35 of FaiF
on the subject. Fact of the matter is, as
Karen has been pointing out, there actually isn’t much to say.

Meanwhile, the upside in delay in commenting means that I can respond to
some of the comments that I’ve seen in the wake of decision’s publication.
The most common confusion about Alsup’s decision, in my view, comes from
the imprecision of programmers’ use of the term “API”. The API
and the implementation of that API are different. Frankly, in the Free
Software community, everyone always assumed APIs themselves weren’t
copyrightable. The whole idea of a clean-room implementation of something
centers around the idea that the APIs aren’t copyrighted. GNU itself
depends on the fact that Unix’s APIs weren’t copyrighted; just the code
that AT&T wrote to implement Unix was.

Those who oppose copyleft keep saying this decision
eviscerates copyleft. I don’t really see how it does. For all this
time, Free Software advocates have always reimplemented proprietary APIs
from scratch. Even copylefted projects
like Wine depend on this, after
all.

But, be careful here. Many developers use the phrase API to mean
different things. Implementations of an API are still copyrightable,
just like they always have been. Distribution of other people’s code
that implement APIs still requires their permission. What isn’t
copyrightable is general concepts like “to make things work, you need
a function that returns an int and takes a string as an argument and
that function must called Foo”.

Note: This post has been about the copyright issues in the case.
I previously
wrote a blog post when Oracle v. Google started, which was
mostly about the software patent issues
. I think the advice in
there for Free Software developers is still pretty useful.