Source code escrow 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 instead of abandonment or orphaning. The software's 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.
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 their most closely guarded trade secrets.[1]
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.[2]
Source code escrow takes place in a contractual relationship, formalized in a source code escrow agreement, between at least three parties:
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.[2]
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 agreements 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.[4]
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.[6]
Museums, archives and other GLAM organizations have begun to act as independent escrow agents due to growing digital obsolescence. Notable examples are the Internet Archive in 2007,[7][8] the Library of Congress in 2006,[9][10] ICHEG,[11] Computer History Museum,[12][13] or the MOMA.[14]
There are also some cases where software communities act as escrow agent, for instance for Wing Commander video game series[15][16][17] or Ultima 9 of the Ultima series.[18]
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-shelf software may be deposited into escrow to be released as free and open-source software under an open source license when the original developer ceases development and/or when certain fundraising conditions are met (the threshold pledge system).
For instance, 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".[19]
There are many cases of end-of-life open-sourcing which allow the community continued self-support, see List of commercial video games with later released source code.
From an anonymous source close to the company, I've found myself in possession of the "Infocom Drive" — a complete backup of Infocom's shared network drive from 1989.[...] Among the assets included: design documents, email archives, employee phone numbers, sales figures, internal meeting notes, corporate newsletters, and the source code and game files for every released and unreleased game Infocom made
The end goal is to acquire the game's original source code, which can be quite difficult to pry away from secretive gamemakers. If that's not possible at first, Antonelli at least wants to wedge her foot in the door. "We're going to stay with them forever," she said. "They're not going to get rid of us. And one day, we'll get that code."
Thanks to an extremely kind donation from an anonymous former EA/Origin developer, the source code to the PC version of Wing Commander I is now preserved in our offline archive! Because of our agreement with Electronic Arts, we're not allowed to post recovered source code for download--but rest easy knowing that the C files that started it all are being kept safe for future reference. Our offline archive contains material that has been preserved but which can't be posted, including other source code and budget data from several of the games.
As we celebrate Wing Commander III's first widespread retail availability since the late 1990s, we would like to mention for anyone that we have the game's source code in our offline archive. We know it's frustrating for fans, who could do amazing things with this, to read these updates... but it's also in everyone's best interests to remind EA that we have the raw material from which they could port Wing Commander III to a modern computer or console. Just let us know!
As with Wing Commander I and Wing Commander III, we are pleased to announced that an extremely kind former EA/Origin employee has provided a copy of the Wing Commander IV source code for our preservation efforts! We can't offer it for download at this time, but it is now preserved for future use.
As we continue to mark the occasion of Ultima 9's fifteenth anniversary, I'm pleased to announced that the seemingly dormant Ultima Source Code Offline Archival Project (USCOAP) has finally borne some fruit: the Ultima Codex has added the source code for Ultima 9 to its offline archive.