As a company we have a proprietary software, coded in Java and distributed to our clients in .war packages that they run on their servers. To run, the software requires a program licensed under GPLv2 or later. The creator calls this program a library, but it can be executed from shell as a standalone entity.
How it works is:
- our software receives a file via API
- we convert the file into another format using the program (run from shell)
- we extract certain data from the new format, we organize it, aggregate information and perform analysis
- we return the new information in XML/JSON to the client via API
Our software is used by our clients under our own license for a fee. Before actually using it, the clients have to download and install the program on their own as a dependency. So in that regard we're in the clear selling our software without any GPL restrictions.
However we've run into an issue with interpreting the license when one of our clients asked us if we could release our software as a docker image with all dependencies already inside.
Our issue is that we would technically be distributing the program as part of a whole (our software + program in one entity) which in theory would fall under:
when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
However, 2 paragraphs down we read:
mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
We don't modify the program we use at all, we just use it in runtime. We also believe our software can't be classified as "work based on the Program" under the definition of "the Program or any derivative work under copyright law". This leads us to believe that the docker image with both our software and the program would not make the software or the docker image a GPL licensed Program.
The new client in question doesn't want to get the docker file, they require an already "compiled" docker image.
So, can we distribute docker images containing a GPL licensed program used by our proprietary software without making the software fall under GPL as well?