In general, the larger the company is, the more it aims for covering the software-related risks by paying for external support services. And it makes sense, at least in theory:

  • the bigger the company, the more complex its business is
  • the more complex the business is, the more software is used
  • a lot of software means a lot of maintenance
  • you can't get all the skills under one roof, some stuff just has to be outsourced

And once you outsource some maintenance effort, you really want to care as little as possible - the stability and guarantee (sort of, it's really hard to get a full blown, unconditional 100% guarantee) are the key. That's why corporate decisionmakers would prefer buying support from Microsoft than for instance Hibernating Rhinos (sorry guys, nothing personal) - in the end it's more likely that for instance Greece is out of market than Microsoft ;P

The problem is ...

... that such a support is pretty much useless. Nothing more than just fooling yourself. Since the very first day I'm in IT as a professional (it's already 13 yrs) I didn't get anything valuable from paid vendor support. Never. Usually what they did was:

  • either identifying the already registered bug in their SIR tracker
  • or searching through documentation (which was published anyway)

Conclusion - paid support is:

  1. for idiots / slackers, who can't search through the web / documentation
  2. for those who just want to outsource the responsibility and don't care whether it will work or not ("hey, we just did all what was possible, even Microsoft can't help it")

Seriously, if you're one of thousand clients who have bought MS SQL Server 2078 R4, do you really think that Microsoft will treat you individually? Customize an option for you? Fix the bug you're strongly affected by?

What worked better for me?

  1. Small vendors did - the ones that actually cared, becaused they knew that they HAVE to listen to you - because of 2 reasons:

    • if you leave, they will lose one of few clients (so the pain will be perceivable)
    • it's one of the best way to get the feedback on their product - this way you can both improve the client satisfaction and bump the quality to get new clients
  2. Open Source community did - people who have a much deeper motivation (check Peopleware by Tom DeMarco!) really care:

    • they want glory!
    • they build personal brand alltogether with the product / service
    • even if there was no-one to fix the product, you could do it on your own (and make a welcome pull-request afterwards)

Obviously, both those scenarios ain't flawless:

  • small vendor may go bankcrupt or just may not be able to address all the issues due to limited means
  • Open Source project may just die because of leader leaving, people losing interest, personal issues between contributors etc.

Examples? You want examples?

  1. One of the best commercial support experience we had was with Octopus Deploy - pretty much instant answers for our questions, livechat set up in 10 minutes, open and straightforward discussion about the plans for future, adjustable road-map. Even if we in the end gave up on the product (we needed something much more universal), I can recommend it to anyone interested in Web application deployment automation for .NET.

  2. On the opposite site - Atlassian and their Crucible + FishEye duo. It's a nice looking, feature rich piece of software you can use for Code Review within your software factory. The problem is, that it has a bug that pretty much prevents you from using it with Git (you can't create a review for a merge-commit, which isn't anything unusual really ;P).

    Unfortunately, this bug remains for over 2 years. Without a fix. Without a workaround (unless you find switching to Subversion as a workaround...). The support license is shaped up that way, that Atlassian isn't obliged to do anything really - they just don't care and they have no plans to fix this issue. In other words - screw you, we don't care, it's your problem.

    In theory - support license gives you the access to source code, so you can go for it and fix the bug on your own, like for the Open Source project - but you're on your own: there's no community you can ask for support, other clients can't share their fixes that way, etc.

Switching from commercial product (best in breed ;P) to Open Source equivalent in search of greater quality - we live in interesting times ;P