If you have contracted with a programming company or individual programmer to write a computer program for you, you need to be sure you receive the source code. For those of you who are unfamiliar with source code, it is the actual lines of instructions written by a programmer. A program called a compiler transforms the source code into object code which makes it execute faster. Object code is not easily modified, techniques to "de-compile" object code back to source code are problematic at best.
Programmers have little incentive to provide you with your source code. You should make sure that the agreement you make with the programmer or programming company stipulates that you are entitled to all the source code they write. (WSI's standard programming policy includes language to this affect.) By not having source code, you soon become hostage to the programmer or programming company. Any change or fix must go through them. Worse yet if that company becomes insolvent or is un-reachable for any reason you will have a serious problem.
Be aware that it is not easy to determine if you have a complete set of source code for your program. Your program may be based on multiple compiled sets of source code. Missing just one of these sets could jeopardize your ability to modify your program.
In order to avoid this problem you should consider contracting with another programmer or programming firm like Winning Solutions, Inc. to analyze your source code and make sure it is complete.
It is not unusual for a client to bring us what they believe to be a complete set of source code so that WSI can pick-up where they left off, only to find that they do not have source code for every compiled file that comprises their program.
In this situation the client is forced to use the software as is, or pay for the programming work necessary to decompile and put the source code back into a state that can be modified. This can be costly and time consuming.
So if Winning Solutions, Inc. is not programming your software, please consider having us review the source code you receive from your programmer to validate that you are receiving what you are paying for.