asciidoctor / docker-asciidoctor

:ship: A Docker image for using the Asciidoctor toolchain to process AsciiDoc content
https://hub.docker.com/r/asciidoctor/docker-asciidoctor/
Other
322 stars 150 forks source link

Ghostscript is missing #112

Open lurch opened 4 years ago

lurch commented 4 years ago

If the container included Ghostscript, it'd allow the built-in optimisation of asciidoctor-pdf to be used - see #111

mojavelinux commented 4 years ago

Interesting to note that Ghostscript is also AGPL.

CWempe commented 3 years ago

I am interested in this, too. Any news about this?

I tried it by installing ghostscript in the container myself. Works great.

But I would prefer a pre-build image of cause.

The license seems to be no issue if I underdstand https://github.com/asciidoctor/docker-asciidoctor/issues/111#issuecomment-543020415 correctly.

I am happy to create a PR if that helps.

I used this:

apk add --no-cache ghostscript
gem install rghost

Should hexapdf (https://github.com/asciidoctor/docker-asciidoctor/issues/111) be included, too?

ebousse commented 2 years ago

I used this:

apk add --no-cache ghostscript
gem install rghost

Thanks for the tip! I created the following Dockerfile:

FROM docker.io/asciidoctor/docker-asciidoctor

RUN apk add --no-cache ghostscript
RUN gem install rghost

and the resulting image now allows me to run asciidoctor-pdf with the -a optimize=PDF/A option successfully :+1:

mojavelinux commented 2 years ago

The major obstacle here is the license issue. Both Ghostscript and HexaPDF are AGPL. Where I'm fuzzy is that we're adding them to a Linux distribution, which potentially already has AGPL software. I'm usually pretty good about being able to make license decisions, but this one has me stumped. We can't add software that threatens our own license. If someone can verify that won't happen, then we can move forward with adding them. Otherwise, I think the best approach is to clearly document in the README how to extend the image.

ksdhans commented 7 months ago

From the AGPLv3 license wording: A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.

I'm NOT a lawyer, but I'm pretty sure that this clause explicitly allows the inclusion of AGPL software in a software distribution without making everything in that distro AGPL. It should be fine, so long as ascidoctor is calling Ghostscript or HexaPDF as an external tool instead of directly linking to it.