Open Source: Does it Matter?

by Matt Hamilton on Jan 11, 2010
Filed Under:

Last week I attended an event organised by the BCS entitled Public Funds in the UK: Open Source for Document and Content Management?. I'll be doing a full write up of the talks, and indeed put up my own slides from the talk I did in the next day or so... but firstly I wanted to respond to a few blog posts that have come out of the event.

Three specific posts by: Jon Marks, Janus Boye, and Justin Cormack came out in the days after the events, prompted by the panel discussion at the end of the event in which there was discussion about and Open Source vs. Open Standards. Towards the end, the discussion got quite philosophical and the question of "What does 'Open Source' really mean?" was raised. I had to dash to catch the train, so missed the beers afterwards, but no doubt the discussion followed on in the pub.

The end result was Janus posting that he was confused as to what the real benefits are to Open Source, followed by two responses -- one by Jon explaining what standards are used in the CMS world, and the other by Justin talking more about the ethos of Open Source and pointing out that it was developers that first 'got' Open Source, followed by the rest of the world. As someone who is a developer first and a businessman second I guess I took some of those aspects for granted and it was good to read Janus' post to remind me that maybe not everyone sees things quite the same way as I (or other developers) do.

So where did this confusion come about? And what about this whole "What is Open Source?" question? Well let me try and recap some of the points that went back and forth in the panel discussion:

  • The end user doesn't care if the product is Open Source or Proprietary... they just want the job done
  • Does access to the source code really matter? If the system has an API, who cares?
  • The license fee is only a small part of the cost of a project, so does it matter if I have to pay a license fee?
  • Some proprietary vendors offer free trial versions of their software, so I can evaluate them just as cheaply as Open Source solutions
  • Open Source means I can own the software
  • I can do transparent, iterative, agile development just as easily on proprietary platform as an open source one

Now, these are all good points and thinking them through I can see they all have quite a bit of merit. In fact back at the office I was thinking through them all and it is a useful exercise to try and work out really what Open Source means to you as the more you think about it the more non-obvious it becomes.

The first point: does the client really care if they can access the source code or not? Brian Prentice from Gartner wrote a blog post last month comparing Open Source to the just-in-time manufacturing revolution of the car industry and how an end car buyer doesn't care (or even know) that the manufacturer uses JIT or Lean Manufacturing. The end buyer just wants a cheaper/better car customised to their specific requirements. How the manufacturer does it is not a differentiating factor to the buyer. So, on that basis, why should the client care whether a system is Open Source or not? Maybe the client shouldn't... but that doesn't mean that Open Source is any less valuable a proposition. I'm not going to tell Toyota that just because I don't care if they use Lean or not that it doesn't make a different to the end result.

So maybe it is true that 'Open Source' should not be the main marketing message for an Open Source CMS, and should not be the main reason on its own why that solution is chosen, but that doesn't make the fact that it is Open Source any less valuable.

At the moment though, Open Source is a very good badge to try and explain to the client why the product is different and can then be a way to explain the benefits.

Actually the car manufacturing analogy above falls down a bit, as when you buy a car most people don't worry about future extensibility of what they've just bought. Yes, they might want to know if you can fit a roof rack, or how much an annual service costs... but in that case, that is pretty much it. If we instead look at a commercial vehicle, say something like a council looking to purchase a municipal bus. The council will want to know that they will be able to get spares for the next decade or so for their vehicle. They are going to want to be sure that they can service the vehicle themselves if need be (maybe they have their own vehicle service dept.), they want to know that they can get ahold of a Haynes manual (or whatever the commercial equivalent is) for the vehicle so that they can do the service themselves. They will want to know that they can retro-fit a wheelchair lift into it if need be in the future. If they take it into service one day at the main dealer and the dealer tells them the flux capacitor is broken then they can take it to Joe's Garage down the road and get a second opinion. Oh wait, of course the main dealer wouldn't tell them something as preposterous as that! They know that would be daft, as they know Joe's Garage next door would tell them they are talk out of their a*%e. See what I'm getting at here?

If the system has an API do I really need access to the source code? Going the opposite way, one commenter to Janus' blog states he prefers not having access to the source as it helps delineate which bits of the system he can and can't change and that helps when it comes time to upgrade. I can see his point, and anyone who has naively gone in and hacked the core of an Open Source system without following the practices of that project will find themselves in a sticky situation when they come to upgrade. But as he states, unless an API exists to do what you want, you are stuck. If you need to bend a system in such a way that the API doesn't allow then you are out of luck. Then again, having an API doesn't mean upgrades will be plain sailing. Looking at the process for upgrade from Sharepoint 2007 to 2010 looks like it is going to be a far from simple.

The license fee is only a small part of a project cost, so it doesn't matter if I have to pay it. Open Source is not that much cheaper overall. Well this may be the case, but as I've stated before the figures just don't really add up on this. Either a company makes its money from licenses, or makes it from professional services. If all the proprietary CMS vendors say that the license fee isn't a big part and could drop it then I think they would be out of business pretty quickly. Unless they switched to doing more professional services of course... but then see the heat that Ektron have just come under this week regards to them allegedly cannibalizing their channel partners' prospective customers. You know that feeling you get when (in the UK) you take your car in for its MOT test and the garage swears there is no relation between their MOT dept and their service dept? Yeah? same feeling I get with proprietary CMS vendors.

On to Software ownership. There seemed to be a bit of confusion here, as some people seemed to believe that Open Source means you get to own the software. Quite the opposite. The whole point of Open Source is that you don't own the code directly but that it is owned by a collective -- usually by a trust or foundation (such as the Plone Foundation or Apache Software Foundation).

A very good piece of advice given to me many years ago by Paul Everitt (CEO of Digital Creations when they Open Sourced the granddaddy of web publishing platforms, Zope): 'Software is not an asset, it is a liability'. One of the big points of Open Source (particularly 'Community' Open Source as opposed to 'Commercial' Open Source) is that it helps to lower risk of software ownership by spreading the risk. This is easily illustrated by seeing what happens when a proprietary software vendor is bought out by another vendor. History has shown us that often companies end up with duplicate products in their portfolio and one gets dropped. Often these acquisitions are purely business decisions at a high level and can have little bearing on the actual product.

Again, going back to the CMSWire article above on Ektron there was a great anonymous comment that put forward the following scenario:

Interactive Agency (IA) evaluates a CMS product and it seems like a good solution. Perhaps they didn't test enough, or perhaps they assumed that because they were not yet "Certified" they simply did not understand how to do certain things. The marketing material looks slick, and the CMS has tons of ads all over the internet, so IA selects the CMS.

The CMS vendor participates in selling the product into IA's clients, talking up all of the great features and functionality. The clients are impressed and sign on the dotted line.

During the implementation of their 1st site, IA encounters what appear to be bugs in the CMS product, but chalks it up to inexperience. 2nd project, same thing. 3rd project, CMS vendor says "Yeah, we'll fix that in the next version." 4th project, it becomes hard to actually get support from the CMS vendor, but they say they are improving their support soon. 5th project, more bugs, more promises of what's to come. Eventually the new version comes out with the same bugs as the old.

If we look at IA's situation, they now have 5 clients tied into a CMS product that is clearly not all that was promised... a product that makes it difficult for IA to deliver what they promised their client when it should be making it easier. Their options are:

1- Publicly (in a forum such as this, or Twitter, or anywhere on the internet) talk about the negative experience they've had.

2- Keep quiet about the issues so as to not damage their own reputation (poor judgment in selecting a CMS solution), and look at a superior solution (having already gotten little satisfaction from the CMS vendor)

3- Post anonymously when they have a chance.

This doesn't even consider those developers who are not involved in the CMS selection process and are simply frustrated with having to work with a product they consider substandard.

That is a classic example of where a client (on in this case an integrator/agency) ends up beholden to a vendor -- this is where Open Source makes a difference. Open Source adjusts the balance of power between the client/agency and the vendor. In the case above, the agency could have either gone in and fixed the bug themselves (then contributing it back to the project so that they don't have to maintain it in subsequent releases) or paid someone more knowledgeable to fix the issue for them. Either way they are not stuck in a dead end having selected a CMS project and then being let down by the relationship with the vendor.

The relationship with the vendor is one of the most important aspects of a CMS deployment project, and as Jon said at the BCS event, very few projects fail due to the technology. They mostly fail due to project management issues, or relationship issues between the parties involved. That being the case why would you enter into a relationship in which one party holds all the keys? That just doesn't make good business sense.

OK, this blog post has gotten long enough, I better publish it now before or I never will! We can follow up in the comments.

Filed under: , , ,
Jon Marks
Jon Marks says:
Jan 12, 2010 11:11 AM

Hi Matt,

I think I agree with everything you say! I'm busy trying to write another post at the moment, and everyone keeps stealing my thunder! Thanks :-)

I do love the 'Software is not an asset, it is a liability' quote.

Jon

Wyn Williams
Wyn Williams says:
Jan 12, 2010 05:36 PM

Interesting article, I often find myself having to explain the benefits of open source solutions to clients.

At the end of the day I concentrate on its adaptability and freedom from restrictive licensing, also the cash spent on one years license fee alone for a supported ECM project can cover full development costs for an open source ECM (Plone) equivalent, with appropriate use cases this can help change minds

Sven Deichmann
Sven Deichmann says:
Jan 12, 2010 05:37 PM

I think, the missing, incomplete or undocumented interfaces (not only the programming interfaces) is the key point. And that is exactly where I think you are wrong regarding the cars for example. Man would I love to have a car with open interfaces. Plug in my own navigation system that still gets info about the wheel sensors, connects to the car antenna (and maybe the car PC/internet connection/whatever) and costs less than the €1500 you currently pay... Or even more interfaces: plug in a new engine that drives by electricity, bio fuel or whatever you like. Actually some manufacturers even have that kind of interfaces to a certain extent. But they would never open them to the public.

And the same is true for software. The customer should care for open source since he can adapt the interfaces to his needs. Exactly that is the point where modifications become expensive or impossible. Try to convince a commercial software vendor to interface with a new software...

Dylan jay
Dylan jay says:
Jan 12, 2010 08:54 PM

Great article. I'd also add that collaborative development is key by product of "community" open source. This is the idea that software made with more usecases is going to be more useful. This can be achieved by having a diverse teams with different itches they need to scratch. Unfortunatly open source is an enabler for collaboration not a predictor. Vendor open source made by a single company is as uncollaborative as any propriatry software no matter what the vendor open source vendor tells you. For this reason we like to promote community open source as making a difference rather than just open source.

Jean-Paul Ladage
Jean-Paul Ladage says:
Jan 13, 2010 07:48 PM

I really like this article Matt, I really can't add much more than just two things:

I can tell a horror story like IA from my own experience, since I messed up big time with a customer once, by taking on way to much customizations to be supported at an exeptable price in the long run.

Second, you start with a nice bullet list of one sentence arguments why Open Source is not important to customers, but you need an amazing amount of text to explain why it should be important to them. I still think you won't win any customers with it because they are not into software, they want bullet lists. So here's my list

  • Open Source distributes the risks of software development evenly across a customers and vendors.
  • Open Source provides the customer the freedom to choose between vendors in case communication with one vendor is not a match.
  • Open Source is cheaper because a lot of work is done in valuable spare time by talented, devoted, professional developers within the community, just because they have passion for their jobs.
Jon Marks
Jon Marks says:
Jan 13, 2010 07:49 PM

I've done a followup article about all of this for CMS Wire. Thoughts welcome:

www.cmswire.com/cms/web-cms/wcm-field-notes-give-open-source-a-chance-006369.php

Matt Hamilton
Matt Hamilton says:
Jan 14, 2010 02:05 PM

Jean-Paul, Thanks for your comments. Yes you are right in that I used a lot of text to explain the 'pros' of Open Source, but I think that is because they possibly need them. Just to play devil's advocate here, you say:

"Open Source provides the customer the freedom to choose between vendors in case communication with one vendor is not a match."

Could that not apply to any, say, Sharepoint implementation? I mean there are many many more Sharepoint companies out there than Plone companies, so surely that is actually a favour for the proprietary systems.

In this case the point is not so much just that you can switch, but that due to the generally 'Open' nature of open source businesses, you will find it an easier and more transparent process.

Again, with your last point, I agree... but the counter-point is that maybe proprietary software could be cheaper as there is all of the revenue from the other license payers besides yourself that has gone towards development. Though, I think in the case of many commercial systems only a small fraction (compared to OSS) of money going in from the customer goes towards developing the core software. I think more goes towards marketing and the likes. Then again, if OSS is going to gain further acceptance then it will have to market itself better, and that does inevitably cost money.

-Matt

Matt Hamilton
Matt Hamilton says:
Jan 14, 2010 02:08 PM

Dylan, I think this is a great point. I think the collaboration aspect is a very strong one. Though again, you might argue 'does the customer care?'. Maybe one of the reasons why OSS is used so much in the NGO sector is that those kinds of companies are more used to collaboration.

I think your point highlights the difference between 'community open source' and 'commercial open source' very well. We did touch on this point a bit in the BCS session, but you've made the point in a very concise and understandable way.

-Matt

Matt Hamilton
Matt Hamilton says:
Jan 14, 2010 02:11 PM

Wyn, Adaptability and flexibility are the key points I use too, hence the last two presentations I've done have been entitled 'TheFlexibility of Open Source'.

slideshare.net/hammertoe

Although again, playing devils advocate here, you could say that a proprietary system with a very good API could be just as flexible. Of course the problem occurs when the API doesn't do what you want to do. Or there is a problem/bug in the API.

Maybe Open Source should be viewed as an 'insurance policy'?

-Matt

Ed Crewe
Ed Crewe says:
Jan 15, 2010 12:51 PM

Hi Matt,

Coincidentally I recently posted an article on ILRT's blog attempting to explain what open source is and its benefits for a non-technical audience.

intdev.blogs.ilrt.org/2009/12/04/what-is-open-source/

However on the core point about OSS marketing itself better, I think that there needs to be more focus on the benefits of open source in itself. So open development practices etc. and how they improve the product.

Rather than concern over whether it is in the commercial COSS or free FOSS camp. For me it doesnt matter if its charged for software as long as it isnt closed source. Also removing the 'alternative' and 'free' label from open source helps to sell it to some clients.

Cheers,
Ed

Matt Hamilton
Matt Hamilton says:
Jan 15, 2010 03:56 PM

Ed, That is a great explanation of Open Source. It gives a concise history of software, and relates Open Source with the rest of the 'Open' ideas such as Open Data and Open Standards.

I guess my point here is that a proprietary CMS vendor could take each of your three claims in that blog post and say they can be achieved still with their system:

  • You can move to different system integrators / certified partners of their system
  • License cost being a small part of the total
  • You can extend the system via API

So, what I'm trying to work out is to further define and name the intangible benefits that OSS has. I think your blog post though goes a long way to further explain more the ideas and ethos behind Open Source (without getting too heavy on the hippy philosophy stuff!).

-Matt

Commenting has now closed on this post.

Follow us

— via Twitter

Is proudly sponsoring #BlueLightCamp today. If you want to come talk Open Source content management @HammerToe is there #blcamp
last month