Firstly I will say, I like Microsoft. I'm sitting here on a Win7 laptop (dual boot Ubuntu) and have a Windows Phone next to me.
But I don't like the culture that follows it around.
I like Ubuntu and see it as a much more positive model and a more extensible, cheaper system. However we have some problems to contend with...
Here's how it works where I work (SME - 100 people - UK - Financial sector):
Show a user Ubuntu - "ooh that's really nice - feels better than windows".
Show a dev/architect Ubuntu - "yeah we already use it at home for everything and we run a few VMs without letting operations know - want me to friend you on bitbucket?"
User approaches operations for a test machine - "NO!" and a load of FUD about how Linux is cancer and Microsoft is Jesus' sandals and "I'll replace you with a very small powershell script (if I can get the signing right)".
Dev/architect approaches operations for a test machine - "NO!" then silence with no attempt to get into a discussion.
Any discussion raised ends up with the "we're a microsoft shop and that's not going to change".
This is the same company which runs everything on ESX which is Linux underneath, has Linux-based virtual firewall and load balancer appliances, uses Linux-based Android phones, Unix-based iOS devices everywhere and ironically runs it's entire phone system on Linux.
At the other extreme, we have to run memcached on windows otherwise ops will get all antsy.
Clueless monocultural operations teams that want to protect their worth are who are causing serious problems.
We need some marketing tied to "you dont need an ops team anymore" or "cheaper, more efficient ops teams are possible with Linux" (which they are) and you will get somewhere.
This is the THIRD place I've seen this now so it's rife.