Why You Shouldn’t Use An Open Source CMS

16 Aug 2011 by Gordon
10 Comments
Surprisingly enough the free solutions aren't always the best

Surprisingly enough the free solutions aren't always the best

In world of modern web frameworks, advanced programming languages and an emphasises on usability and engaging functionality, we seem hung up on the concept of building everything on top of open source CMS’. The reality is though that they often constrain our innovation and provide clients with hacked together, mismatched sites that are neither still generic enough to be portable nor bespoke enough to be fit for purpose. I think it’s time we changed our approach.

Open. Source. CMS. I hate those words. OK, fine, that’s not quite true as, after all, this blog is built upon an open source CMS so I can’t really hate them all that much. In fact, I’m just being downright hyperbolic as indeed they serve their purpose and have their well-earned place in the industry, standing tall as a a testament to the power of collaborative passion over commercial prowess and, if anything, I take my hat off to them for sticking it to the man (he knows who he is) and showing that when a gaggle of geeks get together, cool stuff can occur. The problem is though that they are not always the best thing for building web sites with and shouldn’t be blindly reached for as a matter of practice as, quite often, they just aren’t the right tool for the job.

What clients think they’re getting

More often than not the criteria for using an open source CMS is stipulated by the client during a tendering or selection process. Now, as lovely as client are, they really have no place dictating what type of web platform we use because, after all, we are the experts in these matters and are being paid to find the solution that best fulfils their goals and suits their needs. Sure, it can be tough to resist the urge to please when responding to a tender or what not and immediately buckle and offer to build a site in open source CMS X/Y/Z just to make the client happy but we must appreciate that often they are making a lot of unjustified assumptions that probably aren’t correct.

Logically we can deduce that by telling web agencies that they want their site built upon an open source CMS, clients are assuming they are getting something that is highly portable (i.e. easy to move to new developers), scalable (i.e. cost efficient and easy to enhance in the future), efficient to develop with (i.e. cheaper and quicker for the agencies), and gives them access to hundreds of fully complete and operational plug-ins (just like on the Apple app store, y’know). In essence, what a client thinks they are getting is a platform that will be significantly quicker to develop on, both now and in the future, safer because they could get any developer off the street to work on it, and overall a lot more cost effective because it’s got an army of free, third party developers working on it day and night as opposed to only the development team of a single digital agency.

The truth, however, is that it almost never works out this way.

Unfortunately open source CMS’, often heaped with blind praise, rarely actually solve the exact needs of any complex web site

The cold hard truth

Utilising an open source CMS is often completely understandable and acceptable yet cracks start to appear when the situation calls for something a little more unique, more innovative and more bespoke. Unfortunately open source CMS’, often heaped with blind praise, rarely actually solve the exact needs of any complex web site. Instead, what they end up doing is providing a canvas for development that is neither well thought out nor practical, often quite buggy, hack prone, and difficult to extend in any clever and sensible manner. Just because a CMS has had hundreds of people contributing to it doesn’t mean that the code base is actually any good or friendly to work with. In fact, it can often be the exact opposite.

But what about the plug-ins I hear you cry. Yes, I know there are an abundance of third part plug-ins available for open source CMS’ and sure, it’s a very attractive option to say the least. The problem though is that the concept of third party plug-ins tends to lead to a very lazy mindset on behalf of the developer, making it far too easy to ‘solve’ a client’s needs by finding some random plug-in and announcing that it’s the only solution available, take it or leave it. Likewise, it’s a mindset that leads to saying no to the client a lot which, while not always a bad thing, is a darn shame when it ends up severely comprising the quality and feature set of the final product.

And portability? When was the last time you actually saw any web site get transfered from one agency to another and not get completely redesigned and rebuilt in the process? The answer: never. Besides, hack away at any open source CMS enough to customise it and it inevitably ends up being a royal nightmare to maintain, proving that there is no such thing as – sorry to say – perfect portability.

Perhaps the biggest sin of all though is that clients can end up with sites that are simply customised, not created, pieced together from an archaic, poorly thought out code base that isn’t actually suitable for their needs. At the end of the day, the goal should always be to make fantastic, usable web solutions not just repeatedly churn out customised open source platforms because it’s the easiest thing to do.

To create a site that is truly unique, engaging and valuable you need to have the flexibility to create bespoke solutions and interactions

Bring the framework not the CMS

Perhaps a better and more forward thinking approach is to take a look at utilising a good underlying framework that can negate the advantages that open source enthusiasts often recite whilst providing the flexibility required to make truly unique and highly targeted, customised functionality. Ruby on Rails, for instance although there are plenty of others, is a powerful framework for rapid development doing so in a predictable manner thus allowing for the portability, scalability and efficiency that is often sought with an out-the-box open source solution. Plus it’s potential is limitless, granting full control of functionality development to the developers themselves, freeing them from the shackles of badly made plug-ins and poorly written open source CMS platforms.

The point is to find tools that allow you, the developer, to build and create things faster in a more elegant and logical manner, giving the freedom to create any solution imaginable without compromise, rather than being back into a corner, constrained by the restrictions of a particular open source CMS.

Give them a site worth their money

Ultimately clients deserve good products that are worth their money and unfortunately open source CMS’ aren’t always the solution. Don’t get me wrong, they’re perfectly good for the right project but for any enterprise level or sophisticated system they often fall flat on their face. If someone is forking out tens of thousands for a custom web site, they shouldn’t need to be told that something can’t be accomplished because the functionality doesn’t exist by default in an open source CMS. Likewise, the process of creating the site itself should be about more than just cherry picking poorly built plug-ins and hacking together some templates. To create a site that is truly unique, engaging and valuable you need to have the flexibility to create bespoke solutions and interactions, something that’s far more achievable when leveraging a powerful and flexible framework and augmented by a pool of in-house built components.

If you liked this article then why not subscribe to our RSS feed.

Author: Gordon McLachlan

Gordon is uncomfortably good looking.

Comments

Showing 10 Comments

Leave a comment
  1. Paul 18 Aug 2011 at 1:05 pm

    Very accurate. However, I wouldn’t necessarily restrict this thinking to just ‘open source’ CMS, but all CMS in general. I’ve personally experienced organisations spending tens of thousands of pounds on a closed-source CMS… and THEN hiring the technical expertise required to implement sites with it, only to find the thing is riddled with bugs and terrible at actually managing content.

    • Gordon 18 Aug 2011 at 9:45 pm

      Totally. There’s been a widespread movement in the past few years of companies who think that getting a CMS, either open source or closed, is the most important aspect of their site, neglecting every other consideration.

  2. Reuben 18 Aug 2011 at 3:47 pm

    I’ve done quite a few CMSs that are extremely client specific, using various frameworks along the way (CakePHP is my fav for the last couple of years). I’ve recently discovered Croogo, one of those open source CMS, written with CakePHP. The attraction is because it’s written with CakePHP, I can use it as a base for CMS basics (simple content, user logins, forms and some sort of templating structure).

    I often get asked to recommend out of the box CMSs, but the people asking the question barely know what HTML, let alone PHP (or any other web hosted language they intend to use). It’s a sad state when I have to say that Joomla! is the best CMS for the non technical user. Mind you, this is only my own personal experience, and I haven’t got my hands dirty with WordPress.

    Then I look at packages like Drupal. From a programmers point of view, it appears quite nice, but if I install this for a client, and make any customisations, the client (who probably doesn’t want to pay for much more than the initial development), isn’t going to be able to maintain the releases.

    Then I look at the custom CMS work I’ve done on some of our projects. It would be an interesting exercise to see if the same sort of things could be done as plugins or addons to existing CMSs, but I just don’t have that kind of time to pfaff around.

    • Gordon 18 Aug 2011 at 9:49 pm

      I quite like ExpressionEngine as it provides a CMS on top of the CodeIgniter framework but, even then, you still find yourself in the position of selling the CMS to clients and then making a dog’s dinner trying to customise it to suit their needs.

      At the end of the day, I believe it’s all about finding the right solution for the job rather than just blindly using the same CMS for every occurrence. Some projects are perfect for open source CMS’, some for closed whilst others need bespoke development on top of a solid framework.

  3. oz49erfan 19 Aug 2011 at 1:45 am

    I agree in that if you need something complex then you may need to write it from scratch. But for smaller clients most open source CMS will do fine….

    • Gordon 19 Aug 2011 at 11:25 pm

      Oh of course. It’s all about choosing the right CMS for the job.

  4. Nick West 02 Sep 2011 at 8:06 pm

    This article is awesome and really hits the nail on the head. I just recently got a new job as the web developer for the University of Washington Information School and they’ve been using an open source CMS. In my previous position at Wayne State University, we created our own in house CMS which we grew from hosting 1 campus site to hosting over 300, and were headed for nearly all the sites for the University.

    The CMS at Wayne is highly honed to serve the exact purposes and needs of the sites we plopped into it. It’s also extremely simple for the content owners so they can easily maintain their sites without much intervention from the web team. While working at Wayne I had mixed feelings about our in house CMS and often times ponderings over different approaches came up.

    Now that I’m working with an open source CMS (initially setup by someone who wasn’t me) instead of having a wickedly agile environment that I can code and deploy sites and tools in record breaking time, I feel like I’m forced to live inside the open source CMS box and find modules, hacks, and updates that will -hopefully- fulfill a need I would have otherwise customized perfectly in almost no time to fill before.

    As of now, I’m failing to see the advantage of the open source CMS in complex deployments. It’s modified so heavily and in so many pieces that it’s no longer portable, no developer could come in here and just start working in it like it was the last site they did in the same open source CMS, and it’s clunky, slow, and the code base is terrible.

    For simple sites that don’t do anything special open source CMSes are great for rapid deployment. But as a wise professor once told me; if you have to modify a product by more than 5%, you shouldn’t use that product.

    • Gordon 02 Sep 2011 at 9:57 pm

      I couldn’t agree more with everything you said – your comment sums up my feelings (and point) precisely along with an excellent example!

      Open source is a terrific idea and great for a lot of projects. Like you said, if you want something simple or quick then an open source CMS can be perfect. However, when you start dealing with large projects that have specific requirements you really need something that’s tailored from the ground up so it’s robust and scalable enough to grow with the company’s needs. With an open source platform you often end up having to hack it to pieces to get it to perform the right task, finding that the core framework isn’t actually very good in the process. Ultimately you end up with something that’s neither slick and specifically tailored nor agile and portable anymore. And with really great development frameworks out there now, I’m not sure some of these open source CMS’ even save that much time.

  5. Arjon Jason Castro 10 Apr 2013 at 5:27 am

    Well, all I can say is that, using CMS is will just result to same web page appearance. You can not maximize innovation since you rely on the themes of the CMS you are using. I prefer to get a get very good web programmer and let him get the job well done.

  6. eismaschine test 18 Jun 2013 at 4:49 am

    Great blog! I am loving it!! Will be back later to
    read some more. I am taking your feeds also.

Leave a Reply