What is Software Escrow?

Introduction

The request for a software escrow was properly brought up last minute when negotiating your software license. The last thing anyone wants is to delay a critical software deal.

In this article, I will show you everything you need to know about software escrows including what a software escrow is, how it can help, the steps to determine if one is needed and if needed how to easily set one up.

What is a software escrow?

A software escrow is a service that helps protect all parties involved in a software license by having a neutral 3rd party escrow agent hold source code, data, and documentation until a mutually-agreed-upon event occurs.

THE PROBLEM – WHY SOFTWARE ESCROWS ARE NEEDED

When negotiating a software license at one point a prudent licensee will ask, “What happens if the software vendor goes out of business?” What usually follows is a request to access the source code and any other critical materials used to maintain the software.

From the software vendor’s perspective, giving the licensee access to the source code and other confidential materials is a risk to its business. How does the software vendor know the licensee will keep the source code safe and secret and will not prematurely use it? What if dozens of licensees demand the source code?

From the licensee’s perspective, not having access to the source code and other materials needed to maintain and update the software is a risk to its business. How will the licensee continue to use and maintain software, it heavily depends on, if the software vendor goes out of business, fails to meet its obligations or any other number of unforeseen events?

This difference in perspectives and concerns is the reason software escrows exist.

THE SIMPLE 5 STEP PROCESS – THE SOLUTION

Software escrows mitigate, for both parties, the risk inherent in software licenses, by storing source code and other critical materials with an independent neutral 3rd party escrow agent. This independent and neutral storage is the key in mitigating risk to all parties involved. The process is simple:

  • 1) Execute an escrow agreement with a reputable software escrow agent

    When deciding which software escrow vendor to use the following factors are important: how long it has been in business, where does it keep your materials, what is its legal expertise, what is its technical expertise, and how easily can you manage the escrow.

  • 2) Delivery of source code and other materials to the escrow agent

    Source code, documentation and any other important materials should be easily deliverable to the software escrow agent. The escrow agent should offer submission methods such as escrow synchronization, automated submission scripts via sftp, manual online submission and manual offline submission.

  • 3) Source code is securely held awaiting release conditions to occur

    “Release conditions” define if and when the software escrow agent should release the escrow materials to the licensee. This ensures that the escrow materials are only released to the licensee after the occurrence of an in mutually-agreed-upon event.

  • 4) The escrow is updated as the software product evolves

    As new versions of the software are developed corresponding updates to the escrow should occur. Modern escrow agents can automate this process which helps keep the escrow always up to date.

  • 5) A release condition occurs and the escrow materials are released

    If a software license terminates without a release condition occurring then the materials can either be returned to the software vendor or destroyed depending on the software vendor’s wishes.

BENEFITS – SOFTWARE VENDOR

  • Smoother negotiations
  • Establishes confidence by addressing the concerns of the prospective licensees (those concerns may be unspoken)
  • Source code is securely held awaiting release conditions to occur
  • Safe storage of source code and other materials with one company instead of scattered across multiple customers

BENEFITS – LICENSEE

  • The ability and legal right to maintain, update and enhance mission critical software
  • Reduced chance of significant interruption of, or damage to, its business
  • Eliminate concerns regarding the software vendor’s capabilities
  • Business continuity