On Monday, I wrote a piece explaining what lessons Microsoft should draw from its competition with Apple. In essence, I was completely in favor of the development of strong hardware design and user interface competencies (in other words, Microsoft should build more hardware in-house), but strongly opposed any attempts to copy the Apple business model. Microsoft's platform orientation has led to a development tools and infrastructure side of the house that is simply second to none, and benching them in any competitive endeavor would be like sidelining your best players in the final game of the World Cup.
Microsoft occupies an interesting and highly-profitable middle ground between two worlds. On the one side, you have Apple, a company that views software as a feature of the hardware from which they make the bulk of their profits. You can't buy Mac OS X to run, legally, on any platform but an Apple-branded computer, and some of the newer products that use it, such as iPod and the iPhone, are tightly controlled. This business model is highly profitable, offering hardware margins that are the envy of the computer business. It does, however, mean Apple must stand alone when it comes to finding interesting ways to use Mac OS X. That fact also changes their approach to software design. I have a hard time believing that anyone with exposure to both worlds believe that Mac development tools and technologies as on par with what's on offer in .NET 3.5 and Visual Studio 2008.
On the other side is the open source development world. Open source software is often hardware-agnostic to a degree that even Windows is not, drawn along to new hardware pastures by any group of programmers decide they wish to support. That's the magic of open source: you can do almost anything you want with it, a fact enhanced by complete access to source code. This often makes open source software considerably cheaper than proprietary alternatives. From a business standpoint, however, that is also open source software's Achilles heel. Quite often, the lack of revenue deprives open source of the benefits of revenue-generating business models.
Those benefits, as I've explained before, relate to how profit incentives turn the attention of developers towards the interests of other people (in this case, the non-technical). A corporate, profit-based relationship also creates a unique source of information regarding user needs, as well as a certain self interest-derived tunnel vision with respect to those needs.
Microsoft lives in the intersection between these two models. They have the profit levels to be derived from a business model that sells access to a secret (you don't have access to much Microsoft source code, though that is starting to change). Though they don't support desktop platforms beyond x86 (which has a certain logic in a world that is still plenty binary-centric, and which doesn't apply to the embedded space), they are software licensing oriented, and that has shaped the way they design their technology. Microsoft's development tools and technologies are Microsoft's standout characteristic. Historically, Microsoft was notable for the manner in which every product was designed with reusability in mind, extending the platform in the process with every new software creation.
Standing in the middle is a great place to be, and partly explains the market share Microsoft has and continues to maintain. Microsoft systems (running, as they mostly do, on non-Microsoft hardware) are much cheaper than Apple systems. They are, however, more expensive than might be possible with Linux (though $3.00 Windows in developing markets aims to alter that equation, and more of that seems in the pipeline. It's a nice mean, and I think Microsoft would be crazy to abandon it in ANY product category they choose to enter.