This is a rant that I've had for a while. I've finally articulated it properly now, in a conversation with my boss. This post refines and expresses those ideas further.
It typically makes no business sense to use closed tools. If it's an operating system, a desktop application, or a service. Here's why:
It's all about the data, dummy.
None of us really cares *how* we get the data we want. We just want the data that we need, if it's music, video, text, photos, whatever in the least painless method possible.
So, assuming we agree on the fact that it's all about the data, it's a small step to reason that the tools on the back end *really* don't matter anymore.
So why use tools that cost money for something you can't modify?
To be more specific, why not use tools that don't cost anything, that allow you (or someone you hire) to write other tools for you, with all the code there for you to make modifications to suit your environment?
With closed source stuff, you get whatever documentation the vendor gives you, whatever APIs the vendor gives you, and maybe some undocumented stuff that you or someone else has found. If you can't get it done, you have to switch tools, sometimes with great cost fiscally and training. On top of all that, you have licensing issues to deal with, sometimes becoming a complete nightmare in tracking what machines have what software and moving said software around as machines get retired or repurposed.
I know the problems with training someone on a new version of a piece of software. Office 2007 for example has made things terrible by pitching the entire interface that was being used into the can and placing an entirely new interface in front of the user. Why not move to OpenOffice at that point? It will import nearly every document produced by anything. Even Office 2007 documents. It can save in most formats too, but that is mostly a moot point. It'll even dump pdfs, which is available on almost every device and OS under the sun.
That's just one example. Here's another that hits closer to home for me:
We have an appliance made by a company. It produces the very heart of our work for us. The company builds a custom piece of hardware they stick inside of a commodity box. This custom card has drivers that the company writes, as well as a software package to utilize all the functionality on the card. Sounds like a perfect place to use open software to keep costs down.
The thing is, they haven't. They run Windows Storage Server 2003 on the box. It ships with a copy of Office on board. It has a commercial editing tool to edit the data that it generates. It ships with commercial recovery software, commercial anti-virus software. They could have used open alternatives, paid another developer $150000 for a year to work out the issues that they found with the open software, and still sold the appliances for the same cost as they do now. I figure they have at least $1000 to $2000 in commercial software on the box. Sell 150 appliances, the developer is paid for, as well as all the licensing. No other investment required, except for the next version of the software/hardware combination that will need to be authored. You could contract the developer instead of hire them and keep that cost down even further.
There are plenty of other examples and places for open tools as well. Mail, web services, going so far as to operating systems. Ask Ernie Ball. Roasted by the BSA to the tune of $65000, and another $35000 for lawyers to talk them down to that number. Due solely to licensing.
Open tools allow you to build wrenches and understand completely the weaknesses and strength of your new wrench.
And let's be honest: We all like good tools.