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:
- Employees
- Any user of the app
- Any non-employee user (clause for distribution within an organization’s employees)
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
- iText is not required for your application to function, but merely adds an additional feature to it, and
- 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: http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#GPLInProprietarySystem
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.