I was reading this thread on Open-Source ESB's at The Server Side and that got me pondering why more companies don't go after open-source software. While I am a fan of open-source in general I do see several issues for enterprise wide adoption. It also started me thinking why folks who are proponents of open-source in their enterprises really like open-source. Is it truly because it's open or is it because it is generally cheaper to initially acquire?
Let's start with the issues of open-source software. The two main ones are probably support and longevity. I haven't done any studies so this is just based of my experience but typically support is not used heavily for an enterprise class application. There maybe a few "serious" tickets in a given year for an application. Out of these "serious" tickets, how many are actually resolved by the vendor? There is a pretty big premium paid for that availability of support that is not used all that regularly. However it is there if you need it. The perception of open-source software is that in general you are on your own.
That perception is not always based in reality. A lot of the better open-source vendors have similar support offerings as the major proprietary vendors. Of course the cost of those open solutions goes up a lot when the support contracts are added on to the price. If you take a look at SUSE or Redhat on the OS side of things, you will find their support contracts comparable to Microsoft, Sun or HP in terms of cost. The down side to support contracts is that they can also require you to upgrade on the vendors schedule instead of yours.
The other issue with open-source is longevity of the vendor. The perception is that going the open-source route can be a gamble in terms of whether the vendor or users who maintain the code base will continue to exist. This is a legitimate concern but with a caveat. If the vendor or users no longer maintain the code, the source is open and in your possession. The real question is, is that a useful thing? Most enterprises usually negotiate with their proprietary software vendor a clause in their contract that says if the vendor goes out of business the company does get the source code. Is that useful? Would most enterprises be capable of doing anything with the source code?
I have never really bought into the proprietary argument of software. My opinion on this has always been the vast majority of enterprises are not equipped to or even should take advantage of having source code. Enterprise IT shops are there to provide business solutions not spend time on the platforms or packages that deliver those solutions.
There are some quality open-source software out there that many large enterprises and smaller companies should consider. There are cost savings and quality that can be gained by going that route. But you have to evaluate those cost closely with you existing proprietary solutions on an even basis. The upfront cost of software acquisition usually pales in comparison to the cost to maintain it. So while open-source is generally easier and cheaper to initially acquire, the long term maintenance of the software can be just as expensive as its proprietary counterpart.