x





|
|
|

| 007 |
Deposit
Detailed Documentation! |
|
By
Tipton Cole, Tipton Cole &
Co.
Software Development & Consulting
Special to the
escrow advisor
A thorough software (source code) escrow
requires much more than just the program
source files. Commercial application
programs may involve hundreds, thousands
- even tens of thousands - of necessary
files. The knowledge required to
coordinate all of those files is an
essential element of the intellectual
property protection that is ensured via
third-party escrow.
Where Do the Files Belong?
Each file that is part of the system
functions correctly only when it is
located in the right place. Location
requirements are varied and can be
devilishly subtle. Generally speaking
each file must be located in a particular
directory relative to the application
"root" directory. Complications
arise when the application has more than
one root or when a program determines
just where the root is by referencing a
variable system setting value (see
below). Some applications, however,
require that certain files be in a fixed
location on a known drive. All of this is
further complicated when the application
files are distributed across multiple
disks or multiple computers or even
across multiple locations on the
internet.
Whatever the requirements of your
particular application, it is essential
that all of the file locations are
documented either directly in writing or
by means of a transparent installation
mechanism that makes it clear where each
file belongs.
File Generation or Compilation
Some files in the application
may be generated, in whole or in part,
using specialty programs such as form or
report generators. Typically these
generators require some description or
specification from which they then create
much more extensive executable or data
files used in the application. Both the
description or specification files and
the generator programs are required in
order to re-create important parts of the
overall application.
Compilers are themselves very
sophisticated computer applications and
have their own complex array of options
for identifying which files are to be
used as source code, how they are to be
interpreted, and where the results of the
compilation are to be created. In order
to assure that the beneficiary of the
escrow can make good use of the source
code files, all compiler settings and
options, often expressed as specialized
"make" files, should be
included in the escrow corpus.
System Settings
System settings can take several forms:
environment variables, registry values,
file names, initialization files,
configuration files, specialty files. A
single application program may employ any
one or any combination of these files. A
simple mistake in the name of a file, its
location, or a single character of
punctuation can cripple an entire
application or critical function. This
problem is exacerbated by interactions
(intentional or unintentional) between or
among several settings. It is not at all
uncommon for an application system (or
even a single program) to employ multiple
methods to achieve similar results - or
to use multiple methods to confirm or
duplicate a single result.
Conclusion
Modern computer applications can be very
complex systems with hundreds or
thousands of moving parts. The
relationships between or among these
parts need may not be obvious or easily
understood without extensive
documentation. Without extensive
documentation as a reliable guide, it may
be impossible to generate and install a
workable copy of the application.
Therefore it is vitally important to
escrow full system documentation along
with the source code and to test the
accuracy and completeness of the
documentation as part of the escrow
verification.

Contact
info@guard-it.com for
more information.
Copyright
1999-2008 Guard-IT Corporation. All
rights reserved. |
|
|
|