11

Recently I ran into a GPL license related problem and I heard many people claiming many different things. I made this post to get this cleared up for myself.

Situation There is a program which is licensed under GPL V3. This program has an API, which is also licensed under GPL V3. This program can load external jar files (plugins) which depend on the public GPL V3 API. So, the program actually "starts" my program (my plugin).

The GPL FAQ says to following.

If a library is released under the GPL (not the LGPL), does that mean that any software which uses it has to be under the GPL or a GPL-compatible license? (#IfLibraryIsGPL)

Yes, because the software as it is actually run includes the library.

My question So, if I include a GPL library into my project, I have to license my project under GPL as well. However, I am not including any code from the GPL V3 API. I am calling code from the API, but I have not copied any code of the API into my own project. Neither is any code shaded into the jar. Do I have to license my project under GPL as well? Or may I choose my own license?

3
  • 3
    What kind of "API" are you talking about?
    – Philipp
    Jun 4, 2016 at 11:19
  • 1
    The Bukkit API, github.com/Bukkit/Bukkit
    – sander2798
    Jun 4, 2016 at 12:13
  • @sander2798 IANAL, but most bukkit plugins are undeniably "derived from" the Bukkit API
    – user253751
    Jul 21, 2020 at 20:55

1 Answer 1

5

This is a difficult, and often-asked, question. IANAL.

Essentially it comes down to how closely linked your code is to this API. If it is clear that they are two completely separate programs, then you're ok. If your program makes calls back and forth and shares "data structures", then they could be considered the same program.

I wrote this answer and this answer recently which both touch on this topic. I'm sure there are plenty others around here too.

One thing to consider is what GNU say on this topic themselves, particularly this FAQ answer. In the end it's going to be down to interpretation - that of judges if it ever goes to court.

But what I would recommend in your instance is just getting in touch with the authors of Bukkit. Tell them what you want to do and how you're doing it. If their interpretation is that the programs are not connected, great - you've pretty much got a green light. But if they interpret it differently, then - legalities aside, ethics at the very least - would say that you would need to also GPL your code.

1
  • Considering how prevalent APIs are today, a strict interpretation would mean that data processed or transported by a GPL-licensed project via API cannot be used by non-GPL software, despite the fact that the GPL does not apply to the data itself. Jun 18, 2022 at 9:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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