Source Code
How do I really know I have all my source code?
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.