I was initially going to post this on softwareengineering.stackexchange but after some research I believe this might be more on topic here.

I was recently faced with the problem of needing an open source substitute for a closed source commercial software library for a personal project, mostly because the library did not offer bindings for the language I was working with.

While I later abandoned this approach I initially thought it might be a reasonably idea to reimplement the libraries API myself in the target language. But then I remembered that a couply years ago Oracle had successfully sued Google over their commercial use of a reimplementation of one of their APIs (see this post for reference). While I don't believe any of my personal projects will ever have enough impact to incentivize a large corporation to sue me and I'm also not to sure about the actual licencing/copyright of the library in question this made me wonder whether this court result also sets a precendent for cases like mine in which the functionality of some API is replicated in a sufficiently different technology.

I live in Europe but I would be content with an answer based on US-law, this is solely a matter of interest.

1 Answer 1


I was following the Google-Oracle case for a while, to make sure the courts weren't creating an undue obstacle, so I know a little about the US law.

In the US, an API is a written work requiring originality, so it's copyrighted. In the US, copyright is generally not allowed to stop you from doing something. If I were to write a Java program that can be expected to use existing Java libraries, or a library that can be expected to be used by existing Java programs, the API copyright would not matter because that would prevent anyone from writing Java programs or libraries without Oracle's permission.

Google was at least alleged to be doing something different on Android, so Android Java programs would not be expected to use standard Java APIs, and Android libraries would not be expected to be used by standard Java programs, and in that case Google would be infringing on Oracle's copyright. The allegation was that Google just took the language and API because they were already familiar to programmers, who wouldn't have to learn something new in order to program for Android. The language is free to implement, but the APIs aren't necessarily. (I don't know how the case turned out, since I stopped following after the appeals court ruled on the law.)

You appear to be writing a library so you have the same functionality with additional language bindings, but using the same API. There are doubtless programs out there that use this API to call the closed-source implementation. If these programs would be able to use your implementation (the programs and the library do not have to be in the same language), you should be OK in the US. If, for some reason, the existing programs couldn't call your implementation (other than trivial things like language bindings), you probably would not be.

I know nothing of how EU law would handle this, or if all EU countries would handle it the same.

  • Sorry, took me a while to read your answer, this explains it very nicely.
    – Peter
    Commented Dec 5, 2018 at 14:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .