Nick Parker asks an
interesting question about the lack of independent frameworks in .NET as compared to Java.
I think there a quite a few reasons, ranging from "Microsoft will build it in eventually" attitudes to the tradition of a more open development process in the Java community (hopefully that is changing - albeit slowly). However, one of the biggest reasons, IMHO, is that (per a
past discussion), the vast majority of .NET programmers are Pragmattic in their approach. They want to get stuff done, not fiddle with creating a new framework. Yes, there is extreme value in such work, and some do it. But for .NET folks, it seems the prevaling attitude is about getting something out the door, and if I can leverage someone else's work I will, but I don't have time to clean up and post my stuff.
Don't get me wrong, I am not saying that is necessarily a good thing. And I am certainly using a broad brush to paint a complex picture, but there is some fundamental truth in the assertion. The Java community has certainly benefited by their community giving back and filling holes. Of course, the down side to this is that there are often multiple choices and picking the right horse is not an easy task.