InfoQ

News

Is Open Source an Anathema for .NET?

Posted by James Vastbinder on Jul 09, 2007 12:38 PM

Community
.NET
Topics
.NET Framework ,
Open Source
Tags
OSS ,
Microsoft
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 (http://www.usafa.af.mil/df/dfcs/bios/mcc_html/a_sharp.cfm ). However, a quick search online indicates that the license associated with the Ajax controls, among others, is incompatible. According to http://en.wikipedia.org/wiki/List_of_software_licenses , 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. 
What about Nant, NUnit and CC.net? by Michael Neale Posted Jul 9, 2007 7:22 PM
Re: What about Nant, NUnit and CC.net? by F Quednau Posted Jul 17, 2007 8:54 AM
A few additional thoughts by James Vastbinder Posted Jul 9, 2007 9:11 PM
Re: A few additional thoughts by Stefan Wenig Posted Jul 10, 2007 2:34 AM
What is the ".NET Queue"? by John DeHope Posted Jul 10, 2007 8:53 AM
Re: What is the by James Vastbinder Posted Jul 10, 2007 11:27 AM
Re: What is the by John DeHope Posted Jul 11, 2007 9:26 AM
Re: What is the by James Vastbinder Posted Jul 11, 2007 11:48 AM
Another thought by Arnon Rotem-Gal-Oz Posted Jul 10, 2007 1:08 PM
  1. Back to top

    What about Nant, NUnit and CC.net?

    Jul 9, 2007 7:22 PM by Michael Neale

    All great projects and products, all Free and open source. Yet I think people find it disheartening when Microsoft (who are still the keepers of .Net) basically pretend they don't exist, and go and create their own proprietary alternatives. The people who invested time developing or even learning those tools feel cheated in some ways (because for many people, they will just default to using what comes in VS - just like IE is the dominant browser just because its the default for most PCs sold). I think its a crying shame (I would love to be proven wrong), but its my take, and the reason why I stopped some time ago looking at .Net at all in my (increasingly rare) spare time.

  2. Back to top

    A few additional thoughts

    Jul 9, 2007 9:11 PM by James Vastbinder

    I couldn't put this in the original post, but recall back in '97 when the Java Spec was owned by Sun. We all used the Blackdown version of Java for development on Linux, then ran the Sun JVM in production on Solaris. Then JSP came along and we all ran servlets or GNUJSP until Struts came along. Open source projects on Java were scarce back then. The timing is not much different with .NET. However, one would hope the powers that be would understand and learn from others lessons, especially when it comes to Open Source.

  3. Back to top

    Re: A few additional thoughts

    Jul 10, 2007 2:34 AM by Stefan Wenig

    Now _that_ is an interesting line of thought. If I get this right, Sun was more obsessive about owning and controlling Java when they actually made money from it, either from licensing Java itself or from selling their platform. As Java became ubiquitous, thus reducing the need to rely on Sun's platform; and as the community became so strong that OSS libraries competing with Sun's became de-facto standards, Sun felt more comfortable opening up, even to the point of going OSS. Was that so, and could history repeat itself for .NET?

  4. Back to top

    What is the ".NET Queue"?

    Jul 10, 2007 8:53 AM by John DeHope

    I was just curious what the .NET Queue is?

  5. Back to top

    Re: What is the

    Jul 10, 2007 11:27 AM by James Vastbinder

    John, InfoQ is broken up into communities or "queues". InfoQ = Information Queue, hence the name. In this manner you can personalize the site to only see content from the communities or queues you sign up for. The left sidebar contains a box labled "Communities" where you can do this customization.

  6. Back to top

    Another thought

    Jul 10, 2007 1:08 PM by Arnon Rotem-Gal-Oz

    I think Mats Helander has an interesting take on this in a blog post called Is MS the apple of application development

  7. Back to top

    Re: What is the

    Jul 11, 2007 9:26 AM by John DeHope

    Ahh I see thanks. That's a fairly propriety use of the word "queue" eh? The implementation is nice though. At first I had only a few queues checked off. But after appreciating the lack of fanboyism in the writing at InfoQ, I went ahead and turned on Ruby and Java, even though I don't actually use those technologies.

  8. Back to top

    Re: What is the

    Jul 11, 2007 11:48 AM by James Vastbinder

    John, Thanks for the endorsement of the InfoQ editorial style, the more vocal our readership is, the better the editors can make the site.

  9. Back to top

    Re: What about Nant, NUnit and CC.net?

    Jul 17, 2007 8:54 AM by F Quednau

    Just adding NDoc to this list, where I would think that Microsoft has also a role to play in the fact that the developer basically could not be asked anymore to maintain that project. It is quite a shame that Nant has not been recognized and Microsoft actually wants to force us to use MSBuild. It is my sincere hope that Microsoft will shift its attitude somewehat such that I don't feel bad using Nant. To any Nant contributors out there: Thanks for the great job! Same goes to NUnit!

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.