Dear .NET Community, You Blew It!

Dear .NET Community,

You Blew It!

A couple of weeks ago a critical tool in the .NET ecosystem went from free to
commercial. That tool is Reflector and the owner of said product is RedGate
software. A lot of members of the .NET Community complained that RedGate was
going back on its original deal with the .NET Community by taking Reflector
from free to commercial. In all reality RedGate paid for the rights to Reflector fair and square and is within their rights to do exactly what they did.

“The chickens have come home to

Translated : it’s your own damn fault.

What happened is you found yourself warmed under the blanket of a commercial software vendor who decided it was time to kick you out of bed. What was once free is no longer and you are now paying the price (literally) for your lack of attention. Time and time again the .NET community abdicates control of its own destiny to commercial vendors. Almost every year Microsoft releases products that compete with open source applications that are already available and in most cases better than the commercial products that Microsoft releases.

Here are a few examples:

  • First there was Subversion and Git now there is TFS
  • First there was nHibernate, SubSonic, CSLA and
    db4o and now there is Entity Framework
  • First there was nUnit, xUnit now there is MSTEST
  • First there was StructureMap, Windsor, Ninject now there is Unity
  • First there was Hudson and Cruise Control now
    there is TFS
  • First there was <put your OSS project here> Now there is <Some half baked tightly integrated products.

Why we as a community do this to ourselves baffles my imagination. Let’s
take a look at what happens to a commercial vendor when they get out of line.

Last year Oracle bought Sun Microsystems. It did not take too long before Oracle overplayed their hand when it came to the many open source products that were in Sun Micro’s portfolio. What has happened since is a number of critical OSS projects have been forked and a new community was reborn.

Many of you might know about the product OpenOffice. OpenOffice is an OSS project that competes with the Microsoft Office suite. A number of the members of the OpenOffice community created a fork of OpenOffice and LibreOffice was reborn.

The second OSS project that has taken their ball elsewhere is the Hudson project. Hudson is a continuous integration server. What was once Hudson is now Jenkins CI. Basically Oracle overplayed its hand in this community as well and the members of that OSS community went elsewhere. The new project at:

From these two examples you can see the real power of OSS. If the sponsors of a project get out of line the community can take their code and talent elsewhere. Is this even remotely possible in the Microsoft ecosystem ? Let’s take a look:

When Microsoft decides to kill tools that you have adopted what can you do ? Pretty much nothing. Do you need a case in point ? OK here’s one for you: LINQ to SQL. In Oct 2008 Microsoft decided that LINQ to SQL would be deprecated. Here’s the

So what is a developer to do ? Pretty much it’s a single choice. Abandon what you are doing and move onto the next “Promised Land” of data frameworks. Yes you can maintain your current code base but do you think it’s wise to continue development on technology you know is dead ?

There is a real second choice but it takes a certain amount of bravery to do it. How about you abandon Microsoft when it comes to critical choices like data access and find an OSS project that meets your needs .

Instead of using ASP.NET/MVC how about taking a serious look at FUBUMVC ( FUBUMVC is an MVC framework built by a team of developers that really use it. This makes more difference than you might imagine. How can a company really understand the pain of their own frameworks if they don’t use them ? As an analog Ruby on Rails ( is highly functional as a web framework because it was and is built by developers that actually use it.

In this case I am picking on the ASP/MVC team a little. But I do commend that team for their behavior. The ASP.NET/MVC team is arguably the most transparent team at Microsoft. The ASP.NET/MVC framework is distributed under an open source license and you are free to download and modify the code as you see fit. Should the community decide to they could fork the code and follow their own path. In the case of ASP.NET/MVC it is nice to have choices.

It is up to us as a community to quit abdicating our responsibility to the mother ship. We need to do the right thing and take our destinies into our own hands and start supporting existing open source projects. Heck if it’s an itch you need to scratch you might just want to start your own.

This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • Rod,

    I couldn’t agree more! The .net developer community has a lot to learn.


  • Well put sir!

  • Rod,

    While I agree with the “community has this” and “microsoft created that” argument I don’t see how that sheds any light on the RedGate / Reflector situation. As you mentioned RedGate bought it from Lutz. It was never open sourced to start with. And as a company I can’t really fault RedGate for trying to sell the product, they paid for it, they’ve done some improvements, let’em sell it I say.

    I’m really not sure what “we” blew. It was a good rant, but possibly the wrong lead in?

  • This is just a stupid pointless blog post. Have you even looked at what is going on in the Mono circles? Have you seen as a reaction to linq2sql. Stop your whining and start promoting mono

  • Rod Paddock

    My point is that the community got burned by a “free” commercial product that probably should have been oss in the first place. The majority of the .NET community is ignorant about the oss tools available to them. If not ignorant then they are reluctant to consider/use them unless accompanied by a sticker of approval from msft.

    Had the community built and or supported an oss reflector they wouldnt need to cough up $$$ for it like they are now.

  • KevDog

    Just because MS released a product doesn’t mean that people are using it. I have yet to come across a project that uses MSTest, for example.

    In short, blah, blah, blah…

  • Just a point of fact – Linq to SQL is no more deprecated than ADO.NET is deprecated. That is to say, you will still continue to be able to get it as part of a standard install of each new framework release. It’s not going away, but it is considered feature complete. Bugs and issues will continue to be fixed though, and many were in the release of the 4.0 framework. In other words, “bad example”.

  • While Linq to Sql getting ditched is not something that’s good for either MS’s PR or the community, I have to disagree on MVC. The MVC source is available on codeplex and if MS decides to abandon it, anybody can take the source and keep it going. Apart from MS not taking commits from the public, I don’t see how that’s different from Fubu (or dare I say it, StoryQ). MvcContrib is open source and a lot of concepts have been pulled from there to core ASP.NET MVC.

    The Linq to SQL disaster was caused by Microsoft keeping it closed source – and that’s something they’re not doing with MVC.

    That said, I have to agree that Fubu does seem architecturally superior to the inheritance based ASP.NET MVC.

  • Rod Paddock

    What u said re: asp mvc I did say in the post. Re-read the graf right after the fubu one.


  • Esteban

    MS uses a lot of their frameworks. Bing! for example is built on top of ASP.NET MVC.

    Also, I’m not so sure the .NET community is NOT using OSS alternatives as you try to hint.

    If you’re pist about the fact that Reflector went “private” that’s one thing… but I hardly think you can generalize what the .NET community is and is not doing from that.

    It seems to me there’s plenty of OSS .NET projects that are alive and well supported.

  • Steveo Reno

    Go support IronRuby or Iron*. MS gave it over to open source I’m sure that team could use help.

    The problem isn’t Microsoft imo, it’s the community. Microsoft sees a popular stack and makes it more available to us. The problem is the open source projects don’t get enough backing from the best .net devs we have.

    Ie why yet another framework.

    I think the team that did mvc did a good job especially with a dev base that provided nearly nothing while we were stuck with webforms for all those years. There was Monorail but it was in constant flux and didn’t have enough community support.

    The ever changing landscape means we adapt and grow same for OSS and same for Microsoft. I think under ScottGu’s direction the MS team has provided great tooling and support for the .net community. Visual Studio 2010 and the extensions etc are awesome (don’t you all remember visual interdev – scary!)

  • Steveo Reno

    By the way $35 for a great tool like reflector is a steal and the cheap ass devs complaining about that need to get a life or a job

    If anything , if $35 helps it get support to continue that is an easy trade off

  • Wait the community got burned? How so, a free product is becoming a paid product, not an expensive one at that. How is this getting burned? If you don’t want to pay then there are already projects that exist that can take Reflectors place. If a Commercial vendor releases a product that is similar to something OSS, how is the community abdicating control to a vendor? The community has no control over what a vendor releases. If they don’t want to use it they don’t have too. The real blight to the community is the constant, “.NET sucks, Go Ruby!” Or Microsoft sucks, use my framework instead.

  • Whoops…sorry Rod. Commented before reading the last paragraph. Read up to “Instead of using ASP.NET/MVC how about taking a serious look at FUBUMVC” and posted.

    Forgot to say I fully agree on MSTEST, TFS etc. Particularly sad as I’m being forced to use TFS at the moment. Pending changes = 12. Diffing shows all to be “binary equal”…never seen merc do that…

  • DaRage

    The .NET platform is an enterprise development platform and open source tools don’t usually fit this paradigm because enterprises often prefer commercial software because it’s backuped by warranties and support. This is not the case for other development ecosystems like ruby, python and to some exten java. And I suspect that this will not change because enterprise software is main market for microsoft. So if you don’t like it well… too bad. It’s not that i like it or not but I like my big paycheck.

  • Hi Nick
    Yes IMO the community got burned. What for a decade or more was a free resource for the community was suddenly made commercial. The community got burned by a company that could no longer live up to a promise they made. I guess some people don’t care when promises are made then broken.

    The community got burned by their own actions/inactions. Maybe it would have been a good idea for the community to say: hey why is this free ? What happens when it is not ? Maybe it would have been a good idea to for the community to create their own tool.

    And your point about vendor releases is right on. We have no control over what a vendor releases. The OSS community doesn’t really work that way. You can create the feature yourself. Or if you don’t have the skills you might be able to convince the community to do it for you. Your chances of influencing a feature there are much greater than in a closed source world.

  • Estaban
    I am making a an assertion about the majority of the .NET community. This site is kind of self selected. Meaning there are a lot of proponents for OSS who blog and read here.

    I do agree about there being a lot of OSS projects out there for .NET. This is a good thing.

  • Greg

    Maybe I missed the point of the article. What exactly was the .NET community to do differently with regards to the Reflector situation?

  • The open source community has already built a Reflector replacement or decompiler in Mono. Miguel blogged about it here:

  • @Rod

    Should any of the responsibility lie with you? Looking back, do you think you would have done anything different, with regards to your blog, your position as a the editor of a code magazine, or recipient of many MVP awards? Is there any part of you that thinks that you yourself blew some small part of “it”?

  • It is more Microsoft’s fault for needing and encouraging such a dysfunctional community in order to sell more of it’s products. Their success will be their undoing. The influx of sub par devs into the “community” is mind boggling. Even senior .net devs show a level of ignorance unmatched by almost all other communities. keep selling sharepoint, tfs and other half-baked, “easy to use”, drag-and-drop, ivory-tower projects to organizations that have more money than they know what to do with. These freaks of nature that come out of that environment will continue to erode the community until all the decent folks have gone to greener pastures. It’s sad to see a great platform like .net with code contracts etc. get drowned in shit like tfs.

  • I totally agree with you on this one. A part of the community did step up and created ILSpy only days after Redgate published the news about Reflector:

  • Stimul8d


    While I agree that the .Net community were burned by RedGate ( a little anyway), you really seem to have a heavy bias towards open source and frankly don’t give a very balanced argument for and against it. Also, if I’m being honest; your tone is a little disrespectful to .net developers in general as well as MS.

    I have used a great deal of OSS in projects in the past and have had some good success with them,..Ninject and NH in particular. However, now I’m using MEF and EF. Why? Because it’s super integrated into my IDE, it’s as simple or as complex as I need it to be but mostly because I can pay my MSDN licence fees and have someone else responsible for the support and maintenance of it. Yes, if I find a bug or want feature X implemented I’ll have to wait but to be honest, most of us are happy with that. A few years ago I wanted something implemented in NUnit (which I still use) and went about trying to get it in there but you know what? I wish I hadn’t bothered because I lost a week of project time working on a something that wasn’t going to make my company money. At the end of the day,..that’s my job!

    If these technologies die off in a few years (and they probably will) we’ll move on but whatever we move to,..that’ll be fully supported and well documented too. Even more, if we’ve done a good job writing the code then the frameworks will have been nicely abstracted away and switching will be repetitively straight forward.

    On top of that there’s the issue of community support. You ask people to use FUBUMVC rather than ASP.Net MVC? There are currently 2257 questions tagged with ASP.Net MVC over at StackOverflow and only 48 for FUBUMVC.

    The point isn’t whether we go OSS or commercial at all. It’s whether we make pragmatic decisions about our architecture and toolset.

    Oh, the way,…Nobody uses MSTest!

  • Phillip

    It always scares me when I see people say they are using MEF when it’s not a real DI container…

  • @Jimmy
    Thanks for the most meta question of the night. Also a very thoughtful one.

    As a member of the .NET Community responsibility does rest on my shoulders as well. So yes there is a LOT more I could have done and can do from here on out.

    To answer your question more directly:

    Yes I have actually taken action when it comes to promoting alternatives in the .NET/OSS community. Here are a few resources for those interested:

    1. I have taught jQuery to literally hundreds of folks at different user groups and conferences.
    2. in 2009 we did an entire issue dedicated to OSS
    3. We continue to run lots of .NET OSS Content
    4. We will be having more OSS content in the issue as well.
    5. As a consultant I have been successful getting OSS into the corporate world.
    6. I started my first small OSS project
    7. Gave talks at monospace on Moonlight (Silverlight Analog for unix)
    8. Moderated an panel on OSS at monospace.

    Those are just a few things I helped with. I cannot take credit for them all because lots of people helped me along the way.

    Can we as contentious .NET community members do. Yes!!! We can always do more to promote effective techniques and tools.

    So to answer your question again. Can “I” do more for the community? ABSOFREAKINLUTELY!

  • @Stimul8d
    Thanks for the comment. To your point about the bias in this post. Yup it’s biased. My blog…my bias :)

    As for disrespectful to the .NET Community I don’t agree. I am a very active member of this community and I feel that this is something we all need to think about. Earlier in this stream Jimmy made a good point.Basically he called me out and said “What have you done for the community lately Rod ?”

    Well there is a lot I have been part of and there is definitely more we can do.

    As for disrespect to MSFT ? How was I disrespectful to them ? I chided the community for abandoning robust and mature OSS projects for MSFT projects. To be specific this is what I said:

    “Almost every year Microsoft releases products that compete with open source applications that are already available and in most cases better than the commercial products that Microsoft releases.”

    There is some subjective content in there but not a lot of disrespect. Also just to level set Microsoft is a corporation with billions in the bank. I think they can handle the criticism :)

    Also I didn’t say “Use FUBUMVC” I said you should take a look. And FWIW 48/2257 is not a bad ratio to me. Taking that metric it looks like a couple of dudes in a garage have garnered 2% market share in the .NET MVC space.

    Any way its your choice to use whatever tools you see fit.

    And it does look like NOONE uses MsTest. Maybe they’ll open source it. Nah go ahead and keep dat code :)

  • @Keith
    This post has been most educational. There are some cool things afoot in the decompile space. The sharp develop folks are also working on ILSpy

    Sometimes it takes breaking some eggs to make a cake!

  • Phillip

    I just wanna say, as much as I love .NET and it’s community, the biggest issue I have with most Open Source Software within the community, is 95% of it has the worst documentation.

    NHibernate – There’s next to nothing in terms of documentation for 3.0
    StructureMap – Is so out of date

    (both things I use on a daily basis)

    I wish there was more/better documentation :(

  • ulu

    Being an active user of NHibernate and StructureMap, I choose them not because they are OSS, but simply because they are better. If I were to fork NHibernate, for example, in order to move it to a different direction, I’d have to forget about everything else and spend a month or two just to figure out how it works. Would I abandon everything in order to build an OSS version of Reflector or Resharper or every closed source tool out there? No thanks.

    I believe it’s OK that the source is closed to modification as long as it’s open for extension. Asp.Net MVC is quite open, but if its core principles are not for you, you don’t fork it, you build another framework. Same with EF, or Nancy, or StructureMap. Back to Reflector, why would you need a half baked, not extensible OSS version, when you could pay for a mature original and extend it as you need?

  • I agree except for the Linq to SQL reference. A MS employee did a good job of explaining and creating a great example of how to create a Linq provider at Granted it isn’t really being maintained, but it is an open source Linq to SQL option.

  • Claudio Lassala

    For folks who are saying “nobody uses MS-TEST”, I have to disagree… unfortunately. Some companies/clients demand MS-TEST to be used “because it’s the MS solution, integrated with VS… blah blah blah”… :(

  • I love it when people who seem to have never been exposed to the horror that is enterprise development make blanket statements like “no one uses MSTest”. What really sucks about this situation is that the one that makes the decision to use Entity Framework over NHibernate is usually some enterprise middle manager that is blinded to only use Microsoft blessed software or some upper level exec that isn’t very tech-literate. I mean, I still remember my boss’ answer to “why the hell are we using SSIS to solve these issues?” The answer: “because Microsoft says it’s a great tool.” Of course, ignoring all the headaches and late nights they had staid recently with some issues.

    THAT mentality is what kills alternative/OSS projects.

  • Good post Rod…agree with most points. I I stumbled upon this website soon after Reflector news dropped and all the buzz on twitter;

    To me it sounds like someone else is already working on a replacement solution. Hopefully the .net dev community smartens up in the future.

  • Roger

    Oh, quit whining. Just because there are commercial alternatives to open source projects does not mean the open source projects are dead.

    What we need is competition. Competition drives innovation.

    Open source is good. I use open source solutions in my work, but I also use commercial solutions. Use what works best in your particular situation.

    Also, if I remember correctly Reflector was never open source. Oh, the humanity!

    “Hosted by Community Server Commercial Edition” — What? How dare you not use open source blog software!

  • Well, i can understand this blog post, but don’t agree at all.

    MS shouldn’t build sofrware that allready exists as third party OSS?
    They also have all rights to build bad software! As long I have alternative, I don’t give a damn.

    And, what is .net community? Few percent of ALT.NETers? Vast majority of .net developers don’t have any issues with half-baked MS frameworks, as long they can get stuff done, at least basic stuff.

    Does regular vulgaris/avarage .net dev need FubuMVC? No! Does he need NH? No! Does he need OpenRasta? No!
    Do I need alternative for MVC, ORM, REST, SOAP, RIA, …? Yes! And I feel that I have decent chioces and I’m happy with new stuff and people that drives that whole damn ecosystem. It’s not the sexiest, but at least i dont have to do PHP :)

  • Josh Schwartzberg

    I just want to clarify that CSLA is not an alternative for NHibernate or Entity Framework, it’s a business object framework that has an extensibility point for accessing data.

  • peter

    You missed the point of why companies chose .net stack in the first place – it’s because of MS. It’s because those tools are all integrated, provided and supported by one company, because there are trainings, training companies, training materials and standard exams.
    You know what happens in the Java world when a company tries to hire somebody for jee development? One of the main questions are: “Which application server you have experience with?” It’s cool that there are a lot of them, and many os frameworks and so on and so on, but eventually it’s all bad for a company which want to hire 10-20-200 developers for the job. It takes months in a project to learn the basics and nuances of every of them and that knowledge is hardly transferable to another one.
    It’s much more secure for the company to rely on ms products than to find out which os projects are reliable, have the community support, work well with the other 20 components of the future system – which all have to be evaluated one-by-one by the same aspects…
    FubuMVC… ok, let’s choose it. Let’s hire 10 experienced developers for it. Oh stop, or recruitment companies say that there are no 10 experienced devs with that knowledge on the market. And also who can interview them and measure their knowledge? Ok, then let’s just hire 10 good devs who wants to learn FubuMVC. Suddenly we are getting millions of CV-s, because there is no good filter anymore on them, so the hire process takes longer. Also we are loosing 2-4 weeks net development time in the six months project because they don’t have the experience? Thats multiplied by 10 = 5-9 man-months dev time lost and the same amount of money spent on “training”… and so on and so on.

  • @peter

    I see your point, but I’m not sure I agree with your logic. By your logic, I might as well just train monkeys to use the tools rather than finding smart, bright people who can use anything or even make their own tooling if necessary.

    IMHO, the problem in the .NET space is expressed by your post: we settle for mediocre because it’s just easier to find people who can pull levers and push buttons on our tool-of-choice rather than thinking to solve the problem the right way (which may not involve the tool-of-choice).

  • DaRage

    Well put peter.

    In short: Dot Net is not cool stop trying making it one.

  • foldip

    Actually I agree with your interpretation of my comment:
    .Net is not the cutting-edge. MS is not cutting-edge. MS is a technology follower, always was and probably always will be. You still can do amazing and nice stuff with the .net tools, but in general the main benefit when one chose them is the more controlled development stack.
    To give another example: IE is crap. Everybody knows that. BUT: If I were a company with 5k developers and 30k internal desktops (like the one I am working for), probably I would say: go for IE as the company standard. The top-notch devs can develop apps which probably will keep working with the 6-weekly released Chrome for the next 1-2 years, but you can’t guarantee to get 5k of such devs, you can’t guarantee that all the external javascript libs you are using will still work, or the off-the-shelf solutions will be also compatible without careful monitoring and testing and maintenance. That’s simply the safe choice in this case, even if from the technical point of view it’s mediocre.

  • Hi Rod, you know I have the great respect for you, which makes it diffecult for me to argue a point against yours. But here goes.

    1. Repeating your primary claim here is that “the .NET community abdicates control of its own destiny to commercial vendors”.

    Realistically speaking Rob, this isn’t a completely OSS community and will never be such. The .Net community has always walked a tight rope between Microsoft blazing the way forward like a inebriated elephant and the bipolar behaviours and contributions of it’s equally inebriated communtiy members.

    The .net community has chosen to trust a well-known 3rd party with a shared community asset. That trust was obviously misplaced. Two things happend as a result: 1) Said 3rd party’s reputation has imploded. 2) a plethora of 3 existing options I know off has come forth in the last 2 weeks to replace Reflector.

    Blow it? Dude, this community fucking rocks. A mono based reflector (MonoReflector), a sharpDeveloper based reflector (ILSpy) and our lords and saviors at Jetbrains putting Reflector into Visual Studio via R#. Fucking Awesome.

    So yeah, a half decade old product just got busted open like a Piñata, but look at all the candy!

    2. Your core argument however is that the .Net community replaces it’s existing accepted OSS assets with Microsoft delivers assets. My argument against that is two fold: 1) the OSS assets weren’t as appealing in comparison for the most part (2) There are new OSS assets in new areas introduced by the community at rate far exceeding that in which Microsoft can ever ship replacements.

    2.1. The martyrs of the .Net community: Subversion is a massively inferior product in comparison to TFS, nHiberante is an unholy mass of undecipherable HBM files for a large set of us, MSTest is far from being the standard of .Net unit testing, Unity is also from being standard .Net IoC but it has definitely improved the whole set of IoC projects, CC.Net & NAnt are heartbreakingly bad in comparison to TFS & MSbuild,. Projects get replace Rod, there’s no emotional attachment here. Like the man himself (Dalli Lama) says “What works stays, what doesn’t – go”. (Since he was referring to religion I assume this can be applied to .Net frameworks)

    2.2. The plethora of new .Net open source projects. Have you seen Codeplex recently? It has 20,000+ open source projects mostly centered on .Net. You know how many .Net codeplex projects have had releases in 2011 (the last 45 days)? more than 1,000. A thousand open source projects Rod. How can you seriously claim this isn’t a vibrant open source community?
    There are dozens of MVVM solutions, dozens of ASP.Net MVC helpers, a dozen .Net based CMS, hundreds of scientific libraries, dozens of IoCs, and so on.

    Summing up. The specific example of Reflector shows the awesomeness of the .Net community. Complaining about a couple of over-the-hill OSS projects who are half a decade old while 20,000+ other OSS projects were released and saying it’s the death of .Net OSS is disingenuous.

    – Justin Angel

  • Ward Bell

    Rod – I disagree strongly.

    The NET community didn’t blow anything.

    The problem isn’t that RedGate is a commercial firm nor that we might have to pay money for a great tool. $35 is a fair price. It’s not about the price.

    The Reflector fiasco has nothing to do with OSS v. Commercial s/w.

    It is not written in the heavens that OSS makes better s/w than commercial companies do … especially when “better” is broadly understood to include factors that are important to users of the s/w other than putative (and possibly temporary) technical advantage.

    Nor did we “abdicate” anything. Reflector wasn’t OSS, It wasn’t ours. There were no worthy alternatives. We weren’t suckered into a commercial product … Reflector was IT and we were lucky to have it for free for so long.

    Had it been a commercial product from the start we’d have been happy to pay for it … AS WE PAY FOR RESHARPER.

    I don’t hear you saying that we’ve been lulled into complacency by JetBrains.

    We were PISSED OFF about the Reflector thing for one reason only .. because REDGATE BROKE ITS PROMISE.

    This offended our sense of integrity.

    Once we’ve recovered, we’ll cough up the $35 and be glad to have the tool.

    p.s.: Killing L2SQL was the right call and EF is the right call too.

    You want to talk about complacency. nHibernate documentation and support sucked ass until it started to get threatened by … guess who.

    There wouldn’t BE a FubuMVC if there wasn’t an MVC.NET. They’re both pushing each other to be better.

    StructureMap is better now in part because it fights with MS Unity.

    RIA Services is pushing my company to be build a better product.

    This shit flows both ways.

    All the MS bashing is so juvenile.

  • Steve


    So you bought an SUV, and now you’re complaining that it’s not a sports car?

    Why are you trying to turn .NET into something that it’s not? There are plenty of other communities that are exactly what you want (Ruby leaps to mind), just go there rather than p!ss into the wind. You do realize you are tilting at windmills, right?


    I don’t think that’s what Peter is saying at all. It’s not like FubuMVC is lightyears better than ASP.NET MVC (if it’s better at all, which is another subject, but the sake of this argument we’ll say it’s slightly better) making training a group of people worth the effort.

    As a manager, say I need to pick a framework to build 5 new applications in which will require me to hire 20 new developers. In that case I’m going to choose ASP.NET MVC over FubuMVC every time. It’s not that I’m looking for trained monkeys, I’m still looking for smart developers, but I’d much rather they have experience with the tools we would be using up front. Also, the number of resources for ASP.NET MVC on line are practically infinite compared to Fubu.

  • @Steve:

    Sure, it’s preferable if they already know the tooling. But choosing people or choosing tools based on popularity and ease of hiring is not a very good metric. It should be considered as part of the whole, granted, but it seems in the MS/.NET space, too often do companies pick sub-par technologies and people for the sake of convenience.

    Developers are not construction workers that are just replaceable numbers (which is somewhat the impression I got from Peter and have witnessed in other companies and dev managers).

    Dev frameworks and tools are not mere hammers that are intuitive and replaceable and have simple evaluation criteria and merits.

    My point is that devs are not mere replaceable parts and tools are not mere replaceable parts. Both must be chosen carefully with many criteria taken into consideration during evaluation. Availability of pre-trained developers and popularity of a tool should be considered among the criteria, but, IMHO, should not overshadow the other criteria.

  • Eric

    Is Fubu MVC better? I guess I’ll never know…

    There is so much more documentation, guides, examples, videos, tutorials, simultaneous users, etc for ASP.NET MVC.

    Maybe if I was a consultant with hours of bench time or the ability to bill a client for on the job training, I’d have the time to find out?

    • Mike

       So what you are saying is that you are a crappy developer.

      Someone who won’t spend his own time to learn something new in his profession is worthless.

      You are the reason people mock .NET developers.

  • Ryan Mann

    Old article, not really relevant today imo.. The way we use .Net at work, I could counter every argument in here.

    Also ILSpy is free and does what Reflector does. Also using Subversion is still valid with tortoise SVN and VisualSVN…. GIT is basically if you are working with GitHub and TFS is for Visual Studio Online.

    • I think it is still relevant, look at NHibernate (it is almost dead project, and I think it was one of the most important .NET OSS libraries). I think the main problem lies within Microsoft policy of not accepting OSS contributions/libraries. Then never supported things like NHibernate or Windsor.Castle – actually they actively tried to replace them with their own products like Entity Framework & Unity, when you look at MSDN they are always promote they own stuff like MsTest (THE worst testing framework IMHO while there was a great NUnit). Microsoft must stop treating their dev’s as kids (I give you all libs you need, just don’t make you own) and start treating them as adults (we will help you build great libs/frameworks for your and our benefit). Now we can see great change in policy with .NET Core, only time will show if it is a real change or just marketing move

      • Ryan Mann

        Been using .Net Core for a few weeks now. It’s my new favorite platform, over node, java spring, or anything on Python.

        The dotnet cli command line tools are amazing. It’s also very fast. .Net Core is actually a continuation of the .Net Native project, so many things in .Net Core compile to native machine code (self contained framework with no reliance on an external dotnet framework).

        You can add new commands to dotnet as well. For example Entity Framework 7 moved away from the PowerShell commands “Add-Migrations” and now it’s

        “dotnet ef migrations add MigrationNameHere”


        “dotnet ef database update”

        Also the MVC 6 TagHelpers are pretty awesome too in ASP.Net Core.

        For example, you can use the new tag to have different html output for different environments. So you use that to determine whether to use your minimized JS files and source maps, or all the non minimized files for development, etc.