Software escrow services
This section discusses services provided by software escrow businesses. The escrow business should always help with free assistance and advice.
Types of escrow business
Escrow is used in any area of business where there is a need for a trusted third-party to temporarily hold any tangible or intangible asset - computer media, printed media, valuable possessions, funds etc. Within general escrow, many businesses specialize in software escrow. These may be corporations or other limited-liability entities e.g. those used by lawyers or other professional people. The form of incorporation does not make a lot of difference, because the escrow business will inevitably exonerate itself from all but the most narrowly-defined responsibility.
The legal escrow agreement
The software escrow business will typically provide a draft software escrow agreement to be signed by yourself and the software vendor. These agreements may be:
- One-to-one. An agreement between one software user (you) and one vendor.
- Many-to-one. Many users of the software sign the same agreement with one vendor. Typical where the vendor has lots of users and provides what it thinks is a standard fair escrow agreement to every user. The vendor is often a large business.
- One-to-many: One software user signs the same agreement with many vendors. The user is often a large business.
The software escrow business typically also signs the software escrow contract, which should cover the possibility of the escrow business itself failing. The escrow supplier will often provide some limited free advice and assistance about these agreements, but under a generic disclaimer "always consult your own legal people".
Generally these agreements provide a solid basic legal framework that balances the interests of the software vendor and you the software user. You should be equally concerned about the usefulness of what gets put in escrow - as discussed in a following section of this Web site. After all, there is not much point in a detailed escrow agreement working perfectly if the items (source code, documentation etc.) you eventually get from escrow are hardly usable.
The legal agreement will have ".. this agreement subject to the laws of <state/province>, <country> ..". This is the likely legal jurisdiction if the agreement needs to be contested in legal proceedings. Both you and the vendor ideally want this to be your "home" jurisdiction - if only because starting proceedings in a foreign country is difficult and costly. If you have a choice, you might avoid using an escrow business that is located in a foreign country.
Secure storage and access
The escrow business must offer secure storage of the materials it receives from the software vendor. This is fairly standard stuff - vaults, fire-protection, access control etc. In short, very similar to what your bank offers in secure storage and what you would expect for access to a secure computer room.
Escrow businesses may offer a limited inspection of the material received from the software vendor. This is basic usability tests of the material they receive e.g. to confirm that any digital media is machine-readable and any zip files can be unzipped. These fairly simplistic tests do not actually use the low-level escrow contents in any way.
This is an extended test - that the software object code can be built from source code in a "clean-room" environment and the application can then be run. This may also involve a comparison to run-time objects in a benchmark vendor software release. This tries to answer your question "Given the source code from escrow, can someone rebuild a version of the software that we recognize and can use ?".
This process is obviously much more arduous than a simple inspection of the contents of escrow. The vendor is likely to place severe constraints on the process - because someone outside their business is getting detailed knowledge of their development environment and entire source code base. You must also accept that "running the software" might never be an exact replication of what you use in your live application. For example, you may have a large database but only a small subset of that data can be run during the test.
Communication during escrow process
You should expect the escrow business to keep yourself and the software vendor informed about ongoing developments once the software escrow contract is in effect. This may be part of their legal obligation in the escrow agreement. Beyond that, they have an interest in showing both parties that "the agreement is working". So you can expect ample communication on mundane issues such as expected or unexpected receipt/return of escrow materials, changes of contact details by any of the parties etc.
Agreement on escrow fees
The fees payable to the escrow business will form part of the agreement. This should not only cover standard fees (e.g. who pays annual software escrow renewal fees), but a mechanism for agreeing exceptional fees. If, for example, you require access to the escrow contents and the vendor is in dispute with you about that access, they may refuse to pay any escrow fee involved. The agreement might stipulate that you then have to pay all fees, or it might invoke the use of an arbitration process.