In early 2013 Paul Golland, CIO of Waltham Forest, a borough of north-east London, faced an immediate and unforeseen emergency. He was told by their sole cloud provider that they were closing shop and he had 24 to 48 hours to get their business’ data systems working elsewhere.
This type of disaster is not uncommon and it is a software escrow’s aim to prevent or at a minimum help minizine damage from such disasters.
A software escrow is a contract between a vendor and a client for backing up and storing the software programming code and client data by a third party. The software escrow agent releases the source code and data to the licensee in case of severe service interruptions or in case the software vendor is going out of business.
A software escrow service is usually a neutral third party that stores and maintains copies of software code and other data, which allows customers to guarantee the service or software they purchase. Thus, a company can ensure adequate level of business continuity.
With the global market for hosting and cloud computing is estimated to double to $128 billion by 2019 we will be seeing more of these disasters unless proper business continuity plans are put into place.
What should a software escrow agreement cover
Setting up a software escrow is the first step to preventing business continuity disasters, however, you will need to do the following to make sure it is setup correctly.
Clearly define all release conditions upon which materials in the escrow shall be released and how those materials can be used in the event of a release. Sample conditions can contain: bankruptcy, service faults, transfer of ownership of the software vendor, or anything else the software vendor and licensee agree to.
Define what should be included in the software escrow. Software escrows should include not only the source code and client data, but third-party dependencies, deployment instructions and anything else required to stand up the software.
Stipulate the expected quality of the source code and all accompanying documentation. A standard software escrow service does not check the quality of the stored materials, however, upon request a software escrow provider can check the materials to ensure the materials function properly.
Furthermore, a client should ask for selection of a reliable software escrow service that is acceptable for both parties and is not affiliated with any of them in any way. This way the software escrow can be governed by a truly neutral third party that is not influenced in an inappropriate way.
Do this all right and you’ll set up a situation that protects not only the licensee, but the software vendor.
Advantages of customized software escrow contracts
All established software escrow service providers have their own standard contract forms. Nonetheless, both the software vendor and the licensee should customize the contract to cover their unique situation. Most modern software escrow vendors will accept such customizations to the extent the customized contract does not conflict with their own service offering.
Properly customizing the software escrow contract ensures that not only the right situations will trigger the software escrow, but ensure the licensee can only use the materials within the scope mutually agreed upon.
For example, a software vendor and licensee may come to an agreement that the software escrow should only be released due to bankruptcy and that the licensee may only use the escrowed materials for continued internal use of the software.
Other software escrow contract sections
Other sections of the contract should specify a date by which the SaaS or software vendor should deposit the escrowed materials with the software escrow service. Terms for establishing an effective deposit should be in place, defining reasonable period during which the software vendor is required to deliver quality materials to be escrowed.
Agreeing on terms for both initial and update deposits is of benefit to all parties by establishing a schedule for updates that maintain the software escrow. Modern software escrow providers can automate the update process.
Coming to an agreement on what makes escrowed materials usable is a tricky point that should be discussed in advance. Introducing a standardized list of escrow materials benefits both the vendor and the licensee, ensuring predictable and comprehensive depositing of source code and other documentation.
A standard list of required materials may cover the software product name, required software dependencies, maintenance tools, instruction and maintenance manuals, key contacts, software compilation instructions, etc. This way, the software vendor and the licensee may avoid any legal disputes over the quality of the escrowed materials.
Securing business continuity
Business continuity and best contract practices can be achieved by agreeing on additional components of the escrow service. For example, a modern software escrow provider can offer automated services such as code repository syncing which automatically updates the software escrow on a periodic basis. This is made to ensure the source code and other documentation by the software vendor or the software developer are up to date.
Some software escrow agents may also offer additional services a licensee may add to an escrow agreement. Those include technical validation of the escrow deposit through the means of in-house testing or a specialized testing plan. This is by far the most effective method for a licensee to guarantee the viability of the escrowed materials.
Finally, you should be aware that an efficient software escrow service requires participation by all parties to create a viable software escrow agreement. Input and negotiation is required to make sure the software escrow protects not only the licensee, but the software vendor.