Red Gate's Co-CEO Neil Davidson announced in February 2011 that they would be making version 7 of the venerable Reflector product commercial-only. My thoughts are captured in this blog post and I hope that you'll take the opportunity to offer your insights and opinions as well.

When Neil made the announcement, there was a lot of traffic on the Twittersphere about what the decision means to the .NET developer community. Most of what I saw was fairly negative. It seems that #2 on Scott Hanselman's Big Ten Life and Work-Changing Utilities was presumed by many to be a perpetually free utility with perpetual updates to deal with language changes, Framework revisions and CLR changes, of course. Reflector also appeared prominently in James Avery's MSDN Magazine article entitled Ten Must-Have Tools That Every Developer Should Download Now. In that article, James says of his example, "it does not represent what I consider to be the best use of .NET Reflector, which is to examine .NET Framework assemblies and methods" which brings me around to my opinion on the subject.

Since 2008, Microsoft has opened up much of the .NET Framework Class Library (FCL) source via the Microsoft Symbol Server. Setting up the symbol server in Visual Studio lets you literally step into Microsoft's code for much of the FCL. Of course, not everything's available but I've stepped into Microsoft's code hundreds, maybe thousands of times over the past few years and found what I needed at least 99 percent of the time. In 2007, if James was correct that the best use of Reflector is to examine (really to reverse engineer) .NET Framework assemblies and methods, how important is Reflector in a world where Microsoft's Framework code is simple to obtain, especially in the context of a debugger where parameters, results and side-effects can be evaluated as they occur? My opinion is that Reflector isn't all that useful anymore.

My co-author of Metaprogramming in .NET, Jason Bock, and I were discussing the impact of Red Gate's decision on our book. Jason summed up the impact on him pretty well when he said to me, "To be honest, I really don't use it that much anymore. Decompiling code isn't something I need to do a lot of." That's pretty telling coming from a hard-core metaprogrammer like Jason. If he doesn't need Reflector, who does? At my company, CapTech Consulting, there was a lively discussion of the topic on one of our internal Microsoft-oriented mailing lists. Darrell Norton, a fellow Microsoft MVP and all-around genius, quickly reached the same conclusion that I did. When I can step into most of Microsoft's code, why do I need to disassemble it? David Catherman, another of my colleagues also offered up a tool called Mole by Karl Shifflett as an alternative to Reflector. I haven't used it yet but it looks very useful. I wish I had time to run down all the cool stuff I hear about. I'll put Mole in position 487 of the cool things I need to check out for now.

In closing, I should say that my reckoning about Reflector's usefulness has nothing to do with the company Red Gate. Anyone who knows me knows that I just love Red Gate products. I use them at work every day and honestly, I just can't imagine doing my job without them. My work would be half as fulfilling and take me ten times longer to do it if it weren't for the SQL Toolbelt and the .NET Developer Bundle products. When my clients see me using these tools, they're typically shocked with the kind of productivity I can achieve. They often buy the tools for their own staffs and I don't even get any kind of kick-back from Red Gate. Note to self... Besides being thoroughly conceived from a design perspective, the Red Gate tools are rock solid performers on the job, too. And when I have a problem, the online support forums are a good way to get the information I need. The Red Gate support staff are really good at monitoring the forums and responding with thorough and helpful responses. By making Reflector 7 a fully commercial product, perhaps we'll see that famous Red Gate support and attention-to-detail start to shine through with features that make it more than just a good tool for disassembling Microsoft's Framework assemblies. For $35 US, it will most likely be a bargain, given Red Gate's track record. That's my opinion, anyhow. And if you don't want to spend the $35, try Mole or set up the Microsoft Symbol Server in Visual Studio to see what kind of utility you get out of those solutions.