Open source advantages - lessons from 10gen and MongoDB
by Nosh | Apr. 19, 2011, 1:23 PM | comments
| Tweet |
One of the things that attracted me to 10gen was that the company was trying to build a massive business based on an open source model. Although there have been some notable successes (e.g. RedHat and MySQL), open source is still a fairly new business model, and the challenge of how to monetize a free product intrigued me.
As the company has grown, we’ve spent much less time spent pondering the ‘how can we monetize?’ question, and far more time trying to figure out how we can leverage the inherent advantages of having an open source product. Here are a few interesting things I’ve learnt along the way:
Open source as a twist on freemium: As one would expect, having free downloads lowers barriers to trying out a product. But, there are subtle differences between a free evaluation and a truly open source product. I’ve seen multiple occasions where developers start using MongoDB in a small way at their companies - often under the radar. This then gives them the confidence to recommend MongoDB for much larger, mission-critical applications. This likely wouldn’t have happened if they had to jump through hoops (e.g. secure licenses) for their first minor uses of MongoDB. In this way, open source operates like an effective freemium model and provides a frictionless way to *really* start using the product - and we regularly encourage users to start on something small. What’s interesting is that we don’t choose the division between free and paid (support, training, consulting, etc) - its the users who do that - based on how critical their applications are.
Its not just about core code contributions: One way to judge an open source project is by the number of contributors. In this respect, the core MongoDB database is fairly closed - the majority of commits are done 10gen engineers. But looking at the broader ecosystem, a different picture emerges. Adoption in the Ruby community has been helped along by some really good object mappers (MongoMapper, Mongoid), uptake in the C#/.NET world was driven by a community contributed driver, and more recently, there has been substantial activity in the Node.js world. Although these are not commits to MongoDB, these users and projects are shaping and adapting MongoDB to fit their needs - which is the essence of open source. Not only do we get an immeasurable amount of help from users in testing every commit and version - but users have driven the product into places where we would never have had the resources or expertise to expand into.
Community as product managers: We focus each release around a general theme or major feature (e.g. journaling was the major feature of 1.8) as we see important for the broad direction of the product. But, during each cycle, we continually add new features, which are largely driven by the community - anyone can request a feature and get users to vote and comment on it. We take these votes seriously. Speaking as a former product manager for an enterprise software company, this is tremendously more efficient than soliciting feedback in closed door meetings. It allows us to more rapidly get to a set of features that meet real world needs.
Open source lowers barriers to doing business: In comparison to closed source companies I have worked for, being at an open source company is a refreshing change. Our code is open, our bugs and user feedback are open, our roadmap and feature requests are largely open. We try and be forthcoming about download numbers and we encourage users to say they are using MongoDB. Naturally - there are still things we don’t share e.g. financing details, specifics of customer contracts, customer/partner proprietary information, etc. But, for the most part, our Kimono is already 3/4 open. This has an impact on how we engage with prospects and partners. Working with anyone - from the smallest to the largest companies in world - there is far less dance around when to reveal proprietary information, and much more focus on how we can work together.
Some of these could be replicated in closed source companies, but its been illuminating to see how developing an open source product has profoundly shaped our culture and the way we do business. I’m looking forward to learning more and helping build the next big open source company.
blog comments powered by Disqus
I live in New York City. I work at 10gen on MongoDB. This blog is a collection of my thoughts on technology, open source, cloud computing, and random things I come across.
Follow @nosh_pMost Viewed
- Its been an interesting year for open source software
- Open source advantages - lessons from 10gen and MongoDB
- Why I work at 10gen on MongoDB (and why you probably should too)
- Some (unscientific) evidence of NoSQL adoption