The question sounds like a no-brainer if you're a F/OSS user: the EPL is best as it's more liberal than the AGPL. But is that really true? I don't think so. Let's ask the same question from another point of view. Which license is better if you're the developer of the software? I have personal experience with the MPL/LGPL and the AGPL, and I've learned my lesson the hard way: there's no doubt in my heart that AGPL is better than MPL/LGPL.
After the release of iText 2.0.7 in 2007, I was interviewed about my plans for the future. I answered:
[T]here's also Adobe LiveCycle, and forms are now defined in XML. This XML can be embedded in a PDF document, or the PDF document can be embedded in the XML. This is what the XML Forms Architecture (XFA) is about. Currently iText has limited support for static XFA forms. I've read the XFA spec, and in the long term, I'd like to provide more XFA functionality in iText, for instance for dynamic XFA forms.
Why did I say in the long term? Because I knew that it would be a huge effort to write XFA support on my own. Also: I wouldn't be able to count on code contributors because XFA is something only specialists understand, and specialists usually don't work for free.
The November 2007 interview was the last interview I gave before my son was diagnosed with Cancer. In 2008, I've spent almost all my free time in hospital, and the only people who supported me on the professional level were my employer (Ghent University allowed me to work half time), a handful of iText developers I had known for many years, and the sales people at iText Software Corp. All the other players in the market were very inconsiderate. Either they dropped me completely (I won't mention any names), or they didn't care (freeriders mailing me: we're using iText, we have a problem, we have deadline, we need a solution now!), or they were very happy with my bad luck (competition got worse in 2008. Fortunately, we still have the best product available on the market).
After my son returned from the hospital (in December 2008), it took the sales people almost a year (until December 2009) to convince me to move from the MPL/LGPL to the AGPL. Many people cursed me for doing so. They said: iText is no longer open source (WRONG! you can still inspect the source code if you want to). They said: iText is no longer free (WRONG: iText added freedom: if your product is also free as defined in the AGPL, you can still use iText). They said: iText can no longer be used in a commercial product (WRONG: iText can still be used if you purchase a license; which is the essence of commercial business). All those arguments are a waste of energy. Fact is that iText was imploding in 2009: the adoption of iText was (and still is) huge, and as a result the project was almost impossible to maintain as all questions eventually had to be answered by less than a handful people.
What changed with the AGPL is that from 2010 on, iText started making sufficient money to hire developers. In October 2010, I could afford to quit my day job to write good documentation (currently I'm writing a white paper on digital signatures). And we've started investing in new functionality and new products the moment we started making profit.
In 2007, I was afraid to make predictions.When I was interviewed in 2010, I was confident when I answered the question "Can you reveal some of the features you'd really like to have in iText?" Again I talked about XFA, and yes, we already have customers using our new XFA Worker (although we're expecting the first official release only in a couple of weeks). I mentioned new functionality regarding digital signatures. We completely rewrote that code, and that's what the new white paper is about. As for text extraction; this has been improved significantly in the last couple of years.
You can read the interview in 2011 to find out which new goals we had set for 2012: we wanted to make a version for Google App Engine and Android. Not only did we succeed, we also beat the competition (serves them right for their attitude in 2008). On Android, we're more than 10 times faster, using less than half of the CPU other products need. I won't disclose yet what we're working on right now, but... we're going to kick some more ass soon.
Now let me repeat the original question:
Is the AGPL better than the EPL (or the MPL, or the LGPL) from the point of view of the open source user?
Of course it is! Without the AGPL, we wouldn't have had any revenue, and we wouldn't have been able to invest in further development. People would still create digital signatures as was done in iText 2.1.7 (which is not the future-proof solution). With Adobe cutting resources on LiveCycle, companies wouldn't have any alternative vendor to turn to for helping them with their dynamic forms.
Is the AGPL better than the EPL (or the MPL, or the LGPL) from the point of view of the open source developer?
The year my son was in hospital, I was in serious trouble, and I was lucky that my sales people convinced me to make a change. Otherwise I don't know where I would have been now. Probably I wouldn't be working on iText anymore.
Is the AGPL better than the EPL (or the MPL, or the LGPL) from the point of view of the open source end users (our customers, and the customers of our customers)?
The end users were lucky too, because they made an investment in iText simply by using it. If I had stopped working on iText, that investment would have been lost, because there would have been almost nobody left to maintain the project and to fix bugs.
Now there's a discussion on Twitter:
I received a personal answer from Mike saying "EPL offers more flexibility." I answered: "For users: OK. For project owners: absolutely not OK." And trust me: if a solution isn't good for project owners, it's not good for users.
I once received a funny mail from a developer saying: "I wished that you could sell iText to IBM so that they can change the license to the EPL." I didn't reply. I don't see why IBM would pay good money for an AGPL library (the best PDF library on the market) and then throw away all that money to give it away for free by changing the license to the EPL. I don't see how that would justify the investment.
But maybe I'm just too stupid to understand Mike's answer... I'm a developer, you know. On the other hand: I was able to bootstrap a couple of companies (using nothing but my own money) that are all healthy and profitable.
So maybe it's because of my personal history with the MPL/LGPL (which are very similar to the EPL) causing frustration because I couldn't afford achieving my goals. In any case: it wasn't until switching to the AGPL that I started getting sufficient resources to work on exciting new functionality. For me, moving to the AGPL was the most difficult, but also the best decision I've ever made.
For those who disagree: please don't disagree without providing arguments. I'm not that stubborn. If somebody can make a good case (just like my sales people did back in 2009), I'm willing to reconsider, but up until now, I haven't heard one argument that was convincing enough to change my point of view.