2008-11-12

Licensing

There is always a discussion on what license to use for open source development. Some years back I always used GPL when doing some development, but the last couple of years I have started to use licenses like BSD-style license.

So why this change?
Well. I'm developing alot of stuff at work, and when I get home and all kids are sleeping I continue to develop mC2 stuff. I often found myself writing the exact same stuff over and over again. For instance I wrote a db wrapper for mC2, and I reuse that at work for some internal application stuff, and I would not be able to do that if we had set a GPL license on mC2. Sure, the company I work for gain from this, but stuff I come up with at work I often set a BSD license on (with my company's approval) so I can reuse it for mC2 (often with some renaming of namespaces first though).
If I should rewrite everything all the time I would probably not have any energy left to develop mC2.

I also see some great potential in BSD when it comes to popularity. If we can get companies to write plugin or make forks of mC2, they would probably just be helping us develop mC2, applying patches and fixing bugs. I mean, if a company has one of the greatest DSP techniques, would you choose to have a non open source plugin for it or non at all. If mC2 where GPLed, there probably would only be the choice of "non at all".

So what is the downside of using a BSD-style license?
One thing is that there are plenty of very good applications/libraries out there that I like to use in mC2, but it's not possible because of the GPL license. For instance I'd like to integrate the amaroks moodbar in mC2, but it has a GPL license.
Fortunately most libraries are still using LGPL and makes it possible for us to use them.
I know that there is a greyzone between BSD and GPL when using them as plugins, but we do not want to go there.

This does not mean that I do not like GPL. GPL is a great license, just not for me as a developer :)

No comments:

Post a Comment