More Microsoft Engagement with Open Source Projects

UPDATE: Welcome Slashdot visitors.  I'm not sure how to submit a correction to slashdot, but I am NOT the person responsible for the WIX/WTL projects. I site them as examples and am working with people who where responsible for those projects to enable more of the same for the groups I work in.  It would be great if someone at Slashdot could change the wording here since I really can't take credit for the work the WIX and WTL project leaders have done. 

UPDATE #2: Thanks to whoever updated the story on Slashdot.  To be honest I'm going to be a bit behind responding to a lot of these comments.  I just wanted to let you know that I am working my way through them and will take the time to respond to constructive feedback.  There is a LOT of it so it will take me a while. Be patient. I am listening. 

UPDATE #3: I've started to respond. So my responses aren't lost in the comments I'll list my responses here as well.

Slashdot Comment Responses #1 (On Cardkeys and Trust)

Slashdot Comment Responses #2 (A bit about Patents)

Slashdot Comment Responses #3 (Your Requests for Open Projects)

Slashdot Comment Responses #4 (Contests, Free Software Distribution, Halloween, and More)

Slashdot Comment Responses #5 (Ending on a Good Note)


I'm currently working to enable more collaboration of the "Open Source" type with the developer community and Microsoft.  It should be easy for teams here at Microsoft to develop extensions to their platforms and potentially pieces of the platforms with customers in an open/transparent fashion. What better way (especially for teams that make tools for developers) to form real connections with developers than working with them collaboratively on real technical challenges?

Working with customers on actual source code forms a stronger connection than simply answering their questions in the newsgroups.  You get to see, in a more real way, how customers work with code and where holes in your platform exist since you are effectively dogfooding.  I experienced this first hand with my efforts to get the original "VS Powertoys" off the ground and open sourced. Several of the customers I've worked with from these efforts are now on my MSN buddy list and chat with me frequently about the specific projects and technology in general. 

Engaging the "open source crowd" is something that we have historically neglected.  Hell, from their perspective, some of our assaults on Linux are downright insulting.  I cringe when I see the news headlines like "<Random Microsoft Executive> Rails Against Open Source".  Of course, they get to fire back and be just as insulting with some of their initiatives. Some bridge crossing could do both sides some good.  There is a balance to be struck somewhere between the "free software radicals" and the "only for profit" mentalities.  There are several extensions, for example, to Visual Studio that we just don't have the time to get to for one reason or another.

Wouldn't it be cool if there was a process whereby passionate Microsoft developers could work officially with engaged members of the community to build these missing features on top of the VS Platform, then these missing features could eventually be included as part of an additional install step as a part of the product?  Microsoft wins because Visual Studio gets extended functionality between releases, the community wins because these would be provided for free and more officially supported, approved, and tested by Microsoft. Ideally the license would work such that Microsoft could eventually include these as part of future shipping products and the contributors could take the source and use it for their own purposes commercially.  In this example we could eventually ship the VB PowerPack as basic control in the toolbox, but the contributors could also take the source, improve upon the basics, and re-sell the improved versions as part of their control vendor package for current and down-level .Net versions.

This sort of engagement can be good press as seen by the reaction to the WIX and WTL experiments

"I think the download numbers, while not mind-boggling, certainly indicate the depth of interest from the developer community in working with Microsoft oriented projects," Stephen O'Grady, an analyst with research firm Redmonk, told internetnews.com. "Microsoft and open source may not be all that comfortable in the same sentence yet, as some of Bill Gates' recent remarks abroad indicate, but I think these shared source projects are a good indication that each party has something to contribute to the other."

What I (and others) are working to-wards is a world where we have a simple, official, process for Microsoft employees and customers that covers all sorts of collaboration initiatives that may range from "Wiki-ized Whitepapers" to code samples to platform extensions to product specifications to whole pieces of a platform.  You can see bits and pieces of this today @ Microsoft (in ad-hoc or one off fashions) and other companies. The Sun JCP and Real Helix Communities stand out as examples today. 

I was inspired to post this because of several other posts I've seen recently that touch on the subject and it's something people internally are looking at me to help them accomplish.  Before I'm accused of re-inventing the wheel, I'm aware that there are currently open source projects managed by people at Microsoft today.  However these are projects that are further removed from the owners area of work at Microsoft and are less tied to official commercial offerings at Microsoft. There is a lower risk of taint or injunctions against Microsoft because of their participation in several of the existing projects.  It's also a space where Microsoft teams could use some best practice advice and guidance to enter. 

I've talked long enough about this.  I'd like to hear your thoughts...

  • What types of projects or specific projects should we look to open source in the future? And don't just say "Everything".  I'd like suggestions I feel I could actually help teams deliver on in the near future. 
  • If you have participated in any of the current Microsoft sponsored shared or open source projects how could we do a better job of managing these projects?
  • If you have participated in non-Microsoft sponsored shared/open source projects... what did you like or not like so much?
  • Would you have interest in working on these types of projects with Microsoft? If  not, what could entice you? If so, what would be your motivation?

This is going to be a fun world to open up.  I'm personally really excited about some of the potential projects I've heard being discussed.  Good Times ahead! - Josh