Rick Strahl's Weblog  

Wind, waves, code and everything in between...
.NET • C# • Markdown • JavaScript • Angular
Contact   •   Articles   •   Products   •   Support   •   Search
Ad-free experience sponsored by:
ASPOSE - the market leader of .NET and Java APIs for file formats – natively work with DOCX, XLSX, PPT, PDF, images and more

The Red Gate and .NET Reflector Debacle


:P
On this page:

About a month ago Red Gate – the company who owns the NET Reflector tool most .NET devs use at one point or another – decided to change their business model for Reflector and take the product from free to a fully paid for license model. As a bit of history: .NET Reflector was originally created by Lutz Roeder as a free community tool to inspect .NET assemblies. Using Reflector you can examine the types in an assembly, drill into type signatures and quickly disassemble code to see how a particular method works.  In case you’ve been living under a rock and you’ve never looked at Reflector, here’s what it looks like drilled into an assembly from disk with some disassembled source code showing:

Reflector

Note that you get tons of information about each element in the tree, and almost all related types and members are clickable both in the list and source view so it’s extremely easy to navigate and follow the code flow even in this static assembly only view.

For many year’s Lutz kept the the tool up to date and added more features gradually improving an already amazing tool and making it better. Then about two and a half years ago Red Gate bought the tool from Lutz. A lot of ruckus and noise ensued in the community back then about what would happen with the tool and… for the most part very little did. Other than the incessant update notices with prominent Red Gate promo on them life with Reflector went on. The product didn’t die and and it didn’t go commercial or to a charge model. When .NET 4.0 came out it still continued to work mostly because the .NET feature set doesn’t drastically change how types behave.  Then a month back Red Gate started making noise about a new Version Version 7 which would be commercial. No more free version - and a shit storm broke out in the community.

Now normally I’m not one to be critical of companies trying to make money from a product, much less for a product that’s as incredibly useful as Reflector. There isn’t day in .NET development that goes by for me where I don’t fire up Reflector. Whether it’s for examining the innards of the .NET Framework, checking out third party code, or verifying some of my own code and resources. Even more so recently I’ve been doing a lot of Interop work with a non-.NET application that needs to access .NET components and Reflector has been immensely valuable to me (and my clients) if figuring out exact type signatures required to calling .NET components in assemblies. In short Reflector is an invaluable tool to me.

Ok, so what’s the problem? Why all the fuss? Certainly the $39 Red Gate is trying to charge isn’t going to kill any developer. If there’s any tool in .NET that’s worth $39 it’s Reflector, right?

Right, but that’s not the problem here. The problem is how Red Gate went about moving the product to commercial which borders on the downright bizarre. It’s almost as if somebody in management wrote a slogan: “How can we piss off the .NET community in the most painful way we can?” And that it seems Red Gate has a utterly succeeded.

People are rabid, and for once I think that this outrage isn’t exactly misplaced. Take a look at the message thread that Red Gate dedicated from a link off the download page.

Not only is Version 7 going to be a paid commercial tool, but the older versions of Reflector won’t be available any longer. Not only that but older versions that are already in use also will continually try to update themselves to the new paid version – which when installed will then expire unless registered properly. There have also been reports of Version 6 installs shutting themselves down and failing to work if the update is refused (I haven’t seen that myself so not sure if that’s true).

In other words Red Gate is trying to make damn sure they’re getting your money if you attempt to use Reflector. There’s a lot of temptation there. Think about the millions of .NET developers out there and all of them possibly upgrading – that’s a nice chunk of change that Red Gate’s sitting on. Even with all the community backlash these guys are probably making some bank right now just because people need to get life to move on.

Red Gate also put up a Feedback link on the download page – which not surprisingly is chock full with hate mail condemning the move. Oddly there’s not a single response to any of those messages by the Red Gate folks except when it concerns license questions for the full version. It puzzles me what that link serves for other yet than another complete example of failure to understand how to handle customer relations.

There’s no doubt that that all of this has caused some serious outrage in the community. The sad part though is that this could have been handled so much less arrogantly and without pissing off the entire community and causing so much ill-will. People are pissed off and I have no doubt that this negative publicity will show up in the sales numbers for their other products. I certainly hope so. Stupidity ought to be painful!

Why do Companies do boneheaded stuff like this?

Red Gate’s original decision to buy Reflector was hotly debated but at that the time most of what would happen was mostly speculation. But I thought it was a smart move for any company that is in need of spreading its marketing message and corporate image as a vendor in the .NET space. Where else do you get to flash your corporate logo to hordes of .NET developers on a regular basis?  Exploiting that marketing with some goodwill of providing a free tool breeds positive feedback that hopefully has a good effect on the company’s visibility and the products it sells.

Instead Red Gate seems to have taken exactly the opposite tack of corporate bullying to try to make a quick buck – and in the process ruined any community goodwill that might have come from providing a service community for free while still getting valuable marketing.

What’s so puzzling about this boneheaded escapade is that the company doesn’t need to resort to underhanded tactics like what they are trying with Reflector 7. The tools the company makes are very good. I personally use SQL Compare, Sql Data Compare and ANTS Profiler on a regular basis and all of these tools are essential in my toolbox. They certainly work much better than the tools that are in the box with Visual Studio. Chances are that if Reflector 7 added useful features I would have been more than happy to shell out my $39 to upgrade when the time is right.

It’s Expensive to give away stuff for Free

At the same time, this episode shows some of the big problems that come with ‘free’ tools. A lot of organizations are realizing that giving stuff away for free is actually quite expensive and the pay back is often very intangible if any at all. Those that rely on donations or other voluntary compensation find that they amount contributed is absolutely miniscule as to not matter at all. Yet at the same time I bet most of those clamouring the loudest on that Red Gate Reflector feedback page that Reflector won’t be free anymore probably have NEVER made a donation to any open source project or free tool ever. The expectation of Free these days is just too great – which is a shame I think. There’s a lot to be said for paid software and having somebody to hold to responsible to because you gave them some money. There’s an incentive –> payback –> responsibility model that seems to be missing from free software (not all of it, but a lot of it). While there certainly are plenty of bad apples in paid software as well, money tends to be a good motivator for people to continue working and improving products.

Reasons for giving away stuff are many but often it’s a naïve desire to share things when things are simple. At first it might be no problem to volunteer time and effort but as products mature the fun goes out of it, and as the reality of product maintenance kicks in developers want to get something back for the time and effort they’re putting in doing non-glamorous work. It’s then when products die or languish and this is painful for all to watch.

For Red Gate however, I think there was always a pretty good payback from the Reflector acquisition in terms of marketing: Visibility and possible positioning of their products although they seemed to have mostly ignored that option. On the other hand they started this off pretty badly even 2 and a half years back when they aquired Reflector from Lutz with the same arrogant attitude that is evident in the latest episode. You really gotta wonder what folks are thinking in management – the sad part is from advance emails that were circulating, they were fully aware of the shit storm they were inciting with this and I suspect they are banking on the sheer numbers of .NET developers to still make them a tidy chunk of change from upgrades…

Alternatives are coming

For me personally the single license isn’t a problem, but I actually have a tool that I sell (an interop Web Service proxy generation tool) to customers and one of the things I recommend to use with has been Reflector to view assembly information and to find which Interop classes to instantiate from the non-.NET environment. It’s been nice to use Reflector for this with its small footprint and zero-configuration installation. But now with V7 becoming a paid tool that option is not going to be available anymore.

Luckily it looks like the .NET community is jumping to it and trying to fill the void. Amidst the Red Gate outrage a new library called ILSpy has sprung up and providing at least some of the core functionality of Reflector with an open source library.

IPSpy

It looks promising going forward and I suspect there will be a lot more support and interest to support this project now that Reflector has gone over to the ‘dark side’…


The Voices of Reason


 

Binky
March 19, 2011

# re: The Red Gate and .NET Reflector Debacle

JetBrains, the makers of Resharper, are also working on a tool. http://blogs.jetbrains.com/dotnet/2011/02/reflections-on-recent-news/

Ewen
March 20, 2011

# re: The Red Gate and .NET Reflector Debacle

"I bet most of those clamouring the loudest on that Red Gate Reflector feedback page that Reflector won’t be free anymore probably have NEVER made a donation to any open source project or free tool ever."

aka - http://www.seobook.com/freetards

If only they hadn't tried to cheat me, I'd have gladly paid for Reflector, even for the fancy version. Sorry Red Gate , you've lost my trust. Jetbrains must have drunk themselves silly when they saw this unfold.

Also, Mono also has a decompiler, as blogged by Miguel de Icaza at http://tirania.org/blog/archive/2011/Feb-04.html

Siderite
March 21, 2011

# re: The Red Gate and .NET Reflector Debacle

Well, I am of the people that never donate, but I am still less of an asshole than Redgate. And the funny thing is I really like the tools they make, but the method they use to promote them really annoyed me so I never got to use them. And I've paid money for ReSharper, because I thought it was so cool it would be sinful to use the cracked version. So, as far as I am concerned, not having a cracked RedGate tool pack made me not buy one.

Noel
March 21, 2011

# re: The Red Gate and .NET Reflector Debacle

I'm not surprised because previously when they released a new version, the one that was installed on my computer would automatically see the new release and fail to work until i upgraded. That alone was ridiculous and now they pissed Reflector's loyal fans off me included.

Andrew Robinson
March 21, 2011

# re: The Red Gate and .NET Reflector Debacle

Fun stuff. I use reflector a few times per year mainly as a educational tool to show other devs how things work. I have also been playing with SQL Compare for a bit and have been contemplating a purchase one of these days. Only waiting until a particular client was ready for a migration. Now I think I will wait a bit more and either tough it out without or find a different tool Guessing it will be the former.

Adam
March 22, 2011

# re: The Red Gate and .NET Reflector Debacle

Excellent article.

I agree with everything said. Red Gate have tarnished their image over this mess and I no longer trust them as a company who I would recommend or look to as first choice any more.

Danielle
March 22, 2011

# re: The Red Gate and .NET Reflector Debacle

Great article!

I don't mind the license price, but will use the opportunity to try out a few new tools. I've been following JetBrains, but also am curious who's behind this initiative:
http://www.keepdecompilingfree.com? It must be a commercial vendor IMHO, but wondering who? Signed up so will find out soon enough.

Steve from Pleasant Hill
March 22, 2011

# re: The Red Gate and .NET Reflector Debacle

I have a version from 2008. I made a copy, then fired it up.

It asked me if I wanted to upgrade, I said "no", then it deleted itself!!

RG management should all get the botch of emerods!

hux
March 22, 2011

# re: The Red Gate and .NET Reflector Debacle

Yeah, the thing that sours my mouth is the fact that older versions stop working. Fine charge for the new version if you think that's a good idea, but don't break the old software just for a quick buck. Goodbye any goodwill.

Guy
March 23, 2011

# re: The Red Gate and .NET Reflector Debacle

While I only occasionally used the tool, I was upset when the old free version of reflector stopped working and forced a (then free, but nagware) upgrade just to use the same functionality.

I was really turned off RG when they started trolling through Stack Overflow peppering old questions to do with database versioning with not-so-subtle advert-answers.

They definitely didn't engender any goodwill, and it's a sad day for Lutz's awesome tool.

PS What happens with all the freely provided plugins? If RG is going to charge, then the plugin authors should all get a cut. Fair's fair.

Jeff Putz
March 23, 2011

# re: The Red Gate and .NET Reflector Debacle

I can absolutely confirm that it will delete itself. It did it for me, and I was in shock. I would almost be compelled to pay for it, but I can't bring myself to do it for a company that does something as douchebaggy as this. No chance.

Nicholas
March 26, 2011

# re: The Red Gate and .NET Reflector Debacle

Perhaps to maintain your previous version, watch for the RedGate endpoint the auto-update accesses and place that in your hosts files as 127.0.0.1; I am not at a workstation where I could post this.

Of course RedGate should follow a profitable business model; however from what I have read, the company has angered almost everyone who used Reflector. Not an intelligent move and whoever made this business decision should be escorted from the building to fill out a job application somewhere else.

JetBrains will certainly learn and succeed from RedGate's alienation.

om
March 29, 2011

# re: The Red Gate and .NET Reflector Debacle

I just wonder why MS hasn't provided such free tool. Really stupid of MS. I hope there is another Lutz Roeder out there.

BZ
March 30, 2011

# re: The Red Gate and .NET Reflector Debacle

Great post. What is funny about this is, I went to RedGate's site and was about to buy Ants Profiler. Right before I was going to purchased I came across the Reflector forum debacle and promptly canceled my order...Now using JetBrains. RedGate's marketing should be fired for this...hard to recover from something like this even if their tools are great (which they are..)

Richard
March 30, 2011

# re: The Red Gate and .NET Reflector Debacle

In case anyone hasn't seen it, the RunAsDate utility [1] should allow you to run a free version of Reflector without hitting the time-bomb.

Also, Adrian Banks has a list [2] of Reflector replacements, many of which are free.

[1] http://www.nirsoft.net/utils/run_as_date.html
[2] http://www.adrianbanks.co.uk/?p=71

West Wind  © Rick Strahl, West Wind Technologies, 2005 - 2021