The future of CouchDB is Couchbase Server. That according to CouchDB founder Damien Katz, who took to his blog to explain why he and others on the CouchDB team are regrouping around a more commercially focused offering within Couchbase, the company created in early 2011 when NoSQL startup Membase bought Katz’s CouchDB-focused CouchOne. While the decision might make business sense, not everyone is happy about it.
CouchDB, an Apache Software Foundation project, is a fan favorite among many NoSQL developers who laud its local replication and support for many devices which suit it for mobile app development. But Katz said the time has come for change, and his rationale appears to stem from concerns he has about the open-source development model itself. According to his blog:
With Apache CouchDB, much of the focus has been around creating a consensus based, developer community that helps govern and move the project forward. Apache has done, and is doing a good job of that. But for us, it’s no longer enough. CouchDB was something I created because I thought an easy to use, peer based, replicating document store was something the world would find useful. And it proved a lot of the ideas were possible and useful and it’s been successful beyond my wildest ambitions. But if I had it all to do again, I’d do many things different.
Going forward, Katz will focus on Couchbase Server 2.0, and rewrite more of its core services in C/C++ rather than Erlang. “Most of the performance sensitive portions [of CouchBase] will be moving to over C code. Erlang is still a great language, but when you need top performance and low level control, C is hard to beat,” Katz wrote.
He said the new product will build on previous Apache CouchDB and Membase projects, but his team will jettison what doesn’t work and focus on a design for “mission critical deployment and mobile integration.” Katz said that work can move faster and be more responsive to customers than a “community based project.”
Hello Couchbase 2.0, bye-bye Couchbase Single Server
News of Katz’ decision came as Couchbase discontinued CouchDB-based Couchbase Single Server, citing self-inflicted market confusion. According to a company post:
In addition to Membase Server and our new mobile products we also offered Couchbase Single Server which was a packaged “distribution” of Apache CouchDB. On top of that we began releasing developer previews of Couchbase Server 2.0, which incorporated CouchDB technology into Membase Server – but this product was not compatible with Couchbase Single Server (or CouchDB). If you are confused just reading this you get the point – and so do we.
News of Katz’ transition sparked a lively debate on Hacker News. Some defended CouchDB as a valid NoSQL choice while others said business users need more professional support than was available with CouchDB. Some commenters slammed Katz for disrespecting the project that brought him fame. Several of the participants worried that Couchbase Server represents a “fork” of the CouchDB code base.
One commenter, Rubyrescue, wrote:
“This is business, pure and simple. I had a long, LONG series of emails and calls with Couchbase about commercial support for Couch. We have some big production apps on it. When it got down to time to pay for support, they told me (this is 2 months ago) in a rare and unusual bit of candor, that they were going to drop Couch in less than six months, so did I want to buy commercial support for just six months? I told them not only do I not want commercial support, but I just got so freaked out I would not recommend Couch for future projects to clients, because it was obvious that internally the team had moved on.”
What’s the migration plan?
Others complained that there doesn’t appear to be an easy CouchDB-to-Couchbase Server migration path or they would consider doing that.
The tension between open source and commercial software development is a persistent undercurrent in the tech arena. Open source proponents love having a large, democratic community contribute expertise both on actual coding and for support. Others say that’s all fine and good, but real businesses need a real, professional and paid support — an actual number to call for help. In this case it appears that the open source model took one on the chin.