The #reflector licensing debacle
Posted by Jeroen Pluimers on 2011/02/06
Earlier this week, Red Gate announced that the new Reflector version 7 would cost USD 35, as of March 2011, and the current free version 6.6 will expire on May 30th, 2011.
That caused a lot of stir, on their forum, twitter, reddit and a lot of other places. Even an old thread at StackOverflow got a new boost. It seems Red Gate did not read Social media judo: How to turn a fight into a brand-building moment.
Here is a summary of the past, present and future of things happening around reflector, including some workarounds and alternative products.
First a bit of history.
- It started out in 2000 on .NET Framework 1.0 beta 2.
- Back in 2001, version 2.4 supported IL, C# and VB.NET, and there already was a plugin API. All of that in a download of about 256 kilobyte.
- By 2003 it had gained great attention, for instance, in that year it was mentioned as cool thing of the day,
- Version 4.0 appered in 2004, supporting .NET 2.0 and a plugin workspace on GotDotNet. I think that was also the first version that phoned back home so it could do auto-update every 6 months to ensure people were using the latest stable version.
- Version 5.0 appeared in 2006, with improved .NET 3.0 and 3.5 support. At the end of that year he also wrote a nice presentation on version 5.
- Lots of people wrote plugins for it (for instance Peter Sawatzki wrote the Delphi Language plugin for Reflector 4 – still on his download site – , which later was integrated in the source code of Reflector itself).
- In 2007, GotDotNet was announced to be phased out (it had been there since 2000), so Lutz started the reflectoraddins project on CodePlex, which is still active.
- In 2008, Lutz transferred Reflector to Red Gate, where Red Gate would “provide the free community edition”
Red Gate took over:
- In August 2008, both in a Simple Talk interview and on their web-site, James Moore - Red Gate’s general manager of .NET Developer Tools – announced “Our commitment is to maintain an amazing free tool that will continue to benefit the community while seeking input from users on ways to make .NET Reflector even more valuable“
- During 2009 and 2010, Red Gate added support for opening assemblies from the GAC, .NET 4 assemblies and syntax, assembly lists from .NET 1.0 through 4.0, Silverlight, Mono, XNA and Managed Direct X, and a Visual Studio plugin
- They also did bugfixes, and introduced new bugs, thus provoking mixed reactions from the community
- In February 2011, Red Gate apologized in an open letter to the .NET community, that ”it will charge $35 for version 7 of .NET Reflector upon its release in early March. Version 7 will be sold as a perpetual license, with no time bomb or forced updates“.
As a result, a lot of the people in the community got upset: .NET Reflector had been free for about 8 years, but after the Red Gated promised for it to stay free, in 2 and a half years it moved from free to paid.
Furthermore, people in the community don’t believe that the Version 7 will be free of expiration, or that future versions will stay at USD 35.
There were even a couple of forum postings by a curious user named JAssange.
People started to investigate workarounds for the expiration:
- Use a http proxy to fool Reflector into thinking there is no update.
- Various postings of using ildasm, Reflector and ilasm to remove the date check from Reflector and the Visual Studio plugin
- A posting describing how to use Reflector and Reflexil (based on Cecil) to remove the date check from Reflector
And a lot of attention was drawn to these products/projects (for instance in a post by Miguel de Icaza):
- ILSpy from the SharpDevelop community (with Wiki)
- The Cecil decompiler, an ECMA CIL Manipulation Library
- Monoflector, a WPF frontend for the Cecil Decompiler (some images)
- Cecil Studio, a System.Windows.Forms frontend for Mono.Cicil and the Cecil Decompiler (with picture)
- A new reflection based tool from JetBrains.
- The Common Compiler Infrastructure project on CodePlex.
- The Dotnet IL Editor (DILE) project on SourceForge
My personal opinion is that the Reflector tool is worth the USD 35. If Red Gate had handled this differently, I’d pay them for it. But now I’m doubting between the about sketched alternatives.
- Make Version 6.7 free
- Charge USD 35 for the new features in version 7 and up.
PS 1: Here is a nice presentation on .NET Reflector.
PS 2: Lutz is still active in the .NET scene; he has some projects on github.
PS 3: Feel free to use this info to update the .NET Reflector Wikipedia article from the info above: feel free; it is a bit thin on history.