Let's say I have two applications:

  • Server-side application which is written by myself entirely and it communicates with a GPL software in various ways, i.e: HTTP REST API (preceisely it's Asterisk if it does matter).
  • Client-side application which is also written by myself entirely and it communicates only with my server-side application.

Now I have two situations and I want to know if I should distribute the source code of any of my applications (none, one of them or both) in each of those situations:

  1. My server-side application is installed on my server and no one else can get binaries of it. Binaries of my client-side application are distributed to end users.
  2. Binaries of my both applications are distributed to end users but my server-side application requires users to install the GPL software on their computer.
  • 1
    Are the "various ways" in which the server communicates with the GPL software all HTTP REST API's or are there also other communication mechanisms involved. If so, can you mention them all, as it is relevant for answering the question. Nov 6, 2020 at 7:59
  • Bart makes a good point that you should try to clarify if you can, but from the way you're currently stating it neither of those would /need/ their source distributed -- the software may be GPL'ed, but the API is entirely free. Nov 6, 2020 at 11:54
  • 1
    Just to check: the GPL software is unmodified by you, and you use its normal API? You did not add a special backdoor API to Asterisk?
    – MSalters
    Nov 6, 2020 at 13:03
  • @MSalters I'm not an expert of VoIP servers (which Asterisk is) but I'd like to use SIP for creating calls between participants. Media between them is exchanged using RTP. Controlling the Asterisk is performed by using ARI (which is HTTP API) and there are also WebSockets events sent by Asterisk which I'm handling. SIP and RTP are used for calls because Asterisk is just a VoIP server for creating calls. I didn't modify anything in the software, the only changes I've made are in config files.
    – Jelony
    Nov 10, 2020 at 19:31

2 Answers 2


As all parts in this setup (client-side, server-side, Asterisk) only communicate with each other over standard communication mechanisms for communicating between different processes, I believe it is correct to state that they all communicate "at arms length".

That is a test used by the FSF to determine if your server-side application should be considered a derived work of Asterisk and the outcome of that test is that it isn't a derived work.

This means that your applications and Asterisk are independent works for copyright purposes and their licenses do not affect each other. As a result, you are completely free in choosing the licensing terms of your own applications and you can choose to keep the source code private.

You could even create a distribution package that includes Asterisk and still keep your applications closed-source.


The server side app is under the GPL, not under the AGPL, so no, you do not need to distribute source code.

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.