Building a website has never been easier. Gone -- mostly -- are the days of having to hand-code HTML and PHP scripts in order to get a slick, fully functional website, thanks to the capabilities of content management systems that do most or all of the heavy lifting for site creators.
There are boatloads of content management systems (CMSs) for serious site creators, but the most common for websites today are three open-source tools: Joomla, Drupal and WordPress. Actually, to call them "tools" is an understatement -- these are full-fledged platforms, with tens of thousands of add-on tools created by very active developer communities.
These applications have a lot of similarities. For example, all three are written in the PHP programming language, all three are licensed under the free GNU General Public License (GPL), and all three depend on the MySQL database to hold and manage the actual content within a website.
Drupal had comparatively sedate beginnings. Built by developer Dries Buytaert, the project was open-sourced in 2001 and eventually gained a following of community members that has made Drupal one of the most successful open-source projects to date, with a large ecosystem of add-ons and commercial vendors.
Both Drupal and Joomla are designed to enable users to build websites with template-based management, and both let users plug in add-ons that provide highly dynamic features, such as e-commerce, blogging with comments or mapping. In fact, any Web app feature you might think of should be available with Drupal or Joomla add-ons.
Of the three, Joomla is the newcomer to the CMS scene, first released in 2005 as a fork from the earlier Mambo CMS, which was owned by vendor Miro International. The trouble between the projects began in early 2005, when Miro established a non-profit Mambo Foundation (good) that pretty much kept all control of Mambo in the hands of Miro (not so good). A few months of arguments over the exact nature of Miro's interpretation of free software principles eventually led to the split of what would become Joomla from Mambo and the beginning of a vibrant community-based CMS.
[Since this article was written, Joomla has been upgraded; for a look at the new version, check out Joomla 3.0 review: Making way for mobile.]
Like Joomla, WordPress also began as a forked project in 2003, gracefully leaving b2, its parent project. WordPress actually has two implementations, which can confuse newcomers to the software. WordPress.com is a free service (not unlike, say, Blogger) that allows anyone to create blogs using pre-built themes and tools. (WordPress.com, along with Blogger, Tumblr and Posterous, will be reviewed in an upcoming roundup.) The other, the open-source WordPress CMS software, is the technology I will examine in this article.
Initially, my inclination was not to include WordPress in this review. Past experience indicated that WordPress, while gaining complexity and flexibility, was still not quite up to speed with Drupal and Joomla. But after re-examining the WordPress ecosystem and tools, I decided to include WordPress in this shootout of the Big Three open source CMS platforms.
So which CMS is right for you?
It's a difficult question to answer. Apples and oranges are both fruit, but it's hard to quantify one feature or another that makes either better. The same holds true for Joomla, Drupal and WordPress. It's easy for site creators to be passionate about one CMS or the other, but from the outside looking in, it really looks like an apple and oranges comparison.
In the past, I've helped build sites in all three CMSes and I have found good and not-so-good features in each one. To get a better idea of what's going on with these platforms, I used each CMS to build a simple business website for Happy Flights -- a company devoted (somewhat maniacally) to making people's flight experiences, well, happy -- complete with a blog, static pages, forums and a marketplace for goods to be sold. Along the way, I discovered some interesting things that challenged my preconceptions and gave me a clearer picture of the pros and cons of each CMS.