This post by Dana Blankenhorn on ZDnet is the best answer I've seen to the question "Why Open Source?".
He says 'plumbing', I'd say '(Unix|Open Source) is the Universal Glue'.
And the on-going Open Source Business Model is "support" for those that need/want 'certainty'.
Which if you are the CIO (read: 'my arse is on the line') for somewhere with a high dependence on I.T., is only Good Governance (or "common sense"). You can't make key staff stay, nor mandate they never get sick or burn-out and "go sit on a beach" - and after '9/11', all Business Continuity plans have to account for covering people as well as systems and networks.
That's it - Business I.T. is all about the Data (or "all about XXX, stupid" to be Clintonesque).
Open Source tools are usually about manipulating data or providing services - like Apache, e-mail, DNS, firewalls and IDS, ...
Open Source is here to stay: use it, don't deny or fight it.
This Business Model, 'support for essential tools', is robust and on-going.
Whatever systems you use in the Data Center, you'll always have the need to provide many services and interface disparate systems and data formats.
The model also applies to embedded 'Appliances' and dedicated devices, like firewalls - or commercial web-hosting services. They are based in whole or part on Open Source.
You'll note this model has very limited application to the client-side - the 'Desktop' or End-User compute platform.
"Free Software" from GNU et al is about an ideological stance and subsumes all other goals to this.
"Open Source" is pragmatic and about getting on with the job. It makes sense for large vendors, like IBM and HP, to support it. Customers can feel confident and secure - because the source and tool-chain are freely available from multiple sites, they cannot be held to ransom or 'orphaned' by unpredictable events or capricious decisions.
"Open Source" starts from the premise that "IT is done for a Business Benefit" - that you build software, systems and services for the use of others, not your own amusement and benefit.
Business supporting software has to meet Professional standards/criteria - good design, clear documentation, reliability, robustness and very few errors/defects - with the unstated driver of Continuous Improvement.
Never new features for their own sake or to create 'forced upgrades', always making the code more stable, usable and useful.
Commercial considerations, by definition, are always subsidiary to technical. If the user community doesn't like changes - they aren't forced to upgrade and in an extreme case, can 'fork' the code, internally or publicly: just do it how they want.