Search This Blog


Tuesday, March 3, 2009

What are the Must-Knows when Dealing with Open Source Software

Open source software is good. Yeah, I agree. It saves you from exorbitant licensing cost . It protects you from vendor's lock-in . It gives you the flexibility to modify the software as you see fit. And so on.

But open source software is not necessarily cheaper . Despite that you can obtain the source code at no charge, there are times when you find that you would rather pay a fee in exchange of the services that are normally provided by the commercial software. At the end of the day you might find that you are actually paying quite a hefty fee on training and support.

If you want to use Open Source Software instead of the commercial, proprietary counterparts.You might find the below information useful.

  1. A lot of open source software are abandonware . I know, I know, there are a lot of commercial software that are abandonware as well. But the likehood of a commercial software becoming an abandonware is smaller than open source applications. This is because open source software are usually sustained by contributer's enthusiasm. The usual situation is that one person starts to open source a project, and hope that other people can pick it up from there. There is a real chance that the project can die half way before it goes big. So if you bet your business on it, then I can only say good luck to you. Of course, commercial software has a real chance to die as well, the company that makes it can fold. But since the company is receiving income steadily, the risk of folding is significantly lower. 
  2. Open source software support can be terrible. As mentioned above, a lot of contributors who contribute to open source applications are just enthusiasts. And writing documentation, answering support calls are not exactly fun. Which is why you find that the documentation on OSS is usually dearth to the point of non-existent . It's very frustrating when you can't get the software to work and there is no one there to help you.
    I have dealt with a number of software, some are open source, others are not. Usually, the commercial software vendors reply your questions ( no matter how noob or stupid it sounds)  within 24 hours. But I can't get this kind of luxury when I am dealing with OSS. My questions are usually left unanswered for a long period of time, and even the bugs I report are left unacknowledged. In one way it trains me to be more self-reliant. But still, I prefer to get my job done instead of learning software.
    The only exception is the PostSharp . But it's slowly converting to a commercial software. Hmm. There is no free lunch after all. 
  3. Commercial open source support can be expensive. Companies exist for a reason: to make money. Proprietary software companies make money by charging on the software licensing. And Open source company makes money by charging the support. And since they can't charge for the source code, they have to make it up by charging more. It's just Economics 101. 
  4. Certain level of persistence, diligence are needed to get the best out of the open source software. You want to get the best out of the open source? Then you better explore the software inside out. Don't try to shortcut the learning curve by consulting the documentation, because the documentation can be incomplete or downright wrong or not up-todate. There is no dedicated support line you can call, there is no support email you can email to. You can always google, out of a vast sea of data, you still have to decide which answer you want. 
  5. The hidden switching cost. Finally, if you are now using a close source application and you prepare to switch to open source one, make sure you take switching cost into the account. You should allocate time and money for training and external help. And don't forget to allocate budget for software modification. You might need external consultants to change the software to better suit your needs


    Ryan Kohn said...

    "At the end of the day you might find that you are actually paying quite a hefty fee on training and support."

    This can be very true, and it's one of the reasons I don't advocate Linux to all of my friends. Most of the problems that you brought up apply less to large, actively-maintained open source projects (e.g. Linux, OpenOffice, MySql, etc.), but even these projects have hidden support costs. I choose OSS when I don't mind spending the extra time on it, but I'm definitely aware that it requires extra time.

    When I'm willing to spend time overcoming the hurdles of OSS, then paying for a similar product is a waste of money. But there are still plenty of cases where my time is more appropriately spent on other projects.

    Terry said...

    Good post. Its good not to wear rose tinted glasses when evaluating OSS. Unfortunately, many folks fail at this.

    P.S. You should try visiting your site with Firefox and the Firebug and YSlow plugins, the blog page took 81.035 seconds to load according to YSlow. It was just massively slow; otherwise, good blog post as usual.

    freelock said...

    ... and these reasons are different for proprietary software--how?

    1. Yes, there's lots of dead software projects out there. At least if it's a dead open source project, you can pay a developer to revive it. If you're working with dead commercial software, you're out of luck.

    2. And commercial software support is great? Who are you kidding? There are plenty of companies out there (like mine, for example) who make their living providing support rather than charging for software that was developed years before. At least with open source you have a choice of vendors.

    3. Commercial support for commercial software can be expensive too, but you also have to buy your licenses. What I don't think you get in this post is that customers are paying for new development of features they need. Not for past development of products that are already done. So the cost of deploying and using an open source product, if it has the features you need, is a tiny fraction of the cost of buying it from a commercial company.

    4. Ok, finally a valid point. Open source projects tend to be skimpy on solid end-user documentation. However, the best projects usually have very helpful communities around to get you started, or somebody providing training. But yes, this is one area where commercial software often does better--in end user documentation.

    5. Yes, switching costs are often underestimated. However, this is a major argument against proprietary software--it is usually much harder to get your data out of a proprietary system than an open system. Once you're in the open source world, your switching costs tend to get much lower. But until you take that leap and get your data out of closed, locked up proprietary systems, you're at the mercy of a single vendor and your cost of switching away can be quite high.

    Shift your perspective a little and you'll see your blog post is largely an argument for open source, if you "get the facts."

    John Locke

    Giorgio said...

    IMHO an open source software has less chances of being abandoned than a commercial one. Many applications were released as open source to prevent them from dying (think Netscape).

    karmazilla said...

    "But since the company is receiving income steadily, the risk of folding is significantly lower."

    That's a pretty big assumption. Microsoft, Adobe and Oracle may not be going away anytime soon, but a lot of smaller vendors aren't so bolstered. With open source, you will have to source code available to help migrate your data to another system, if need be, or even take over maintenance yourself.

    "And don't forget to allocate budget for software modification."

    Consider the alternative: the kind of modification you want to do may not even be possible, had the software been proprietary.

    ooblogger said...
    This comment has been removed by a blog administrator.
    Anonymous said...

    1. Abandonware.

    You're missing something: open source has potentially an endless supply of contributors. And when one person moves on, others pick up. Also, it's far easier to convert open source formats (say file related) than commercial. And actually I know of companies that use open source quite successfully.

    2. Open source software support can be terrible.

    "can" is the keyword. So can a lot of commercial software. I've seen excellent support from almost all open source projects I've either been involved in or have used or seen. Contrast that to commercial, some even have you pay EXTRA for support. So in those cases you're paying for the software and then for the support.

    3. Commercial open source support can be expensive.

    I suggest you think about what you're saying: MANY open source projects either are free support OR they offer support but then you can get ADDITIONAL support for a price (and the support can be quite excellent, too). In commercial/proprietary you have to pay for the software too and sometimes extra for support. Put another way: support is not always free in commercial software, either - i.e., your point is pretty moot.

    4. Certain level of persistence, diligence are needed to get the best out of the open source software. You want to get the best out of the open source? Then you better explore the software inside out.

    Complete and utter nonsense. Maybe you've seen that but I certainly have not (and I might add I use open source software exclusively). I can think of several right off the top of my head that are very thorough with documentation: postfix, dovecot, apache, wordpress, even linux (and unix in general) has an excellent documentation system (man pages may not always be great but some are EXCELLENT ; not to mention the TLDP).

    5. The hidden switching cost.

    If you're thinking of moving to open source you're either a) capable of using and learning to help yourself or company, or b) you aren't planning. As for b - that's an issue with life in general.

    The reality is open source has huge benefits (interesting you forgot security and bug fixes being put in far quicker than commercial). The second part of it, is that you should use what works for you. Dismissing what you aren't too familiar with or don't use much is rather silly. And it might seem like I'm being hypocritical there; I assure you I am not. I don't tell people to use or not use Windows or anything else. I'm instead making a point about your 'facts' are actually not very right.

    Basically your 'facts' are more 'opinions'. All things in this world can be costly if not planned properly. Even if planned properly they sometimes end up being a loss. That's how it works in this world. In the end, I've found many open source programs that beat commercial programs by a long shot and that includes a complete community of support - including developers.

    Simply: You should always plan ahead and prepare for any possible issues that arise in everything in life.