It was almost ten years ago that I started a little project inside the firewalls of Microsoft called the WiX toolset. I called it a "Community Source" project because inside Microsoft the words "Open Source" only had negative connotations. I never would have guessed that 5 years later I would help reshape Microsoft's approach to Open Source by releasing my little project. Now 5 more years later, Microsoft takes another big step and contributes to the most famous Open Source project of all, Linux.
Mary Jo Foley (who originally broke the news about the WiX toolset) references flying pigs. Todd Bishop (whose write up about WiX printed in the Seattle PI I still have) tosses in a little more historic context. However as I read those blog posts then others then comments all around, I felt like a few key questions were never asked and thus never answered. I thought they were interesting and captured some of my opinions on this topic.
Please note that I'm not on Sam Ramji's team and cannot speak to Microsoft's Open Source strategy. These are just my views of how Microsoft has changed over the years.
Q: Everyone is making this out to be a big deal. Jim Zemlin said this isn't that big of deal, "they're not saving the whales here." Why is this a big deal?
A: Code wise, maybe this isn't that big of a deal. Microsoft is just adding a few drivers to Linux so it will run better on Hyper-V. Anybody could have done that. It's just code right?
Sure, but what is different here is that Microsoft is meeting the Linux community on the community's terms. Linux is released under the GPLv2. Okay, Microsoft licenses these drivers under the GPLv2. Linux has established leaders for the major sub-systems. Okay, Microsoft works with the driver people to understand their requirements. Linux has coding standard that everyone must follow. Okay, Microsoft works on the code to meet those standards.
That's why this is a big deal. Microsoft is participating in the Linux community in a way its never done. Sure, other companies have done this already but I believe this demonstrates how Microsoft continues to learn how to approach Open Source communities and collaborate appropriately. Less than 10 years ago, the interaction could only be summed up as fist shaking and name calling. Now it's about participation for cooperation, competition and co-opetition.
Q: But isn't Microsoft contributing these drivers because they help Hyper-V?
A: In the narrowest view of the circumstances, yes. But if you look at this from a business perspective then I expect that you'll find this is more about making customers happy. If no customers wanted to run Linux on Windows then I'm pretty sure that Microsoft would not have done this work.
What I'm excited about is the fact that Microsoft finally found a way to work with the Linux community to meet a customer request. Instead of saying, "That's Linux's problem, have them sort it out." Microsoft joined the Linux community to solve the problem. Can you see the shift in thinking that occurred here?
Q: But don't you think Microsoft should have done more sooner?
A: Probably. But educating an organization as large as Microsoft about something as subtle as Open Source takes time. I do my small part by working to make my "relatively insignificant geekware" project successful. Announcements like today's recognize the larger efforts made by others.
There's certainly more work to do but in 5 years I think Microsoft has come a long way. I only hope the progress continues (and maybe a little bit faster). <smile/>