What is Software Escrow? Is Software Escrow something you want?
softwareescrowguide.com is but a google away. The short version - software escrow is where a third party has a copy of a software product's source code, guaranteeing that, say, a business using that software product can continue development of the product if the vendor goes under.
Is it something you want? Depends on who you are and what you want, I guess.
This is where, when a customer purchases the software or a service, a vendor will put their codebase into the control of a third-party with contractual terms that it can be released to the customer should the vendor cease trading.
As a customer buying in a closed-source product from a small vendor where their longevity is unclear it can be a make-or-break on a deal providing some assurance of continuity should they cease trading.
Software escrow is when you nominate a 3rd party company to take possession of your source code. They keep your code safe and don't release it to anyone.
In the event that your company ever goes bankrupt, or closes down, the escrow provider will release your source code to any clients who were using your application (who also usually will an account with the escrow provider).
You will find that if you provide software to large institutions (like Banks, etc) they are likely to demand escrow agreements so they can ensure that if in the future something goes terribly wrong in your company, they aren't left with an app that can't be supported.
Usually the escrow provider will perform some form of validation on your source code to confirm that the code you have provided is enough to produce a fully compiled and working copy of your application. Often this validation takes the form of a demonstration of the full build process from the provided media.
The cases under which the escrow provider can release your code will vary slightly from provider to provider and your specific contract with them, but will usually only be for outright company closures. They don't usually just give out your source code just because you've decided not to fix a particular bug in your next release.
With regards to whether or not escrow is something you want, it depends on which side of the fence you're on. If you are development company selling software, then only do it if you client requires it. Escrow providers charge a fee, and it can be time consuming to ensure that the escrow is kept regularly up to date (particularly if you don't have full clean build scripts).
If you are buying software, consider what would happen if the company you are buying from went bankrupt. Is the software you are buying so critical that you wouldn't just be able to switch for something new? Also, are you big enough, that you could realistically take on the cost of getting your own (or new) developers to maintain the application.
Software Escrow generally refers to a provision in Software licensing agreements that allow the party the licenses the software to acquire the source code in certain circumstances, typically bankruptcy (or something similar) of the party that wrote the software. Often times a neutral third party will "hold" the code in escrow and be the arbiter of whether they should give the code to the licensee.
They tend to be used when small companies license software to big companies since big companies want to protect themselves incase of bankruptcy of a small company. In practice, these things cost money and time. A neutral third party will charge money for the service and the team the wrote the software will need to update the escrow account periodically.
As to whether you want it -
If you are a software vendor, then not unless the client asks and only then if you have to. It is a pain to manage.
If you are licensing the software, you probably don't care unless you are a large company with a lot of resources. In practice, if you need to maintaining someone else's code it not particularly practical
It's something the purchaser definitely wants. Is it something the developer wants? Probably, in that it will help make the deal. The catch is to write the contract so that you retain control as long as it makes sense for you to retain control.
What is Software Escrow? Is Software Escrow something you want?
From a user's perspective: If the user does not have access to an application's source code, software escrow is the insurance policy that in the event of a "disaster" the escrow agent will release a copy of the source code to the user. The user needs to determine the risk associated with not being able to get the business critical or mission critical software maintained as their business needs change.
From a developer's perspective: There are two perspectives. 1) It is a tool to ensure their intellectual property (the source code) is kept in-house unless a "disaster" occurs when the escrow agent will release a copy of the source code to the user. 2) It can also be used as a tool to help marketing their application.
"Disasters" or release events are explicitly defined in the escrow agreement.
Software Escrow Guardians is an escrow agent and has been providing software escrow services for nearly twenty years. The company has an escrow agreement template suitable as a framework for an escrow service involving an individual user and a developer. It also has an escrow agreement template suitable for multiple users and a developer.