I am going to start by stating that I've read (almost) all the posts related to the AGPL license. Unfortunately it's not yet clear. Most of the posts refer to libraries while I use it as an application.

My use case: Use pm2 (https://libraries.io/npm/pm2) to manage (proprietary) services on a server without modifying the source code (so start, restart etc.). The users would interact only to the services that are managed by pm2.

Do I need to make public anything ? (if yes, what exactly?)

1 Answer 1


There were heavy debates on the extent of AGPL on this site that were not really clearly solved, but as you said they concern mostly the use of AGPL software as a library.

When looking at the page you linked, we can read in particular:

PM2 is made available under the terms of the GNU Affero General Public License 3.0 (AGPL 3.0). If you use the PM2 API contact us for a possible LGPL license.

What they mean to say (clumsily) is that they consider that as soon as you are using the PM2 API, you are producing a derivative work (a "modified" version of the software) and thus you are bound by the terms of the AGPL license. In that case, they offer (probably for a fee) to license the software to you under a more lax license (even though, it won't exactly be the LGPL, unless they are a bit dumb, because if it were the LGPL, then you could redistribute their software under LGPL to anyone else).

Now, if you are not using the API but only using the software through scripts / command-line / pipes / sockets, then this is what is generally considered arm-length interaction, and the FSF has repeatedly claimed that this should probably not be considered modification in the case of GPL, thus it should not either in the case of AGPL.

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.