Redgate's message is candid and addresses me like a grown-up. I think that's much better.
You know where you stand.
So much for that ;)
As a developer, you need to maintain your toolset. $35 is small fries. Sure, enterprisey .NET has a slew of expensive profilers, testing frameworks, and everything, but I think the price for Reflector is very reasonable.
Other fields are far more used to paying for their tools. Construction, mechanics, machinists, mechanical/electrical engineer.
There is no way I'd complain about $35. If they wanted to charge like $300 or $3000, then sure.
I don't mind paying for good tools (and I would absolutely class Reflector as one), but there seem(s/ed) to be this very top-down mentality in the .NET world that everyone in every step of the chain has to make a buck. Reflector was a shining example of a great free tool in a sea of pay-for dreck, and it's quite sad to see that example die.
It's a bit disappointing, because this mentality seems like it really does a lot to stifle hobbyist exploration of the platform when it's doing cost you $48 in assorted widgets to build the toolset you need to try out an idea.
Edit: I should clarify that I don't think this is a bad thing, and I absolutely feel that Reflector justifies the price tag. The story just sparked some memories of my time in .NET that go a long way towards explaining why I'm not a .NET developer today. My time doing .NET development was in a professional context for my employer, so it's not like I couldn't get the tools due to cost issues, but the massive culture gap left an impression on me.
$35 is nothing. I totally believe in supporting a good product with a very reasonable price.
Compare $35 for Reflector to $800 for TypeMock... $200 for Resharper... $300+ for dotTrace.
If you use something daily, <$50 is nothing... even <$100.
(Just in your example, we are already at $1335 not including the price of Visual Studio itself since the free express edition does not support add-ins such as ReSharper and other productivity tools)
> this mentality seems like it really does a lot to stifle hobbyist exploration of the platform ...
It definitely does seem to stifle innovation on these platforms. Although if you need to use a bunch of commercial widgets in order to try out an idea, you're probably doing it wrong.
Speaking as a 27 year-old-married-with-two-kids Rubyist, it's entirely possible to make a living charging for your work and still give away useful tools and libraries. I keep a GitHub account and publish code there, usually under MIT or BSD licenses, and while I don't publish everything I write, I have benefited so much from the open source that others have written that I contribute back to the community where I can, and somehow manage to get the bills paid at the end of the month.
It's not a reflection of the quality of the software or the quality of the engineers - it's just a fundamentally different culture.
While I understand Red Gate's need to make a return on their work, they've gone about it in an unpopular way, trying to force people to pay for an extra feature (debugging through code w/o source) that many people simply don't want.
Isn't that the way software businesses work? They build features that they hope will convince people to pay for upgrades or renewals. If people don't want the new feature, the company won't make any money.
It doesn't seem to be an evil or malicious route to me; it's just charging for something which was free before because they can no longer maintain it that way.
I can't think of another program that violates user expectation quite so thoroughly.
Not very. Lots of shops have nascent versions of the underlying mechanism in Reflector; for instance, if you need to instrument .NET programs for testing, you have a good chunk of it.
On the other hand, Reflector has a very effective UI, and $35 isn't even a rounding error. There will be more free alternatives to Reflector now, but I for one will probably be happy to shell out a trivial sum of money to keep using the best one.
For fun and profit, peek into some Silverlight containers and run Reflector on the DLLs.
1) As others have commented already: The product was free with basically _all_ features already working. Sure, it might need some work to support a complete new runtime version (i.e. 4). I don't know. And, problematic in this case for the image here is that this is a mostly "invisible" improvement. You still wonder "What do they actually add?"
2) Their "update or stop using" policy is sleazy, imo. I stopped using the tool at that point, because in my world that's not a viable way to offer any product (free or otherwise).
3) Taking over a free tool with the clear and open statement that "it's going to stay free" bites you, if you back off later. I'm sure there are good reasons (commercially) for this decision now, but it still ends up as a public "Whoops, failed" for me.
No love from my side, not because of the price (I agree with you on that point), but the "image" of this tool is utterly damaged in my world.
I only hope they don't timebomb the paid version like they did the freeware version.
Also, yes, $35 isn't much, provided the license is per-user. If it's per-machine, it would cost most devs a lot more (I'd need at least 5-6 licenses for all my VMs + desktop + laptop). That's a whole different story.
I will say, though, that I have no interest or desire in the debugging or VS integration features; those are useless to me.
On the other hand, Reflector is either worth $35 or isn't. At a price that low, the decision is pretty binary -- is the tool worth the cost of a decent dining-out dinner or not? If not, live without it.
BTW, shouldn't the title make the distinction between free software and freeware?
Better and more ethical to re-write.
(You don't think the first thing we tried with Reflector was to reflect Reflector? :) )
Little bit touchy ;)
For instance, Red Gate recently added an F# mode, which essentially doesn't work. If Reflector had been open source and free, I'd have been willing to get this feature running. The benefit I'd derive from a working F# mode would likely make the effort worthwhile.
I won't promise performance comparable to Redgate's Reflector, but my rule of thumb is Correct. Clear. Fast. In that order.
When I looked at this a while back, I was trying to do it in C# on Mono.Cecil. I got bogged down writing things like CSharpWhileLoopVisitor...
And i'm not judging against open sourcing software either.
Announcing before you start can easily lead to vaporware. :)
An effort is already underway. Thankfully we have until the end of May to get this to a usable, somewhat mature state. RedGate's handling of this situation has lit a fire under me and a few other developers, and we're committed to releasing a free, open source competitor, and replacement, for Reflector.
RedGate really screwed the pooch on this one.
But comparing .NET to anything other than Mono is apples to oranges.
The ethos I follow and many developers whose opinion I care about follow as well is that platform technology and the most fundamental tools must not be closed source.
The irony with Reflector is that while branded a debugging tool it is mainly good for reverse engineering, so Red Gate are now effectively charging for access to third parties' source code, which I personally find a bit troubling.
Looking forward to the Mono Reflector clone...