The late Pieter Hintjens, responsible for ZeroMQ, included an interesting story in the ZeroMQ manual. He gave it the title Eat Me and it's about the proud developer of some software that he released under a permissive license. He was happy giving talks about his project and doing a consultancy gigs here and there. He even hired an employee.
However, a more commercially oriented company took his project and released it under a copyleft license. That company respected all the legal obligations of the permissive license, so everything they did was correct from a purely legal point of view, but Patrick was extremely unhappy with the situation and abandoned working on open source in general.
As similar scenario almost happened to me too. I am the original developer of iText, an open source PDF library which I originally released under the MPL/LGPL. This library was used in Google Analytics, Google Docs, and Google Calendar. Google would upgrade to the newest version on a regular basis. I was extremely proud that Google found my software interesting enough to use it. The fact that I didn't make any money with it, wasn't important, or so I thought. However, as more companies started to use iText, it was getting harder and harder to combine my work on iText with my day job.
Then one day, my wife came back from the hospital with our son, informing me that our boy had been diagnosed with bone cancer. Life became hell, but that didn't stop people from sending me tons of mails, asking for help with their project. Even when I explained that I had other worries, some people could be very persistent. In one case, I mailed the employer of one of the developers.
This is the mail I received from that employer (in Dutch):
Instead of translating this mail, allow me to share a page from my book:
In short: I live in Belgium and a Belgian company preferred involving TCS rather than its own IT division (because TCS was less expensive). A developer at TCS used my software and asked me to solve a problem for free. Unfortunately, the developer at TCS failed to provide me an SSCCE that would allow me to reproduce the problem. When I contacted the Belgian company and proposed to work for them directly, which would probably solve their problem, I was told there was no time and no budget to do that.
I would have to start looking for a way to generate money with iText. As I had no clue how to do that, I thought Google would be willing to help me out with some advice. See Chapter 13 of Entreprenerd:
This was one of the mails I received from Chris:
I was extremely frustrated to discover that everyone was very happy to use my software, but no one seemed to care enough to help me out finding a way to ensure the further development and the future of iText.
I remembered the article Google open source guru: 'Why we ban the AGPL' in which Chris DiBona was quoted.
"This might sound a little jerky, but a lot of the [available] AGPL
software, we don't need to use," he said. "It addressed areas where we
already have software. So there isn't a lot of call for it."
The people I had eventually hired to help me with the business used this article to convince me to change the license from the MPL/LGPL to the AGPL.
Google had been updating its applications with new versions
of iText on a regular basis but stopped doing so as soon as iText changed its license to the AGPL.
After the license change, Google had four options:
- Continue using old versions of iText that were still MPL/
LGPL free of charge for as long as possible. That could
work because it’s impossible to change a FOSS license
- Continue using the latest versions of iText free of charge.
In this case, they would have to release the complete
source code of all its software containing iText as
- Continue using the latest versions of iText in a closed source
context. This required entering into a commercial
agreement with iText to avoid having to disclose their
- Replace iText as soon as possible with another library.
Obviously, they would have to find one that could be
used free of charge and without having to meet any
Google initially chose the first option.
Even today, Google is still using the more than ten-year-old
iText 2.1.6 by 1T3XT in Google Calendar.
Google certainly didn’t want to release its code for Analytics
and Docs as AGPL software. There were some negotiations
about a license for Google’s use of iText in Docs, but those
didn’t amount to anything.
For Google Analytics, Google chose the fourth option.
Initially, it replaced iText with a library called Cairo, which
was a huge step backward in terms of the quality and usability
of the reports. Cairo was later replaced by Skia PDF.
Initially, I received plenty of angry mails and insults for the license change.
Developing a business for iText was quite a rollercoaster, but eventually, I managed to win the Belgian Edition of Deloitte's Fast 50, meaning that iText Group was the fastest growing technology company in the country. In less than 10 years, we went from a revenue of 0 to more than 10M. Eventually, I was able to sell the company for a grand total of about $50M.
For further reading, see Open Source Survival: A Story from the Trenches. Of course, there's also the book. I've made a coupon with a reduction (valid until June 30) for those who are interested in reading the full story.