In association with heise online

Community contributions

Contributions to the core database from the community are less frequent. He explains this is because outside developers tend not to have thought through all the corner cases such that "we can take them and feel comfortable with putting them out there," adding that "One of the challenges of building a database is that you put it out there and in a month, 150,000 people download it and they use it in 300,000 unanticipated ways". 10gen's design review process looks at how new code works in a wide range of combinations of cases and how changes may work with sharding, journalling or during recovery.

MongoDB logo That doesn't mean there is no community code for MongoDB. 10gen supports 12 drivers, but there are around 20 community-developed drivers on which are under the Apache 2.0 Licence. Schireson says that making the database reach out, seamlessly, into other environments is one of the best ways for developers outside the company to contribute, along with creating GUI tools and other elements outside the core database. An often-cited downside of semi-closed development is the problem of a lack of skilled contributors to be called upon to become new employees; however, Schireson doesn't see this problem, saying that most success in hiring has come from existing employee's recommendations.

10gen's business model is still an odd hybrid. It starts with a support subscription, which can be used either for support for the binary versions from, or to allow use of a "Subscriber Edition", which adds SNMP support and platform certification. Then there's a commercial licence for companies with issues with the AGPL or OEMs; the commercial licence is actually included with the top level of support.

10gen's Schireson says that this and the use of the AGPL will ensure that the community or 10gen benefit when companies are deploying MongoDB services as a product. He compares it with the situation with Amazon's RDS service, which offers MySQL as a service: "[It's] done completely without any involvement of MySQL and without anything being contributed back to the community. At some level, there's a free ride there that isn't fair in building a commercial service offering without anything going back to either the community or the creators of the product". That's led to 10gen partnering with companies such as Red Hat, Microsoft, VMware and specialised MongoDB service providers.

Those service providers will have a lot to look forward to in future editions. Authentication through integration with Kerberos, LDAP and Active Directory is on the cards for MongoDB 2.4, an enhancement driven by customers' need to be able to better secure their deployments. Possibly making it into 2.4, but most probably 2.6, is a feature Schireson is excited about: native full text searching, designed for searching notes and text fields rather than digging through high ingestion rate text content.

Underlying the feature development will be work improving how operations work with MongoDB. "We've done a great job with the developer experience," he says, but that needs to be brought to the day-to-day management of the system through better operations tools and focused features. 10gen is working with numerous IaaS and PaaS providers to make sure there's strong integration with MongoDB and with management tools for the cloud platforms. Again, most of the work won't be in 2.4 – there's an urgency in getting 2.4's security features out of the door – but it should land in MongoDB 2.6.

And Mongo 3.0? Schireson isn't thinking about it mainly because he thinks of the software as a smooth continuum: "I almost wanted to name 2.0 1.A, 2.2 would have been 1.C..." he recalls noting that it would have only bought them so many version numbers forward. For now, he's looking to create a broad community of developers, users and vendors for MongoDB by enabling 10gen to bring them the features and tools they need.

Print Version | Permalink:
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit