What is source and object code?

Source code is the set of programmatic statements created in a structured (programming) language by developers, permitting software to execute intended functions. Object code is the output of a compiler after it processes source code. The compiler transforms the source code into a program the computer can execute.

License grants are usually limited to object code. In an escrow agreement, the vendor may make source code available. At a minimum, the licensee should be entitled to withdraw the source code from escrow in the event the vendor becomes bankrupt or insolvent, or ceases to conduct business or ceases to adequately support or maintain the software in accordance with the agreement. In software asset management, escrow is a legal arrangement whereby source code for acquired software is stored under the trust of a neutral third party and released only when a contractual contingency or condition is met, such as bankruptcy or when a party goes out of business.

Other breaches of the agreement may also serve as the basis for obtaining the source code (e.g., assignment to the licensee’s competitor). When you are paying for the escrow, add audit provisions to ensure the vendor lives up to its obligations (e.g., vendor pays for audit if you discover material omissions in the escrow deposit).