The Drupal content management system (CMS) is one of the most successful open source projects on the Internet today, thanks in no small part to its community.
At the head of the Drupal community is the project's founder, Dries Buytaert, who started the project ten years ago in his dorm room. In 2008, Buytaert helped to found Acquia which is a commercial support vendor for Drupal, which to date has raised over $20 million in startup capital. The road from dorm room to open source rock star has given Buytaert some insight into how to build a successful open source community. Speaking at the Zendcon PHP conference this week, Buytaert detailed six key secrets to open source success.
1) There is no quick rick formula.
Buytaert said that it took five years after he first started the Drupal project until there was the first Drupalcon developer conference in 2005. At that point, 40 people showed up to the event. At DrupalCon 2010, there were over 3,000 attendees.
"It takes time," Buytaert said. "It took us 10 years to get to where we are today."
2) Hurray for growing pains.
According to Buytaert, growing pains are a great thing. As an example, he cited the big Drupal server meltdown of 2005 when the primary webservers for the project literally melted. Buytaert noted that at the time, he was a student with little money, so he simply put up a PayPal button on the Drupal domain with a message about the server being down and he needed to raise $3,000 to buy new hardware.
What happened over the course of the following 24 hour period shocked Buytaert. Individuals contributed more than $10,000 to the project. The Open Source Labs (OSL) called to offer free hosting and the CTO of Sun Microsystems sent Buytaert a new $8,000 server.
"People that build commercial open source companies ask me how I built such a community," Buytaert said. "I often tell them, maybe they should unplug the server for awhile and see what happens."
3) Build an architecture for evolution.
In Drupal's case evolution is enabled by having a modular workflow. Buytaert noted that every patch that people submit is a small adaptation.
Centralizing source code management is also a key part of having a evolution-ready architecture. Choosing the right language is also a critical factor.
"The fact that we use PHP and not Java has been very important to the success of Drupal as well," Buytaert said. "PHP is a very accessible technology and that allows or encourages people to make changes."
4) Provide the right tools.
Tools aren't just about technology assets either but are also about the right processes to collaborate. Buytaert suggests that it's important to replace planning with co-ordination.
"We almost have no planning, but we invest a lot in tools for people to self-organize and to co-ordinate," Buytaert said.
5) Make money but pay with trust
According to Buytaert is it critically important to build a commercial ecosystem around open source projects. In his view, it is the fact that people are making money that gives them and their companies the incentive to contribute back to the project.
Though money is a good thing in open source, it shouldn't be the primary driving factor for a project.
"Money shouldn't make the decisions," Buytaert said. "If you look at Drupal, all of the technical decisions are made based on technical merits and are made by the people that build trust."
"Trust is the currency of open source -- it is the currency of Drupal."
6)Leadership trumps management Buytaert stated that for Drupal, leadership is about finding the higher purpose. With Drupal the higher purpose is about democratizing online publishing and in so doing, enabling millions of people to express themselves online.
"Create an environment where everyone is both a respected leader as well as a dedicated follower," Buytaert said. "We have a lot of leaders in the Drupal community and a lot of people feel really empowered to do what they want to do."
"Make sure to encourage leadership, it's really important."