Red Gate's Decision to Commercialize Reflector
Blog Wednesday, February 09 2011Red 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.


2.10.2011 at 8:30 AM
Mole isn't quite the same as Reflector, though it's quite the cool tool :).
There's already responses from other 3rd-party vendors to provide decompiler-like services. As Miguel pointed out, MonoDevelop has had that capability for a while. There are also OSS efforts underway (e.g. Monoflector).
The greater appeal of Reflector to me was the extensibility aspect to allow other developers to hook in various analysis pieces. But the decompilation stuff just wasn't as relevant as it was when .NET was first released.
I suck at predicting the future :), but my guess is that this decision will not bode well for RedGate.
2.10.2011 at 11:08 AM
Agree with a lot of what you say. I forget who said it (Jeff Atwood?) but developers are finely-tuned bitching machines.
#1 - If the tool is THAT important to you then you should have been donating all along. The tool is updated by developers working for a company. They cost money.
... and ...
#2 - $35 is around an hour's salary for most developers (considerably LESS for some). If it's THAT important to you then suck it up and buy it. The complainers have probably spent more than an hour complaining about the decision.
2.11.2011 at 8:27 AM
@Jason - great. More cool tools for me to add to my list. :) And to paraphrase a saying I admire: the best way to predict the future is to create it.
2.11.2011 at 8:33 AM
@Perry - so true. I count myself among them but I'd like to think I whine a bit less than my developer brothers and sisters. In my own way, I suppose I complain just as much as they do. When Lutz Roeder created and maintained Reflector, he didn't really appeal to the developer community to contribute. I often wondered why he didn't put a PayPal contribute button on a splash screen on in the about box. Maybe there was one in the about box. I don't remember. Whatever the case, he didn't do all that could be done to elicit contributions. Had he done that, the history would have been substantially different, don't you think?