Open source has changed operating systems, application servers and databases. Now, the benefits of open source are being realized in content management systems (CMS), traditionally a vendor-controlled world of expensive licensing and closed APIs.
Open source is putting CMS into the hands of developers and organizations previously unable, or unwilling, to use CMS. Early adopters include national and local governments and media companies.
As ever with open source, there's an almost bewildering amount of choice of systems - there are more than 80 CMS that I've counted, here.
Typically, the CMS you pick will be driven by your project requirements. For example, Joomla, Drupal, Xoops, e107, Zope, eZPublish and PHP-Fusion could be good choices for sites serving communities and offering social networking. For more personal publishing, like blogging, Wordpress or MediaWiki are better.
Here, I've rounded up the eight most important things to evaluate before plunging in and picking an open source CMS.
Installation and upgrade
This should be a straightforward process, performed using wizards or a setup script file. It is not good to follow more than twenty steps manually - changing configuration files, deleting and creating folders, and so on. Download, extract and run installation wizard - that should do it. Upgrades can also tend to pose a problem, and the hallmark of a good CMS will be the frequent and reliable release of patches or scripts that you can easily apply.
If the CMS is open source, the environment - operating system, application server, programming language, framework and database system - will probably be open source, too. The most popular environment is Linux, Apache, MySQL, and PHP (better known as LAMP). But there are alternatives for each. You must have answers for following questions: is the CMS capable of running on different environments? Which environment is the best for the CMS that you have chosen? Is the environment easy to setup? Most of the CMS run on Linux, which now dominates more than 60 per cent of server systems on the internet. Apache is the most popular application server, but you can also consider Lighttpd and Zope as good alternatives. Similarly, you can consider PostgreSQL and SQLite over MySQL.
A word to the wise: check the license under which your CMS has been released. To avoid possible confusion down the line over use rights and terms and conditions, it's best to pick a license that isn't tied to a specific product or company, allows for free distribution of the code, re-engineering, and the creation of commercial applications.
Is your portal, blog or website going to be used by users in different counties? If so, then your CMS should support your ability to localize - support multiple languages translations and work with different currencies and date formats. You should be able to add new languages to your site using just a few simple steps - for example, uploading language files or translating clauses using the administration panel. Also, evaluate whether there are XML and CSS templates available that allow you to change the skin of the site, for a different look and feel. You should also assess the plug-in architecture for ease of use and richness of capabilities. Drupal, for example, has a plug-in architecture that literally "just works". Plug-ins from the official Drupal site download and install just by uploading the archive file and using the administration panel. The plug-in directory is so rich you can find almost any plug-in for any purpose.
Support and community
Evaluate the level of community backing your chosen CMS. The number of active developers in the community will directly influence the quality of the CMS, as they will be able to add features, fix bugs and provide some level of support. A good CMS should have valuable support channels like official forums, mailing lists, wikis and knowledge bases. In short, the bigger and more active the community, the better the CMS.
Users and clients
See who's using your chosen product. Some users have added their support to CMS communities through donations, which can help promote growth and maturity; others have contributed to development, testing, translations, themes and skin design, or simply promoted and spread the word.
If and when something does go wrong, often the fastest way to solve a problem is to check out the documentation rather than wait for a quick response from the community. Documentation - installation and upgrade guides, user manuals, and administration and developer manuals - should be so simple that non-technical staff should understand them, yet detailed enough that every step can be followed easily.
Age, simplicity and complexity
Maturity matters. Forget a CMS with a version number less than one, as this is a good sign of its stability and completeness. The CMS that's been on the market more than eight to ten years might also have problems, because it can become very big, and start to pack in too many features and add-ons for your needs. However, more features may be what you want - it just depends on your requirements: a simple website with just news, event and pages support versus a portal with membership, discussion board, photo gallery, blog, auction and payments.
Open source is opening up CMS, putting the ability to filter and serve information in the hands of more developers and organizations with big plans but tight budgets. Hopefully, this guide will have given you some helpful tips when it comes to choosing the open source CMS that suits your needs.
A specialist in Java, .NET and open source for distributed online development, Bayarsaikhan Volodya blogs frequently about his experiences while providing comparative analysis at www.plentyofcode.com