The Death of NDoc and the .NET Community
Aug 12th, 2006 by phil
In 2002 I led a team that was building a non-trivial system using .NET. Most of the code was written in C# with some low-level code written in C++ and a few legacy components implemented in VB 6. On that project we used several open source tools such as NAnt, NUnit and NDoc. Visual Studio is OK as an IDE, but there are some areas where it is severely lacking and these tools filled in the gaps well.
Two of the tools I mentioned above are ports or clones of existing Java tools. The big difference is that the ports are usually maintained by a single person or a very small team whereas the Java tools have a thriving community supporting them and are constantly being improved. Java has a community that Microsoft has never been able to replicate for .NET.
This was reinforced for me this past week when I saw that the NDoc project is officially defunct. It is easy to pin the blame for this on Microsoft, as does NDoc’s erstwhile developer. But then, Microsoft has never really listened to the developer community especially well.
I was a C++ developer years ago when C++ developers were clamoring for a standards compliant compiler from Microsoft. Now I am a web developer when web developers are clamoring for proper CSS support in IE. In both cases Microsoft has chosen to focus on other initiatives instead of what the developers asked for (managed code in C++ and a new UI for IE 7). Now Microsoft has decided to rename the combination of WinFX and .Net 2.0 as .NET 3.0 inciting a petition from .NET developers.
I think that there is a bigger story here than Microsoft being deaf to the developer community. I think the real story here is the absence of a developer community around Microsoft’s technologies like we see with Java, Ruby on Rails and Linux among others. This is probably a side effect of .NET being a single vendor technology. Sure, there are other vendors in the .NET space, but none carry the weight that IBM, BEA or Oracle carry in the Java communities.
Whatever the cause, I think the absence of a real collaborative .NET community leads to an environment that the best developers will ultimately choose to avoid. The project that I mentioned at the beginning of this article convinced me that I should focus on Java in the future simply because Java had the community mojo that .NET lacks. These days Ruby on Rails has the community thing nailed. I know several developers that are getting into Rails even though they are a little mystified by the Ruby language. It certainly appears that the community around Rails is a significant factor.
So, what does all this mean? For one thing, I think that because of its lack of community .NET cannot attract and keep top-notch developers. Unless that changes .NET will never be able to take over the world. It also reaffirms my decision to move on to something better. What do you think?






You are right 100%. Microsoft has failed to create a community around .NET. The reason? It’s the same reason that made Microsoft what it is now: Microsoft is seen nowadays as an Almighty God that will provide everything poor human beings can need. And we know that top-notch developers run faster than the rest, and do not wait for the ‘maná’ to fall from the sky.
Well said! I’m also a longtime C++-turned-C# developer, and now I’m moving to Rails for website work and pure Ruby whenever possible. The community around Ruby is definitely one of the big reasons why I’ve felt comfortable making the switch.
very interesting insight… i’m curious if the ruby/rails thriving communities will outlast the buzz as well. after all it was that same buzz of community that enabled ndoc, etc. to be created and used, etc.
microsoft is now opening up and learning about open source. environments like codeplex.com can help, but you are right, only if there is a robust community to engage in whatever the initiative it is. i’ve often found that open source means ‘i just want the source and i don’t care about contributing’ — i’ve hit this with several of my initiatives.
As long as jobs remain for Ruby on Rails and Ruby developers, the buzz will remain also. That is, if people keep enthusiastic and fun ideas popping up. I think it has re-instilled vigour and inspiration in people who find flexible and artistic ways of expressing analytical and logical scenarios. Great insights shown in this article! - ben @ http://rubyonrailsblog.com/