In this article, I'm going to get into minute detail with you on all of the major aspects of open source CMS and the things you should consider to make an informed decision. This is my “how to select the best open source CMS” guide.

When it comes to selecting a CMS, there's no doubt that the process of doing so is overwhelming (hey, it's why this site exists!) but it doesn't have to be.

No uninformed recommendations!

There are a myriad of great open source solutions on the market today but before you get into the selection process, it's important to make sure you set your expectations correctly and that you don't fall into the trap of accepting advice from people based on very little input. I get into this in more detail in my post “WordPress, Joomla and Drupal are NOT the best CMS” but essentially what I mean by this is that exchanges like this example below, serve no value:

Q: What's the best CMS to build a corporate website?

A: WordPress!

The trap people get caught in is one of blanket recommendations with no validity. How does the person answering the question truly know that WordPress is the best solution? Perhaps they want to build their corporate website in Java, is WordPress still the best choice? Of course not and the respondent wouldn't know this unless they asked, which leads me to the following statement: Don't take blanket advice from people who a) don't know your business and b) don't know your requirements.

Once you get past this initial hurdle, it's time to set the process in motion. In my CMS consulting work, I often explain to my customers that I am first and foremost not helping them select a CMS but rather to find the right solution for their business. Without understanding the needs of the business and those working within it, I cannot accurately make a valid recommendation.

To accomplish this, I personally have a spreadsheet I use that contains a number of detailed questions and tabs covering information such as existing website capabilities, features that are absolutely required, integration points for the website and so on. I use this information that I've gathered to make a proper recommendation.

Understanding the arguments against open source.

When it comes to the proprietary vs open source CMS debate, my team and I most often are asked the following questions by those considering the open source route:

Stability: Is the CMS stable? Will it last for the long-term? Support: Can I get the help I need? Cost: What’s it going to cost me? Flexibility: Can I move it, change it, or tweak it? Security: Will my sensitive material be safe?

Here are my responses to these questions:

Stability

When it comes to the stability of an open source CMS, you must consider the fact that most popular open source solutions have massive communities of developers that work tirelessly at expanding, improving and bettering the systems they work with. Furthermore, because the code is openly available, it's often much easier for a developer outside of the company to find problems and recommend solutions than it would be if the code were proprietary. This is because there is no single owner of the product but rather the community of owners all who can contribute content as they deem necessary. This often leads to quicker innovation as well (although this isn't always the case).

Support

Perhaps you feel that a proprietary system is best because most of the time one of their main costs is due to the fact that they offer 24/7 support. This is definitely something to consider but you should also be aware that there are plenty of open source companies that do the same. Take for example some of the large enterprise players like Jahia, Hippo and Magnolia. All of these companies offer open source products with 24/7 support options while still offering up open source versions of their products. There are plenty more of them out there as well. I'll add a list of some recommended solutions at the bottom of this article for those of you who aren't sure where to start.

Perhaps, however, you'd prefer not to pay for support. If you check the forums of the popular open source solutions, you'll see you can easily find thousands (if not millions) of people who are happy to help fix your issues for free. You may wait slightly longer in some cases but you won't be billed for it. Furthermore, you can often find scores of development houses and individual developers / programmers that are happy to help with your issues on an hourly rate. As such, there's really no validity to the lack of support options from open source CMS providers.

Cost

This is a big one and I'm going to play both sides in my response. Often times, I get customers who believe that selecting an open source solution means it's going to cost far less than a proprietary model. In short, my response to this, unfortunately, is an unhelpful: it depends.

Why does it depend? There are a host of factors that determine the cost of a new CMS implementation. From development & design costs to deployment costs, it's virtually impossible to accurately quote something from the hip. A reasonably safe assumption, however, is that proprietary solutions are often packaged in “ready to go” bundles. They still require quite a bit of customization but most of the time, they are (in my opinion) more complete offerings from the get go. Open source solutions, on the other hand, tend to be very flexible and unpresumptuous, while not assuming you need everything bundled from the get go.

Most of the costs associated with open source CMS come from hiring developers and / or paying for support as opposed to hefty licensing fees which are most common amongst proprietary models. With proprietary systems you most often have four costs to consider: licensing, development, support and training. With open source solutions you typically pay for development and sometimes support but most training can be learned online and for much less cost.

Flexibility and Customization

This is, in my opinion, where most open source CMS tend to win the battle. Proprietary CMS are, as the name implies, proprietary meaning that unless you are a licensed third party developer or an internal developer working for the company itself, expanding the system is often much more difficult due to the lack of freely available code. With open source CMS, however, anyone is free to take their creativity to the next level and development extensions for the system.

Having said that, this can go two ways. I tend to lean towards the open source CMS provider that vetts out the contributed code FIRST before allowing it to be readily available to their customers as opposed to those that allow anyone to submit potentially poorly coded plugins or extensions without any code review process. As such, I recommend this be one of the questions you ask the CMS provider you are considering in your selection process. To help, I'll include a list of questions to ask at the end of this article.

Security

I've written about this numerous times but I'll do so again. One of the most common fears of those choosing open source solutions is that they may, potentially, be more prone to security threats. This can, in some instances, be true of any solution that is popular and is, in my opinion, not specific to open source products in any way. The more popular a solution and the more often it is used, the more it attracts the interest of potential hackers or wrongdoers. In the case of open source CMS, I've seen several people argue that because the code is freely available, it's much easier to find exploits. I would argue that this is, in fact, one of the reasons you are less likely to be attacked with an open source solution that properly monitors security issues and patches them accordingly. Why do I think this is the case? It comes down to the community. I've seen many instances where a product is released and a security whole is found within hours by a concerned third party developer who offers a solution leading to a quick release of a patched product.

The speed at which open source CMS providers can turn around patches and fixes is often much quicker due to a lack of firm release dates, red tape and the like. So from my point of view, it's less of an issue. Feel free to dispute this with me, of course, in the comments.

Quick Summary

So in summary, are open source solutions good options to consider? Of course. Should you only consider open source solutions? Of course not. It all depends on what you need.

How to select the best open source CMS

So now that you have a better understanding of some of the main arguments for an against open source CMS, it's time to learn how to select the best one.

As promised, I've included some additional information in the form of two lists. The first is called “Things to consider” and gives you a list of considerations when thinking about which solution you may want to add to your short list (this can also be applied just as easily to proprietary CMS as well).

Things to investigate before contacting an open source CMS vendor:

The size of the community

The size of the community is a very important consideration when determining which open source CMS you should add to your short list. To determine this, I recommend checking a few things out:

How large are their forums (number of posts, replies, etc)? How active are they? (note: not all vendors have forums) Do they have a wiki or FAQ? Is it current and does it contain good information? Is their documentation easily accessible and does it appear to be complete? Are they on Twitter? If so, do they reply to queries and appear to be active or are they ignoring questions? What support options do they offer? Do a quick Google search for “<vendor name> developer” and see what kind of results you get (eg: wordpress developer, drupal developer)

While this won't give you everything you need to know, it will certainly give you a good idea as to how popular and easy it will be for you to find what you need if you end up selecting them.

How often do they release updates?

Check changelogs, blogs for product updates and more to make sure that the system you are considering has been updated recently and continues to be updated on a reasonably regular basis. There are lots of solutions out there that haven't been updated in years and it's very important you check before considering one.

What options exist for support?

Do they offer paid support? If so, what are the costs. Do they offer support in your language? How easy is it to find support? Do a few Google searches and see if you can find people who provide support for the product you are considering.

Questions to ask potential vendors:

First and foremost, while you have (hopefully) done the research I recommended above, it's always good to confirm your findings with the vendor. Ask them how often they release updates, what support options exist and what they think of their community. This will give you a good idea as to how well they communicate their product. If their responses differ heavily from your own findings, I would steer clear.

What is your plugin / theme code review process?

To help you word this question, what you are looking to find out is what happens if an outside developer wants to contribute a plugin. Does it simply get published to the plugin directory and is it then instantly available or is there a code review process in place that makes sure the code doesn't cause issues with the core system itself, meets security requirements, etc. Ideally, if you are looking for a system for a business, you'll want some kind of code review process in place first.

Do you have a list of recommended development houses?

This is an important one. Often times, the vendors will have a list of companies they feel do the best work and best represent what they consider to be “fair and honest offerings” of their products. It's good to request their recommendations and then follow up with those development houses with RFP's in order to get a rough idea as to what your end costs might be.

Do you have samples of implementations that I can see?

While reading case studies can be somewhat tedious, they are a great way to learn more about how smooth the implementation process went.

Do you have references?

Asking for references is important. While this may not seem like a job interview at first. It is! You are choosing someone to spend your hard earned money on and references are critical.

Get your own references!

Do some research yourself beforehand. Find forum posts or Tweets from people who are using the system (takes a bit of Google knowledge, but you can do it!) and reach out to them yourself. Ask them how they found the process of working with the vendor, etc.

Enterprise Open Source CMS vendors

Here is a quick list of enterprise open source CMS vendors for you. Keep in mind that this is not considered a complete list but rather a few options to consider off the top of my head. For a more complete list of vendors, visit our directory.

That about sums up this article. As more ideas and thoughts come to mind, I'll expand this as needed but for now, I think this should give you a fairly good idea as to what you should be considering when selecting the best open source CMS for your project.

Did I miss anything? Do you have additional tips or questions? Leave a note below and I'll do my best to reply promptly and of course, if all of this seems too overwhelming to you, we also offer CMS consulting.