written for my organization, and someone asked if I’d arranged for “software
escrow”. What is that, and why would I want it?
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.
Become a Patron of Ask Leo! and go ad-free!
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.
But I think of it as an insurance policy.