How do I choose the right software escrow?
What would be the best choice for you; a more traditional source code escrow or an automated solution. In this chapter we will go over both and their unique properties so you can choose the right one for you.
A more traditional source code escrow service was originally intended for a traditional software product, which is different from today’s software in many ways, but most significantly in that it is downloaded to hardware and updated on a periodic, scheduled basis — typically once or twice a year
This frequency was enough back in the day because the actual source code only really changed one to two times per year. So if a beneficiary was eligible for an escrow release, they were likely to get the most recent source code.
Traditional escrow agents tend to employ the waterfall development model, which is a “far less iterative and flexible approach, as progress flows in largely one direction ("downwards" like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, deployment and maintenance.”
Besides being less iterative and flexible, as a more labor-intensive solution, this approach is also much slower and significantly more expensive. This is especially true when a traditional escrow provider takes on SaaS companies as clients, who innately have greater needs — especially in terms of ongoing updates. This means the escrow agent has to perform more services and dedicate more resources and workers to meeting their SaaS customers’ needs.
One way in which this manifests is with deposits. It’s not uncommon to see considerable additional charges for licensors whenever it’s necessary to deposit a new version of a software; or for end-users, whenever they need to access new features and functionalities.
In the same vein, the backup and storage of data are not likely to be addressed in a traditional source code escrow agreement. Having access to the most up-to-date source code, as well as all accompanying materials and data necessary for a successful recovery, is a prerequisite to a successful software escrow relationship. From the perspective of the end-user, this is an absolute must-have for any source code escrow agreement today.
Needless to say, traditional software escrow solutions were not designed for the agile software development methods that we see in SaaS environments today, where software is updated on an ongoing basis. Should the software supplier or the customer ever need to rely on the source code being up-to-date, a traditional solution would typically not be the most effective way of escrowing software.