In mobile, gaming, and SAAS/PAAS, Microsoft has been open and experimenting. As others have mentioned, they've contributed to the Linux kernel, after some stumbles on Kinnect they embraced the hacker community, etc. Microsoft, for all its failings, is still willing to try developing and creating new products and services. Not all succeed, Zune was just retired (for instance).
That said, comparing them to IBM? Really? The IBM that has basically gone out of it's way to cut research labs, decommission most projects, and become a purely services company that is in the process of outsourcing as much as it can? I will take one that is still trying to innovate and create products from consumer to the enterprise over a company hell bent on becoming mostly an outsourced enterprise services company (we already have EDS and others for that).
Personally, I am not a huge MSFT fan. My house runs pretty much all Apple (or Linux). Windows is confined to VMs (or the wife's corporate laptop). The two things that were "aha" for me with MSFT and how they were Windows Phone 7/Metro and Azure -- specifically the original post on anodjs.org with the title "We work at Microsoft and we use node.js". Five years ago, we would not have seen that.
Returning to my original gripe - yes, MSFT has lots of the old guard around; yes, parts of MSFT still think like they used to (or are in the Redmond cacoon) - overall the company is doing a lot to foster innovation and new platforms, you'd benefit by letting go of old grudges. The industry is small enough where some of the "bad people" have moved to "good companies" as well as the reverse.
That said, it is certainly useful to be watchful and see what future moves are made.
Among the more interesting articles I've seen on the company and its practices was in the short-lived Brill's Content magazine of the late 1990s, titled "Making Bill". As I said above: there are very profound reasons to distrust Microsoft, and they haven't changed.
I certainly don't trust IBM in all things. What's significant for it in terms of its relationship with Open Source and Linux is that IBM has determined that its fundamental business interests are inextricably aligned with Open Source and Linux systems.
Microsoft have shown themselves to be adaptable over time, but it also frequently acts in limited ways that are clearly in its interests. And while, yes, Microsoft are contributing directly to the Linux kernel, the contributions are largely drivers related to Microsoft technologies -- mostly the Hyper-V virtualization system, where the enhancements allow Linux to run within Windows Server instances. Hardly generalized kernel code improvements, though still useful to some (notably, Microsoft). (http://techie-buzz.com/foss/microsoft-linux-3-0.html).
I don't have a source tree handy to check myself, but I suspect that this is still the case.
Rather more telling is the ongoing drama in the UEFI boot management which may restrict future X86 systems from being able to boot anything but Windows: