What is Drupal, anyway?

The simplest way to put it is that Drupal is a popular open source content management system. Let's examine that in more detail.

Open Source

By open source, we mean that anyone has access to the source code, and is free to modify it as they see fit. They should, however, make the altered code available to the community. If you write original code that works with open source code, you are not necessarily obliged to make it available. Lots of companies make money by selling open source code, and their customers benefit from being able to tinker under the hood if need be.

Pulling Together, Not Apart

Some people have trouble understanding how Drupal can be so good if no one is charging money for it. Drupal is based on a philosophy that we can all have better software if we work cooperatively on a single, shared solution, instead of each working on separate, competing projects. One major benefit is that developers with a particular area of interest or expertise can focus on their area but still benefit from a system that is robust and full-featured overall. In fact, there is even a team of volunteers who regularly conduct security audits to make sure Drupal is as impregnable as possible.

Some clients want the assurance of a commercial solution, for the sake of support and/or liability. To help Drupal meets these needs, Acquia was founded by Drupal originator Dries Buytaert to give corporate customers the additional assurances they require. In many ways, this will parallel what Red Hat did for Linux.

Content Management System

Drupal is commonly known as a content management system, but the truth is a little more complicated. In truth, Drupal might better be described as a powerful development platform with strong content management features built in. An analogy might help to illustrate the distinction.

Playmobil vs. Lego

Many competing packages are, to varying degrees, specialized on a particular task or set of tasks. Wordpress, for example is focused on blogging, and does it well. Think of Wordpress, in this context, as being like a Playmobil house: you can have it in any colour you want, you can dress it up in various ways, there are even add-ons you can use to build on it. But the overall configuration will remain essentially unchanged (the door on the right, etc.).

As Khalid Baheyeldin likes to say, Drupal is more like Lego. You could achieve something equally impressive with Drupal, but you could build an entirely custom implementation to suit your specific need. Drupal is designed to be a modular, extensible system, so it's easy to make Drupal do all kinds of interesting things without having to hack the original code.

In fact, it's this modular system that really gives Drupal its power. If you need to add a specific feature to a web site, there's a good chance a module already exists that does what you need. Download it and install it, change some configuration options if need be, and you're done. Obviously some powerful modules can require significant work to get properly configured, but the important thing is that once again a variety of people who want a given feature on their web sites can work collaboratively to achieve the best possible solution.

One more point of distinction for Drupal is the project's commitment to always adopting the cleanest, most efficient solution to any given problem. For example, the menu system was completely rewritten for Drupal 6. This made it more difficult for existing modules to be rewritten for Drupal 6, but the benefit is a new system that is faster, with much lower memory overhead. It's just one example of an overall commitment to continuing improvement, even if there are sometimes sacrifices to backward compatibility.

Drupal continues to have a vibrant and enthusiastic community, and is one of the most popular content management systems in use today. It's been used by The Onion, Sony BMG, Universal Music, Purdue University, Fedex, Best Buy, NATO, and even NASA. Governments and major corporations around the world are using Drupal, indicating that it's been proven stable and robust. If you want a web site that's smart, fast, and expandable, you should consider using Drupal to build it.

Comments

Powered by Drupal, an open source content management system