Software Contracts Checklist for Purchasers

Date: Apr 24, 1997

More and more businesses find it necessary to purchase specialized software programs that are not generally available at the local computer store. Often, these programs require a significant investment in money and training. It is especially important to understand who owns the source code, and whether there are any restrictions, limits or future payments on use. Accordingly, before signing any agreement to purchase or develop such software, check to see if the agreement contains the following provisions:


    • A warranty that the software will perform in accordance with the published and/or agreed upon specifications.
    • A warranty that the software is fit for the customer’s particular purpose.
    • A warranty that the software will not violate or infringe upon any copyright, patent, trade secret or other right of any other person.
    • If you are not negotiating for copyright ownership, a warranty that the vendor is the owner or has the absolute right to license the software to the customer free of impediments or future royalty payments.
    • A warranty that the software contains no disabling codes which the provider can trigger without the customer’s knowledge.

Ownership and use

    • A provision either granting to the customer a perpetual, royalty free license or a copyright "work-for-hire" or transfer agreement giving ownership in the software, including all improvements and modifications to the customer.

Access to Source Code

    • A provision allowing the customer to obtain a copy of the current source code and related documentation in the event the vendor defaults, wishes to terminate the agreement, becomes insolvent or goes out of business. This is usually handled through the use of a source code escrow held by an independent third party.

Acceptance, Testing and Delivery

    • A provision giving the customer a right to test the software before acceptance. Testing should be to the customer’s satisfaction or to some objective standard.


    • The payment provision should allow Customer to hold back a significant percent of the total amount (20% - 50%), until after final acceptance. This provision should be linked to the appropriate test period, and the provider should correct defects at no additional charge.

Maintenance and Support

    • The provider’s obligations to provide maintenance and support should be clearly spelled out.
    • Fees and costs for upgrades, enhancements or other changes should be clarified, or the process for agreeing on appropriate fees spelled out. Ideally, upgrades and enhancements which do not change the software’s function or create new ones should be included in the contract cost. Program changes which provide new functions should be either included or made available at a reasonable cost.


    • Indemnification and hold harmless provisions protecting customer from any claim of copyright, trademark or patent infringement and providing for customer’s "quiet enjoyment" of the software.

Even form contracts provided by a software developer should be subject to negotiation, so bear these issues in mind at the outset to be sure that you maximize the value of our investment.

For more information, please contact Sheila A. Millar at 202-434-4143 or by e-mail at millar@khlaw.com.