I have written a Java program designed to run server-side with a plain HTML web interface: I am reusing and I have integrated in this app a bunch of third-party libraries that are licensed under the GPLv3. Some are pure Java, some are a combo of C/C++ and Java. I am calling their methods from my Java code.These libraries do not contribute directly to the UI of my app, but rather perform utility functions on the back-end, though some output can be made available to users for download in my web app.I use all these libraries as-is and unmodified: I use only the pre-compiled binary Jars as provided by the projects. In each of the following cases, when would I have to redistribute the source code of my own application and of this library per the GPLv3? e.g. when is the copyleft triggered for my unmodified usage?When I run this web application on a private company network and its is only available internally to my company employees?When I run this application as a public web site on the open internet?When I redistribute this application (including the GPLv3 libraries) as a packaged software product to a third party?For clarity: none of these libraries have a GPL exception: they are using the full GPLv3
GPLv3 redistribution: when does it apply?
gpl 3;java;website;redistribution
When I run this web application on a private company network and its is only available internally to my company employees?No, see below.When I run this application as a public web site on the open internet?No. Neither of these cases is an example of conveying (or distribution as it used to be called in GPLv2): https://www.gnu.org/licenses/gpl-faq.en.html#NoDistributionRequirements.When I redistribute this application (including the GPLv3 libraries) as a packaged software product to a third party?Maybe. The FSF view on this issue is that your application will be a derivative work of the libraries you are linking with, and therefore the whole program must be released under GPLv3. If you can successfully argue that the bundle is a mere aggregate, however, you may be able to get away without open sourcing your application, and only providing sources for the GPLv3 libraries. Expect to get a lot of flame if you go this route, however.Also, check for linking exceptions in the libraries. Many GPL libraries have linking exceptions that explicitly allow proprietary programs to link with them. In this case, you are free and clear as long as you distribute the sources of, and any modifications you make to, the libraries themselves.