Friday, May 30, 2008

Open Source and Dual Licensing

Open Source Software (OSS) is often associated to Free Software, but there are many differences. The spirit behind Open Source Communities is not always easy to understand.

My vision about OSS has changed since I have started the NeoDatis project (An Open Source Object Database for Java, .Net & Mono - I initially opt for using an Open Source license based on the fact that database market was already very competitive and critical. I wanted/needed quick user feedback to check the concept. And I am amazed now to see how people want to join the project and how people want to help. The fact of being OSS removes barriers between the user and the development team. Simple communication channels like bug report, feature requests, forum and chat rooms give the user almost instant access to the project team. The fast team response is also very important, people are surprised with that. This enables a very high level of user feedback which is maybe one the most important point in software development (IMHO).

Business model

For business reasons, being one of the best way to monetize open source project, the dual licensing model is growing fast. Dual licensing is commonly defined by two ways of distribution of a same product/code base: one open source license for personal use, educational use and compatible open source projects. The other license being commercial.

The big question is : is dual licensing compatible with open source spirit?

Code submissions by contributors may be integrated to the product code base and thus provide competitive advantages to the commercial product version without the contributor receiving any $. This is very different from real open source project where people contribute with a simple and non profit objective : build a better software.

Does someone wants to collaborate to a dual licensing project the same way he would contribute to a real open source project? Would you want to give code to a project that will be redistributed in a commercial way leveraging the owning company some additional revenues.

In my case, the answer is NO. So why Open Source?. Should not it be labeled 'free for evaluation, personal use and compatible open source projects' ?

Some will say that open source provide access to the source code which is a very important point. But what is source code without any proper documentation. Just providing source code for download is not enough. A real effort must be done to document the architecture, to comment the source code. If you want people to help, it is necessary to help them to do it. At NeoDatis, we have a special wiki ( where we try to explain all about the database internal architecture. There is no hidden information. I believe it is part of the open source spirit and may be more important than just providing a zip file with the source code.

That is why I think that dual licensing is incompatible with open source spirit and is nothing more than a marketing approach trying to benefit from the Open Source Momentum.