What (if any) are the implications of the recent Supreme Court decision in Oracle v Google. It sets precedent that APIs are fair use. But how does this work with GPL?

Specifically, imagine the following scenario. I create a library A that uses library B. Suppose library B is released under GPL. My understanding of GPL (and please correct me if I'm wrong) is that it requires library A to be released under GPL. But if all I'm using from library B is its API, then why can't I, under fair use, release library A under MIT? When a user compiles the code using library A (and B under it), then the compiled code has to be GPL, since it's including more than just the API of library B. But it seems like the source code to A itself could be any license I like. After all, one could one day create a library C that implements the API of B, but is itself MIT. Then user-compiled code that includes A+C could remain MIT.

Is my thinking on this off, or is it really the case that my hypothetical library A could be released under MIT?

P.S. This questions is related to, but different from an earlier question about the case. The obvious difference is that the Supreme Court decision is new.


First off, to compare the Oracle v Google case with your example, the Oracle code would be similar to library B and the Google code would be comparable to library C. The equivalent of library A would be a normal Java library written by a third party (i.e. not part of the JDK or Android).

The decision by the US Supreme Court has very little to no impact on the GPL license.

The copyleft aspects of the license show in two ways:

  1. Once a piece of code is subject to the GPL, it must remain under that license.
  2. When GPL code is combined with other code, the terms and conditions imposed by the GPL must be observed also for the other code, even if the actual license of that code doesn't have those terms and conditions. However, only the copyright holders of that other code can actually change the license to be GPL.

To avoid complicated licensing situations (especially if the build process actually copies some API code of library B), it is commonly recommended that you license your library A under the GPL, but that is not strictly needed. A GPL-compatible license is sufficient for the most part.

None of this is actually affected by the ruling of the US Supreme Court, except perhaps where content of a header file of library B gets copied into library A.

What the ruling of the US Supreme Court does affect is the creation of library C, where it has become easier to study the API of library B without being affected by the GPL license of it.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.