Escrow – the licensor’s perspective
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.
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.
Concerns for software developers
Software developers will generally want to resist offering escrow arrangements to ensure that the source code remains confidential and under the developer’s control. However, where customers are buying business critical software which can’t be easily replaced or for which they are investing significantly in bespoke modifications and customisations, the availability of an escrow arrangement can make the difference between the software developer being awarded the contract or losing out to a competitor.
When entering into a escrow arrangement, three key issues for a software developer will be:
- Selecting a reputable, independent, third party escrow agent who will ensure the source code is protected.
- Ensuring that the release events defined in the escrow contract are defined narrowly to limit the circumstances in which the software source code can be released.
- Limiting the usage rights granted to the customer to ensure that the customer cannot commercially exploit the source code or disclose it to third party competitors.
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 software developer will need to have a system in place to ensure the source code deposited is kept up to date.
- The customer can often lack the required expertise to successfully utilise the released source code.