All software, large or small, need maintenance in the long run. And, with maintenance comes support for its source code. We are not talking about the traditional technical support, but the capability to go back to the source code at any point in time with changes or checks in mind. What happens to your business if your source code becomes inaccessible and your business rules change? This question might seem inconsequential on the face of it, but consider your deployment and investment in the application as a whole. You spend many indirect millions training your employees to use it and many millions arranging for safe storage of data, generated and used by this software. But, what about the software itself? Tomorrow, your developer might decide to go a different way. Getting the whole thing re-done by someone else would not only introduce many
unknowns in the form of inconsistencies and new bugs in the deployment, but also cost a lot more money. Okay, enough said about the problems; what is the solution,
you ask?
It has long been the bane of the business world not to trust some associates at all and yet to trust others blindly. We use safe deposit boxes and lockers provided by banking institutions almost everyday. These same lockers can be used not only to safeguard our own assets, but also safely transfer them to someone else. Only someone with the same set of keys can open your box and gain access to those assets. The same is the principle of 'Escrow Services'. An escrow is merely a third party to your contract with someone else. It is the duty of the ESP (Escrow Service Provider) to safeguard your transaction to the end. So far, such services have been heavily utilized in the fields of finance and law. However, with the increasing adoption of global information services, where developers and end users are ever on the other side of the world from each other, escrow services has found a new extension in the realm of computer software.
How it works
Escrow services are commonly used as a safeguard against bankruptcy. If the developer (known as the 'software licensor') goes bankrupt and can no longer continue to provide his services to you as before, the escrow services will release everything placed with them, in relation to your particular contract with that developer, to you. Let's take an example to understand this better.
|
Let us say X and Y have made a deal. Y is to develop and provide X with custom software A. They rope in Z who provides escrow services. X and Y tell Z that if Y goes bankrupt, Z is to release all source code to X and other material to do with A. Say some years down the line Y goes bankrupt and is forced to shutdown its business. X informs Z of the development. According to the established agreement, Z immediately releases the material to X after due verification of facts.
Typical release conditions
Typically, you would want release of material to be based on problems with product quality, running or maintaining it in the long run (including upgrades) and support failures. Like doctors and judges, escrow agents are to exercise discretion and maintain neutrality. They are not supposed to take sides to an argument. However, they might very well use their experience to make suggestions or provide alternatives, should the situation arise. Just like all other legal contracts, escrow agreements also need clarity to resolve any dispute quickly.
Standard storage
What material have you got deposited with the escrow agent? Well, most escrow agents have a standard list that can be easily followed. This list would contain source code copies, all documentation including that of source code and the end-user application, tools for maintenance and testing, and third-party components used in the product.
|
It is also useful to request for and provide detailed instructions for compiling and debugging the source code to reach it to its fully executable form.
Usually, such instructions are obtained in text as well as video formats. Additionally, the escrow agent may maintain lists of technically qualified personnel, companies or agents who can help
with the continuation of the product if the need arises.
Why you?
Consider an article (year 2000) by The Economist, which said that nearly 60 percent of all newly created software companies would disappear within five years. Added to that, core-competency skills are rapidly changing today.
Why would a developer maintain the same skill-set required to support your application five years from now, when he can easily upgrade to suit market changes? Software escrow agreements are the only way to protect your investment against such uncontrollable forces, injected by necessities of change.
Sujay V. Sarma