You get a bonus - 1 coin for daily activity. Now you have 1 coin

Source Code Escrow

Lecture



Source code escrow — is the deposit of a software product's source code with a third-party escrow agent. Escrow is usually requested by the party licensing the software (the licensee) to ensure that the software will continue to be maintained rather than abandoned or orphaned. The software's source code is released to the licensee if the licensor declares bankruptcy or otherwise fails to support and update the software as promised in the software license agreement.

The need for escrow

Because the continued operation and maintenance of custom software is critical for many companies, they generally want assurance that it will continue even if the licensor becomes unable to provide it, for example due to bankruptcy. The simplest way to achieve this is to obtain a copy of the current source code. The licensor, however, is often unwilling to agree to this, since source code is typically one of its most closely guarded trade secrets.

As a resolution of this conflict of interest, source code escrow ensures that the licensee gains access to the source code only when maintenance of the software cannot be guaranteed otherwise, as defined by the conditions agreed upon in the contract.

Escrow agreements

Source code escrow takes place within a contractual relationship, formalized in a source code escrow agreement, between at least three parties:

  • one or more licensors,
  • one or more licensees,
  • an escrow agent.

The service provided by the escrow agent (usually a company dedicated to this purpose and independent of any party) consists chiefly of receiving the source code from the licensor and releasing it to the licensee only if the conditions specified in the escrow agreement are met.

Source code escrow agreements provide for the following:

  • They define the subject and scope of the escrow. This is usually the source code of a specific software product, accompanied by everything the licensee needs to maintain the software independently, such as documentation, software tools, or specialized hardware.
  • They obligate the licensor to deposit updated versions of the software into escrow at defined intervals.
  • They define the conditions that must be met for the agent to release the source code to the licensee. Typical conditions include the licensor's bankruptcy, cancellation of the software development project, or the licensor's explicit unwillingness to fulfill its contractual maintenance obligations. Because it is often important for the licensee that the code be released as soon as possible once the conditions are met, the conditions are generally worded as simply and unambiguously as possible.
  • They limit the rights obtained by the licensee with respect to the source code after its release. These rights are generally restricted and may include the right to modify the source code in order to fix bugs, or the right to continue developing the software independently.
  • They define the services provided by the escrow agent beyond the mere storage of the source code. Specialized agents may, for example, verify that the source code medium is readable, or even build the software from the source code, verifying that its functionality matches the binary version used by the licensee.
  • They may stipulate that non-compete clauses in the license agreement, such as those prohibiting the licensee from hiring the licensor's employees, become void if the release conditions are met, allowing the licensee to acquire the know-how required to maintain the software.
  • They also provide for the payment of fees due to the escrow agent for its services.

Whether a source code escrow agreement is entered into at all, and who bears its costs, is determined by the agreement between the licensor and the licensee. Software license agreements often grant the licensee the right to demand that the source code be placed in escrow, or to join an existing escrow agreement.

Bankruptcy laws may prevent a source code escrow agreement from being enforced if the creditors of a bankrupt licensor have a legal right to seize the licensor's assets, including the code held in escrow, in the event of bankruptcy, thereby preventing the code from being released to the licensee.

Third-party escrow agents

Museums, archives, and other GLAM organizations have begun acting as independent escrow agents due to growing digital obsolescence. Prominent examples are the Internet Archive in 2007, the Library of Congress in 2006, ICHEG, the Computer History Museum, and MoMA.

In some cases, software development communities act as the escrow agent, for example for the Wing Commander video game series or Ultima 9 from the Ultima series.

Open-source software for the public

The escrow agreements described above apply best to custom-developed software that is not available to the general public. In some cases, the source code of off-the-shelf commercial software may be placed in escrow for release as free and open-source software under an open-source license, when the original developer discontinues development and/or when certain fundraising conditions are met (a threshold pledge system).

For example, the Blender graphics package was released this way after the bankruptcy of Not a Number Technologies; the widely used Qt toolkit is covered by a source code escrow agreement held by the "KDE Free Qt Foundation".

There are many cases of open-sourcing upon discontinuation that allow a community to keep a product self-sustaining; see the list of commercial video games with later released source code.

See also

  • Source code repository for open source
  • Orphan works

Comments

To leave a comment

If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Lectures and tutorial on "Software and information systems development"

Terms: Software and information systems development