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.
Necessity of escrow
editAs 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]
Escrow agreements
editSource 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.[2]
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:
- 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.[3]
- They oblige the licensor to put updated versions of the software in escrow in specific intervals.[3]
- 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.[4]
- 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.[4]
- 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 build 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 clauses 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.[5]
- They also provide for the fees due to the escrow agent for his services.[5]
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]
Third party escrow agents
editMuseums, 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]
Software open-sourcing to the public
editThe 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.
See also
editReferences
edit- ^ Heusler, Bernhard; Mathys, Roland (2004). IT-Vertragsrecht (in German). Zürich: Orell Füssli. p. 177. ISBN 3-280-07030-9.
- ^ a b c Heusler/Mathys, p. 178.
- ^ a b Heusler/Mathys, p. 179.
- ^ a b c Heusler/Mathys, p. 180.
- ^ a b Heusler/Mathys, p. 181.
- ^ Heusler/Mathys, p. 182.
- ^ "The Internet Archive Classic Software Preservation Project". Internet Archive. Archived from the original on October 19, 2007. Retrieved October 21, 2007.
- ^ Baio, Andy (Apr 17, 2008). "Milliways: Infocom's Unreleased Sequel to Hitchhiker's Guide to the Galaxy". waxy.org. Retrieved January 26, 2016.
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
- ^ Chaplin, Heather (March 12, 2007). "Is That Just Some Game? No, It's a Cultural Artifact". New York Times. Retrieved September 27, 2013.
- ^ Joseph Bernstein (October 27, 2014). "Meet The Men Trying To Immortalize Video Games". BuzzFeed. Retrieved August 22, 2016.
- ^ Dyson, Jon-Paul C. (October 13, 2010). "ICHEG's Approach to Collecting and Preserving Video Games". museumofplay.org. Retrieved August 22, 2014.
- ^ "MacPaint and QuickDraw Source Code". Computer History Museum. July 20, 2010.
- ^ Hesseldahl, Arik (July 20, 2010). "Apple Donates MacPaint Source Code To Computer History Museum". businessweek.com. Archived from the original on February 9, 2012.
- ^ Moore, Bo (May 30, 2013). "'All Hell Broke Loose': Why MoMA Is Exhibiting Tetris and Pac-Man". Wired. wired.com. Retrieved January 18, 2016.
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."
- ^ "BIG NEWS: Wing Commander I Source Code Archived!". wcnews.com. August 26, 2011. Archived from the original on November 9, 2013. Retrieved January 14, 2013.
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.
- ^ "Wing Commander III - The Source Code". wcnews.com. September 13, 2011. Archived from the original on December 3, 2013. Retrieved January 14, 2013.
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!
- ^ "Wing Commander IV: Source Code". wcnews.com. April 3, 2012. Archived from the original on November 9, 2013. Retrieved January 14, 2013.
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.
- ^ WtF Dragon (November 26, 2014). "Ultima 9: The Source Code". ultima codex. Retrieved October 28, 2015.
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.
- ^ "KDE Free Qt Foundation".