March 21, 2005

Put down that decompiler

Here's the deal: if you buy proprietary code, or opt for one of the more open licenses that aren't quite open, you are foregoing certain rights: the freedom to run the program however you like, the freedom to look at how it works and modify it, the freedom to redistribute it, and the freedom to improve it.

Step away from the code, sir.

A colleague of mine has been struggling with bug fixes today. The company he works for are thinking of buying a package that blurs the lines - you get the code, if you buy the commercial product. Problem is, they haven't actually bought it yet, they are trying it out. When something went wrong with the trial, he had to break out the decompiler because he had no source code to debug, in order to get his trial back on track.

I have two reactions to that:

  1. If you're paying money for a product, the onus is on the vendor to warrant it free of defects, and to make good any defects that are found. This is a moral obligation IMHO, one that many companies (software, hardware, non-computing alike) try to get out of with tricky wording and shrink-wrap agreements of dubious legality. It is reasonable for you to expect the vendor to solve the problem.

  2. If you're having to deconstruct or reverse-engineer a product to find out how it works, for whatever reason, you are on dodgy ground. Why don't you have a description of how it works, or the source code you need to fix the bugs? Because of the vendor's decision not to supply it. You should respect that decision because it is the right thing to do, in just the same way as in (1) above they should fix bugs because it is the right thing to do.

When you pick the proprietary or almost closed-source route, this is the decision you take: to unquestionably trust the morals of your vendor, and to abide by the restrictions they place upon you. Be fully aware of that when you make your evaluation and purchasing decisions.

Posted by savs at March 21, 2005 3:30 PM