After a recent hot drama on a well know social network about Open Source vs Proprietary software, I felt inspired to write this. The drama was about websites and content management and the key tone that came across was that there are two approaches to this – Open Source Software (OSS) or Closed Source (also known as Proprietary Software). Both have pros and cons that are worth pointing out before anyone, personal or in business, should delve in to or commit themselves through the journey of Open Source or Closed Source Software.
Why am I writing this? It’s important to get value from what you buy into and I sometimes have concerns that not everyone knows exactly what they are getting into. It’s not really for me or for other developers but more of a vehicle to educate those who aren’t fully aware of the choices available to them. In fact this would be beneficial to a non technical person who is about to embark on a website project.
Open Source
What is it? It’s freely available software for users to use, developers to learn from and change to make or extend improvements to the software. Anyone can use or in some cases distribute under the open-source licence terms. It’s exactly what it says on the tin, open! Now there are literally thousands and thousands of source code projects available but some are more prevalent that others when it comes to the content management of websites. For content management WordPress, Joomla and Drupal are currently the leaders in this field with all three having a strong community of developers and users all making improvements, albiet some are kept more up to date than others. (but thats a different conversation!) The point is that they all have a massive open community, using and developing the software freely. There is always someone to hand to ask about how to do this or how to do that and the chances are that if you come across an issue someone else has had the same issue and resolved it by doing x, y or z. Google it and you’ll probably find a tutorial on a blog somewhere. That’s the beauty of Open Source.
Open Source Pros
- free to use and distribute under the open-source licence
- openly available source code to learn from and commit improvements
- large community resource to turn to for questions
- wide range of projects available
Open Source Cons
- can be poorly documented
- can be underdeveloped if there is a lack of community contribution
Proprietary Software (or closed source)
What is it? Again it’s as it says on the tin – closed! The source code is only available to a core group or team of developers and in most cases it’s not free. There is usually a premium to pay or there is a lockin strategy that users (not developers) are funnelled through for upselling purposes. On the surface the strategy will look fairly cheap and inexpensive but when it comes to the extras there might be additional bolt on costs or upgrade costs. Because these type of systems are developed under ‘one size fits all’ strategies they are often repeat modualar systems that don’t really have huge flexibility which is why a user could end up paying more for a premium service… there’s the cross sell/ upsell strategy kicking in! Also it’s worth pointing out that whilst using such services you could have added huge amounts of content to the closed source service only for them to go bust or be acquired by another company so the question is ‘who owns the content’? Is it yours is it theirs? Can you retrieve it easily and move to another solution? These are all the things users should be aware of with Closed Source Software solutions. Now don’t get me wrong sometimes these are perfect for some users but, it is not always apparent on the surface so I feel it is my job to educate them.
Closed Source Pros
- usually quick to setup as its a repeat model
- small cost and short term affordability
Closed Source Cons
- ownership of content, who owns the content?
- limited flexibility with basic models
- lock down and tie ins usually with an up sell, cross sell strategy
- costly in the long run
I think that anyone who knows me on twitter, facebook, linkedin or Google will know that I love WordPress because of the community, extendability and resources available and I think because it’s constantly under development it offers great value to the consumer, however this isn’t a post about that so I’ll leave that for another post!
So there you have it – there’s a lot to think about when it comes to managing the content of your website, how much value will you get from the cost in the long run? Is it future proof? If the current developer has a personality change or falls under a bus can another developer pick it up running?…. with open source probably yes! Is it scalable and robust enough? Who has ownership of the content? Can you rely on a community or will you be tied down to one company? These are just my thoughts, if you’re about to embark on a project or you’ve had experiences in the past feel free to add your comments or questions below.
I keep meaning to blog about this. Not in the context of CMS’s, but of software in general.
I left a well paid job in the It department of a telecoms company to take the less-we’ll-paid and less-secure (possibly) freelance developer route.
One of the main things that frustrated me about the big-corporate world was their insistence on using COTS (Commercial Off-The-Shelf) software from big vendors. I was mostly using a product set from a very large, multinational software supplier. Very much closed-source. And it was a nightmare.
1) It was expensive: initial licensing costs, ongoing support and maintenance costs, were both huge 6-figure sums.
2) It was badly supported. Sometimes even getting the support team to acknowledge an issue was difficult. When they did, actually getting to deal with someone like a developer who understood what the product was doing was nigh-on impossible.
3) It was badly written. Even basic defensive coding techniques were not employed. Things would break with no error, no log file message. I remember one particular Windows-based tool that crashed if you ran it as a different user to the one you installed it as. Shocking. No error message. No log. No test for the error and gracefully exit.
4) Development/release cycles were long. Aside from the fact that bug reports and enhancement requests were rarely actioned/implemented, when they were they were part of a three-month or six-month release cycle. No quick fixes!
5) Development was mostly by acquisition. The product life cycle seemed to be:
– produce product roadmap
– see useful features in competitors product
– acquire competitor
– declare competitors tool/technology as ‘the next big thing’
– scrap old product
– goto 10 (if you know what I mean)
6) Products tried to be all things to all men – ended up doing nothing well.
As a third-line support engineer trying to provide high-quality, high-value services to large corporate customers with huge wallets, it was incredibly frustrating having my hands tied by these constraints imposed upon me, despite paying exorbitant amounts for the pleasure.
With OpenSource I see a bug, I investigate a bug, I fix a bug (note: I already have the fix at this point!), I submit a patch, usually released within weeks. Heck, even support is better. I use a premium forms plugin. I had a problem with something I was doing. It was investigated and fixed – with an updated, patched version of the plugin, within 48 hours. This in a product I paid a three figure sum for.
I think the key difference isn’t openness, documentation, flexibility, or cost. It’s that people who write OpenSource software give a damn. They care. They make things out of love for their trade.
COTS suppliers are in a race to the bottom: lower support and development costs, and increase profit. Support and development are just processes that employees follow as they resolve as many tickets as possible within SLA and cross tasks off a todo list.
There. I’ve been waiting for 18 months to get that off my chest. I may cross-post to my own blog now I’ve done it.
Rant over. Open-source wins. 🙂
I keep meaning to blog about this. Not in the context of CMS’s, but of software in general.
I left a well paid job in the It department of a telecoms company to take the less-we’ll-paid and less-secure (possibly) freelance developer route.
One of the main things that frustrated me about the big-corporate world was their insistence on using COTS (Commercial Off-The-Shelf) software from big vendors. I was mostly using a product set from a very large, multinational software supplier. Very much closed-source. And it was a nightmare.
1) It was expensive: initial licensing costs, ongoing support and maintenance costs, were both huge 6-figure sums.
2) It was badly supported. Sometimes even getting the support team to acknowledge an issue was difficult. When they did, actually getting to deal with someone like a developer who understood what the product was doing was nigh-on impossible.
3) It was badly written. Even basic defensive coding techniques were not employed. Things would break with no error, no log file message. I remember one particular Windows-based tool that crashed if you ran it as a different user to the one you installed it as. Shocking. No error message. No log. No test for the error and gracefully exit.
4) Development/release cycles were long. Aside from the fact that bug reports and enhancement requests were rarely actioned/implemented, when they were they were part of a three-month or six-month release cycle. No quick fixes!
5) Development was mostly by acquisition. The product life cycle seemed to be:
– produce product roadmap
– see useful features in competitors product
– acquire competitor
– declare competitors tool/technology as ‘the next big thing’
– scrap old product
– goto 10 (if you know what I mean)
6) Products tried to be all things to all men – ended up doing nothing well.
As a third-line support engineer trying to provide high-quality, high-value services to large corporate customers with huge wallets, it was incredibly frustrating having my hands tied by these constraints imposed upon me, despite paying exorbitant amounts for the pleasure.
With OpenSource I see a bug, I investigate a bug, I fix a bug (note: I already have the fix at this point!), I submit a patch, usually released within weeks. Heck, even support is better. I use a premium forms plugin. I had a problem with something I was doing. It was investigated and fixed – with an updated, patched version of the plugin, within 48 hours. This in a product I paid a three figure sum for.
I think the key difference isn’t openness, documentation, flexibility, or cost. It’s that people who write OpenSource software give a damn. They care. They make things out of love for their trade.
COTS suppliers are in a race to the bottom: lower support and development costs, and increase profit. Support and development are just processes that employees follow as they resolve as many tickets as possible within SLA and cross tasks off a todo list.
There. I’ve been waiting for 18 months to get that off my chest. I may cross-post to my own blog now I’ve done it.
Rant over. Open-source wins. 🙂
Hi,
Nice piece. As someone who has just left corporateville, I wholly concur with Ross. It’s time for big business to wake up and smell the coffee.
Dan
Hi,
Nice piece. As someone who has just left corporateville, I wholly concur with Ross. It’s time for big business to wake up and smell the coffee.
Dan
It’s not entirely as simple as that. This is very much written in the context of being pro-open source (which I am, as a developer of open-source software). However, there’s other things to take into account.
Open-source is often mistaken for free software. Whilst open-source is usually free (but not always – many charge for support or advanced features), proprietry software isn’t always charged. Look at the difference between Firefox and Chrome. Both are free pieces of software, but Firefox is open-source whereas Chrome isn’t (there is an open-source version of Chrome, Chromium, however).
The other thing to take account of is, if you’re a user of open-source software, is to make sure that you’re a contributor to the project. It doesn’t really matter how small your contribution (even if you just blog about it and discuss how to do certain things), open-source projects depend upon the community.
Proprietry software isn’t always badly supported and, if there isn’t much of an active community, open-source software can be difficult to negiotiate – I’ve seen many truly awful pieces of open-source software that I wouldn’t wish upon anyone.
Like with everything, it’s about looking at what’s best for your purposes.
It’s not entirely as simple as that. This is very much written in the context of being pro-open source (which I am, as a developer of open-source software). However, there’s other things to take into account.
Open-source is often mistaken for free software. Whilst open-source is usually free (but not always – many charge for support or advanced features), proprietry software isn’t always charged. Look at the difference between Firefox and Chrome. Both are free pieces of software, but Firefox is open-source whereas Chrome isn’t (there is an open-source version of Chrome, Chromium, however).
The other thing to take account of is, if you’re a user of open-source software, is to make sure that you’re a contributor to the project. It doesn’t really matter how small your contribution (even if you just blog about it and discuss how to do certain things), open-source projects depend upon the community.
Proprietry software isn’t always badly supported and, if there isn’t much of an active community, open-source software can be difficult to negiotiate – I’ve seen many truly awful pieces of open-source software that I wouldn’t wish upon anyone.
Like with everything, it’s about looking at what’s best for your purposes.