Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Is Open Source an Anathema for .NET?

Is Open Source an Anathema for .NET?

When .NET was first released Microsoft also released a subset of the .NET framework as Shared Source in the form of Rotor.  Rumor is that the 2.0 version of Rotor will also be the last version of the .NET CLI released as source code to the developer community.  Since that time, Microsoft has put in place an agreement with Novell and the Mono Project which allows for development of Mono to continue.  Mono provides an open source version of the .NET framework and a runtime that is cross-platform compatible allowing for .NET applications to run on U/Linux and OS X as well as Windows.

Along with Mono, Novell sponsors several open source .NET applications based on Mono:
  • Banshee
  • Beagle
  • F-spot
  • iFolder
  • Monodevelop
The list does not end there and currently Jeff Atwood is accepting nominations for a $10,000 donation to a worthy .NET Open Source project.  The contest has gained steam quickly with the list of open source .NET projects currently standing at 74 projects nominated.  As to the impetus for the donation in Jeff's own words:
Why am I focusing on .NET open source projects? In short, because open source projects are treated as second-class citizens in the Microsoft ecosystem. Many highly popular open source projects have contributed so much to the .NET community, and they've gotten virtually no support at all from Microsoft in return. I'd like to see that change. In fact, I'll go even further-- I think it must change if Microsoft wants to survive as a vendor of development tools.
However, some feel Open Source cannot take hold in the .NET community due to the business model used by Microsoft and similar ISVs.  Frans Bouma relates:
Open source doesn't need money to become solid, it needs attention. Just throwing money at open source is what MS is doing for years and it hasn't payed off. The reason for that is that the mentality of the average developer on MS platforms is that you simply pay for controls, libraries and tools and if you work on these products, you get payed.

THAT is what is lacking in the MS' ecosystem for open source. You can throw money at it, but that mentality won't change. One of the core reasons it won't change is because MS won't let it be changed: if it does change, their days are numbered.
Ted Dennison points out another issue when developing on the .NET platform and working on an Open Source project:
First off, are all the various .NET's licenses one has to agree to in order to work under the system GPL compatible? Microsoft has been known to craft EULAs with the specific purpose of making them GPL-incompatible. I'm guessing there's some way to do it, as a gcc-based Ada compiler has been ported ( ). However, a quick search online indicates that the license associated with the Ajax controls, among others, is incompatible. According to , the Ms-PL, Ms-CL, Ms-LPL, and Ms-LCL are all incompatible. I have to read every EULA very carefully to be sure I'm legal.
Phil Haack takes an interesting point of view in relation to using a proprietary stack to build an open source application:
I have the vacation view of Open Source. While I would love to be on vacation all the time, I’m pragmatic and I’ll take as much as I can get. Some vacation is better than no vacation.
Regardless of the definition of anathema one adheres to, Greek or Hebrew, if the past year is proof, the philosophies of Open Source are taking hold in the .NET community. 

The .NET Queue, on behalf of InfoQ, would like to extend an offer to the .NET Open Source community.  Let us know about your major release versions and we'll gladly post a product release announcement along with a review. 

Rate this Article