The Benefits of Open Source CMSs

Since 2005 when Egressive chose to adopt Drupal as our primary web application development platform, open source Content Management Systems (CMSs) have gone from strength to strength.Thanks to exposure in the popular media (such as this comparative article in LinuxWorld), open source CMSs have become the smart option for businesses and organisations wanting to maximise the effectiveness of their online resources. Some of the big players are Alfresco, Plone, Joomla, and, of course, Drupal. Up-and-comers include NZ-originated Silverstripe.

What is a CMS?

A Content Management Systems is a server-based software application that allows web site administrators add, edit, and organise content on a website, normally through an interface that runs within their web browser. Most CMSs provide the ability to upload images and other files, format content consistent with the site's "look and feel," manage dynamic content such as news articles, coordinate site content indexing and searching, and offer varying degrees of user content personalisation through login accounts, commenting, forums, and other interactive elements.

For more information: wikipedia's definition and their table of CMSs...

Open source CMSs - though to be fair most are far more than mere Content Management Systems - tend to compete very favourably with the myriad of proprietary CMSs still on the market. There was a time, until a couple years ago, when every web development company with more than 2 people built and maintained its own customised CMS. Egressive was no different. We built an extensive PHP-based framework, with a few (we like to think) rather elegant bits, some clever concepts, and a plan to open source it. We built a huge web application (100k lines-ish) on it... and then we realised that, like a puppy, a CMS requires ongoing love, care, and feeding. A marketable CMS is more than just an initial concept, some working code, and a server somewhere. It needs to:

  • keep pace - what happens when your customers see other web sites doing cool stuff and ask whether the website they bought from you can that stuff, too?
  • inspire confidence - when a customer asks "how many other businesses and organisations are using your system?" can you offer a compelling answer?
  • be maintainable - does the CMS architecture somehow support security patching and feature enhancements despite whatever customisations might've been made for specific customers?
  • provide value - if a customer wants new functionality on their site, do they bear the full cost of developing that enhancement?
  • be secure - can you honestly say your CMS has been thoroughly tested for security vulnerabilities? What's your patching process look like? How many people have an interest in making sure your customers are secure?
  • offer an exit strategy - what if a customer decides they, for whatever reason, want to take their business elsewhere, including their web application? Can they get their data out in a useful form? Can anyone else maintain the system? Does anyone else in the world know how it works?
  • outlive your business and/or your interest - where's the customer left if our business folds, our developers shoot through overseas, or if we get tired of this CMS and move on to other things, leaving the customer with an "orphan" system?

We were, at the time, becoming aware of the growing community support for a handful of open source CMSs. We realised that with our small development team, our little framework - regardless of its slickness - would forever be playing catch up with the market leading CMSs in all of the ways described above.

We sat down and wrote a list of characteristics we wanted in our ideal web application framework, and then we went to CMS Matrix, a handy site which lets users compare 800+ commercial and open source CMSs on 100-or-so criteria. We selected what we thought were the 12 top contenders, and plugged the resulting table into an OpenOffice.org spreadsheet so we could apply our own weightings to the various criteria. Drupal and Mambo (now Joomla) came out on top by a large margin. (Upon further investigation, we decided we liked the look of Drupal's underlying design, out-of-the-box standards compliance, and the community ethos as illustrated by the very active, well maintained Drupal.org family of community sites like the Drupal Documentation site and the special interest groups site and the huge assortment of community contributed modules).

What also struck us, however, was

  1. there are a LOT of proprietary CMSs in the market - hundreds on the CMS Matrix site, and probably tens thousands more wallowing in obscurity, who - despite the best of intentions - are holding to ransom a few hapless customers who "bet on the wrong horse"...
  2. the open source CMSs, despite being free, have more features than all but the top one or two proprietary CMSs
  3. the open source CMSs were quickly extending their leads over their proprietary predecessors, and heading off into uncharted territories. Many (if not most) of the web's innovations are now coming out of the open source developer community - not from the proprietary camp - so this acceleration is showing no signs of waning.

With that in mind, we were left wondering how proprietary CMSs could possibly compete in a world where CMS quality was largely a function of developer community rather than corporate investment. A search of Google for a couple of characteristic lines of text found in the default login form on a Drupal site (note, this doesn't account for sites that are a) not English, b) don't offer user logins, and c) have customised their login form) returned 180,000 unique sites. Precious few (if any) proprietary content management systems can boast those kinds of implementation numbers. Most customers know there's safety in numbers (for better of for worse, that's one of the main reasons Microsoft retains its current Desktop market dominance - at least, we can't think of any other reasons), and developers are more likely to invest their time in a system that is likely to provide a relatively secure market for those skills.

The virtuous circle created by the community surrounding open source CMSs like Drupal makes the prospects of proprietary CMSs fairly grim. Some have resorted to scaremongering attempting to convince the market that some of the greatest strengths of open source CMSs, like the "community support model" and the certainty and security that comes from knowing that the CMS is not dependent on the success or failure of any one business - are in fact weaknesses... For any computer user who has the opportunity to compare, for example, Microsoft Customer Support (with its per-incident charging scheme) with the assistance available free of cost, 24/7 on Ubuntu Linux's user forums, it should be clear that money doesn't necessarily buy you better service. (We at Egressive find it very rewarding to help in those very forums, where we, ourselves, have found solutions to problems that might otherwise have taken us hours to solve - and cost our customers hundreds)

Sun through clouds
Random image - hover for caption, click for larger version