I'm working on several web apps using ASP.NET MVC, either on Mono or W2K8. I have tried to launch startups in the past using ASP.NET WebForms, and I wouldn't recommend that approach to anyone, I can't get those years back. At this point, I believe ASP.NET MVC is a solid choice and I am extremely productive with it. It provides the same "programming is fun again" feeling that other web frameworks have boasted in the past. To be sure, you're still using a static language with C# 3.0/4.0, so there is more code to write in general and more considerations using the ASP.NET pipeline, however it produces solid applications. The open source argument is out of date; ASP.NET MVC itself is open source (MS-PL), you can run it on Mono, and there is plenty of open source projects in .NET at this point that provide either ports of popular Ruby or Java tooling or code specific to reducing development times on the .NET stack. You don't get the conventions of RoR, but there are alternative architectures available.