I have a proprietary desktop app that uploads images, and a proprietary web app that displays the images. Can I use a GPL image server for these images?

I am reasonably sure the answer is yes, and the following question seems to verify that, but I wanted to triple check...

Proprietary desktop application that works with AGPL-licensed server application


The GPL imposes requirements when you convey/distribute GPL-covered software. These requirements trigger regardless of whether the software is in source or binary form, whether the software is distributed in source or in part, or whether the software was modified – but your precise obligations depend on this. The GPL does not impose any obligations when merely running the software, without giving anyone else a copy. You are perfectly free to run the software for any purpose, including commercial purposes and when interacting with the software through proprietary applications. Thus, using GPL software on your server comes with practically no obligations. A lot of popular server-side software is GPL-based, such as Wordpress.

Some open-source licenses do require extra care when running them on a server.

  • The AGPL is exactly the same as the GPL, except that it also triggers requirements when you modify the software and let other people interact with that modified software remotely over a network. This is usually not a problem for stand-alone AGPL programs, but has far-reaching consequences when using an AGPL library as part of your backend.
  • The Cryptographic Autonomy License is a novel open-source license that tries to ensure that end users remain in control of their data, as necessary so that end users can actually run the software for themselves. This potentially imposes obligations even when running unmodified versions of the software, but the requirements are in line with other legal obligations you'd have anyway for running a public service.

There are many non-open source licenses that do impose very tricky requirements. E.g. the SSPL is difficult to comply with in specific use cases. The non-free “commons clause” can forbid certain uses.

One aspect you mention in your question is that a non-free application will interact with the GPL software. Here, the question is whether the two parts effectively form a single program. But as long as the two parts are clearly separate programs and are not linked into a single process, the GPL does not affect your proprietary parts. If the GPL server is stand-alone, everything is fine as discussed above.

The GPL FAQ entry on Mere Aggregation explains the FSF's opinion on this: “pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs”. HTTP requests would also be a case of such mechanisms.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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