Trade-offs of open source in the enterprise

Whether for Windows or Linux, open source apps are free but not always worth the price

"Open source" tends to be associated with Linux far more than it is with Windows. However, open-source software abounds for the Microsoft platform. I should know: I've worked with plenty of them.

However, judging by my own experiences and as well as those I've heard second-hand, open source products sometimes lack the stability and reliability necessary to cut it as an enterprise solution in the Windows world. Add to that the absence of vendor support to fix problems when they arise, and suddenly the open source might lose some of its appeal, despite the appealing $0.00 price tag.

Let's consider one example: ColdFusion. We could use MySQL/Oracle or some open source solution, but an open source version of BlueDragon, the CF engine that runs MySpace, was released only one month ago. I had a chance to chat with some of the leading developers and promoters of Open BlueDragon and they had insightful comments regarding the misconceptions that open source always equals free.

Our story begins with a ColdFusion developer who finds that hosting a ColdFusion site online (through a host such as GoDaddy or HostMySite solution) costs very little extra. Thus, he happily develops away in CFML (ColdFusion Markup Language). Alan Williamson (the original creator of BlueDragon, an alternative J2EE CFML engine to Adobe ColdFusion MX) continues the story: Our developer is "a gun for hire. You develop custom bespoke applications for your client. Your client, most probably, did not specify CFML, and that largely has been your choice. Because after all, you've chosen a language that makes you the most productive. However, you've traditionally had to put a wee sting in the tail when it came to the invoicing. Someone had to pay for the CFML engine license. Sure, you passed it onto your client, but wouldn't it have been nicer had you been able to keep that extra [cash] for yourself instead of passing it on?"

Your client may have wondered why you didn't code in ASP.Net, Java or PHP or something else that might give them the exact same functionality but without all the extra cost. And from a cost perspective, it really doesn't matter if you use ColdFusion MX or BlueDragon: Your client is still paying for it. Suddenly, the open-source alternative looks more appealing. That is, until you consider the drawbacks.

What are those drawbacks? Adam Haskell, another developer on the Open BlueDragon steering committee, points out to the world that he is "the first one to pimp the open-source offerings." However, he also says, "there are some misconceptions of costs for ColdFusion. If you consider what the Adobe ColdFusion platform offers, this [$1,300 price tag] is pretty reasonable. What you or anyone needs to ask themselves, especially now with other CFML engines is, 'Does [Adobe ColdFusion] offer me the features I need for the cost?' It seems more and more folks answer 'no' to this, but let's think about this for a second."

So if the answer is "no," why defend any other position besides an open-sourced alternative? Well, as Haskell points out, there is a tremendous cost and time-saving benefit to utilizing a purchased closed-source CF engine such as Adobe's ColdFusion: It's updated and maintained by the company, and if you require the latest features and updates then paying for it is reasonable. If not, then another CF engine -- including an open source alternative -- may be just what you need in your deployment of a site created in ColdFusion. Adam says "there are some awesome alternatives now through some open source offerings like OpenBlueDragon, Railo and, to a lesser extent, Smith Project. Each OS offering offers their own platform stuff."

Williamson has a different take on the subject. Where Haskell focuses his thoughts more on the features available and the update angle, Williamson says the real question is support. "You aren't really paying for features when it comes to commercial software; you are paying for support and timely updates to bug/security fixes. In the open source world, there is no legal requirement to fix anything. No matter how loud you shout, if no one can be bothered to do it, then it won't be done."

He goes one to say, "So the reason commercial software will still have a place in the eco system is down to this timely support. Who do you call at 3 a.m. when you discover a hacker has got access to your open source stack, or you've found the site won't stay up due to a problem you've encountered? When a company is spending huge amounts of money on software, they will often demand access to the source code themselves (either escrow or some other secure environment) just in case they have to fix something themselves."

Often there is a middle ground. For example, if you don't want to pay the big bucks for ColdFusion MX from Adobe, you could get that support you need by buying BlueDragon -- or go full out with Open BlueDragon and risk little support. The same is true of MySQL, which has a paid-for counterpart. There are free versions of Linux -- or you can purchase Red Hat (for considerably less than Vista), find applications such as Open Office to do the job, and get the support you need.

What's your viewpoint on the open source movements that are currently in play?

Copyright © 2008 IDG Communications, Inc.

How to choose a low-code development platform