Why Is Drupal Thriving?
By drapeau on Mar 10, 2009
When I asked attendees "Why are you at DrupalCon?", several who are building online newspaper sites and record label sites for artists replied that they were there seeking talent to help them build and maintain web sites. I asked them "Why Drupal?" A fairly common response was something like this: "I looked at other CMSs and it came down to a couple of factors. First, it's cheap (free). Second, it is easy for me to extend Drupal so if I don't like what it does, I can easily modify Drupal itself. Third, there are lots of people who know Drupal so I can find talent at a cheap price. We (record labels) used to hire talent in L.A. to do our Drupal work, but we don't want to pay the kind of money that Angelinos need to support the cost of living, so we look for talent outside of L.A. With Drupal, we can easily find talent in cheaper parts of the country, or the world."
So: there is a large ecosystem of developers for Drupal, which pushes down the cost of hiring for people who want a web site built for them. Why do so many people become Drupal developers?
Because it is easy to say you're a Drupal developer; it seems to be a key attribute of Drupal.
You can "develop" for Drupal in several ways that I learned at the conference:
- you can contribute to what is called "Drupal core", the core functionality of Drupal. It's written in PHP, and is tightly controlled by a small set of committers (i.e., people who are allowed to check in code into the codebase). To give you a sense of how tightly controlled: Acquia is a company of 30 people formed by the founder of Drupal to commercialize Drupal, Dries Buytaert; only one of the employees has committer privileges to Drupal core. That one person is Dries.
- you can create your own modules, also in PHP. I think of modules as plug-ins, like with a browser. Drupal core comes with a small number of modules; much of Drupal's functionality is through non-core modules. The number of committers here is much larger. You can create your own module or offer patches to somebody else's module. You can become an owner of an existing module, if the current owner wishes to move on and relinquish control.
- you can create your own themes. Themes are a big deal for web sites, since it defines the look and feel. You don't need to know PHP to define a theme; HTML + CSS is good enough, which greatly expands the number of people who can contribute to Drupal.
When Dries founded Drupal, he decided to use PHP as the development language even though he's completely comfortable with Java. He chose PHP because he wanted to reduce the barrier to contribution; PHP is easier to learn than Java. And allowing people to contribute HTML + CSS increases the contributor pool even more. The design of the community is brilliant in this way; it is clearly focused on getting as many people contributing as possible. That was clear from the conference.
So what you have is a community where contribution is incredibly easy. Lots of people use Drupal and identify themselves as Drupal developers; this in turn increases the pool of talent familiar with Drupal, which increases the pace of improvement to Drupal and also puts downward pressure on the price of developer talent, which makes Drupal more attractive to customers who want to use a CMS. This puts Drupal in use in the marketplace, which in turn drives demand for Drupal developers, and now you have a thriving ecosystem.
Powered by ScribeFire.