At this point, because of my posts here, here, here, here, and here, and the fact my company is a reseller of components at VBxtras and Xtras.Net, you probably think me to be a shill for the component industry. Unfortunately, I’m far too idealistic for that to be true. :-)
I think ComponentOne was justified in how they handled Robert McLaws’ situation, which is not what I get from reading Robert’s post, but from a public relations perspective I think they bungled it.
First and foremost, I think Mike Sax said it well: communicate policy before the customer purchases. In Robert McLaws’ case he got ComponentOne’s software for free included in the Microsoft VB.NET Resource Kit. ComponentOne should have made it abundantly clear to anyone using the software that it was provided as-is and that any bug fixes would require a subscription purchase. My guess is via oversight they probably did not ensure the policy was known to everyone using the software (i.e. a good way would be a nag screen that makes it clear and requires the developer to acknowledge by typing “yes.”) That would have set the expectation.
However I will beat on Robert a little bit here. Even though ComponentOne should have set expectation for their own benefit, Robert should have done his due-diligence before including ComponentOne’s software into their app. By not proactively doing so he created a project “risk” and as such some of the blame should fall on him.
Please note the prior paragraph points out that buying and using component software has risks and as a developer you should fully evaluate those risks before choosing to include a component in your app. (You didn’t expect a component reseller to make that point, did you? Remember, at the very heart, I’m still a developer. :)
Back to ComponentOne: They should have thought through the issue a lot better than they did (though hindsight is easily 20/20. The real question is: How will they handle moving forward?) Telling customers who experience problems with their free version they need to pay for an upgrade sounds like a PR nightmare waiting to explode.
After much thought, what ComponentOne should probably have done was offered Robert an option to get the current build for free OR a subscription for ½ price (assuming they allow their resellers to participate in that too. :-) and ask Robert not to publicize the offer lest everyone learn all they have to do is report a bug in order to get a free update. Then ComponentOne should have ensured their policies were always made clear moving forward.
However, I’m going to give ComponentOne the benefit of the doubt and not because I am a reseller of their product but because that is how I like to treat others; innocent until proven guilty. My guess is that ComponentOne’s management didn’t perform “an edict from above” to stonewall Robert regarding his needs, but simply didn’t have a good way to bubble up his issue for a decision in an instantly actionable way. The employee to whom he spoke was probably just following written policy that had not contemplated Robert’s situation.
Or maybe I’m wrong and ComponentOne’s management just set out to screw all current and potential customers. But somehow I highly doubt that.
What I will do is forward the URL to these posts to my contacts at ComponentOne, and we’ll let them address the issue if they would like. In that manner, maybe I can do what my company always tries to do and that is bring developers together with vendors for the good of all.