Readers are cautioned not to rely on this article as legal advice as it is no substitution for a consultation with an attorney in your state. Based on jurisdiction and time, the law varies and changes.
What Is Software Escrow?
Software escrow means deposit of the software's source code into an account held by a third party escrow agent. Escrow is typically requested by a party licensing software (the "licensee"), to ensure maintenance of the software. The software source code is released to the licensee if the licensor files for bankruptcy or otherwise fails to maintain and update the software as promised in the software license agreement.
What Is Software Source Code?
Source code is the software's programming code represented in a particular programming language that humans can write and understand.
Picking an Escrow Agent
Either the licensor or licensee should pick an escrow agent. Generally, the licensor should pick and pay for the agent so that the owner of the software has the choice of which third party will be responsible for storing and handling the source code. Additionally, the licensor often will have more than one licensee request escrow, and having the same agent each time makes the record keeping and contract negotiation much simpler.
Often, licensees will allow the licensor to pick the agent if the licensor also pays the escrow fees. When picking an agent, be sure to investigate the background and financial status of the company. An agent with no assets and without substantial insurance coverage is not a good choice. The agent should have substantial resources, so that the parties to the escrow agreement may be protected in the event of the agent's negligence and ensuing litigation, or in the event of loss of the code and financial reimbursement by the agent's insurance company.
Costs of Software Escrow
Software escrow fees are typically between $1000 and $2000 per year per licensee. There is some variation based on different pricing structures. Some companies will reduce the rates for licensors who have substantial numbers of licensee deposits.
The software escrow agreement is a three party contract that governs the procedures and terms of the escrow process between the licensor, licensee and agent. Usually, the software license agreement will contain a clause that states that the parties agree to escrow and will execute a separate agreement to cover those terms. As this agreement involves three parties, the negotiations can be more difficult than usual.
The party that chooses and pays the agent should negotiate its terms with the agent prior to bringing the third party into the negotiations. This will save time in that two of the three parties will already have agreed on the contract wording prior to the third party reviewing the agreement.
The agreement should outline the procedures for the deposit and handling of the code by the licensor and agent, including what will be deposited (updates, customizations, etc.) and how often the deposits should occur. How the agent is to receive the code, and where and how it is to be stored should also be addressed.
The agreement must also define the procedures for release of the code after an event that's recognized as triggering its release. These procedures should include notice to the parties, deadlines for response and counter argument, opportunity to seek court order, and so on.
Events Triggering Release of the Code
The agreement should state what events result in release of the code to the licensee. These may include:
- The licensor filing for bankruptcy
- The licensor breaching the license agreement
- The licensor failing to provide maintenance as agreed
- The licensor going through a merger or acquisition resulting in a new licensing entity
The licensor should always try to limit the release events solely to failure to provide maintenance. If any of the other events above occur and the licensor continues to provide maintenance as agreed, there is no reason to justify release of the source code and release may cause substantial damage to the licensor in this event.
Source Code License
The agreement should include a license grant to the licensee in the event of release of the code, which outlines how the licensee:
- may use the code (for maintenance only) and
- should handle the code (keeping it confidential, etc.).
The agreement may state that the licensor warrants that the source code deposited is the correct code and that, as deposited, it will correctly compile into the software.
An escrow agreement should also contain a force majeure clause. This clause means that in the event of war, acts of God, weather and other uncontrollable forces, the parties are excused from performing. The licensee will want to exclude or limit this clause to be sure that it is not used to avoid obligations by the licensor or agent.Indemnification and Liability Limits
The Escrow Agent will usually require that the parties indemnify the agent and that there is a liability limit on the agent's risk. Indemnification of the agent means that if any party to the agreement or third party sues the agent, the parties agree to jointly pay the costs of such litigation.
To the extent that there is an exclusion in this section for the agent's negligence or willful behavior, this is reasonable given the low income the agent receives from storage. However, these exclusions are important -- without them, there is no way for the parties themselves not to end up paying if one party has to sue the agent for loss or misuse of the code or other acts.
A liability limit for all parties to the agreement is a provision that generally protects all parties to the contract, and the agent's request is reasonable given the low income the agent receives from storage. It is important, however, to be sure that the liability limit covers at least the value of the software source code.
If you are a licensor, software escrow will be a necessary part of your business requested by licensees. In many circumstances, licensees do not understand the process, or why they're making the request, and sometimes some discussion of the business goals can help. For example, if there is no maintenance agreement for the software, or the software is leased through an ASP model with no time commitment for provision by the licensor, there is no reason for software escrow.
If you're a licensee purchasing expensive and vital software to be maintained and used over a long period, escrow can be very helpful. Keep in mind, though, that if the software can be recreated at a relatively low cost, or maintained or substituted by another software company, escrow may not be a logical request given the costs in time and money of the escrow and the contract.