- Microsoft standardizes infrastructure.
Because of Microsoft's wide industry and consumer acceptance, business can move with unprecedented efficiency. Data can be exchanged between companies everywhere - let's face it, every company worth mentioning uses Microsoft-based systems. This means marketing communications, reports, orders, requirements, and even payments can be processed electronically. Further, as companies grow and change, training costs are reduced signifigantly by the adoption of one standard: Microsoft. Everyone that has used a PC has used Windows, after all - and probably Office. Because the modern job-market means changing jobs more often than in previous eras, this benefits both employers and employed (training carries over from job-to-job). - Microsoft software drives change in technology.
Windows development often out-strips hardware development - this forces hardware development to move at an accelerated pace - after all, the PC hardware is probably going to run Windows. - Microsoft Certified personnel numbers means efficient staffing.
Since Microsoft is the dominant OS manufacturer for the most common type of computer, the largest part of the IT workforce are trained Windows professionals. This is good news for HR; it is easier to find a large group of eligible candidates. Companies win when they can be choosier about who they hire. - Linux is not standardized, and cannot be.
Open-Source licensing means that anyone can make thier own versions of 'Linux' with signifigant differences between them. This kind of anarchy makes it difficult for software developers to create programs that work with all of these 'Linuxen'. Consumers will never know whether a linux version of a PC program will work on thier system. Company-based support suffers from this kind of disorganization, as well (how much more is support for all those OS versions going to cost?) - and vendor support is necessary; if you ever want a customer to return, you don't consign them to public newsgroups for support... - The Linux development model cannot be relied upon
The GPL means that developers can't make money by selling binary code - the unrestricted supply (via source-code availability) can meet any demand at zero cost. That means less money for software development - and less money for full-time effort. What you get is a catch-as-catch-can kind of development resource - and projects only progess when hobbyists get around to finishing thier work. This is not a developmental regimen that can be relied upon. - Linux personnel: You take what you can find.
Another problem with using Linux in any commercial enterprise - where do you get your personnel? As I previously pointed out, the bulk of the pool of professional talent are Microsoft professionals. Linux certification is almost as fragmented as Linux itself - how do you know what you are getting? And that's if you can find certified Linux personnel at all. HR is not going to like it if you attempt to hire a hobbyist to run (or develop for) a mission-critical system - and you may have difficulty justifying it to your CIO, too.
Ugh. I feel dirty.