Drupal started out as a college experiment.
In 2000, permanent Internet connections were at a premium for University of Antwerp students, so Dries Buytaert set up a wireless bridge between student dorms to share an ADSL modem connection among eight students. This led Buytaert to work on a small news site with a built-in Web board, allowing the group of friends to leave each other notes and messages. While looking for a suitable domain name for his Web board, Buytaert settled for 'drop.org' after he made a typo to see if the name 'dorp.org' was still available. Dorp is the Dutch word for 'village', which was considered a fitting name for the small community. The message board, which got its name via a typo evolved in to an open source project called Drupal in 2001. Drupal is derived from the Dutch word "druppel," which means "drop" as in a water droplet.
The Open Source content management system, which is written in PHP and runs on a LAMP stack, now powers about 200,000 public facing Web sites and numerous intranet sites around the world. Needless to say, it has thousands of contributors.
In this interview Dries Buytaert, the man who finds himself the accidental leader of a project, tells us all about the project which manifested from a chain of unexpected events.
When did you start getting interested in technology?
I don't know how old I was when I was first introduced to computers, but the first computer I programmed for was a Commodore 64. My dad bought me three little books that taught kids programming in BASIC on the C64. I think I must have been eight years old or something, I'm not entirely sure.
What were you favorite computer games growing up and what are they now?
I've never really been into computer games, but I did like Command and Conquer a lot, when I was younger. I prefer strategy games over first-person shooters.
Even though I'm not big on computer games, I did buy a copy of World of Warcraft. After more than one year, I managed to get a Troll Mage to Level 54 -- but that is only because some of my friends helped me. Chances are high that my Mage has the worst possible gear in the entire game. I wish I had more time to play World of Warcraft, it's actually quite fun.
My best friend organizes a big LAN-party every year, where we play first-person shooters for 18 hours straight. That probably accounts for 60 per cent of my yearly gaming time. It also means that my character is dead for roughly 16 hours, and that I'm fiddling my thumbs waiting to be resurrected.
Would you say the main aim of Drupal is to empower people to start creating projects?
Empowering people to create powerful Web sites is exactly our aim.
For end-users, Drupal is a product that they can download and install. We want to empower end-users so that they don't need to hire a developer or a designer to create a Web site.
For developers, Drupal is a Web application platform. We want to empower developers by providing them with a flexible and powerful development framework so that they can extend Drupal.
How many users do you estimate Drupal has?
It's impossible to count, but I estimate that there are roughly 200,000 public facing Drupal sites.
There are also a fair number of intranet Drupal sites that are locked behind company firewalls. It is even harder to estimate those.
Last year, Drupal was downloaded more than 600,000 times. That's also a partial view as we can't track all downloads.
Approximately how many contributors does Drupal have?
Thousands of people have contributed in numerous ways. More than 500 developers contributed patches to the Drupal 5 core, the main Drupal distribution. Over 1800 developers contributed Drupal modules (third-party extensions that can be added to the core) for Drupal 5.
Hundreds of people have contributed to the documentation and thousands of people contribute in the support forums. Volunteers from all over the world have answered over 100,000 Drupal support questions.
There have been at least three books written about Drupal, which is also a significant contribution, and Google donated $US100,000 to the project through the Summer of Code program.
How many re-packaged distros and third-party applications of Drupal are there?
There are more than 1800 third-party modules for the Drupal 5 release.
How important are third-party developers to Drupal's distribution?
Very important. The beauty of Drupal is the fact that there is a large library of contributed modules that allows people to get a site up and running quickly.
It makes Drupal not just a CMS, but also a powerful application development platform that allows one to efficiently combine different contributed modules into one application or Web site.
What other languages do you use in addition to PHP?
I write a fair amount of Java, C and assembler code.
Why did you decide to use PHP for Drupal, instead of other options such as Java?
More than one language will get the job done, so yes, I think there are good alternatives to PHP. Like any programming language, PHP has its advantages and its weaknesses. I don't regret my choice of PHP though.
The Web is built by millions of individuals, many of whom are amateurs. They continuously update, tweak and rebuild their Web sites. Scripting languages like PHP lend themselves to that, and are widely available at affordable prices. It would have been very difficult to get critical mass if Drupal was written in a programming language like Java. Not because Java isn't as good a language, but simply because Java isn't as accessible as PHP.
Drupal started almost accidentally (through experimenting with a message board in college), and got its name via a typo. What other significant unexpected events have led to Drupal being where it is today?
Probably the most important unexpected event was the Howard Dean campaign in 2004. Part of the campaign was the "Deanspace" site, which used Drupal as its underlying platform.
After the elections Deanspace grew into a Drupal-based grassroots organizing platform called CivicSpace. Even though CivicSpace is a spinoff distribution based on Drupal 4.2, many innovations from CivicSpace have been incorporated back into the Drupal project itself. Is this correct, and what are some of these features?
That is correct. They contributed many different improvements. The most important feature that came out of the DeanSpace effort was probably Drupal's installer and the notion of install profiles. More importantly, I would say, is that Deanspace helped us bootstrap a successful ecosystem around Drupal. It helped us move from a "toy project" to a project that you could actually build commercial Web sites with.
I have heard you talk about the slashdot effect, and how Drupal can make sites slashdot-resistant. Can you explain this a little more?
For a long time, Drupal core has shipped with throttle functionality. It provides a congestion control throttling mechanism for automatically detecting a surge in incoming traffic. If the site gets linked to by a popular Web site, like Slashdot, your Web server might become overwhelmed. The throttle mechanism is utilized to temporarily disable CPU-intensive functionality. For example, in the site theme, you might choose to disable pictures when the site is too busy (reducing bandwidth), or in modules, you might choose to disable some complicated logic (reducing CPU utilization). The throttle mechanism is activated automatically -- no manual intervention is required other than the initial configuration.
You have also spoken about how Community is more important than software. Can you elaborate on this?
The community is really what makes the Drupal project tick.
There are hundreds, if not thousands, of people in the Drupal community that continue to improve the software on a daily basis. We're innovating non-stop: 24 hours a day, 7 days a week, in all parts of the world. As a result, Drupal continues to get better, and often at a much faster pace than many of Drupal's proprietary counterparts.
Every day, I get to work with many really smart and passionate people, and the quality of that community directly impacts the quality of the software that we produce. Not only do we do a lot of work, we actually do a lot of great work. It goes without saying that without the Drupal community, Drupal would not be where it is today. It would simply cease to exist.
Can the community aspect also be a challenge or difficulty at times?
Yes. Working on software provides technical challenges. As programmers and engineers, we're trained to solve technical problems. Working with an international team of contributors that are distributed all over the world (different cultures, different religions) introduces social challenges. Sometimes these are much harder to solve than the technical challenges. Solving the social challenges can be equally interesting though.
Even though you were the founder of Drupal you have often said that it makes you uncomfortable being seen as a leader. What do you see yourself as and why?
All of a sudden there are hundreds of people contributing to Drupal, building and relying on that foundation, and hundreds of thousands of people downloading it. I never expected Drupal to grow this big.
Although I'm comfortable in my role as Drupal project lead, I don't necessarily see myself as being a leader, nor did I choose to be one. In many ways, I am an accidental leader.
You are a PhD student at the University of Ghent, with the Parallel Information Systems Group. The core theme of your research is runtime code generation, profiling and instrumentation. Does the work you are doing for your PhD crossover with the Drupal project?
From a technical point of view, my PhD research has nothing to do with Drupal, and I do not use Drupal as part of my research. Of course, a good academic background is a useful asset generally and also when working on Drupal.
NATO is one of the high profile organizations using Drupal. Other well known companies include Mozilla's Firefox, Yahoo and Skype. How exactly does NATO use Drupal?
The NATO work is using Drupal as a platform to support peace and stabilization efforts throughout the world. They deploy Drupal sites in unstable environments to provide the local community with communication and collaboration capacity. I believe this work is driven by the Space and Naval Warfare division of the U.S. Department of Defense.
One criticism people have of Drupal is that it is slightly more difficult to install than some simple CMS programs or basic blogging tools such as word press. Will Drupal 6.0 include features to make installation easier?
For users, Drupal 6 will come with many usability improvements. The most notable ones will be an improved installer and further AJAX-ification and AHAH-ification of the administration pages.
For designers, Drupal 6 will be a lot easier to theme for. This will hopefully lead to an increase of great Drupal themes.
What are some other additions we can expect to see in Drupal 6.0?
We added OpenID client support, which eliminates the need for multiple usernames across different Web sites. OpenID is still emerging technology, but it will soon start to simplify your online experience.
Drupal 6 comes with many performance improvements compared to Drupal 5. It is rumored to be 30 per cent faster than Drupal 5, but we still have to check that once the final Drupal 6 version is released.
We also added a module update notification system; Drupal 6 will automatically check for available updates and warn site administrators if they are missing security updates or newer versions.
Drupal 6 also comes with many big localization (l10n) and internationalization (i18n) improvements. According to the CIA's fact book, only 4.84 per cent of all the people in the world have English as one of their native languages. While it is believed that one out of every five people on earth knows some English (but not necessarily much), more than 95 per cent of the people in the world, English is not the main tool for communication, nor is English part of their cultural identity. So with Drupal 6's improved l10n and i18n features, we can really start to reach out to many more people in the world.
Where do you see Drupal in five years' time?
I want to see many more people use Drupal and I want to see Drupal used in many more places. The goal is to empower more people so they can build complex Web sites. To do so, we need to make Drupal more accessible and give these people better tools to work with so they don't necessarily have to hire a designer or developer in order to make a Web site. This also means that we have to invest in making Drupal an even better development platform because it is the developers that provide the building blocks (i.e. Drupal modules) that allow people to build sites quickly and efficiently.
How many hours a week do you estimate you work on Drupal?
Drupal still is a hobby project for me so I work on it after my work at the University. It probably adds up to 20 hours a week though. As a hobby, it certainly grew out of control, but hey, I continue to have lots of fun working on it so why would I stop?
If Drupal continues to grow, will you consider making it more than a hobby and how would you go about this?
If all goes well, I should defend my PhD in a couple of months. It also means that I have to start looking for a new job. I'm thinking about starting a Drupal related business. There are a lot of questions to be answered though, so I don't know yet what it would look like. What is the right business model? What is the right team? Either way, I want to have more time to work on Drupal and to provide technical leadership. I hope to find a business model that allows me to do exactly that. We'll see what happens.
This story, "Open-source CMS app grows from a drop to an ocean" was originally published by Computerworld.