What is the future of open source on Windows?

I use the Windows OS right now, and I have for a lot of years. However, there was a time (a couple years around the 1990 timeframe) when I actually succeeded in running my PC with zero Microsoft software.
I ran DR-DOS, Borland Quattro Pro, Lotus Word Pro, and a bunch of other quality (for the time) non-Microsoft software. I was happy about this.
Later, when I studied computer science in college, we used unix at school and it was at this time that I first loaded Linux on my home PC. I again made an effort to see how far away I could get from Microsoft products.
Unfortunately, I found that life without Microsoft was not nearly as productive as life with Microsoft (circa 1997). Getting things done counts for a lot in my life. After I carefully analyzed my individual productivity, I made the decision to use Microsoft products -- strictly for pragmatic reasons. I wouldn’t say I really liked Microsoft products, but I used them because doing so made me more efficient.
Around 2000, I got interested in the .NET Framework, and Microsoft started impressing me with their products for the first time. In the years since then I have often found myself using a PC with nothing but Microsoft products on it. The irony of this didn’t go unnoticed.
But Microsoft seemed to be doing things differently with the shared source and with what I perceived to be better quality products all around. Plus, I was impressed by all the top-notch engineering talent that joined Microsoft. As people like Anders Hejlsberg, Stanley Lippman, and Herb Sutter joined Microsoft, my attitude toward Microsoft became very positive over that timeframe.
And when I recently read eWEEK Labs Bakeoff: Open Source Versus .Net Stacks, I thought the combination of Windows and open source might be the best of both worlds. My rationale was based on several factors:

  • In eWeek’s tests, three of the open source systems on Windows were among the leaders in performance and reliability. eWeek actually stated, “For some businesses, this will truly be the best of both worlds”.
  • Using Windows still has an efficiency advantage for the average person, in my experience. It is easier to obtain software, to set up new hardware or software, and to just get various stuff done. In fact, Visual Studio is a great productivity tool for developers and it is hard to find a better (or even equal) IDE on other platforms (so I’m told by people who use both).
  • The .NET open source community has seemed to have a lot of momentum behind it recently. There are a lot of great projects out there – many of which I have found I would not want to be without.

Just at the point where my optimism about the Windows platform in general, and open source on .NET specifically, was reaching an all-time high, some concerns began to appear. The demise of NDoc was one of those. But Microsoft’s willingness to apply its embrace, extend, exterminate mentality to the .NET open source community is what alarms me the most.
[UPDATED] As a developer on the Microsoft platform, I want and need a rich open source community around me. The .NET open source community benefits developers like me in many ways, some of which include:

  • The open source projects fill small (or large) product gaps and feature gaps;
  • A diversity of open source projects provide learning opportunities for developers in the community through several avenues, including direct participation or even just passive examination of the source code;
  • Free tools provide an entry point into the world of Microsoft technologies for those who otherwise might never consider getting started on this platform;
  • The open source projects provide camaraderie - the whole Microsoft community is strengthened through friendships and relationships that grow out of this community. People enjoy working in a community where they know others.

If I am going to devote my career to Microsoft technologies, I would like to have 100% confidence that Microsoft will not act with scorn or derogation toward the .NET open source community. That community, together with the continued shared-sourcing of the CLI, is a valuable and necessary element of my Microsoft-centric developer career. Recent events have made me question whether Microsoft will allow that .NET open source community to thrive the way it has been in the past. (Will Microsoft feel threatened after eWeek's article pointed out that open source .NET IT stacks "will truly be the best of both worlds?")
One of my options is to load up Ubuntu on one of my machines, just to explore the other options available to me.
Another option I have is to speak out and let Microsoft know that it needs to show.NET developers that Microsoft will do more than simply tolerate .NET open source. Microsoft needs to strongly embrace .NET open source. Here is one idea for how Microsoft can show us they are completely over the its embrace, extend, exterminate mentality when it comes to .NET open source.
Here are a couple blog articles on this topic that are worth reading:
• More Tool Stagnation to Come?http://www.developerdotstar.com/community/node/542
• Will Microsoft Subsume Open Source?http://www.sitepoint.com/blogs/2006/07/27/will-microsoft-subsume-open-source/ 


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Dave - I responded to your comment on my blog and find this posting by you to be interesting and troubling. I'm going to forward the link to a few folks at MS and suggest that we listen closely to this feedback. Thanks for the honesty and constructive input.- Jason

Have you considered trying out Mac OS X? I find the development environment to be superior and more productive than Linux and Windows. The combination of Unix under-the-hood and the Mac UI allow me to be more productive than with any other machine. In fact, for the few times I need Windows, I've run it under the Parallels VM.

@Matt: I don't understand why Apple won't sell a version of Mac OS X that would run on a PC. They must have their reasons. However, if they did sell such a product, I would certainly purchase it immediately. I would love to be able to run Mac OS X on my hardware because, as you said, hte combination of Unix under the hood and the Mac UI sounds very attractive. Time would tell whether the Mac OS would become my favorite, but Apple's current policy doesn't allow me to explore that option. Apple's hardware policy is far more extreme than even Microsoft's attitude toward open source. At least Windows runs on all kinds of hardware and at least MS tolerates open source. Apple killed off the Mac clones long ago and Apple still refuses to sell the OS for PC hardware, even after moving to the Intel version of the OS for their newest machines.Anyone understand Apple's rationale better than I do? It doesn't make sense to me.

You are not right.

Pretty nice site, wants to see much more on it! :)