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.