While back on the Open Core topic anyway, a few notes on how 3 projects have reacted to the debate and criticism of the past Summer.
I personally work mostly in the middleware layer of things, especially databases, so I'm most familiar with the open core practices of MySQL, SugarCRM, JasperSoft and others in this space. So when LWN reported on the open core backlash last Summer, it was the first time I learned that a syslog utility known as Syslog-ng also follows this model. A basic syslog functionality is free and open source software, and there is a commercial version that comes with closed source addons. They have a contributor agreement of course, to make it work.
Except that they have now tweaked their model as follows:
1) refactor the code into a clear core with addon features as plugins.
2) relicense the core as LGPL (Lesser GPL). The open source plugins are then GPL and their proprietary plugins remain commercial.
3) In this arrangement, they no longer need a contributor agreement.
4) The new model still qualifies as open core, since there is a commercial closed source version also sold under the Syslog-ng brand.
This is a very interesting reaction to the criticism against open core. There were 2 aspects of the criticism: First the dilution of the meaning of open source by mixing open source modules and closed source modules within one product and brand, while trying to portray yourself as open source, which to an uneducated passer by is outright misleading. Second, many people criticize the use of contributor agreements as something that discourages community participation and puts one entity above the rest of the community - you give to the owner of the product much more rights than you receive back. I mostly advocated the first point. I understand the second, but I don't see it in itself as clearly objectionable, while surely suboptimal.
What Syslog-ng has done here is to address the second part. They no longer use a contributor agreement. Everyone can contribute under LGPL and GPL as appropriate. Everyone has equal rights to create closed source modules too. What they still didn't address was my concern: Syslog-ng itself can still use the brand to interchange open source and closed source products and this can still confuse some customers.
Even so, after my time at MySQL AB, it's great to see that there are companies that actually follow what is being discussed in the open source community, and are humble enough to adapt rather than fight it.
Diaspora - the open source Facebook
There was much buzz during the Summer when 4 students raised 200kUSD!! on Kickstarter.com to develop an open source alternative to Facebook.
Blogs and tweets immediately alarmed that it seems they are trying to build an open core business out of Diaspora.
Bradley Kuhn tweeted/dented that the Diaspora developers may have just wanted to centralize copyright because they hadn't yet decided if they really wanted to use the AGPL, or if they wanted to maybe change to a more permissive license later.
It was interesting to witness how quick the community is to sound alarm bells now against this kind of practice. Clearly, we've had enough of open core, and new entrants aren't welcome anymore. At the same time, we've forfeited the legitimate uses of centralizing copyrights via contributor agreements. With many incompatible open source licenses out there, you may get into trouble later if you choose one that is incompatible with something else you wanted to use later. Traditionally, this has been solved by centralizing copyrights - but it seems now we don't trust anyone with that task anymore. (...myself included.)
FreeIPA is a suite of Fedora software that implement identity management, authentication or other security (Linux, 389 (directory server), MIT Kerberos, NTP, DNS). They used to require contributor agreements, supposedly for the same reasons as above: just in case.
As of September 15 (interesting that it would be the same date, maybe contributor agreements believe in reincarnation?) FreeIPA no longer requires a contributor agreement.
- 1. If you are unfamiliar with the AGPL, for short it is "GPL for web services" which means that even when just using the code to publish a website, you still need to make all source code available