I would like to use Ghostscript in a web app to merge pdf files.
The web app will be deployed as a standalone app, it will not be open-source and it will run on a computer accessible only internally (on LAN or VPN) by users of the organization.
Ghostscript will be installed at the operating system level and used through a shell command from xojo code.
Is a use of this type, without exposing the app externally, allowed by the AGPL with which Ghostscript is distributed?
This is a question for your lawyers.
This isn’t legal advice, but my understanding is that this is completely within the AGPL, with two assumptions: you’re not distributing the Ghostscript executable or source code, and that you’re not making any changes to the Ghostscript source code.
Linking to external libraries or using them in your project does not necessarily mean that your project becomes subject to open-source requirements. For instance, when using ImageMagick, which employs Ghostscript, the interface may resemble this: ExecuteGhostscriptCommand(command, status);
I’m not a legal expert, but as long as you refrain from distributing Ghostscript, making copies of it, or creating derived works from it, Artifex has no legal claim against you. They can’t charge you for designing your program to run an arbitrary command-line utility with customizable parameters for PDF conversion.
That IS a legal question…
In a nutshell, the AGPL is for a “network server software”. This means that using the AGPL software on a web app could be considered as DISTRIBUTING the open source code with all its implications, so, you need legal advise to be sure if you can use a non modified version of the AGP software with a closed source web app.
I very much doubt your interpretation is correct. From how he has described his usage, he will be calling the Ghostscript executable via a Shell object. He won’t be linking against the Ghostscript libraries (and possibly integrated them into an executable); it seems unlikely that he will be modifying the Ghostscript code; and he will never be “conveying” the Ghostscript code in any way.
Again, not a lawyer, but I don’t see any problems with the proposed usage.
The AGPL (Affero General Public License) is a strong copyleft license that requires the source code of any modified version of the software to be distributed under the same license terms.
In this case, since there are no modifications the Ghostscript software and are only using it as a command-line tool, the use of Ghostscript does not trigger the AGPL requirements to distribute the source code of your application.
However, it is worth noting that the AGPL does have a broader definition of distribution than other open source licenses. According to the AGPL, distribution also includes making the software available over a network, which means that if you were to make your web app publicly accessible over the internet, then you would be required to make the source code of your application available under the same AGPL terms.
Since you mentioned that your web app will only be accessible internally within your organization, and not publicly available over the internet, your use of Ghostscript in this context should not trigger any AGPL requirements.
Here’s an interesting bit of analysis on the GNU website concerning “aggregates” – assemblies of code and/or programs that operate together, and the (presently ill-defined) lines that separate the definitions:
https://www.gnu.org/licenses/gpl-faq.en.html#MereAggregation
By GNU’s own descriptions, merely interacting with a GNU-licensed executable via a shell leaves the two components as separate programs and thus your code remains unencumbered by the APGL license – until you cross some fuzzy line where the interaction becomes too complex or intimate and then you’re possibly in trouble. Maybe. Perhaps.
This has been the problem with the GNU licensing regime over the years: very little of it has ever seen the inside of a courtroom, despite the high ongoing incidence of violations. A lot of these terms and legal constructs simply haven’t undergone the kind of “trial by fire” that results in solid law, so while a large number of people agree on what the spirit of the license is, there isn’t a legal consensus on the letter of the license.
Thank you for clarifying my doubts.
In fact I don’t have to modify the Ghostscript code, nor do I have to embed/link it in the application: it is installed in the operating system and is separate from the application; I just have to call it via a shell object.
Furthermore, the web app will not be publicly available on the internet but only on the organization’s LAN.
So, ultimately, I think it’s neither about modifying the code covered by the AGPL (whatever is meant by “modification”) nor about distributing it publicly.