In recent times, open-source software has been seen as an increasingly mainstream part of the market. This has been fuelled by the growth of the internet, including the continued market dominance of Apache, and the mindshare of Linux.
Backing by large vendors such as IBM has further solidified the position of open-source solutions, to the extent that the corporate world is now seeing open-source as a viable option.
The field of content management systems (CMSs) has seen particularly strong growth in open-source solutions, perhaps in direct response to the very high prices that commercial CMSs have historically demanded.
Open-source CMSs have now matured to the point where they should be considered side-by-side with commercial alternatives. This is not a reflection of ‘open-source zeal’, rather a recognition that there exist sensible business alternatives to commercial solutions.
This article is written from a corporate perspective, and is grounded in business requirements and objectives. It outlines both the strengths and weaknesses of open-source content management options.
There are a number of benefits inherent in the use of most open-source content management systems.
The code of open-source content management systems can be obtained for free, and any commercial support associated with the product is typically comparable or cheaper than other products.
In comparison, commercial CMS solutions run from a few thousand dollars up to a million dollars, even more when professional services are considered.
Not all open-source software is free. Some licenses allow free use by non-commercial organisations, but charge for corporate use. Even in these cases, open-source is often the cheapest software option.
The low cost of open-source CMSs makes them particularly attractive for small websites, non-profit organisations, and government departments.
Open-source content management is a viable option
Pay for services, not software
With no outlay on software, an open-source CMS leaves the majority of the project budget to address critical supporting tasks, including:
- customising the CMS to match specific business needs
- integrating the CMS with other business systems
- developing templates, stylesheets and publishing code
- reviewing, restructuring and creating content
- conducting usability tests, both on the site and the CMS
- providing training to authors and end users.
- conducting communication and change management activities.
It is these activities that will have the greatest impact upon project success. (You can read more on this in the article Losing sight of the content in a CMS.)
Having access to the code provides unrivalled flexibility
Ease of customisation
Having access to all the code of the content management system provides an unparalleled degree of flexibility. With an open-source CMS, all the code is freely accessible (by definition). This allows local developers to make any required changes to the system to meet specific business requirements.
The code behind commercial content management systems is a closely guarded secret, as it is the basis for competitive advantage over other vendors.
Organisations are therefore restricted to the following options if they wish to customise a commercial CMS:
- Use the built in scripting languages and configuration options. This is very easy, well-documented, but limited in scope.
- Use documented Application Programming Interfaces (APIs) to customise or extend the CMS. This is more powerful, but requires skilled programmers and considerable resources. Also, not all CMS functionality is exposed via APIs.
- Request a new feature from the vendor. While a new version of the software may resolve limitations or problems, there is a long-lead time between upgrades, and no guarantee that the issues will be solved.
- Obtain a license to the source code. Large organisations who have a substantial investment in a product may have the option of getting access to the source code under a non-disclosure agreement. This can be an expensive option, and the code may be complex and difficult to modify.
With many open-source content management systems being the product of multiple developers, the ability to customise and extend has already been well-tested.
Open-source content management systems are typically developed using open tools, such as PHP, Perl, Python, Java and Unix. Working in these environments reduces ‘lock-in’ with specific vendors or software packages.
Open platforms also increase the amount of supporting software and experience that is available, and reduces the cost of employing developers.
Pool resources across organisations
The ability to freely share open-source code would potentially allow organisations (particularly government agencies) to pool resources, and share the benefits (and costs) of refining content management solutions.
For example, additional customisation and improvements made by one agency to an open-source system could be applied to other agencies. This would allow larger agencies to support less-resourced agencies in meeting their content management needs.
Ease of integration
The combination of open platforms and simplicity of customisation makes integrating open-source content management systems with other software considerably easier. Many open-source solutions are also built with newer technology, which was developed with integration in mind, such as XML or LDAP.
The most popular open-source CMS solutions are supported by an active community of hundreds, if not thousands, of developers.
It is this ‘groundswell’ of support which has made open-source software so notable, and the same benefits apply to content management systems.
This environment contrasts sharply with many commercial packages. Here, communication occurs only between customers and the vendor’s support staff. Little community exists around the products, and knowledge sharing is limited.
CMS resources can be pooled across organisations
‘Try before you buy’
Open-source software is very much ‘what you see is what you get’. A full copy can be downloaded and evaluated, and the functionality can be rigorously tested before making a final decision.
This reduces reliance on marketing materials, and on the tender process. With no commercial goals, open-source documentation also tends to be more ‘up-front’ about the strengths and weaknesses of the product.
Mailing list archives can also be trawled to gauge community reaction to the software, and the nature of the issues encountered. This provides an invaluable mechanism for identifying the true value of the solution.
Rapid problem resolution
When a bug is identified in a commercial CMS system, the only option is to report it to the vendor, and wait for a bug fix. At worst, it may be six months or a year before a new version is released that resolves the issue or limitation.
With an open-source CMS, there are two options which can rapidly solve the problem:
- Report the issue to the CMS community. It is often only days before a patch or workaround has been identified.
- Solve the problem yourself. With full access the source code, there is no issue that cannot be resolved with sufficient know-how.
Open-source ‘future proofs’ against the uncertain future of individual vendors
With hundreds of commercial vendors in the market, industry pundits are predicting a shake-up over coming few years that will leave only a few of the large vendors still standing.
In these conditions, the future existence of vendors is far from certain. If a product is terminated, or the vendor shuts down, support immediately ceases.
With an open-source solution, the reliance on a single vendor for all support and upgrades is eliminated. Even if the product is ‘mothballed’, full access to the code allows for ongoing in-house development.
In this way, open-source content management systems are ‘future proofed’ against market uncertainty.
An open-source solution may still prove to be inadequate to meet the future needs of an organisation, or a better alternative may be developed.
Either way, control over the future of the open-source option still rests with the organisation that uses it.
One interesting development is that some vendors are now placing their code in ‘escrow’, so that if the product is cancelled for any reason, the code is automatically released into the public domain. This is a commendable development, and it is hoped that other vendors will follow suit.
There are a number of potential issues with open-source solutions.
‘Free’ is not without cost
First off, it must be emphasised that the free availability of open-source software does not mean that a CMS project will be without cost.
Much of the effort (and cost) is related to the implementation itself, and the supporting customisation.
Open-source software is not under the same pressure as commercial providers to provide ‘out of the box’ deployment, which can make open-source options more expensive overall.
Most open-source CMS solutions are targeted at small- to medium-sized implementations, and can lack some of the features provided by enterprise-scale CMS options.
Lack of commercial support
Community-based open-source initiatives lack commercial support, and service-level guarantees. Note that commercially-supported products, developed by a vendor, do not suffer from this issue.
Open-source CMS is less mature than commercial offerings
The majority of the community-based open-source CMS options are less mature than their commercial counterparts. There is considerable competition within the CMS marketplace, and this is driving a rate of innovation amongst commercial vendors that is hard to match.
Much has been written about the generally poor usability of open-source software. For a content management system, this is a key weakness, as the software will often be used by staff throughout an organisation.
In general, open-source CMS options have remained focused primarily on the technical architecture and feature set, often to the detriment of the user experience.
The poor usability of open-source is a major issue
Lack of documentation
Most community-based open-source CMS products provide only a small amount of documentation, and other support information.
Effective documentation requires skilled writers and considerable resources, and it remains to be seen how this work can be funded within the open-source business model.
Danger of over-investment
While open-source systems can be more easily customised, this introduces the danger of organisations ‘over investing’ in product development.
The cost of building up internal knowledge and skills relating to a single CMS must be recognised, as content management is not core business for many organisations.
In this way, having access to the source code can be seen as a potential disadvantage, as it may encourage excessive customisation.
Lack of a future
Organisations may be hesitant to implement a system that is not developed, supported and marketed by a large organisation. The fear is that the future of open-source systems is uncertain, without the planned version upgrades, and service-packs.
This issue is more of a myth than reality. In practice, the number of mergers between the CMS vendors demonstrates that the future of even the commercial providers is far from certain.
If an open-source CMS has a high level of community support, improvements will proceed rapidly, well into the future. In many ways, the large ‘customer base’ of open-source options provides a greater guarantee of future support than can be offered by a commercial vendor.
Two open-source models
Up to this point, the strengths and weaknesses that apply across most open-source systems have been explored.
When considering open-source systems, it is important however to recognise that there are two different models:
- Community-based open-source systems
These are the ‘traditional’ open-source systems, completely free, produced by the volunteered efforts of many individuals across the globe. While there may be a coordinating body, there is no owner of these systems in the conventional legal sense.
- Commercially-supported open-source systems
In more recent times, a number of commercial organisations have developed products based on the open-source model. Here, there is one organisation that provides professional services or support for the product, while the code itself is made freely available.
In practice, many approaches are a mix of these two models, depending on the direction taken by the developers of the product.
The benefits and issues are somewhat different for each of these approaches, and this is reflected in the recommendations found below.
Beware of over-investing in CMS customisation
It is clear that open-source content management is more than just a fad, and that deployment of these system is steadily growing, particularly in the government sector.
Open-source content management systems are not going to replace offerings from commercial vendors. They do, however, offer an increasingly viable alternative for many businesses looking to obtain a CMS.
Open-source solutions should be evaluated side-by-side with commercial CMSs as part of a tender process. Judged on their merits, open-source solutions may prove to be the best solution for some organisations.
Looking specifically at the two models of open-source:
Community-based CMS: these systems are best suited for organisations that have strong internal development resources, as customisation will need to be conducted in-house (in the absence of commercial support). This makes them unsuitable for any project requiring ‘out of the box’ deployment.
Commercially-supported CMS: these systems should be evaluated like any other commercial product. While the licensing cost is zero, the system must match business needs.
In either case, the selection process must be driven by business requirements. Products are then evaluated against these specific needs, regardless of whether they are open-source or commercial.
If this approach is taken, choosing an open-source solution may prove to be a sound business option, not a ‘religious’ or ‘political’ decision.