Source code escrow: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Alfrodull (talk | contribs)
No edit summary
 
(111 intermediate revisions by 55 users not shown)
Line 1: Line 1:
'''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 [[Abandonware|abandonment]] or [[Orphaned technology|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]].
{{Wikify|date=June 2007}}


==Necessity of escrow==
'''Source code escrow''' means deposit of the source code of the [[software]] into an account held by 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]].
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 secret]]s.<ref name="Heusler 177">{{cite book|last=Heusler|first=Bernhard|author2=Mathys, Roland |title=IT-Vertragsrecht|publisher=Orell Füssli|location=Zürich|date=2004|pages=177|isbn=3-280-07030-9|language=German}}</ref>


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.<ref name="Heusler 178">Heusler/Mathys, p. 178.</ref>
Source code escrow services may be very limited, such as verifying that media is readable, or very comprehensive, such as doing a complete build of the software based on the source code and verifying features match the binary version.


==Escrow agreements==
==History==
Source code escrow takes place in a contractual relationship, formalized in a source code escrow agreement, between at least three parties:
In 1981, a young mathematician named Dwight Olson saw an opportunity in the infant software product industry. Software companies often were unpredictable and difficult-to-understand let alone invest in. They were formed and dissolved, merged or acquired with quite regularity. If you wanted to use one of their software products, you had to accept the substantial risk that the software company would be gone before the software product's useful life was over and had to be replaced. When the software company was gone, the licensees were on their own: no more support, no more enhancements, and no more future product releases.
* one or several licensors,
* one or several licensees,
* the escrow agent.<ref name="Heusler 178" />


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.<ref name="Heusler 178" />
This risk, sometimes called “software intellectual property investment risk,” proved a deterrent to the adoption of innovative software from smaller vendors. In the early eighties there were only small software companies. Olson wanted to find a way to control this software investment risk. If software source code could be stored in a safe place — a place where only a neutral third party could access it, and the developer still in control of it, then users could obtain it in the event that the owner-originator went bankrupt!


Source code escrow agreements provide for the following:
The source code could be released to those who had an escrow agreement and a license for it in the event that the software company simply no longer existed and in some instances for mission critical software when the software provider materially breached a support agreement.
* 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.<ref name="Heusler 179">Heusler/Mathys, p. 179.</ref>
* They oblige the licensor to put ''updated versions'' of the software in escrow in specific intervals.<ref name="Heusler 179" />
* 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.<ref name="Heusler 180">Heusler/Mathys, p. 180.</ref>
* 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.<ref name="Heusler 180" />
* 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 [[Software build|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 clause]]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.<ref name="Heusler 181" />
* They also provide for the ''fees'' due to the escrow agent for his services.<ref name="Heusler 181">Heusler/Mathys, p. 181.</ref>


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.<ref name="Heusler 180" />
Such an idea would work only if a neutral third party held the software for the benefit of both the software developer and user. Thus, “Software escrow” was born.


[[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.<ref name="Heusler 182">Heusler/Mathys, p. 182.</ref>
Olson’s business, Data Securities International, started in 1982 and grew slowly and steadily for over 20 years, and he and the investors eventually sold it to Iron Mountain. Today, it is the largest of several software and technology escrow providers in the marketplace.


==Third party escrow agents==
==Election law==
Museums, archives and other [[GLAM (industry sector)|GLAM]] organizations have begun to act as independent escrow agents due to growing [[digital obsolescence]]. Notable examples are the [[Internet Archive]] in 2007,<ref>{{cite web |url=https://archive.org/details/clasp |title=The Internet Archive Classic Software Preservation Project | publisher=[[Internet Archive]] |access-date=October 21, 2007| archive-url= https://web.archive.org/web/20071019034848/https://archive.org/details/clasp| archive-date= October 19, 2007 | url-status= live}}</ref><ref>{{cite web|url=http://waxy.org/2008/04/milliways_infocoms_unreleased_sequel_to_hitchhikers_guide_to_the_galax/ |title=Milliways: Infocom's Unreleased Sequel to Hitchhiker's Guide to the Galaxy|date=Apr 17, 2008|quote=''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''|publisher=waxy.org|first=Andy|last=Baio|accessdate=January 26, 2016}}</ref> the [[Library of Congress]] in 2006,<ref name="New York Times">{{cite news |url=https://www.nytimes.com/2007/03/12/arts/design/12vide.html?_r=4&ref=technology&oref=slogin&oref=slogin&oref=slogin&oref=slogin |title=Is That Just Some Game? No, It's a Cultural Artifact |last=Chaplin |first=Heather |newspaper=[[New York Times]] |date=March 12, 2007 |accessdate=September 27, 2013}}</ref><ref>{{cite web |url=https://www.buzzfeed.com/josephbernstein/meet-the-men-trying-to-immortalize-video-games |title=Meet The Men Trying To Immortalize Video Games |author=Joseph Bernstein |website=[[BuzzFeed]] |date=October 27, 2014 |access-date=August 22, 2016}}</ref> [[International Center for the History of Electronic Games|ICHEG]],<ref>{{cite web|url=http://www.museumofplay.org/blog/chegheads/2010/10/ichegs-approach-to-collecting-and-preserving-video-games/ |title=ICHEG's Approach to Collecting and Preserving Video Games |first=Jon-Paul C. |last=Dyson |date=October 13, 2010 |accessdate=August 22, 2014 |publisher=museumofplay.org}}</ref> [[Computer History Museum]],<ref>{{cite web | url = http://www.computerhistory.org/highlights/macpaint/ | title = MacPaint and QuickDraw Source Code | work = Computer History Museum | date = July 20, 2010}}</ref><ref>{{cite web|url=http://www.businessweek.com/technology/ByteOfTheApple/blog/archives/2010/07/apple_donates_macpaint_source_code_to_computer_history_museum.html |archiveurl=https://web.archive.org/web/20120209010310/http://www.businessweek.com/technology/ByteOfTheApple/blog/archives/2010/07/apple_donates_macpaint_source_code_to_computer_history_museum.html |archivedate=February 9, 2012 |publisher=businessweek.com |date=July 20, 2010 |title=Apple Donates MacPaint Source Code To Computer History Museum |first=Arik |last=Hesseldahl}}</ref> or the [[MOMA]].<ref>{{cite magazine|url=https://www.wired.com/2013/05/moma-video-games/|title='All Hell Broke Loose': Why MoMA Is Exhibiting Tetris and Pac-Man|first=Bo |last=Moore|magazine=Wired|date=May 30, 2013 |publisher=wired.com |accessdate=January 18, 2016 |quote=''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.”''}}</ref>
An entirely different use of source code escrow was made by the State of North Carolina in 2005, when it enacted an election integrity law. This law was put in place, in part, to avoid glitches in electronic voting machines as seen in the North Carolina 2004 elections. The law required the source code escrow for the original purpose of protecting the licensee in the event of the bankruptcy of the licensor. However, it went further and took the unprecedented step of allowing, and in fact requiring, review of the code in escrow. It allowed review by the State Board of Elections, Office of Information Technology Services, the State chairs of each political party, the purchasing county, and up to three designated agents of same. It ''required'' review by the State Board of Elections prior to certifying any voting system. While previous use of source code escrow had the intent of concealing the code from the user (while still assuring access in the event the supplier could not support the code), the North Carolina law used source code escrow to allow the user to inspect the code.

There are also some cases where [[fan community|software communities]] act as escrow agent, for instance for ''[[Wing Commander (video game)|Wing Commander]]'' [[video game]] series<ref name="WC1sourcecode">{{cite web|url=http://www.wcnews.com/news/update/11167 |title=BIG NEWS: Wing Commander I Source Code Archived! |quote=''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.'' |publisher=wcnews.com |date=August 26, 2011 |accessdate=January 14, 2013 |archiveurl=https://web.archive.org/web/20131109014042/http://www.wcnews.com/news/update/11167 |archivedate=November 9, 2013 }}</ref><ref name="WC3sourcecode">{{cite web |url=http://www.wcnews.com/news/2011/09/13/wing-commander-iii-the-source-code |title=Wing Commander III - The Source Code |quote=''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!'' |publisher=wcnews.com |date=September 13, 2011 |accessdate=January 14, 2013 |archiveurl=https://web.archive.org/web/20131203031958/http://www.wcnews.com/news/2011/09/13/wing-commander-iii-the-source-code |archivedate=December 3, 2013 }}</ref><ref name="wc4source">{{cite web|url=http://www.wcnews.com/news/2012/04/03/wing-commander-iv-source-code |title=Wing Commander IV: Source Code |quote=''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.'' |publisher=wcnews.com |date=April 3, 2012 |accessdate=January 14, 2013 |archiveurl=https://web.archive.org/web/20131109005741/http://www.wcnews.com/news/2012/04/03/wing-commander-iv-source-code |archivedate=November 9, 2013}}</ref> or [[Ultima 9]] of the [[Ultima series]].<ref name="u9code">{{cite web|url=http://ultimacodex.com/2014/11/ultima-9-the-source-code/|publisher=ultima codex|author=WtF Dragon |date=November 26, 2014 |accessdate=October 28, 2015 |title=Ultima 9: The Source Code|quote="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."}}</ref>

==Software open-sourcing to the public==
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 (software)|Blender]] graphics suite was released in this way following the bankruptcy of Not a Number Technologies; the widely used [[Qt (toolkit)|Qt toolkit]] is covered by a source code escrow agreement secured by the "KDE Free Qt Foundation".<ref>{{cite web|url=https://www.kde.org/community/whatiskde/kdefreeqtfoundation.php|title=KDE Free Qt Foundation}}</ref>

There are many cases of [[End-of-life (product)|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==
==See also==
* [[Source code repository]] for [[open source]]
* [[Software patent]]
* [[Legal aspects of computing]]
* [[Orphan works]]

==References==
{{Reflist}}


==External links==
==Further reading==
* [https://books.google.com/books?id=wJswszKTwl4C&dq=source+code+escrow&pg=PA99 Computerworld (7/20/92, page 99): Don't Rush Into Source Code Escrow]
* [http://www.ncleg.net/Sessions/2005/Bills/Senate/HTML/S223v7.html North Carolina SL2005-323]
* [https://books.google.com/books?id=-ECKqAsQzUIC&dq=source+code+escrow&pg=PA262 A Guide to IT Contracting: Checklists, Tools, and Techniques] ({{ISBN|9781439876572}}, 2013) - Page 262
* [https://www.codekeeper.co/escrow-agreement.html Software escrow agreement samples]


[[Category:Source code|Escrow]]
[[Category:Source code|Escrow]]

Latest revision as of 20:17, 5 February 2024

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[edit]

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]

Escrow agreements[edit]

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.[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[edit]

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]

Software open-sourcing to the public[edit]

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.

See also[edit]

References[edit]

  1. ^ Heusler, Bernhard; Mathys, Roland (2004). IT-Vertragsrecht (in German). Zürich: Orell Füssli. p. 177. ISBN 3-280-07030-9.
  2. ^ a b c Heusler/Mathys, p. 178.
  3. ^ a b Heusler/Mathys, p. 179.
  4. ^ a b c Heusler/Mathys, p. 180.
  5. ^ a b Heusler/Mathys, p. 181.
  6. ^ Heusler/Mathys, p. 182.
  7. ^ "The Internet Archive Classic Software Preservation Project". Internet Archive. Archived from the original on October 19, 2007. Retrieved October 21, 2007.
  8. ^ 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
  9. ^ Chaplin, Heather (March 12, 2007). "Is That Just Some Game? No, It's a Cultural Artifact". New York Times. Retrieved September 27, 2013.
  10. ^ Joseph Bernstein (October 27, 2014). "Meet The Men Trying To Immortalize Video Games". BuzzFeed. Retrieved August 22, 2016.
  11. ^ Dyson, Jon-Paul C. (October 13, 2010). "ICHEG's Approach to Collecting and Preserving Video Games". museumofplay.org. Retrieved August 22, 2014.
  12. ^ "MacPaint and QuickDraw Source Code". Computer History Museum. July 20, 2010.
  13. ^ Hesseldahl, Arik (July 20, 2010). "Apple Donates MacPaint Source Code To Computer History Museum". businessweek.com. Archived from the original on February 9, 2012.
  14. ^ 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."
  15. ^ "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.
  16. ^ "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!
  17. ^ "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.
  18. ^ 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.
  19. ^ "KDE Free Qt Foundation".

Further reading[edit]