2011-07-04

Onion goes LGPL!

Recently I reread The Cathedral and the Bazaar, by Eric S. Raymond, in the printed edition, for £2, thanks to a Oxfam bookstore. And it made me think I should publish onion as LGPL.

Until now onion was AGPL, which forces non-commercial users to publish their sources. With this change you can use it for absolutely any project, and you should only publish sources if you modify the core library. Tests and tools will remain AGPL, as it fits better.

There are many reasons to do it, so I will try to list the most important ones:
  1. It is the right thing to do. I've been using and enjoing Free Software for more than 13 years, since high school, and I developed and published many personal projects. This is the first profesional project on which I have to power to decide its future, and I still think its the right thing to do.
  2. Project quality. Going LGPL it encourages all king of use, not limiting to APGL projects. This way the numbers of possible users explode (freshmeat lists about 130 AGPL projects, but lists about 9000 C implemented projects). As Eric S. Raymond states:
    8. Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone. (From
    The Cathedral and the Bazaar, Release Early, Release Often)
  3. Getting better visibility. My goal when creating libonion was that not every project creates their own HTTP C server implementation, but a common one. Since I started this projects I saw several implementations of the same idea (mongoose, GNU libmicrohttpd, and others), but none of them was my cup of tea. So I guess the same happends to more people.
So I decided the best was to change the license, on the cost of speculative commercial license sales. Actually my intent, and the price of commercial version was a witness, is not to make money out of the library, but to make the library a catalyst for new custom commercial developments for Coralbits, side on which I already am.

Of course there were opposing internal voices claiming that I should keep it AGPL or GPL. Anyway I think the community boost that can come from LGPL it is by far more important.

Also this leads to external contributions. Many projects require signing Contributor Agreements for new contributors. This is normally to allow more control against future changes of license, including commercialization. I decided that making it LGPL should be enough to allow Coralbits to comercialize programs, and there is no need of future license changes, so there is no contributor agreement. Just send your patches and they will be incorporated if they deserve it. We share the copyright, as normally. If in the future a license change is needed, we should keep in touch and agree on it.

The license change is, by the moment, only for the library, as I think the examples and tests are better suited for AGPL.

With this change of license I also create new communication means: This blog, and a Mailing List via Google Groups.

Please download the source, join the Mailing List and post your questions, doubts, success stories and whatever you want onion related.

No comments:

Post a Comment