Web content has gone through many different phases since the first html document went online in 1990. CSS, XML, XHTML and other extensions and revisions have been created to provide greater flexibility and greater control over how and what information is presented on the web. But no change had more impact than the creation of server-side database-driven content, and nothing influenced that technology more than the emergence of the LAMP (Linux, Apache, MySql, PHP) stack in the mid-1990s (the term LAMP first appeared in the German computer magazine Computertechnik on Freeware Software Publishing by Michael Kunze in 1998).
Databases were nothing new, and many people, like me, had been using them to manage content, or streamline business processes, since early PC-based databases like dBaseIII and Filemaker Pro were released in the 1980s. When the LAMP stack became readily available, we were more than ready to roll up our sleeves and start porting our applications to the web.
The internet was created in an academic environment, where open access to information and collaborative effort were core values. These values were built into the web and still exist today, even though security challenges have forced the web to grow a tougher skin. Open source software development retains this initial community orientation, and LAMP offered it a perfect growth medium.
There are many reasons why businesses initially found open source CMS scary: Lack of support, lack of development roadmaps, uncertain commercial applicability, and lack of accountability for security, to name just a few. It turned out, however, that commercial offerings didn't do much better than open source solutions, despite their higher price.
2001: The Open Source CMS Odyssey
In 2001 money for IT was scarce, everyone having blown their budgets getting ready for the Y2K bug, but the need for web-enabled content had become clear. This was the year that CMSs, especially open source ones, took off.
In 2001, Dries Buytaert released Drupal as an open source CMS. It was also the year that Movable Type was released by Six Apart, but MT wouldn't become free until the end of 2007. WordPress originated that year also, in the form of B2/Cafelog created by Michel Valdrighi, which officially became WordPress 0.7 in 2003. Mambo was released the same year. The Joomla! team spun off in 2005 when questions arose about how "open source" Mambo was going to remain following the formation of Mambo Foundation, Inc. and the self-installation of Peter Lamont, Mambo's originator, as CEO.
"open source Matters" was both the slogan and the name of the splinter group that created Joomla! under the guidance of Andrew Eddie, who had been development leader for Mambo.
2001 was also the year that I got involved in CMS development. I'd been publishing an online review publication (sfrevu.com) for the past few years, and though I kept all the content in an Access database offline, I was hand coding each issue and keen to get it database-enabled. In 2001, I quit my job as head of IT and Operations for a pharmaceutical company, married a Navy gal, moved to Florida, and spent the first few months developing my own PHP/MySQL CMS. Though I never got around to naming it, it's now running three online publications (techrevu.com, sfrevu.com, gumshoereview.com). Like most CMS systems, it's been in constant development since its inception, as I tweak its performance and extend its functionality. It's becoming clear to me, though, that its days are numbered; I expect to replace it with an open source CMS sometime in the next year.
WordPress and Joomla!'s numbers are still much better than Drupal's but the latter's adoption rate is rising rapidly. Though it's had a number of significant corporate users, Sony among them, what really earned it front-page status was its adoption by the Obama administration for sites like Recovery.gov. Not that it was any stranger to politics. CivicSpace, a version of Drupal, was the CMS behind Howard Dean's campaign in 2003, and Drupal was behind Hillary Clinton's site Votehillary.org.
CMS's, like political parties, operating systems and religions, develop passionate supporters, which is good, because that passion translates into development and support. On the other hand, I'm CMS agnostic. Why? Because that great CMS you discovered, the one that does everything you want, is easy to use, and looks greatÂ its days are numbered. Sooner or later, a new system is going to be introduced that will literally blow its doors off. Well, figuratively anyway.
What's its name? I have no idea. Not yet.
What I know, and know to a fair degree of certainty, is that the evolution of tools isn't about to stop just because you've found one you like. The open source paradigm demands that tools change rapidly, and get widespread adoption, because if they don't, developers will lose interest in creating them, modifying them, and supporting them. Not that they really wanted to support them in the first place.
So I'm pretty sure that somebody somewhere is looking at the theming weakness of Drupal, the difficulty of adding articles in Joomla, and the bloggy DNA of WordPress, and cooking up something better.
Even if pain of migration keeps some folks from jumping from one platform to the next, there's no reason why any given CMS can't adopt the best features of the others. As I write this, Joomla! and WordPress are releasing their own custom module development kits, something Drupal has been able to congratulate itself on for some time. The strength of open source systems is that they're modular. Features can easily be added as modules, and modules that become really popular can become part of the core.
CMS Expo 2009
In a few days I'm flying out to Chicago for CMS Expo 2009, and I'm looking forward to their opening event, a CMS Shootout, which I expect I'll cover in my next column.
In the meantime, the best way to get a sense of each CMS, and equally important, to get a sense of their developer community, is to listen to their Podcasts. It doesn't matter that you won't get everything they're on about at first; you'll pick up on the issues and vocabulary and you'll find working with the systems easier as a result.
Some of my favorite podcasts:
WordPress: The WordPress Community (http://wp-community.org/)
Joomla! : http://www.joomlajuice.com/
Drupal: Lullabot Podcast (http://www.lullabot.com/)
Ernest Lilley is a former columnist for Byte.com and Sr. Editor of TechRevu www.techrevu.com). He's been trying to organize the world by developing database applications since he owned his first PC and is currently dividing his time between writing about technology and web development and putting together CMS driven sites for clients.
 What are LAMP,BAMP,LAPP,MAMP and Web stack developer?; http://clickontech.net/index.php/2008/08/11/what-are-lamp-bamp-lapp-mamp-web-stack-developer/
 Choose between a commercial, open source, or customized CMS; http://articles.techrepublic.com.com/5100-10878_11-5054863.html
 SMACKDOWN :: Who were the Open Source Content Management System (CMS) market leaders in 2008?; http://www.mytestbox.com/content-management-software-reviews/content-management-systems-cms-market-share-survey-study-2008/
Links and info about Drupal Content Management Software; http://www.openair.org/links_and_info_about_drupal_content_management_software