You might think I've lost my mind saying that buying commercial software is the frugal choice du jour. I haven't, and it is or it might be. Some open source advocates, like me, will sing the praises of free, open source software from the mountaintops to all within earshot of our rants and raves of freedom, choice and innovation. What we fail to tell you is that, in some circumstances, free isn't really free at all. In fact, free might run into some serious bucks before you're done. The next best choice is to create your custom application from scratch. Surely, that will save you some money, right? Wrong. That is perhaps the most expensive choice of all.
Does this mean that you'd never want to explore open source software for your business? Certainly not. There are some excellent open source software options awaiting those who seek them, and they're real cost savers too. Home-grown software isn't a four-letter word in all cases. Often it might be the right choice. I'm talking about commercially available software that doesn't have comparable analogs in the open source world and ones whose complexity would make it ridiculous to create in-house.
Let's say for this scenario you're looking at the purchase of a new accounting system that includes a database server, support, operating system, licensing, client software and a backup scheme. The total package price makes your eyes glaze over at $60,000.
Is that number too low to make you start thinking of alternatives? For organizations with larger bank accounts, $600,000 for a new enterprise-level CRM package may make for a more heart-stopping mental picture. That's better now, isn't it?
Are you starting to doubt the necessity of the package at all, or are you considering some less expensive alternatives? The situation that fits best for you most likely falls into one of three categories:
- Creating an in-house package
- Altering existing open source software
- Purchasing the commercial program
There's something satisfying about creating your own applications. It feels good to say you've created something useful from just an idea and a few sketchy notes. "We built this system from scratch," you say proudly to potential customers and vendors. "We needed something tailored specifically to our business," you continue. Often these statements are an attempt at convincing ourselves that the $800,000 spent on development was justifiable and a good idea. More often, it's neither.
If you already have programmers and testers on staff, this scenario might work for you. Alternatively, if you have to hire or contract the work, give those commercial applications another look before you leap into developing your own. You should also ask yourself who will support the application during its life cycle. What about upgrades, patches and maintenance for the next x number of years?
Should you decide to move forward with a homegrown software project, maintain some control of the project, insist on thorough documentation, keep a copy of all source code as it's rolled out to production, and warn your programmers that all source code belongs to the company. Be sure to also visit with your development staff and explain to them that all code for the application must be original and created on site. Don't blow your life's savings on lawsuits defending your software's ownership. Whether you're right or wrong, it will cost you a bundle to defend your position.
Homegrown software has a place and a role in companies of all sizes. There's no pat answer for, "Should we build this in-house or not?" Every situation is different and requires research for its own set of circumstances. If a piece of software isn't available commercially, build it. If you can't alter existing software to fit your needs, you'll have to build your own. If, however, an existing piece of software comes close, you're better off and fiscally ahead by using it rather than considering an alternative solution.
Next week, we'll examine the value of altering and using open source software for business applications. Do you have a good or bad experience concerning a homegrown application project with which you were involved? Write back and let us know.
Ken Hess is a freelance writer who writes on a variety of open source topics including Linux, databases, and virtualization. He is also the coauthor of Practical Virtualization Solutions, which is scheduled for publication in October 2009. You may reach him through his web site at http://www.kenhess.com.