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?