Seven Criteria for Evaluating Open-Source Content Management Systems
Using a content management system (CMS) to manage a Web site used to be a luxury within the reach of only those who had the technical resources to build a custom solution or the financial resources to afford a proprietary one. In recent years, numerous pre-built open-source CMSes have emerged as viable alternatives to costly proprietary products or custom-built solutions.
Cost savings are not the only reason why open-source CMSes are gaining in popularity. Unlike proprietary products, the source code for open-source CMSes is freely available so it is possible to customize the CMS to match your project's requirements. Customized versions also can be redistributed according to the terms of their licenses. In addition, the benefit of free technical support provided by the Open Source community cannot be discounted.
Development and long-term maintenance costs of a custom-built CMS can be high. Keeping up with new requirements or security issues can take a lot of time and effort. Open-source CMSes combine the advantages of the proprietary and custom-built approaches--a pre-built CMS that is ready to use but can be customized if needed.
In his April 2005 column, Linux Journal columnist Reuven Lerner observed:
It used to be that you needed to search high and low for an open-source application that would suit your needs. Nowadays, it still takes time to find the right application, but that's because you need to sort through so many bad or inappropriate ones before finding the one that is right for you.
Choosing a pre-built CMS from the large number of alternatives can be an overwhelming task. They come in several shapes and sizes, employing different platforms, programming languages and content management approaches. Complicating the decision-making process, open-source CMS projects are at varying stages of development, from stable and reliable applications to cutting-edge experiments. How do you decide which one is right for you?
The CMS Matrix (see Resources) is a community-maintained list of over 300 CMSes, both proprietary and open source. This list may not be comprehensive, but it is a good place to start. This Web site makes it easy to review CMS details such as system requirements, availability of technical support, ease of use, performance, security, interoperability, flexibility and commerce. It also features a convenient matrix to conduct a side-by-side comparison of up to 10 CMSes at a time. But you still need to decide which ones to compare and evaluate. I use the following seven criteria to evaluate potential CMS candidates:
Web application platform
Software license
Stability and development activity
User community
Documentation and source code
Web standards, accessibility
Suitability and usability
Most CMSes use a database, at least one programming language and a Web server. If you have experience with a particular programming language, database or Web server, you might want to consider an open-source CMS that uses those components. If you plan to customize the CMS, familiarity with the various components used by the CMS is especially beneficial.
If you do not have a preference or technical limitations, consider CMSes built using the popular open-source LAMP platform. The first three letters in LAMP stands for the GNU/Linux operating system, the Apache Web server and the MySQL database. In addition, although it does not fit neatly into the LAMP acronym, the open-source database PostgreSQL also is used in this combination. The P in LAMP stands for a programming/scripting language; the most common choices are Perl, Python and PHP. The LAMP platform is stable and regarded as "a mature alternative that has a lot to offer, particularly for projects on a tight budget" (McAllister, 2005). It also is easy to find Web hosting services that provide LAMP hosting.
The flexibility offered by a CMS that can run on multiple operating systems is an advantage, because it doesn't tie down your content management solution to a single operating system. Open-source CMSes built on the LAMP platform often run on operating systems other than GNU/Linux. Some even allow you to use alternate databases. Check which operating systems and databases are supported by the CMS you are evaluating.
The key distinguishing feature and value of open-source software is the license under which it is offered. It is important to check the license of the CMS you are considering, particularly if you are going to modify the software and plan to redistribute it. Simply because it claims to be open may not mean the CMS offers the benefits and protections that you might be expecting. The Open Source Initiative has a list of approved licenses. The Free Software Foundation (FSF) also provides a list of licenses along with a commentary. Check the license of the CMS you are considering against both of these resources. One license that you are most likely to encounter is the GNU General Public License (GPL). Invest the time to understand the GNU GPL, as it is used by many of the leading open-source CMS projects.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
| Non-Linux FOSS: Seashore | May 10, 2013 |
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- A Topic for Discussion - Open Source Feature-Richness?
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Validate an E-Mail Address with PHP, the Right Way
- RSS Feeds
- Readers' Choice Awards
- Tech Tip: Really Simple HTTP Server with Python
- DynDNS
2 hours 29 min ago - Reply to comment | Linux Journal
3 hours 2 min ago - All the articles you talked
5 hours 25 min ago - All the articles you talked
5 hours 28 min ago - All the articles you talked
5 hours 30 min ago - myip
9 hours 55 min ago - Keeping track of IP address
11 hours 46 min ago - Roll your own dynamic dns
16 hours 59 min ago - Please correct the URL for Salt Stack's web site
20 hours 10 min ago - Android is Linux -- why no better inter-operation
22 hours 26 min ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?



Comments
Social application CMS
Hey its seem informative post.
Evaluating Open-Source Content Management Systems
Hey ,Nice and helpful post about open source CMS.
They have to be SIMPLE
After working here - in Phuket - the only condition they have to fulfill here - they have to be SIMPLE. You really don't have a clue, how "simple-thinking" the people here are. Oh man - 8-)
Usability should be higher on the list
I have looked at many, many CMS systems and one thing I can say for certain is that few consider a polished, easy-to-learn interface as a high priority.
If you make frequent changes to your website then spend some extra time up front finding a CMS that facilitates quick and easy changes. It would be better in the long run to spend a little extra [time|money|etc] up front to find a CMS that will save you hours a week in the long run.
I'd say that usability is far more important in the long-run than the platform.
Choosing a CMS.
While these 7 steps are important, the more practical aspects are just as important - and we could squeeze them under accessibility, or we could squeeze them under usability, or what have you. The ability to maximize the use of the content for the purpose of the owner of website is really what the whole thing is about.
For example - taxonomy/category handling is important. Intelligent use of categories allows data to be more intuitively handled on a site, and that means that the person designing the category has to have the maximum amount of flexibility through multiple and single hierarchies, as well as cross pollination between the categories.
That leads to documentation. If you're checking out CMS's, take a read of the documentation as well, and the support site (if available) and make sure that you understand what you are getting into.
And that leads to the most important thing about CMS choices: You really should know what you wish to do before you choose one so you select the right one for the right job. Having a proper definition of what a site is supposed to do comes first.
Apples and Oranges
A quick visit to Moodle's web site (http://moodle.org/) reveals that Moodle is a "Course Management System", NOT a "Content Management System". Using it as an example in an article about "Content Management Systems" is misleading.
You are right that Moodle is
You are right that Moodle is a "course management system", also known as a "learning management system". However...
The term "content management system" is broad and includes various types of CMSes. According to Wikipedia, a "learning management system" such as Moodle is considered to be a type of CMS.
Moodle can certainly be used for non-teaching purposes such as community building or knowledge management and the Moodle website itself is a good example of such use.
The Moodle screenshot here is used as an example of the info you can get on Freshmeat and Sourceforge about an open source project. It is not being compared to anything else.
still misleading (imho)
Yes, I noticed that the screenshot was posted to show information that can be obtained from Freshmeat, but there are thousands of other projects that could have been used for the same purpose (i.e. show the information that can be obtained). I don't think the choice of "Moodle" was mere coincidence. Come on.
Good point on Wikipedia, though. But even though Wikipedia's definition includes it, I still maintain that using a Course Management System as an example of a Content Management System in an article about choosing a Content Management System is misleading. Before I let the Wikipedia definition rest, though, I must say that we *do* work in an industry that sometimes has a bad habit of lumping things together that don't belong together. For example, there are those who call HTML a programming language.
I work with a commercial Content Management System every day (and I'll be the first to admit this in no way makes me an expert). It is used (quite simply) to "manage content" of two websites. That is, we (the "experts" (haha)) set up templates so that we have control over the look and feel of the entire site. "Users", then put in their "content" and viola, they've got a web page.
I would hesitate to call a Course Management System even a subset of Content Management. I mean, there is certainly some intersection between the two problem domains, but they still remain two distinct problems (in my mind, anyway). Maybe if I was in a good mood I would yield that a Course Management System is a highly specialized Content Management System... but even then I would start to think about how course management might have things like schedules; "students", "teachers", and "administrators" (as opposed to "editors", "reviewers", and "authors", which I would consider the users in the Content Management System domain); classes; campuses; etc. (none of which I believe to be part of a Content Management System).
I picture the person interested in reading this article as someone who is trying to choose a system that will allow them delagate management of a very large website to different groups of people within an agency or company. Or perhaps someone who is trying to maintain a consistent look and feel for a news website that has 20 different authors who regularly post articles. I don't think someone looking for a Course Management System would see this article on their rss feed and think "Hey, that might help me solve my problem; I should read it."
CMS vs LMS
Since this topic became a heated argument, this may encourage the need for another article that covers the definitions of LMS vs CMS, their feature and functionalities, and after that we can have a much more interesting debate whether LMS can be used as a CMS and vice-versa. (Just a suggestion.)
But in my humble opinion, I would agree with Anonymous Coward that using Moodle as an example is misleading even if it can be customized and used as a CMS. I would have used Drupal, Joomla, or others as examples because they are legitimate CMS platforms and it would have been much more appropriate and accurate.
Take care guys.
Haas
CMS as CMS?
So it's a CMS with some extra features for managing "classes" -- but according to an independent site it works as a regular CMS too.
RE: CMS as CMS?
okay, I'll bite... what is this "independent site" that you speak of?
CMS or not CMS
children!
come on... the LMS is managing content that an instructor wishes to pass to her students, correct? Does it manage content, or not?
Besides, the refrence to the LMS was only to illustrate an example of viewing project activity on freshmeat. For that example, who cares what program is used?