Escrow – a customer perspective
Companies procuring business critical software which can’t be easily replaced may rely heavily on their chosen software developer to ensure they are able to continue using that software. If the software developer becomes insolvent or breaches their support and maintenance contract, the customer could be left with an unsupported system that they can’t change or update without significant cost and/or disruption. Having access to the software’s source code, via an escrow arrangement, can enable customers to support themselves in using the software in these circumstances.
An escrow arrangement consists of a three-party contract between a software development company (being the licensor of the software), the customer (being the licensee of the software), and a third party escrow agent. An escrow arrangement enables the licensee to access the software source code in the event that the development company is no longer able (for example, due to insolvency) or willing (and as a result in breach of its support and maintenance contract with the customer) to modify and / or support the software.
Software developers typically regard software source code as the “crown jewels” of their business, so they only provide the software to the customer in object code format and retain the source code themselves. This is usually a satisfactory arrangement for both parties if the software developer continues to provide future modifications, maintenance and error correction under the terms of a software support and maintenance contract. Problems arise if the software developer fails to perform its ongoing support and maintenance obligations. In these circumstances, the customer will want to access the source code to perform support and maintenance activities itself or have them performed on its behalf.
The purpose of an escrow arrangement is to resolve the conflict between the development company’s desire to keep its source code confidential and the customer’s desire to be able to continuously support and update the software in the future. By having access to the source code, the customer is able to support and modify the software itself without the involvement of the development company (although see the commentary below on the limitations of escrow arrangements).
The Escrow Contract
Under a tripartite escrow contract, the software developer agrees to deposit a copy of the software source code with an escrow agent (being an independent third party) and the escrow contract sets out the circumstances in which the escrow agent will release the source code to the licensee and the basis on which the licensee can use the source code following its release.
There are a number of escrow providers in the market (such as NCC Group, Iron Mountain and SES) and they will have their own template escrow contract which will typically be the starting point for negotiating the escrow terms.
Do I need a software escrow arrangement?
Escrow arrangements can be appropriate in certain circumstances, particularly when:
- the customer has grounds to believe that the software developer will have difficulties in maintaining the product in the future;
- the customer will not be able to migrate easily to new software; and
- the customer has a strong team of technical staff who will be able to work with and maintain the released source code.
When entering into a escrow arrangement, key issues for a customer will be:
- Selecting a reputable, independent, third party escrow agent who will ensure the source code is protected and released quickly when required.
- Ensuring that the release events defined in the escrow contract are broadly defined to enable the customer to access the software source code when it is required.
- Ensuring that the deposited source code is updated regularly so that it mirrors the software which is being used by the customer.
- Ensuring that the customer has a strong team of technical staff who will be able to use the source code when it is released.
Limitations of software escrow arrangements
While escrow arrangements can provide some security for customers in the event that the software developer becomes insolvent, they do have their drawbacks:
- There will be upfront and annual fees which are payable to the escrow agent together with verification fees if the customer wants to be sure the source code deposited is effective. These fees are often paid by the customer or shared between the customer and the software developer but they can add significant ongoing costs to a project.
- There may be prolonged and costly negotiations over the terms of the escrow contract particularly in relation to the conditions on which the source code will be released and the customer’s usage rights.
- The customer will need to ensure there is a system in place to verify that the source code deposited is kept up to date.
- The customer can often lack the required expertise to successfully utilise the released source code.
While software escrow arrangements can provide a useful level of protection for large businesses that have invested heavily in expensive software, they are only useful in a relatively small number of scenarios. Any business seeking the protection of an escrow arrangement should seek legal advice before entering into one.