I made an AGPL-3.0 project in Python3 that fills in missing regions of images.

Someone made a website that uses the AGPL code on their server. A user uploads an image on their website, the image is saved to a folder on their server, and, the AGPL Python3 code (which processes the image) is executed with a PHP script.

They share their modifications to the AGPL Python3 code but do not share the PHP script or any other server/website code.

Is sharing the modified AGPL Python3 code sufficient? If not, what needs to be done to comply with AGPL?


The distribution requirements of the AGPL license apply to derived works, not to works that merely co-exist or interact with the AGPL work.

The big question is when is a work a derived work. The FSF (the authors of the AGPL license) draw that line at the process boundary and a concept called "at arms length communication". In a nutshell, it comes down to if it is possible to create a drop-in replacement for your Python3 code that does not contain any of your (A)GPL-licensed code.

Generally, this is possible if the PHP and Python code only communicate using the normal command-execution mechanisms of the underlying OS and don't depend on particular data structures being exchanged. In that case, it is indeed sufficient to publish only the (modified) Python code.

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.