How Drupal Became the Open Source Unicorn
Often open source projects are a labor of love, the individual passion of a developer in their free time. Occasionally they’re a marketing gimmick for a company built up to monetize their popularity. Content management software Drupal, by contrast, is neither. Instead, Drupal is a labor of love for roughly 10,000 different contributors — with its single-largest contributor contributing less than 5% of the total code.
Which is just a little bit absurd. And quite a bit amazing.
At the center of this open source unicorn is Dries Buytaert, who founded Drupal in 2000 and later founded Acquia, the single-largest-yet-still-not-dominant contributor to Drupal, in 2007. Though Buytaert and Acquia play a central role in Drupal’s development, they lack an overwhelming gravitational pull. That’s by design. No one hopes to see Buytaert hit by the proverbial bus, but if it happened, Drupal would go on. This is how community-led open source is supposed to work and, in the case of Drupal, it works very, very well.
But it didn’t start that way.
“…To See if I Can Build a Little Website”
In 2000 the web was still young, still a bit of a novelty. So was open source, with PHP and MySQL offering new ways to build websites. For Buytaert, a student, this presented a learning opportunity. “I’m going to spend the next couple of evenings dabbling with PHP and MySQL,” he decided at the time, “to see if I can build a little website.”
Or would, if only he had internet access.
A student friend of his, however, did. He had ADSL, but lived across the way. “Here I am, dying to build websites but had no internet because I couldn’t afford it,” he says, “Meanwhile, my friend has super-fast internet that only a few others had.”
The friend had signed an agreement not to share his internet service. “So first thing we did was to ask, ‘How do we build a wireless bridge between our houses so we can share it?’” Buytaert says.
They tried to get Alcatel-Lucent and a few other companies to build one for them — but at a cost of $100,000 or so, this wasn’t within their student budgets. They found a company in the UK that shipped them WLAN cards, but since Buytaert refused to use Windows, he had to write his own Linux drivers — and update them regularly. Fortunately, there was already an existing project within the Linux kernel community, to which he started actively contributing.
With that working, he had other problems: Everyone wanted to jump on their illegal connection to the internet. Keeping it running also proved problematic. If he used his microwave or if a truck passed in the street, the connection would drop. Plus, with close to 10 people on the ADSL connection, it kept going down simply from overuse. So Buytaert built a website to report on the status of their wireless internet connection, which became an internal message board for the friends to organize a night out at McDonald’s or simply to vent during exams.
Twenty years later, that “little website” has become Drupal, one of the most impressive open source projects on earth. “I expected maybe five people to download it and use it,” he says.
An Evolving Platform
Over time, Buytaert experimented with a range of web functionality, such as voting systems (predating Digg.com by several years) to RSS feeds to “public diaries” (blogs). For the first seven years of Drupal’s existence, it was just something Buytaert tinkered with on nights and weekends. “It was for fun, right?” he says.
A year into this early Drupal, Buytaert started getting contributions, and to make it easier for others to experiment with him, he open sourced Drupal. “How about I make my experimental platform open source so that it can be your own experimental platform? And maybe you can help improve the voting algorithm or whatever it was that they gave feedback on?” he remembers thinking.
From talk to code — Drupal’s community was born.
Roughly seven years into his Drupal pastime, Buytaert graduated with his Ph.D. in computer science and engineering and he had a choice to make. Academia would have been the “easy choice,” he says, but instead, he decided to make Drupal his full-time job. So he started Acquia. Buytaert had canvassed a number of open source business leaders of the time — including Marten Mickos, Larry Augustin, and others — trying to figure out the right model.
While in the midst of this research AWS launched and light bulbs went off in Buytaert’s brain. “We saw that the open source support model was going to be tough,” he says. “We bet the farm on cloud.”
Perhaps not coincidentally, Buytaert’s Ph.D. was in performance and scalability, helping him to see the promise in cloud. He says that scaling Drupal was hard at the time because you’d have to tweak a hundred little knobs in MySQL and other components. But when building on AWS? “We could make Drupal so scalable — you have no idea,” he says.
So cloud helped Buytaert make Drupal more accessible for users, but what about those helping Buytaert to build Drupal in the first place?
“I’d Personally Invite Every Contributor”
As hard as writing Drupal was, attracting contributors was arguably harder. Buytaert worked tirelessly to convince early would-be contributors to give their time to the project, personally inviting every contributor, he says. Not only that, he continues, “I went above and beyond to get people to contribute.” He would review their code and give feedback with kindness and respect. “I would ‘wrap them in a blanket’ and would very quickly empower them,” he says. As he describes it, giving people a sense of ownership in Drupal made them want to stick around and give their best to the project.
His approach worked.
Buytaert says his approach evolved into a very collaborative governance model. Well before GitHub, the Drupal community built out GitHub-like tooling to enable collaboration. Drupal still uses this same tooling today. “GitHub isn’t good enough for what we do,” he says. Buytaert doesn’t mean that as a slight on GitHub. But as he points out, “GitHub isn’t great for working with 1,000 people on one project,” much less 10,000. Drupal’s community needs to be able to work at “Drupal scale.”
This is impressive enough on its own, but one of the truly wondrous things about Drupal is that Acquia doesn’t run everything, or even most things.
“Many Open Source Companies Are Insecure about Control”
Acquia’s approach is different from most open source companies. “So many of the open source companies are very insecure. They want to be in control.” The idea of not having absolute control over their roadmap, for example: How are organizations supposed to explain that to a customer? Or to their board? “That’s the craziest thing in their minds,” says Buytaert. “It’s just too foreign. They can’t even begin to imagine what that world looks like.”
For Acquia, much of its own engineering decisions come down to how hard the problem is. When trying to decide whether to contribute code as open source to Drupal or to build proprietary functionality, a general litmus test is whether a few engineers could build the feature in a six-month span. If so, “Why would we even bother to make it proprietary?” he asks.
With 10,000 active contributors in the Drupal community, this litmus test matters because that community is eminently capable of building most anything, so Acquia must focus on solving really complicated problems, and sell those as solutions.
For other open source companies, by contrast, Buytaert says they’re not wired for this model from the beginning. They raise money before the open source ethos is deeply rooted, and so they quickly cave to pressure to write all the code themselves and to control their roadmaps. At that point, switching is almost impossible, he says.
“A Business Model Disruptor”
Open source is a “business model disruptor,” Buytaert says, one that is upending legacy decades-old technology vendors, but also open source companies of a more recent vintage. While Buytaert is quick to point out that other models can work, he’s less convinced corporate-led open source is sustainable in the long run.
Which brings us back to the irrepressible fact of Drupal’s 10,000-strong community. Buytaert created the community, but he doesn’t control it. No one does. The open source community around the project is the secret to its success and the reason a heavy Drupal user like Pfizer contributes millions of dollars a year in engineering time to build out Drupal’s workflow engine — the same engine that its competitor, Johnson & Johnson, uses, even as it contributes its own features.
No one controls Drupal. Everyone benefits. That’s the beauty of the community-driven model that Buytaert didn’t set out to create, but created all the same. He just wanted to build a little website.
To contribute to Drupal, whether through cash, code or in some other way, visit the Drupal Contribute page. And if you or someone you know needs help with a different open source project, please visit the AWS Open Source site to learn how open source projects can apply for AWS promotional credits.