What is software escrow?

What is software escrow - motive

…Prehistoric times, ancient times, middle ages, modern age, IT age

Nowadays, information technologies not only support business but have become just necessary for business activities as such. Dependency of companies on their software rises as information technologies develop. Crashes of software applications (especially business critical) may have fatal impacts. However, it is impossible to get rid of this dependency on software these days. Staying competitive requires the companies to use information systems to certain extent in businesses of all sizes and branches. It is not the dependencies on specific applications that are the problem; it may rather be a dependency on a specific supplier, especially if it is a client-tailored system. The business activities of the software user are now directly influenced by the supplier’s ability to ensure maintenance and development of the system in the long run.

Importance of source codes

Coders create software applications by writing a source code, i.e. a record people can understand. The source code is then converted into a format only computers understand called a binary form. Only this binary form of the application is then submitted to the client, as it is fully sufficient for its run and use. If the client demands any changes or corrections of the product, they contact the producer who then carries out the required modifications in the source codes, generates a new binary version of the application and delivers it to the client again. Development of the software makes the existing business plans more effective and implements new ones.

It is possible to provide full technical support and to develop the information system over a long period only with access to complete source codes.

Source codes are a carefully-guarded trade secret. Producers of tailored software provide their clients with the source codes only in exceptional cases, and they typically only agree to continuously support and maintain their product by contract. What are the options of clients as software users if the producer decides to discontinue the support or is unable to maintain or develop the product anymore? There are only limited options to resolve this issue:

  • replacement by some other system – demanding in terms of time and finances;
  • application running on without support – usually brings unacceptable risks;
  • ensuring the maintenance of the application by some other producer or, possibly, by own sources – requires access to the source codes.

Please read further on to find out how software escrow can minimize the risks related to the situation described.

Software escrow solution

The software escrow is a deposit of source codes administered by an independent third party. This is typically required by the owner of the license, and its aim is to ensure support and maintenance of the software. The source codes are delivered only when the conditions of the agreement are fulfilled, i.e. the producer does not meet contractual requirements for maintenance, producer is in decline etc. The escrow agent plays a role of an independent third party, and besides the deposit of the source codes often offers other services such as technical verification of the code (code review), verification of development environment, software audit etc.

The software escrow services originated in the USA in the 1970s where they came to existence as a solution to insure applications that were critical for companies in terms of their business activities. It was mainly about actual storage of source codes and data on back-up tapes at a third trustworthy party. Involving escrow agents in negotiations about license conditions became a natural part of most software projects in the USA and Western Europe. Nowadays in the Czech Republic, it is mostly lawyers specialized in the IT law who serve as escrow agents.

Escrow agreement

Software escrow is an agreement between the software producer, user, and escrow agent to provide the user with access to source codes and software on fulfilling the conditions defined.

License contract or a contract on maintenance typically contains a clause referring to an escrow agreement. The party which initiated the deposit of source codes agrees on the conditions with the escrow agent and then introduces a third party to the negotiations, and this party may comment on this agreement.

The agreement defines the main features of the procedure in which the software producer submits the source codes to the escrow agent to be deposited there, including the details on what will be deposited and how often. Besides the source codes corresponding to the version of the software which is running in the company, the deposit often contains also all the necessary programming tools for the run and administration of the application. Also, the agreement defines what way the software user will receive the digital material in case the conditions are fulfilled.

The escrow agreement has to deal mainly with following aspects of the three-party agreement.

Conditions for releasing the source codes

The agreement clearly defines conditions for releasing the source codes from the deposit. Following are typical conditions:

  • software producer goes bankrupt;
  • violation of the escrow agreement by the software producer;
  • violation of obligations following from the maintenance contract.

Guarantees of the producer

The software producer as a licensor contracts that the deposited source codes contain all the programming tools necessary for compilation of the code (build scripts, build instructions, libraries of third parties, making the development environment run etc).

Technical verification of source codes

Technical verification is among above-standard services offered by escrow agents. It is the only real possibility to actually prove that:

  1. it is possible to fully compile the received source codes and thus create a functional software application,
  2. the source codes and the programming tools correspond to the version of the software product which is running in the company at the moment.

License for source codes

A license is released together with the source codes, and this license defines the way the source codes should be treated:

  • for what purposes the source codes will be used (typically only for maintenance);
  • what way the source codes will be treated (to be kept confidential etc).

Force Majeure

The escrow agreement should also deal with a force majeure clause. This clause releases all the participating parties from the obligations following from the agreement in following cases: war, natural disasters, and other unpredictable events.

Who benefits from software escrow?

Software producers may offer the software escrow as standard part of their software services, and thus gain a substantial competitive advantage. Read more...

Software escrow plays an irreplaceable role for software users for ensuring their investments in a development of new information systems or in their maintenance. Read more...