there's been a lot of coverage lately about open source and microsoft projects, namely sparked by the 'death of ndoc' postings all over the internet. this has caused me some pause to reflect on why...and i'm not sure i have the answer, but it is just interesting to see the surroundings discussions on this.
here's one comment i found interesting (speaking on ndoc, etc. -- tools ported from 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. [via fiat]
i couldn't help agree with this initial thought of single person/small team. however, i think that is due mainly to the immature nature of microsoft developers embracing open source development. historically we've never thought of writing code that way...we've always just left code like that to live (and die) in articles, snippets, samples, but never really built a community around it. sourceforge was never friendly to microsoft developers really. it is only until recently (past couple of years), i would argue, where pockets of open source projects have been providing useful value and perking interest around the .net community, NDoc being one of them (NUnit, log4net, blog engines, etc.).
so why did ndoc 'die'? you can't help but point to the reason pointed out above -- a single person. where was the community?
there were a lot of developers who loved/used ndoc over time -- and presumably if you were using ndoc, you were writing code seriously (it would be hard to argue retail consumers not contributing to open source projects). so (myself included), where were you? why did the author of ndoc have to declare it dead? where was the core team to pick up the slack? it should cause you to think. open source shouldn't mean "just give me the free stuff and the code will ya" but rather some level of contribution -- *something* to keep the momentum alive.
hanselman talks about some of these challenges in his recent podcast on open source and his thoughts on the reasons why he thinks they exist.
microsoft has begun to attempt to build a more microsoft-friendly environment for fostering these kind of outlets in codeplex. it is available. i was waiting for it for a long time. in my feedreader project i had been receiving countless emails about wanting the source code to modify it and fix the two glaring issues with it in certain environments. i honestly received over 50 unique inquiries to *modify* the source, not just wanting the source. so alas, finally i put it out there in an environment i felt friendly to microsoft developers. the source has been downloaded over 4700 times. contributions: 0. inquiries to join the project: 0. now maybe codeplex isn't the best place and people don't understand how to do things...but i doubt it is that challenging to figure it out or ask.
even more recently i put out a few plugins for windows live writer and put the source code out there. heck, i know there are awesome developers out there that are far superior in their ideas of implementation than me, and i'd love to see some contributions. i had an interesting exchange with another employee today about a topic around one of the plugins. his comments were along the lines of not believing that open source projects could create highly usable products by non-developers (which was an applicable comment given we were discussing a plugin that ideally is consumed by non-developers). is that a true statement?
so, my plea is no different than those that have come before me on the same blog topic...can you take a few minutes and reward the developer community with your talents...especially if you consume source that provides value to you?
open source shouldn't mean single-developer-source. it should be a community of ideas. an ideology that collective gray matter can produce perhaps a better product, whether it is a UI, faster code, more secure code, or simple bug fixes on spelling changes. look at codeplex, find an interest, contribute. and if you can't and there are barriers, tell me what they are so i can understand.