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.


boludeau said...

hi, i'm following your project since last year and i think it has really good potential.

i'm currently using db4o because my guice transaction/provider framework supports it, but once my open-source project matures i will contact dhanji ( and you to help us integrate neodatis support.

btw, the reason i won't be using db4o anymore is precisely what you detail in your post. moreover, i want my software to be used in commercial projects without licensing problems.

cheers, keep up the good work!


Guilherme said...

I was scared for a moment there.
Once i saw the title of the post I thought : "damn, there goes another one just like db4o."

Fortunately, what you wrote is exactly how i feel in regards to dual licensing, and that is why i am not using db4o.

I only hope you continue to be loyal to your convictions. I truly believe that once your project is a bit more mature, it has all the potential to give db4o a "run for its money".

And it's about time a usable and really open source alternative rises to the challenge too.

Olivier Smadja said...

Hi Guiherme,

I also hope I will be loyal to my convictions too :-)

elvisd said...

Kindly elvisd

Darius Damalakas said...

+1 !

I am looking for a simple db database for .Net
No special needs for it, however, will just use it a persistence mechanism for application, such as window positions, and other stuff.

Donz said...

Do you think that a "give donation" mechanism would fit within your philosphy of OSS?

I occassionaly donate to some projects.

But it must be done tactfully.

Olivier Smadja said...

Hi Donz!

I'd like to be able to work on NeoDatis database everyday, but we all need commercial projects to make our living!

"give donation" mechanism is interesting but I'm not sure if it would be enough to allow me working more on our open source project.

For instance, I received one $20 donation and one book! The spirit behind this is very interesting. Even though it is not very much it is very gratifying!

I still wonder how can one work "full time" on an open source project.

Any one has an answer (not being something like Dual licensing of course)