Imagine if correcting software was the same as getting your car fixed. You take it to a repair shop and they determine what the problem is. Then, if the problem is something that they can fix, the repair shop will give you an estimate. If you don't like the estimate or if the repair shop can't do the specific repair that you need then you simply take your business elsewhere.
The Software Repair philosophy is to make fixing software bugs very similar to fixing your automobile.
The problem is usually a matter of finding an array reference or an uninitialized variable that is causing the problem. We will find and correct the problem, test the fix, document the correction to you. If you find that the exact same problem exists, you don't pay anything until we do fix it.
We cannot correct problems in software where you do not own the rights to the software. However, we may be able to give a workaround or we might be able to locate the specific, legal software patch that you need. In such cases we do not charge for the fix itself but just for the time involved in finding the correct software patch or workaround.
A car can have items added by the repair shop: new stereo, fog lights, cell phone, etc. Software can have added features as well: new error messages, dropdown list replacing a typein, new menu pick, and so on. It would be difficult to add the new feature "runs on water" to most cars. The software feature "do what I mean not what I say" is in the same category.
Porting a program from the PC to the Macintosh can be trivial or very difficult. A program written in C should be instantly portable. It is until you try to do it on your program.
There are some things that we won't do and this is one of them. We do not have the resources to debug programs that run on mainframes.
It's really very simple. If you can fix the problem yourself in the space of two minutes then you will just do it. I used to change my own oil in my car but lately it is easier, less messy and nearly the same cost to have someone else do it. The same is true for software repair.
If it doesn't work or you are not satisfied with the result, then you don't pay.