I am planning to use a command-line tool on a docker image that our SaaS application has used to deploy some microservices. This command-line tool is licensed under AGPL and one of our microservices requires that to be installed on the docker image. Which of the following scenarios would be applicable to my case?

  • I have to release the entire SaaS application under AGPL
  • I have to release the corresponding microservice only under AGPL
  • I only need to release the docker build file (source code to build the docker image) under AGPL
  • I don't need to release anything under AGPL as I am only using the tool in an independent way via shell

The script is called Ghostscript which is a quite popular script when it comes to modifying pdf files. I'm considering to use it to merge a few pdf files into a single pdf file. The licensing details of this script can be found here.

  • 2
    I'm confused. Your question says that you use the tool on each docker image, presumably before shipping it, but then you suggest that it has to be installed in each docker image. Could you please be quite a lot more specific about what the tool is, what it does, and how you use it?
    – MadHatter
    Dec 9, 2020 at 7:40
  • 1
    @MadHatter I've added the licensing details and the script name to the question. This package does not need to be installed on each docker image. It's only required to be installed on the containers that are dealing with generating pdf files (Just required for one of the many services). So because I'm using this tool from the bash, I need to install it on the docker image that's shipped with the corresponding service. Then my service which is running on the custom container (with the Ghostscript installed) uses this script to merge some pdf files and send it to other services.
    – Ali
    Dec 9, 2020 at 10:06

1 Answer 1


Ghostscript is a perfect example for an 'aggregate' software as defined by Section 5 of the GPLv3 license.

Ghostscript uses a command line interface, which is not an 'intimate communication' for the purposes of determining, if your program is a combined program with Ghostscript.

The GPL FAQ describe it in detail. Based on the setup you described in your question above (and provided that you use Ghostscript only through the command line interface), Ghostscript code and the rest of your docker image is just a mere aggregation.

Your Answer

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

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