Software escrow agreements are a necessary protection for enterprise software transactions and have been since the late 1970s. The typical scenario is that a large enterprise corporation is looking to gain some competitive advantage by automating some business process by taking advantage of new technology from an emerging software or technology company. They recognize that the software company is unproven and may even be operating in an unprofitable or venture-funded state. The software escrow agreement helps end-users rationalize the risk by providing them with access to source code, build instructions and other documentation so that the end-user could recreate the licensed software or technology even if the software company should go out of business.
Traditionally, software companies used “waterfall” software development methods which meant that major software upgrades were released on a scheduled basis typically bi-annually or annually. Often times, major releases of new versions of software trigger required an additional purchase by the end-user to obtain the new features and functionality. Waterfall development methodologies at that time were typically slower, much more expensive and new functionality could only be added every year or two.
Intense competition in the software industry as well as the shift to software-as-a-service by enterprise end-user organizations led to software companies trying to push out new functionality more frequently. In addition, these updates are now typically included in the monthly or annual subscription price As software companies and software as a service (SaaS) companies in particular become more prevalent, software developers in many cases switched to an “agile” method where releases of new functionality and features are released far more frequently, in same cases weekly.