Case 1:

I'm currently developing a plugin for GPL Software/ am using the GPL-licensed API to develop the interaction between the plugin and the software. I'm therefore having a dependency added to this API in my pom.xml (maven).

As it's just the plugin I don't have to publish the APIs classes and don't include them in my jar or github repo or similarly.

Case 2:

I develop an application that depends on another project licensed under GPL. As I intend to write multiple projects based on this library, I write my own library to hold some shared code.

Case 2a: This shared-code-library does not contain any of the GPL-Code or classes, only a reference in its pom.xml and references to it in its code.

Case 2b: My main project is published with the GPL-classes to make it easy to run for the client.

As far as my understanding goes, my code has to be GPL-Licensed in all of these cases. That's not my question. If I'm wrong, constructive input on this is appreciated anyway.

My question is: Do I have to include any information on the license of the dependencies (and the GPL-license itself) in cases 1 and 2a? I'm pretty sure its required in case 2b. Case 2b is provided more or less to make it easier to differentiate from case 2a. If I'm wrong, constructive input on this is appreciated anyway.

This topic is similar but talks about BSD and MIT licenses, where this procedure apparently doesn't fall under distribution. From what I've read (and I'm not particularly well informed on this tbh) GPL sometimes feels a bit nitpicky on some other topics (i.e. if API usage counts as a modified version, see also this question). What do you think is the case in this situation?

Additional context to justify my question:

I've since found a maven plugin that helps me to include the licenses in the final jar file (no matter if the library is included or not). There is no real point for me to exclude them in case 1 and case 2a if I already researched the maven plugin for case 2b anyway.

The point is that I'm currently publishing to github packages in a private repo. As far as my understanding goes, as soon as I make the repo public, all the packages (and all versions) will go public as well. This means that I would have to delete the old alpha and beta releases before going public, if license files were required. That might not be too big of a deal, but I'd like to preserve the projects history for anyone thats interested in it.


Your Answer

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

Browse other questions tagged or ask your own question.