Before I started writing this post, I queried some colleagues for input about using closed-source software vs. open-source software. One made his case by quipping, "The most expensive software I ever purchased was free."
Though he said this in jest, I think it accurately defined the issue with open-source software, and he certainly made his point. When considering enterprise solutions, you have to consider more factors than the license fee. These include continued support and innovation, site security, legal complications, and even training the staff.
What I like about the concept of open-source software is that it provides a framework or platform for developers. However, this also may be my biggest objection!
If I have many individuals (i.e., weekend code warriors) working on features, how am I able to ensure the software has the features my company wants and needs? Who evaluates the marketplace to determine the key feature set?
I suppose the recommended solution is to hire a consultant group that can customize the software to meet my special needs. As long as I can determine all of my requirements and determine the future needs, the consultants should be able to create the software package of my dreams. What I have seen happen in these instances is that changes and innovations to the customized package become extremely expensive to maintain and support. Once the software becomes ingrained in the user base, it becomes nearly impossible to unseat.
Of course, just because you use open-source software doesn't mean you have to customize it. You may be able to take advantage of the developers who create a solution you can use. However, you may also open a door to hackers who can exploit the software weaknesses more so than with closed-source software. Depending on the software's purpose within your organization, this may or may not be a huge factor. For instance, the hacker who controls the vending machine and randomly rewards someone with a free soft drink is probably not a huge concern. However, a hacker who can infiltrate an infrastructure with malicious intent certainly is.
Really, none of this worries me -- what I see as the biggest problem is not having someone who has skin in the game. If no one owns open-source software and it fails, resulting in lost revenue for my business, what will I do? Who do I call when it doesn't work or I don't understand how to use it? Moreover, where do I send the new employee for training? Again, am I back to a group of consultants, or do I have to establish my own in-house team?
If the software supports key functionality within my business, then I want someone to stand behind the product. Wouldn't a business want to know that company used sound development methodologies and rigorous testing processes and was confident of the product prior to release? Moreover, my license fee not only pays for the usage but also allows the company to continue product innovations. Even if my competitors are using the same software, they may make suggestions to the vendor for features that I also need and would benefit from having.
As with other commodities, let the marketplace determine the price and the players. If I continually produce the best solution, then reward me for it. If my solution rarely fails, then reward me for it. If my solution allows your company to be 100 times more efficient or saves millions of dollars, then encourage me to continue!
Does open-source software have a place in the enterprise environment? You tell me below.