Microsoft invents lots of technology. It's easy for people seeking to deny the existence of those inventions to ignore that, however, because most of those inventions are buried in piles of pre-existing technology that form the substrate out of which modern software is built. That makes it possible to claim that someone else is responsible for the entire invention, even though they are, at best, responsible for only part of it. It's akin to the argument that a Ford Escort preceded a Formula One racer, and therefore the engineers on that Formula One racer didn't really invent anything because all they are doing is making a car.
But, I've argued that for the past few days, so let's move on to the point of this post, which is to detail an area of invention Microsoft is singularly good at (one that the open source competition will have some difficultly matching). It's not so much of an invention per se. Rather, it's an awareness and understanding of the marketplace that has proved fertile ground for many of the inventions, however incremental, that Microsoft produces on a regular basis. That awareness is that all software markets, however "unrelated" they may seem, have linkages to each other.
When I was scribbling this idea on a scrap of paper towel (I am a chronic note-writer, something obvious to anyone who visits my apartment), I described it this way: "Handhelds relate to desktops relate to cell phones relate to music players relate to servers relate to game consoles relate to databases."
Translated, I'm saying that technology across software domains should be consistent. There should be a standard, however de facto, that works everywhere. Skills should be portable across those markets, so that someone with experience in desktop software development has a decent chance of developing for handhelds. Everything should just work together, and development across all devices should be relatively straightforward to someone with experience in any one of them.
Microsoft has been very good at this. In the media realm, they have their DRM solution, their media formats (both video and audio), tools for generating that media, server and client software, management tools, etc., etc., etc. It's an integrated end to end solution that simply is not matched by anyone else. David Berlind talks about the "unstoppable Microsoft Media Juggernaut." The reason for that unstoppability is the lack of an awareness on anyone else's part of the value of an end to end solution where everything works together using the same technology (or at least an unwillingness to commit resources to the construction of such a solution).
Microsoft, of course, has an incentive to maintain consistency. Technology inconsistencies and incompatibilities are costly within Microsoft, and hinder the growth of Microsoft's market. Granted, Microsoft is known to allow multiple teams to run with similar, if not parallel, ideas in a form of internal competition possible in a company as large as Microsoft. In every case, however, ONE solution emerges, either because one team wins outright (with the competitor getting harvested for parts) or because aspects of each solution get merged into a single solution.
I wonder whether the open source world can match that consistency. Granted, there are movements to make things consistent, such as the LAMP set of technologies for Linux, or the Linux Standard Base project. However, the structure of development for open source products militates against the establishment of any consistent standard.
Open source development relies mostly on voluntary contributions. People don't tend to contribute to ALL open source products (that would be impossible). Rather, they concentrate mostly on the products that interest them.
This results in a developer version of tunnel vision. Since all that matters is the creation of the handful of products to which the volunteer contributes, what matters is the interests of contributors to a single project, not the interests of technology which should span ALL products.
Microsoft long ago standardized on COM. Pretty much every piece of software emerging from Microsoft either consumed COM objects or offered functionality through COM (in fact, that's still the case in a .NET world through easy to use COM Interop). Something comparable doesn't exist in the open source world. Though CORBA exists and is unencumbered by any fixed relationship with ideologically impure organizations (read: proprietary companies), you'd have as much a chance of convincing all open source projects to standardize on CORBA for native code interoperability as you would convincing 1000 cats trapped in a room to run in the same direction once you opened the doors.
Microsoft has a financial interest in consistency, and that forces the resolution of technology battles. Open source lacks that financial interest, at least within the context of the localized product world most open source programmers operate in, which means they won't have the same level of consistency.
That, to my mind, is an innovation on Microsoft's part (or at least a source of innovation). It's one partly derived from Microsoft's size (no other company has the software spread of a Microsoft). However, it also takes an awareness on the part of the people involved that such linkages exist, and are important. That's an innovation I count on Microsoft's scorecard, and one I think open source will have a hard time matching.