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.