Whitehouse.gov, along with millions of other sites on the Web, is based on Drupal—free, open-source software, built by a global community of volunteers, that enables users to build websites even if they have little to no programming skill. The project has grown steadily since Dries Buytaert founded it in 2001, and more than a thousand people participated in creating Drupal 7, which was released in January. As the community gears up for work on Drupal 8, it is working to preserve an environment that will remain friendly to collaboration now that the project has outgrown the informal systems that have served it to date.
“Initially, I was able to understand all the code,” Buytaert says. “Now, that’s not necessarily possible for one person.” So community leaders are putting formal systems in place that they hope will make Drupal feel more accessible to new participants while giving potential users a clear sense of the project’s direction. Part of the challenge facing Drupal is that even though it is created by a group of volunteers, it must present a united front to the many companies and institutions that have entrusted their websites to the software—Warner Brothers Records, Penn State University, AOL, and Symantec, among others. (Drupal users also can pay for support from companies such as Acquia, which was co-founded by Buytaert in 2007 and helps enterprises with Drupal the way that Red Hat does for Linux.)
Though Buytaert maintains a leading role, it’s always been a priority for him to allow others to have a say in Drupal’s direction. “We’re working with volunteers, and it doesn’t work to be top-down with them,” he says.
At first, Buytaert could establish this environment in conversation with other developers. But to make this collaborative environment more formal, Drupal is switching to a new version-control system called Git—itself based on free, open-source software—that he believes will encourage the values he supports.
A version-control system like Git helps impose order on the strange and miraculous undertaking that is an open-source project, in which enormous pieces of software are often built and maintained at very high quality by a loose-knit group of volunteer developers working on what they feel like working on during their spare time. People write code and debate its merits, and ultimately project leaders officially release code that has passed the community’s test.
Most important for Drupal, Buytaert says, Git will allow small groups of developers to work on bigger chunks of the software. Buytaert can delegate management of these groups to leaders who can create miniature collaborative environments within their areas of specialization. “This allows me to scale,” he says, referring to the impossibility of managing it all himself. “It also helps the community scale, since it will give newbies a clearer sense of where to start.”
Git also gives clear credit to those who developed sections of code, which Buytaert says is very important. “Recognition is the currency in our project,” he says; giving people a sense of ownership over the work they’ve done is the way to create “passionate contributors.”
“We always used to do this,” he adds, “but it was sort of informal.”
The environment that the community is working to preserve has so far proved successful at bringing in new developers and engaging them.
Designer Jen Simmons, who is now a senior developer with the Chicago Web development firm Palantir.net, started out as a Drupal user. Two years ago, she went to a conference to learn how to use the software better and was surprised by the extent to which the community of Drupal programmers manages itself.
Simmons says that community leaders such as Angie Byron, who helps maintain Drupal 7, created an atmosphere that inspired her to get more involved. She heard them saying they needed more of the “themes” that can change the look and feel of a Drupal site, and she knew that she was well suited to work on the problem. At first, she wondered how to get picked—but, she eventually realized, that wasn’t how Drupal worked. “There is no picking,” she says. “[People say]: Just do the work. When you’re done, if we like it, we’ll put it in.” In practice, this means that any member of the community is allowed to make suggestions about a feature. In the end, a small number of volunteers are empowered by Buytaert to add to the core body of code, and they do so when a consensus appears to have emerged.