Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

After reading for what seems days on the specifics of GPLv3 and more specifically AGPLv3, I have one question as far as distributing and to whom.

If I create a web app (server and client) for a client. They pay me, I hand over all source and ownership. The web app is currently only accessible to employees and contractors; but for the sake of argument, it could be anyone since it's on the internet.

The AGPLv3 code is not modified (in this case iText), it is used to generate a PDF from other text (and all this [could] happen in its own project/dll completely separated from the main web app). To who does the source have to be released and shared with:

  1. Employees
  2. Any user of the app
  3. Any non-employee user (clause for distribution within an organization's employees)
share|improve this question

The AGPL has a clause in it that specifically closes the loophole of the application (because it is a web application) not actually being distributed. All users are granted access to all of the application's source code.

However, if you can demonstrate that

  1. iText is not required for your application to function, but merely adds an additional feature to it, and
  2. You communicate "at arms length" with iText, and do not "link" your code with iText

then you might be able to assert that iText is a separate application, and therefore is subject to different distribution terms. More info here:

All that said, if iText has licensed their software under the AGPL, it's a pretty strong indicator that they expect it to be used in a copyleft fashion under all circumstances. Note that a commercial license of iText is available, which will release you from the AGPL's restrictions.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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