Open source adoption; countering the fear and doubt

Business, Open Source 10 Comments

For some reason, open source solutions aren’t that popular where I live. Historically, the UK has lagged behind the other major developed countries in North America and Europe in open source adoption, for reasons I’m not entirely clear about, but generally that attitude is changing over time, as discussed in a report issued by Atos Origin a couple of years ago (funnily enough, I worked heavily with Atos for several years in a previous job on a project that included many open source components). However, I’ve generally found that locally, there’s a little more resistence to open source adoption (and I’m talking in the context of developing custom applications now, not off-the-shelf software) – that is, except in a few rare pockets.

I try to attend my local developers group meetings whenever I can, but I always find myself feeling like the maverick in the room since the vast majority of the people there are heavily invested in purely Microsoft technologies – to the extent that many would rather wait for Microsoft to implement their own version of a given framework / feature, than risk using an existing open source solution, regardless of the comparative merits. The primary arguments for this approach are as follows – hopefully I’m not misrepresenting them, I’m trying not to put my own spin on them:

  • Features that are ‘in the Microsoft box’ are easier to set up and are more consistent with existing components
  • It’s more acceptable to deploy to most customers, who are comfortable with Microsoft products, but who would resist deploying other products
  • Microsoft isn’t going away any time soon, so they feel more confident that the feature won’t be abandoned or turn out to be the ‘wrong’ decision
  • Microsoft haven’t abused their single-supplier position (in terms of if you use the most recent versions of .Net, you have to deploy on Windows / SQL Server) in the past, and aren’t likely to in the future

Now, I can see some of the reasoning behind these arguments; I’m not going to say they’re invalid because they’re clearly derived from the personal experiences of the people concerned, and I respect their opinions – even if I don’t necessarily agree with them. In contrast, my experiences have led me to very different conclusions:

  • Assembling ‘best of breed’ components based on individual merits can often give superior results to sticking with what one manufacturer produces, and in practice isn’t as difficult as is made out
  • Brand loyalty is not necessarily a sound basis for purchasing decisions
  • Good open source projects aren’t going away any time soon either; pick a popular project and it will last as long, if not longer, than any Microsoft product. In fact, Microsoft has a habit of changing tack pretty often when it comes to the recommended set of libraries to use.
  • Genuine competition among suppliers is important to maintain a proper balance; never trust that a supplier will not change something when it suits them even if it adversely affects you. The more control you have over the solutions you use, the better.

I have to say that most of the caution and outright resistance that I’ve experienced over the use of open source, in all the circles I move (business software and graphics software), at its heart comes down mainly to fear. Fear of the unknown primarily, and I think that the main issues are:

  • Confusion about choice – in culinary terms, Microsoft is a set menu, open source is an all-you-can-eat buffet. The set menu needs very little thought – you just turn up and take what you’re given. It might be good, it might not, but it’s low-effort because someone else has already lined it all up for you; just watch out if you’re a vegan. At the buffet, you’ll get a huge amount of choice, and you can be sure there will be at least something you like and which meets your particular dietary needs. But it requires a bit of active participation from you to decide what’s best for your needs. Personally, I consider choice to be a blessing, but it’s clear that to some, choice is a distraction.
  • Fear about Longevity – anyone who’s used proprietary software will at one point or another come a cropper over obsolecense – if you haven’t, you’re one of the lucky few. As such, it’s understandable that people would be apprehensive about ‘backing the wrong horse’. However, what is often not appreciated (IMO) is that open source changes the rules to the degree that it makes it less likely that you will be caught in this trap. The most common causes of obsolecense, in my experience, are company acquisitions, introductions of new software lines from the supplier, and very occasionally (but least often), company failure. In the former 2 cases, the company explicitly chooses to withdraw the software, or stop supporting it. Because of the closed license, they are able to cut this umbilical to basically force you to spend money on a newer version or alternative product that the company wants to sell you, with all the inherent migration costs on top of that. If this has happened to you, when all you wanted to do was keep your existing software which worked perfectly well, you have my sympathies. The difference with open source is that you always have the source, and as such anyone can support the software, at any version, should they choose to. The more popular the piece of software, the more likely this is to happen. Even with Ogre, which isn’t enterprise focussed and nowhere near as big as some projects, I have people backporting bugfixes and new features to old versions we no longer update – because they can.
  • Fear about Support – a lot of people think that if you use open source software, you’ll need to be digging about in the code all the time with a spanner, and that you’ll be told ‘go fix it yourself’ when you find a bug. That’s not really the case – of course you can tinker around in the code if you want, and personally I find that incredibly empowering, because if you hit an issue you’re never completely stuck – anyone who has hit an issue in a library that they’ve had to try to work around, and wait for a supplier to fix it, will know what I’m talking about here. But popular open source projects are more often than not incredibly well organised, with great free support, and commercial support available if you need a hard SLA. Again because you’re not dependent on a single source of support, you can get assistance from anyone and everyone, and you might be surprised just how forthcoming this is. It feels uncomfortable to those who just want to lodge a support call with one party (in which case, take out a support contract with one of the companies that support open source officially), but once you get used to the community approach, you can find it can be a lot more powerful than the traditional model.

Having lived and breathed open source for the past 7-8 years, my perspective is so different that I find these fears very difficult to understand now, I guess because I’ve just become used to the environment. I’ve in fact had more problems in the three areas listed above with traditional proprietary software in that time, than I have with open source software, to be honest. As such, I’m completely comfortable recommending and using open source, particularly when it comes to frameworks and libraries. In fact I always look for open source solutions first now, no matter what need I have – and in the development field I’m very rarely disappointed. I hope that one day I can convince more people locally of the merits of thinking outside the Microsoft box ;)

*edit: One of the barriers is that, at least based on what I’ve seen, open source projects that use .Net tend to be less successful and less feature rich than their non-.Net counterparts, so this doesn’t help the perception in .Net users that open source projects often fail (when in fact outside that environment, they flourish far more often). I’m not sure why this is, maybe it’s due to the culture – Microsoft never supports open source projects openly the way others like IBM / Sun do, in fact they’ve historically been quite hostile to it (see Gates’ ridiculous ‘communism’ rant), the best they tend to do is just hire people and fold them in to their internal dev teams – cool for the individual but I do wonder how healthy that is for the project itself – does it mostly die off because the person is now concentrating on internal development? There’s also that .Net is still relatively new compared to others (although the popularity of Ruby would suggest that’s not the main issue), and the closed nature of the base platform which must put some open source developers off.

Share this post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • N4G
  • StumbleUpon
  • del.icio.us
  • Mixx
  • Google
  • blogmarks
  • Slashdot
  • Reddit

10 Responses to “Open source adoption; countering the fear and doubt”

  1. Frenetic Says:
    January 30th, 2008 at 10:12 pm

    Heh! I’ve never actually seen much of your OSS-advocating side, Steve, and this post is a good example of why: Your post doesn’t cover a lot about the “mindset” side of things, the “reflex” reponses and emotional reactions. Instead, you seem to focus on specific practical issues in this post. This is a good thing; I appreciate that kind of pragmatism. Over here in North America at least, I don’t see a lot of it. ;)

    Anyways, here are some thoughts I had on the “mindset” that might be a barrier to open-source adoption:

    Firstly, the ideological side of open source is very prominent (thanks to a certain Mr Stallman, among others) which constantly shifts the focus away from the practical and economic elements of the open source movement, as well as making the culture of open source seem more polarized than it really is. (“Microsoft is eeevil!”)

    The Business world, OTOH, is naturally turned off by a lot of that. Also, in addition to some of the other factors you mentioned, many people in business tend to quickly develop ruts; routines are beneficial, and indeed they are necessary in order for organizations to be able to scale their output beyond a case-by-case treatment of customers. The business world also has its share of ideologues as well. (“Damn hippies!”)

    But the main issue I am aware of is that most of the people running businesses, even when aware of the benefits of open source, don’t understand the culture and economics that allows the open source world to function. So they don’t trust it because they don’t understand how the whole thing works, or what keeps it viable.

    The culture and economics I am talking about, of course, is that of the Internet, that magical “series of tubes“. Indeed, the resistance to this new “open source” software development stems from the greater issues surrounding copyright, patents, culture, and the economy, in the Internet age.

    This socioeconomic divide, I think, is part of what is so difficult in making people see the “other side” of software.

  2. Steve Says:
    January 30th, 2008 at 10:49 pm

    I always try to be rational about these things, people who rant about free software being the ‘one true way’ are as bigoted as Gates and his communism speech. There are no absolutes anywhere in life, and if you think there are then you’re a fanatic. Luckily ‘Open Source’ has been associated with more professional attitudes than the preachings of the ‘Free Software’ brigade. Stallman distanced himself from the term ‘Open Source’, and in my view that did the ‘Open Source’ crowd a hell of a lot of good, in establishing that Open Source isn’t about utopian evagelism. Stallman did some great work, he was a pioneer, but it’s time for him to be quiet now and let the rest of the world find its own, practical, more moderate path.

    More and more businesses are ‘getting’ open source now, probably as more and more ‘commercial’ open source companies get attention, float on the stock exchanges, get acquired etc. I think they’re realising that Open Source operates in much the same way as regular business, it’s just that the communities that always surrounded these products now get to be more proactive in its development, instead of it being managed in an ivory tower.

  3. The pragmatic .NET developer » DamienG Says:
    January 31st, 2008 at 12:57 am

    [...] genius behind the open-source Ogre3D engine Steve Streeting has written an interesting piece on Open source adoption; countering the fear and doubt. I have no doubt that this was fuelled by a lengthy discussion last night in the Ship & Crown [...]

  4. Raven Says:
    January 31st, 2008 at 3:05 am

    If you are a vegan, you now can use software under a license with a

  5. Raven Says:
    January 31st, 2008 at 3:06 am

    Sorry, link didn’t work :(
    http://www.regdeveloper.co.uk/2008/01/26/exttld_license/

  6. Steve Says:
    January 31st, 2008 at 10:32 am

    @Raven: yeah, I saw that earlier in the week – must win the competition for the most unusual license so far :)

  7. Paul Evans Says:
    January 31st, 2008 at 11:05 am

    I don’t know, MS is taking tentative steps in to open source stuff, and being more open about some things. I would site IronRuby as an openly supported, open source, recent example of that kind of thinking – that is often blogged about by many MS guys.

    There are also pushes within, like the browsable source thing of the .Net framework itself in VS 2008. The XNA stuff encourages open source development, codeplex provides sharing facilities.

    It’s not as “open” as other things obviously, but to say “MS never supports open source projects openly” is a little harsh.

    I’m just a fan of well educated choice rather then blindly trusting any vendor, opensource or not.

  8. Paul Evans Says:
    January 31st, 2008 at 11:06 am

    *cite, damn not being able to edit comments!

  9. Steve Says:
    January 31st, 2008 at 11:58 am

    Sure, WiX is another example. But the key difference is that these are all fairly minor things created internally at Microsoft and ‘released’ into the open source world, seemingly as an experiment. They have a really low profile, and don’t seem to get a lot of attention, certainly compared to the more ‘traditional’ offerings, and don’t appear to be particularly collaborative – it’s still mostly a ‘push’ model. It’s completely different to the sort of embracing of external open source projects that some companies do. They’re accepting that getting people to base their open source projects on Microsoft tech can be a publicity win, but it all pretty much stays at arms length, certainly at a corporate level. I think that’s what puts many open source developers off making .Net based projects.

    Browsable source isn’t the same as open source either. You’ve been able to browse the source code of the MS C++ runtime libraries for years for example, but that doesn’t mean they’re open source. Specifically the license for browsable source in VS2008 is the Microsoft Reference License, which means you have the right to look, but no-one except Microsoft is allowed to change it. That’s not even close to true open source – it basically just means you don’t have to use a decompiler to figure out where a problem might be when the sh*t hits the fan (we’ve all done it I’m sure), but you still have to rely on one supplier to fix issues, and you certainly can’t enhance it for you own purposes, or collaborate with peers to create something that solves a particular issue you share, rather than waiting for the central team to prioritise it. These are some of the main advantages of open source and why it evolves so fast and is responsive to the consumer of the software – just being able to see the code isn’t enough.

  10. Steve Says:
    January 31st, 2008 at 5:40 pm

    Haha, I just noticed that on the Sourceforge CVS commit emails this week there’s this at the bottom:
    —-
    This SF.net email is sponsored by: Microsoft
    Defy all challenges. Microsoft(R) Visual Studio 2008.
    —-

    :lol:

Leave a Reply