10/12/08

What is Software Escrow?

Getting someone to write software for you can result in a wonderful, custom solution to your problem. It can also incur a significant amount of risk if things go wrong.
Software escrow is one way of protecting you in certain types of projects when certain things go wrong.

When you contract out for software to be written for you, there are several decisions that are part of the process. One that's often overlooked is whether or not you get a copy of the source code when the project is done.
The source code is the collection of written instructions that the programmer actually writes to create a program. For many types of programs, the source code is then transformed into the "executable" that you actually run. For example "notepad.exe" is a executable program that comes with Windows. Somewhere back at Microsoft they keep the written instructions, or source code, that the programmers used to create it.
Open source software projects make the source code publicly accessible. Anyone with enough knowledge can create the software executable using the source code. Closed source, or "proprietary" software is just the opposite ... the source code is not available publicly, only the executable. Companies use this approach to retain their intellectual property, and trade secrets.
When you contract with someone to write software for you one decision, implied or explicit, is whether the source code belongs exclusively to the developer, or whether you get a copy. If you do, you have the safety of being able to have someone else make changes or fix bugs in the future, but the developer is giving up some of his or her potential control of that software. If the developer retains the source code and you don't have access to it, then you are dependant on the developer for all future updates. Typically developers will charge more if you get the source code.
It's common to opt for the cheaper option, or to have the developer simply not give you the option.
So what happens if your developer goes out of business? What if all of the source code simply disappears?
That's where software or source code escrow comes into play.
As part of arranging for your software to be written, you and the developer can agree that a copy of the source code will be given to a neutral third party - an escrow agent. The agreement would then specify under which conditions that agent would be allowed to release the source code to you. For example one of the conditions might be the developer's bankruptcy or going out of business for other reasons. By using software escrow, the developer is protected as long as it makes sense for them to retain control, and you are protected should the developer disappear. (Naturally other conditions might trigger the release, but the developer's going out of business is a clear example.)
Software escrow is not fool proof. For example, what happens if the escrow agent goes away? And escrow typically adds some cost to your transaction.

My Wish List