Adinnieken said:
The other problem with this is you create a silo. When you use customized software you develop a skilled worker, yes, but you also develop a worker with certain job security. Again, not a bad thing, that is until they get promoted, fired, die, or leave the company for any number of reasons. All of a sudden you now have someone who has never done anything with this software that has to maintain and support it. Custom code is a necessity, but technology changes quickly and skill sets vary. You could be lucky and have a developer that can breeze through unfamiliar code and be able to maintain and support it, if not optimize it. However, you could also be unlucky enough to get someone who barely understands the code they're asked to maintain and support. God forbid they need to optimize it or worse do so at the fundamental level of an OS. If I have custom-code running on top of open source software, the only people I can turn to are my employees. If I have custom code running on top of commercial software, I can call up the vendor and get an engineer on site within 24 hours who can pinpoint the problem himself or send it back to a team at the home office to do it. It may cost the same amount of money in terms of employees and time, but in terms of getting my business back up and running it costs DEARLY less. |
I would argue that it really depends on what open source software you're talking about ...
Switching from a commercial database (Oracle or MS SQL) to an open source database like Postgres would likely result in substantial savings, as would running your servers on an operating system like CentOS/Redhat or your desktops on Ubuntu, as long as you can "get away with it". Small start-ups often save a substantial amount of money due to not having to pay insane licensing fees for this software, and often have lower support costs, but large corporations and the government often take decades to make these kinds of changes due to legacy systems being built for particular databases or operating systems.
There is a second topic and that is readily available software vs. custom software, and it has been my experience that large organizations (corporations and governments) tend to be guilty of spending 10 to 100 times as much on custom software rather than using commercial or open source software packages that are readily available. I have been in several of these organizations where they have built their own buggy time tracking software that has 50% of the features of something they could have gotten for free because they wanted to develop this package internally because they believe their problems are "unique". In almost all cases, it is better for a company to use this readily available software and to write an extension/plug-in if they truly have needs that are not being met by the software than to produce something truly custom.