So, I've been reading the AGPL and here is my understanding (not being a lawyer and I'm not trying to look at it through the lens of "Since I WANT it to be ''free'', it therefore is.". In my case, I am considering the use of itext, an AGPL library, to crack open PDF files and extract the text - that's it. There will be an internal desktop app and I've proposed using my extraction code (which uses the itext dll) on the website to speed up the process for those folks upstairs who've been doing it manually for years.
- "the program" means the itext lib, being the copyrightable work.
- "modify" or "based on" means, a version of the program which differs from the original. Not applicable here since I am not modifying the code.
- "covered work" means the original or modified versions of the original work. In my case, it would be the original work.
- "propagate" and "convey" mean to copy or distribute the program (the itext lib, in my case, compiled as a dll), in which case, as I understand it, the source to the covered work must be made available. This doesn't apply to use within companies (since the company can require employees to not make copies and distribute software). Use on public facing networks though, might be a consideration per sec13, though the web users won't be interacting with the program itself or with the output of the program.
- "interactive user interface"... so far, haven't seen one in the lib but this is probably the least clear of the definitions since it mentions the "work" and libs (the work, in this case) generally don't interact with users. If I need to, I can include a mention somewhere, no biggie.
So, by my interpretation of the definitions, the covered work is the itext code I am using. The code I write separately, is not based on or modified from the itext code and thus, can be licenced any way I choose, incl locking it down tightly or posting openly on my fav forum. So long as I do not modify or incorporate copyrighted AGPL code directly into my code, there is nothing I can see in this licence that prevents me from linking to the original version I downloaded. Most I might have to do is provide the source to the version of the covered work.
So, emotions aside and focusing solely on legality, what say you? I think it's clear from the FSF FAQ, that internal corporate use means I can do pretty much anything I like and no source needs to be distributed outside the organization. My only real concern is making a web app which in turn, makes calls to the itext lib. What am I required to do in this case? I believe I only need to provide a link or location to download the itext code. Another option, what if I made a small, separate, standalone program, and had the website call it via a standard "run" mechanism? The rest of the existing website should not have to suddenly fall under the AGPL even if my text extractor portion does, correct?