Microsoft is trying hard to become an open source friendly company, and it's made some strides since the days in which Steve Ballmer was calling Linux a cancer. But today, everyone pays lip service to open source. It's harder to walk the walk than to talk the talk, as we explored in our article on how to spot open-washing.

Microsoft has open-sourced various projects, is working with developers to run open source programming languages on its operating systems and recently hired a senior director of open source communities.

"I used to be completely anti-Microsoft," says Michael Szul, partner and developer at Barbella Digital. "I didn't even have a Windows desktop." Now, Szul is considering purchasing a Windows Phone 7 handset to replace his Android-based phone. Szul says that even though Microsoft abandoned IronPython and IronRuby, it still supports the community and has even kept developer open to assist the Mono team. Szul's gripes as a developer are less about Microsoft's openness, and more about the how fractured its marketplace ecosystem is between XBOX Live, Zune Marketplace, MSN Marketplace, etc.

But even as it has improved its standing in the developer community, it's lagging behind other companies. Apple, Facebook and Google make major open source contributions with projects likeWebKit, Apache Cassandra and Android. What has Microsoft built? A bunch of open source ASP.NET code.

If Microsoft wants to go from just having a better reputation to being a real player in the open source community, Microsoft needs to open-source something big, and soon.

But what could it open-source that would have a big enough impact?

Windows

This would obviously be huge, but it will almost certainly never happen. It's too large a source of revenue for the company to risk cannibalize its sales by allowing other companies to package competing distributions. There's also the matter of all the proprietary components licensed from other companies.

Perhaps the company could take some sort of an open core approach, though. Perhaps some of those licensed components could even serve as the differentiators between the open source and proprietary versions of Windows. But even this scenario seems unlikely.

Windows Phone

This is also unlikely. Considering the amount of money Microsoft spent getting Nokia to run Windows on its phones, Microsoft probably isn't about to give it away for free, let alone open-source it. It's made even less likely by the fact that the Windows desktop, tablet and phone operating systems are likely to converge in Windows 8.

Internet Explorer

This makes sense, apart from dealing with separating operating system components from the browser, and dealing with licensed technology. The other big browsers - Safari, Chrome and Firefox - are either open source or based on open source software, and Microsoft gives IE away anyway. But would it make any difference at this point whether IE was open source?

ServiceOS

We first told you about the Microsoft Research project ServiceOS back in 2009 when it was called Gazelle. It's still vaporware as of now, but it there's a strong case for open-sourcing it. Google ChromeOS is starting to trickle into the marketplace, as are other lightweight browser-oriented operating systems. Open-sourcing Internet Explorer and this tiny operating system would give Microsoft something it could give away to netbook manufacturers as an alternative to Chrome. Meanwhile, it would be tuned specifically towards services like Bing and Office 365.

Would an open source ServiceOS make any difference at this point? We're not sure. Microsoft may never see the need to open-source it either, considering that it was already able to get vendors to install Windows instead of Linux on netbooks once. Not to mention the perception that tablets are the future, and Microsoft already has a tablet strategy in Windows 8.

Office

I can't see this happening. Ever.

What Else?

What else does that leave? Perhaps some elements of Azure could be open sourced? The Kinect SDK?

The other major alternative that I can see is that Microsoft could create something entirely new and open-source it.

What do you think? Does Microsoft need a big open source initiative? If so, what could it realistically do?