by Chris Ostrom on November 30, 2009

Several weeks ago, the world’s premier open-source content management system made the mainstream news for possibly the first time ever when the Obama administration announced it was replacing the proprietary, Bush-era web application used to run the White House website with Drupal.

Such news might leave you exclaiming “Sweet!” or “Right on!” if only you had any idea what “a Drupal” is…or for that matter, what a content management system is…or what open source means.

If you’ve read any of my other blog entries, you understand I have this deep, abiding need to try and answer obvious questions for, you know, normal people — people who don’t browse the Slashdot RSS feed on their Linux box or read Gartner Group white papers each morning over a breakfast of Red Bull and Snickers.

So, please, allow me to explain.

Drupal is the mother — or as many design geeks can attest, the “mother-in-law” — of open-source content management systems. To grossly oversimplify, an open-source content management system (CMS) is a piece of freely available software that runs on your website; organizes your text, photos, videos and other media; and presents it all in a clear, coherent, dynamic format. As a bonus, a CMS also gives everyday users the ability to change and add information through a web-based administration panel, without having to pay a web designer every time an “I” needs dotted or a “T” needs crossed.

All this, of course, begs the question: What is “open source” and why is it important?

Crassly stated, open source means “free.” The idea being that software offered via a public license (for example, the GNU Public License) leaves its source code “open” and freely available for anyone to use or modify or improve upon at will, with the common understanding that such improvements or derivative works are also generally (though not necessarily) made available to anyone else who might wish to use or improve the software.

So, while I’ve thus far provided a simplified definition for a CMS, the whole open-source idea complicates things a bit. The open-source development process is, by nature, a messy and organic one. Consequently, its products tend to take on lives of their own. I mean, if you want to witness the full chaotic fury of innovation, simply set a bunch of Mountain-Dew-fueled geeks loose to collaborate on seemingly intractable problems via the Internet.

Such grassroots collaboration has given rise to open-source server operating systems (such as all the different flavors and varieties of Linux)…and development platforms and scripting languages (such as PHP and Python) and databases (such as MySQL and PostgreSQL) that run on these operating systems…which in turn gave rise to all manner of web applications and content management systems (such as Drupal) that make use of these development and database platforms.

It’s enough to make one’s head swim.

But the innovations and complications don’t stop there. Because of the collaborative spirit behind open-source software, content management systems tend to evolve beyond being simple gadgets for organizing your website’s information. A hot CMS gives rise to myriad “plugins” or “modules,” which make it possible to incorporate features ranging from groupware and social networking, to on-the-fly search engine optimization tools, to WYSIWYG (what you see is what you get) text editors, to full e-commerce and inventory control systems with integrated shipping quotes and payment gateways. And these parts are all freely available without having to reinvent the wheel or build the application from scratch.

All in all, using an open-source CMS is sort of like being given all the pieces of a Learjet free of charge. It’s yours, and you can fly it wherever you please; you just have to put it together first.

This, of course, brings us back to Drupal and why it ended up in the White House. While there are perhaps a bazillion fresh-faced and eager, open-source CMSs out there, Drupal is clearly the tallest and smartest kid in class, if not necessarily the most popular or likeable. A designer or developer must only spend an hour or two staring down the business end of a Drupal install or browsing the Drupal community website to understand that, with Drupal, just about anything is possible — if one is up for the challenge (and the pound of flesh any good challenge exacts).

There are CMSs out there that are more developer-friendly and lovable than Drupal. For example, we are partial to one called TextPattern. TextPattern is a clean and elegant application that is perfect for organizations large and small in need of a search-engine-optimized website for marketing products and flexibly presenting a lot of information and media.

By contrast, we tend to use Drupal for organizations that need their website to not just present information, but promote meaningful collaboration or interaction with users. If someone needs end-user accounts, large-scale e-commerce, sophisticated surveys, detailed application forms, online collaboration tools and file sharing, granular or role-based access to privileged information, and so forth, Drupal is our big gun.

For many small businesses and organizations, however, a Drupal site might be overkill. Deciding whether Drupal is worth the investment in time and labor requires looking closely at the organization’s objectives — because make no mistake, configuring a Drupal website is a lot like herding cats…lots and lots of cats.

Nonetheless, despite its unruliness, Drupal must be given its due.

Drupal brazenly trades simplicity, elegance, and developer-friendliness in for all the allure of unbridled flexibility, scalability, and possibility. True to its egalitarian roots, Drupal can be as messy and unwieldy as democracy itself. But also like democracy, when it’s working well — when it’s realizing its impressive potential to give voice and power to people and organizations, regardless of wealth or privilege — it’s truly a thing of beauty.

Viewed in these terms, what better CMS could the White House hope for?