Source code escrow
Encyclopedia
Source code escrow or source code repository is the deposit of the source code
of software with 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.
s.
As a solution to this conflict of interest, source code escrow ensures that the licensee obtains access to the source code only when the maintenance of the software cannot otherwise be assured, as defined in contractually agreed-upon conditions.
The service provided by the escrow agent – generally a business dedicated to that purpose and independent from either party – consists principally in taking custody of 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:
Whether a source code escrow agreement is entered into at all, and who bears its costs, is subject to agreement between the licensor and the licensee. Software license agreement
s often provide for a right of the licensee to demand that the source code be put into escrow, or to join an existing escrow agreement.
Bankruptcy
laws may interfere with the execution of a source code escrow agreement, if the bankrupt licensor's creditors are legally entitled to seize the licensor's assets – including the code in escrow – upon bankruptcy, preventing the release of the code to the licensee.
software may be deposited into escrow to be released under a free software
or open source
license when the original developer ceases development and/or when certain fundraising conditions are met. This model is also called ransomware. The Blender
graphics suite was released in this way following the bankruptcy of Not a Number Technologies; the widely used Qt toolkit
is covered by a source code escrow agreement secured by the "KDE Free Qt Foundation".
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
of software with a third party escrow
Escrow
An escrow is:* an arrangement made under contractual provisions between transacting parties, whereby an independent trusted third party receives and disburses money and/or documents for the transacting parties, with the timing of such disbursement by the third party dependent on the fulfillment of...
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.
Necessity of escrow
As the continued operation and maintenance of custom software is critical to many companies, they usually desire to make sure that it continues even if the licensor becomes unable to do so, such as because of bankruptcy. This is most easily achieved by obtaining a copy of the up-to-date source code. The licensor, however, will often be unwilling to agree to this, as the source code will generally represent one of his most closely guarded trade secretTrade secret
A trade secret is a formula, practice, process, design, instrument, pattern, or compilation of information which is not generally known or reasonably ascertainable, by which a business can obtain an economic advantage over competitors or customers...
s.
As a solution to this conflict of interest, source code escrow ensures that the licensee obtains access to the source code only when the maintenance of the software cannot otherwise be assured, as defined in contractually agreed-upon conditions.
Escrow agreements
Source code escrow takes place in a contractual relationship, formalized in a source code escrow agreement, between at least three parties:- one or several licensors,
- one or several licensees,
- the escrow agent.
The service provided by the escrow agent – generally a business dedicated to that purpose and independent from either party – consists principally in taking custody of 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 specify the subject and scope of the escrow. This is generally the source code of a specific software, accompanied by everything that the licensee requires to independently maintain the software, such as documentation, software tools or specialized hardware.
- They oblige the licensor to put updated versions of the software in escrow in specific intervals.
- They specify the conditions that must be met for the agent to release the source code to the licensee. Typical conditions include the bankruptcy of the licensor, the cancellation of a software development project or the express unwillingness of the licensor to fulfil his contractual maintenance obligations. Because it is often important to the licensee that the code be released as soon as possible once the conditions are met, the conditions tend to be worded as plainly and unambiguously as possible.
- They circumscribe the rights obtained by the licensee with respect to the source code after the release of the software. These rights are generally limited and may include the right to modify the source code for the purpose of fixing errors, or the right to continue independent development of the software.
- They specify the services provided by the escrow agent beyond a simple custody of the source code. Specialised agents may, for instance, verify that the source code storage media is readable, or even buildSoftware buildIn the field of computer software, the term software build refers either to the process of converting source code files into standalone software artifact that can be run on a computer, or the result of doing so...
the software based on the source code, verifying that its features match the binary version used by the licensee. - They may provide that non-compete clauseNon-compete clauseA non-compete clause , or covenant not to compete , is a term used in contract law under which one party agrees not to pursue a similar profession or trade in competition against another party . As a contract provision, a CNC is bound by traditional contract requirements including the...
s in the licence agreement, such as any that prohibit the licensee from employing the licensor's employees, are void in the event of the release conditions being met, enabling the licensee to acquire the know-how required for the maintenance of the software. - They also provide for the fees due to the escrow agent for his services.
Whether a source code escrow agreement is entered into at all, and who bears its costs, is subject to agreement between the licensor and the licensee. Software license agreement
Software license agreement
A software license agreement is a contract between the "licensor" and purchaser of the right to use software. The license may define ways under which the copy can be used, in addition to the automatic rights of the buyer including the first sale doctrine and .Many form contracts are only contained...
s often provide for a right of the licensee to demand that the source code be put into escrow, or to join an existing escrow agreement.
Bankruptcy
Bankruptcy
Bankruptcy is a legal status of an insolvent person or an organisation, that is, one that cannot repay the debts owed to creditors. In most jurisdictions bankruptcy is imposed by a court order, often initiated by the debtor....
laws may interfere with the execution of a source code escrow agreement, if the bankrupt licensor's creditors are legally entitled to seize the licensor's assets – including the code in escrow – upon bankruptcy, preventing the release of the code to the licensee.
Free software
The escrow agreements described above are most applicable to custom-developed software which is not available to the general public. In some cases, source code for commercial off-the-shelfCommercial off-the-shelf
In the United States, Commercially available Off-The-Shelf is a Federal Acquisition Regulation term defining a nondevelopmental item of supply that is both commercial and sold in substantial quantities in the commercial marketplace, and that can be procured or utilized under government contract...
software may be deposited into escrow to be released under a free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
or open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
license when the original developer ceases development and/or when certain fundraising conditions are met. This model is also called ransomware. The Blender
Blender (software)
Blender is a free and open-source 3D computer graphics software product used for creating animated films, visual effects, interactive 3D applications or video games. The current release version is 2.60, and was released on October 19, 2011...
graphics suite was released in this way following the bankruptcy of Not a Number Technologies; the widely used Qt toolkit
Qt (toolkit)
Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface , and also used for developing non-GUI programs such as command-line tools and consoles for servers...
is covered by a source code escrow agreement secured by the "KDE Free Qt Foundation".