Source code escrow is a type of "middleman agreement" between software providers and customers to ensure that software applications and platforms are maintained regardless of any changes that may happen to the vendor. It involves the vendor sharing the source code with an escrow agent.
The need for source code escrow arose because customers wanted ironclad guarantees that software services would be maintained, but vendors did not want to hand over copies of the software source code to the customers for obvious reasons, including proprietary development and intellectual property considerations. The use of a source code escrow system is a handy compromise and addresses the vendor’s need to make sure that the source code is not going out to the public.
From the customers' perspective, source code escrow is a kind of safeguard for their investment in a software program, the same way that a performance bond or other surety bond is a provision for investment in special projects. Source code escrow protects both parties and helps with overall change management, for example, making provisions in case the vendor goes bankrupt.