Being employed as a developer means, 99% of the time, working with the tools you are given. The term "tools" covers anything from the PC, type of monitor, mouse and the software you use. You might have the opportunity to change your monitors for a different model, bring in your favourite mouse from home, whatever. But to work as a functioning member of the developement team, and to ensure that the team maintains coherency throughout the develeopment process, the software that you use remains as it was given to you, and is the same across the board.
At work I use Windows, Visual Studio, SQL Server, Sourcegear Vault, Microsoft Office etc. My company has an MSDN tie in, so no problem. We all use the same applications on the same operating system, on pretty much the same hardware.
At home is a different matter. Because I'm just messing around with development, I've got a hand me down laptop - because of that, I don't want the hassle of buying a copy of Windows, so I use Ubuntu. Free. Lovely. Okay, so my wife hates it because Skype doesn't work, but that's by the by.
Becasue I use Ubuntu, Mr. Gates' realm is generally barred off to me, but I have the Open Source arena with which to whet my development appetite. I don't even have to adopt a different approach to progamming - with Mono and MonoDevelop, I can carry on messing around with C#. Sure, it's never going to be as full-featured as Visual Studio, nor is the Mono implementation of C# (although it is getting there), but for crying out loud it's FREE. Compare that to a VS developer licence, and you're laughing.
And so it goes for other applications - MySQL can deliver the performance that I need from SQL Server, at zero cost. I can even use T-SQL nowadays. Source control cut it's teeth on the *nix platform, so there's a plethora of options there. OpenOffice? GIMP? I rate them all.
So why are we still seeing proprietery software and systems dominating the market? At the moment my feelings are two-fold: Compatibilty with the masses and ease of use.
Imagine you were suddenly marooned on a desert island, with nothing but your trusty laptop and a copy of both Windows and Ubuntu to call your own (okay, a little far fetched, but bear with me). After some searching, you meet another person, the only other inhabitant of the island. They too have a laptop, with Windows installed. You've got your favourite Ubuntu on yours. So what are you going to do? You've got three options:
1. Live out the rest of your days with different operating systems, connecting on the very basic of levels through Samba.
2. Try and convert your fellow compadre to the wonder and spectacle that is Ubuntu. Fail, because he's got his Start menu just how he likes it.
3. Sell out, install windows and enjoy the wonder and spectacle of all of your hardware working.
So back to the real world - most people have Windows, along with other mainstream applications installed relevant to their needs. So why go for anything else? Why go through the pain of incomatibilties in file types, missing hardware drivers, unreachable servers, using (shudder) the command line - all because you want to save a penny here and there? Not just that - the majority of friends, family members, work colleagues and other companies will be using Windows, so why make life hard for yourself?
At the end of the day, for Open Source operating systems and software to make a breakthrough, a radical shift in thinking is going to be needed. Big corporations would have to make the executive decision to switch, and just sit tight, hoping and prating that others will follow suit.
I would love to see companies using Open Source, and contribute to the projects that they use day to day. But when the PCs you buy come pre-installed with a certain OS, and everyone else is using it, why bother?