PDA

View Full Version : Open-Source and .NET


Zoetermeer
12-13-2006, 08:32 PM
This is sort of an open-ended question directed at the Spring.NET team, and/or anyone who has worked on/used open-source projects related to .NET.

I was thinking recently about the death of the NDoc project in the wake of Microsoft's Sandcastle project. I think somewhere I read about how .NET was doomed to never enjoy the kind of thriving open-source community that Java does, mostly due to the rapid pace of Microsoft new product development and its propensity to produce things that have very close resemblance to already available open-source projects (i.e. the new Team System unit testing tools and NUnit, Sandcastle and NDoc, etc.). I know that other differences (Java being a standard, .NET being a product) also have a lot to do with this. It even seems that MS is trying to build their own open-source community with the Patterns & Practices team and the Enterprise Library. I've also read that even many commercial O/R mapping products for .NET are in trouble with the impending release of DLinq and related technologies (and I wonder how this will impact the NHibernate project, though I've heard they are building in support for the System.Query API).

I am in constant amazement and appreciation of the work that the Spring.NET team is doing. I loved working with Spring when I was doing Java, and I love working with Spring.NET even more. Given Microsoft's recent product blitz, I've started to worry that MS will start to move so fast that open-source projects such as Spring will find it hard to keep up. That's nothing against the Spring.NET team by any means - but it's no doubt difficult to continue to support and enhance new API's that are being produced by MS at such a rapid pace. It seems like WinForms 2.0 was just released, and already WPF is here.

Enough rambling - I was just curious on what your thoughts were on open-source in .NET in general? Do you think open-source will grow as .NET gets older and gain wider recognition with .NET developers?

Here's hoping that it does.

Aleks Seovic
12-28-2006, 07:33 PM
We sure hope that it will as well, but for the reasons you mentioned .NET community is not nearly as "open source friendly" as Java community.

Rapid pace at which MS releases new APIs and frameworks is a problem -- it is very difficult to keep up with everything that comes out of Redmond and to integrate with it in a consistent way, preserving Spring programming model, etc. Not to mention that supporting multiple releases of .NET framework is a non-trivial task because MS doesn't seem to value API-level backwards compatibility much... :( I'd really love to know the reason why they renamed ConfigurationException to ConfigurationErrorsException, for example -- whatever it was I'm pretty sure it wasn't worth it.

I read somewhere recently that Microsoft uses "Darwinistic" approach to software development -- they let multiple groups try to solve the same problem and wait to see which solution is going to take off. Unfortunately, this produces a lot of technology that is bound to wither away, so trying to integrate with everything as soon as it comes out is probably a waste of time (in addition to being physically impossible without a fair number of resources, which none of the open source projects have).

I guess our approach will have to be the same as it has been -- we will work on identifying technologies that solve real problems and try to provide integrations and common programming model, whether they come from Microsoft or somewhere else. As for the new MS stuff, the best approach is probably to wait a bit and see whether it's gonna be here for a while or if it was doomed to death from the beginning.

I do believe howevere that as there is more and more high-quality open source software for .NET platform, developers will begin to realize that the world doesn't begin and end in Redmond and will start using things that help them be more productive, such as Spring.NET, NHibernate, etc.

Later,

Aleks