Scott talks a bit here about the death of the NDoc project. Like Scott, I am saddened to hear this; NDoc was a really great open source project that filled a very special and important need on the .NET developer's toolbox; and did it in an excellent way.

Community projects need support to survive, hopefully, as active participation in the project itself. I guess I'm one of those guilty of taking advantage of NDoc several times, but never contributing anything to it, and I regret that. On my behalf, I'll say that Kevin did an amazing job on it.

As Scott once pointed out (and I agreed), contributing to open source projects is many times just an excercise in self-interest; a result of one having a need not filled by the project as is, and stepping up to fix that, and, quite frankly, I never had that happen with NDoc while using it (I never had to use it for .NET 2.0, so I can't speak about that), it was just that good.

Scott also brings an interesting idea to the table:

"Hanselman Editorial Aside: It's a shame that
Microsoft can't put together an organization like INETA (who already
gives small stipends to folks to speak at User Groups) and gave away
grants/stipends to the 20 or so .NET Open Source Projects that TRULY
make a difference in measurable ways. The whole thing could be managed
out of the existing INETA organization and wouldn't cost more than a
few hundred grand - the price of maybe 3-4 Microsoft Engineers."


Very interesting idea, and I'd be all for it. But, my guess it's not gonna happen, and not because MS  hates open source or anything like that. It's just that part of the MS corporate culture seems to be very focused on doing their own thing, and most of the time, they'll want to build their own instead of contributing to someone else's (in this case that someone else is the community or a community leader).

Now, I'm not saying this is bad, per se, there are advantages (like increased competition), but it also means that sometimes things take longer than they should (as Microsoft decides to tackle existing, well-established projects that are a few years ahead), and sometimes, there are casualties along the way. I guess in a way, Sandcastle vs. NDoc reminds me of the MSBuild vs. NAnt debacle a couple of years ago.

It is actually quite ironic: Microsoft is one of the biggest places in the world were code reuse happens effectively every day across its product spectrum, but they are remarkably adamant overall (there are exceptions) to taking advantage of existing code outside of Microsoft itself.

Update: John Lam adds some good points here.
Update: DonXML adds some comments here.


Tomas Restrepo

Software developer located in Colombia. Sr. PFE at Microsoft.