Most software entrepreneurs work their whole lives to build communities as large and motivated as the one Dries Buytaert has built for Drupal, the open source content-management system he developed from his dorm room in 2000.
Today, Drupal has a community of roughly 1 million contributors. And Boston-based Acquia, the software-as-a-service company Buytaert co-founded in 2007 to supply Drupal to large enterprises, now has 720 global employees and more than $100 million in annual revenues. Customers include the White House, NBC.com, Amnesty International, Greenpeace, and Tesla Motors.
But in 2010, when Buytaert announced plans to build Drupal 8--the latest and greatest version of the software--the community was not as large as it is today. Not that it was tiny. A global, virtual team of 3,000 developers rallied to the cause.
Yet the size of the team and the scope of the 5-year project posed significant challenges. Buytaert faced all of the headaches inherent to conducting a major overhaul to a product that's already exceptionally popular. How do you upgrade for the next several years without upsetting the loyal users who made you popular in the first place?
Late last week, when Drupal 8 was released, it was the fruitful culmination of the project Buytaert oversaw. To celebrate the release, the Drupal community organized 240 parties around the world at the same time. "It was amazing to see thousands come together,"says Buytaert. Here are the lessons he learned along the way:
1. Communicate a big vision, at the very beginning.
Doing so is especially important when you're working with an open-source community, because--after all--you aren't paying them for their time or brilliance. So your vision must inspire them from the start.
For Buytaert, the big vision was this: "Instead of info that you can go find, the info will come to you."
Today, that may hardly seem like a groundbreaking vision. But in 2010, it was a big statement for Drupal. At the time, Drupal was a laptop or desktop product. The update had to make it ideal for users and readers on phones and tablets.
2. Address those who are fearful of change.
Though everyone and anyone could see the tidal wave of mobile development coming, that didn't mean a radically revised Drupal was bound to please everyone who'd grown to love earlier versions. So Buytaert made sure that in all of his messaging, he addressed how painful the process of change can be.
He appealed to the common sense of the decision. For instance, one of his rallying cries was the simple truth: That "if I were to build Drupal from scratch today as if it were new, I'd build it for mobile first and desktop second," he says.
3. Find a clear metaphor.
Another huge change in Drupal 8 was something Buytaert calls "web services." The idea was to integrate Drupal with other software products that its users depended upon: customer-relationship management (CRM) software, mailing-list software, inbound marketing software. The concept was to give users a highly personalized experience, depending on their other business needs. Their versions of Drupal 8 would differ from someone else's.
So how do you explain that concept to a group of 3,000 impassioned, power-to-the-people open source developers, without making their heads ache every time you use an enterprise acronym like CRM?
For Buytaert, one of the key metaphors was Facebook. The reason? In Facebook, no two users get the same page. It's all personalized. "It's a clear example of a world where everything is highly personalized," he says. By evoking the power of Facebook's personalization, Buytaert could then ask the question: "What if this could happen to every site?" Drupal 8 uses BigPipe (Facebook's open source technology) to scale its own product to serve millions of people in a more personalized way.
4. Show you're hearing the feedback.
Buytaert is not one to sugarcoat difficult processes. Whenever he keynoted a Drupal conference during the five-year project, he was intent on letting the Drupal community know that he understood how painful the process of making major changes could be. For instance, at his speech in September at DrupalCon Barcelona 2015, he listed seven things that the community was unhappy about.
"Normally when you go a conference the speakers go on stage and talk about all the great things and features, and it's all Kumbaya, we're awesome," he says. "I talked about all the elephants in the room we needed to address. As an open-source project, we're extremely transparent. And I think people really like it."
5. Recognize that when you prioritize, something has to give.
Over five years, Buytaert learned to accept that some of his aspirations for Drupal 8 would have to wait for updates or later releases. For instance, he really wanted to add a mobile preview feature to the core of the software, so that users could easily see how a web page might look on various mobile phones or tablets.
The team built the feature. But its quality, Buytaert says, was not "pixel perfect." When you previewed a mobile page, he says, what you saw was "very close but not identical." And the team simply "ran out of time to perfect it."
While he'd have liked to perfect it, he recognized that large projects usually require compromises. Rather than ship Drupal 8 with a mobile preview that wasn't pixel perfect, he decided it was something "we'll have to keep working on."