Software Development Agreement

This Software Development Agreement is made on [EFFECTIVE DATE] between [DEVELOPER NAME], [whose principal place of residence is at/a [CORPORATE JURISDICTION] corporation with its principal place of business located at] [DEVELOPER ADDRESS] (the "Developer"), and [CUSTOMER NAME], a [CORPORATE JURISDICTION] corporation with its principal place of business located at [CUSTOMER ADDRESS] (the "Customer").

The parties agree as follows:

1. Definitions. In addition to the terms defined above, the following definitions apply:

1.1. "Confidential Information" means all [material] [non-public] [business-related] information, written or oral, that the Customer discloses or makes available to the Developer,[ directly or indirectly,] through any means of communication [or observation].

1.2. "Software" means [DEFINITION OF SOFTWARE], and all associated documentation and other instructions.

1.3. "Specifications" has the meaning given to it in section 3.1.

2. Software Development Services. The Customer engages the Developer, and the Developer agrees, to perform services for the Customer to develop, deliver, [install,] [and support and maintain] the Software in accordance with the terms of this agreement.

3. Developer's Duties and Responsibilities

3.1. Specifications. The Customer shall define the specifications, requirements, and deliverables (the "Specifications")[, with input from the Developer].

3.2. Development. The Developer shall design, develop[, install], and implement the Software in accordance with the Specifications.

3.3. Delivery. The Developer shall[ use reasonable efforts to] deliver the Software to the Customer,[ no later than [DELIVERY DEADLINE DAYS] days after the Effective Date OR as soon as commercially practicable] in accordance with the Specifications.

3.4. [Installation. The Developer will be responsible for conducting all activities required to install the Software at the Customer's premises.]

4. Acceptance

4.1. Acceptance Period. The Customer will have [ACCEPTANCE PERIOD] days following the date of [delivery OR installation] to assess and test the Software.

4.2. Completion. If the Developer[, in the Customer's opinion,] delivers the Software in accordance with the Specifications, then the Developer will be deemed to have completed its delivery obligations.

4.3. Rejection. If the Developer[, in the Customer's opinion,] fails to deliver the Software in accordance with the Specifications, the Customer shall detail in writing its grounds for rejection. In that case, the Developer shall [promptly OR use reasonable efforts to] correct the Software, in which case upon delivery of the corrected Software, the process of acceptance testing will restart.

4.4. Continued Failure. If the Developer's corrections[, in the Customer's opinion,] fail to deliver the Software in accordance with the Specifications, then the Customer may elect to either terminate this agreement or adjust the Specifications accordingly.

5. Change Orders

5.1. Changes. The Customer may at any time request changes to the Specifications.

5.2. Additional Time or Expense. If the proposed change will, in the Developer's reasonable opinion, require a delay in the [delivery OR installation] of the Software or result in additional expense, then the Customer and the Developer shall confer. The Customer may in that case elect to either

(a) withdraw its proposed change, or

(b) require the Developer to deliver the Software with the proposed change,

subject to the delay or additional expense or both.

5.3. Termination. If the Developer is unable to accept, or chooses not to accept, the change order, the Customer may terminate the agreement upon notice to the Developer.

6. Training

6.1. Scope. The Developer shall provide the Customer with [[TRAINING HOURS] hours of training OR such training as the Customer may reasonably request] on the use of the Software.

6.2. Dates and Locations. The Developer shall conduct the training on the dates and at the locations that the parties agree upon.

6.3. Costs. The training Developer shall provide the training at [$[TRAINING COST] per session OR no additional cost].

7. Support and Maintenance

7.1. Initial Period. The Developer shall provide the Customer with support and maintenance services for [one] year following delivery and acceptance.

7.2. Renewal Periods. The Customer may renew its support and maintenance subscription after the initial subscription period at the Developer's then-current rates.

8. Fees and Expenses

8.1. Fees. The Customer shall pay the Developer

(a) $[INITIAL PAYMENT] upon signature of this agreement as a down payment, and

(b) a license fee of $[FINAL PAYMENT] upon [delivery [in accordance with the Specifications] OR acceptance].

8.2. Expenses. The Customer shall reimburse the Developer for all reasonable expenses that the Developer incurs in developing the Software[, but only if the Customer has given its prior approval to the expenses].

8.3. Payment Due Date. All fees under this agreement will be due and payable in full to the Developer no later than [PAYMENT PERIOD] days after the date of the Developer's invoice.

8.4. Late Payments. Any amount not paid when due will bear interest from the due date until paid at a rate equal to [1]% per month ([12.68]% annually) or the maximum allowed by law, whichever is less.

9. Term. This agreement will begin on [the Effective Date/[START DATE]] and continue until the Developer has performed all its obligations under this agreement, unless terminated earlier.

10. Representations. The Developer represents and warrants to the Customer as follows, acknowledging that the Customer is relying on these representations and warranties:

10.1. Right to Assign. The Developer[ is the sole author of the Software and] has, and will have, the authority to assign rights to the Software to the Customer under this agreement.

10.2. No Infringement. The Developer's use of the Software will not infringe upon the intellectual property, contractual, or other proprietary or personal rights of any person.

11. Warranties

11.1. Limited Media Warranty. The Developer warrants that, for a period of [MEDIA WARRANTY PERIOD] following delivery of the Software, the media upon which the Software is delivered will be free from defects in materials and workmanship under normal use.[ The Developer's sole obligation in this regard will be to provide the Customer with a performing copy of the Software within a reasonable time following the Customer's written notice to the Developer of the defect.]

11.2. Limited Support Warranty. For a period of [SUPPORT WARRANTY PERIOD] following the [delivery OR installation] of the Software, the Developer shall perform its maintenance and support services consistent with generally accepted industry standards, but only if the Software is installed and operated in accordance with the Developer's documentation and other instructions.

11.3. Limited Performance Warranty. The Developer warrants that, for a period of [PERFORMANCE WARRANTY PERIOD] starting on the date of [delivery OR installation] of the Software, the Software will perform substantially in accordance with the functional specifications set forth in the documentation, but only if the Software is installed and operated in accordance with the Developer's documentation and other instructions.

11.4. Disclaimer. [The Developer does not warrant that the functions contained in the Software will meet the Licensee's requirements or operate in the combination desired by the Licensee, or that the Software's operation will be uninterrupted or error free. ]The Developer does not make and will not be liable for any warranties other than those expressly included in this agreement.

12. Acknowledgments

12.1. Independent Contractor. The Developer is an independent contractor. Nothing contained in this agreement creates a partnership, joint venture, employer/employee, principal-and-agent, or any similar relationship between the parties.

12.2. [Proprietary Rights. The parties acknowledge that the development of the Software is "work for hire" within the meaning of the Copyright Act of 1976, as amended on one or more occasions, and that the Software will be the Customer's sole property.]

12.3. [Consent to Use of Data. The Developer may collect and use technical information gathered as part of its support services, but may only use this information to improve its products and services. The Developer shall not disclose this any of this information in a form that personally identifies the Customer or it clients.]

12.4. Government End Users. If the Software and related documentation are supplied to or purchased by or on behalf of the United States Government, then the Software is deemed to be "commercial software" as that term is used in the Federal Acquisition Regulation system. The rights of the United States will not exceed the minimum rights set forth in FAR 52.227-19 for "restricted computer software". All other terms and conditions of this agreement otherwise apply.

13. Confidentiality

13.1. Confidentiality Obligations. During the term of this agreement and for [RESTRICTED PERIOD] afterward, the Developer shall hold all Confidential Information in confidence in accordance with the terms of this agreement.

13.2. Use Solely for Purpose. The Developer shall use the Confidential Information in accordance with, and solely for the purpose of providing its services under, the terms of this agreement.

14. Source Code Escrow

14.1. Delivery of Object Code. The Developer shall deliver the Software to the Customer in object code form only.

14.2. Escrow of Source Code. The Developer shall deposit one copy of the source code version of the Software with an escrow agent specializing in software escrows, to be mutually agreed upon in writing by the parties after good faith negotiation.

14.3. Delivery and Update of Source Code. The Developer shall deliver the source code to the escrow agent within [SOURCE CODE DELIVERY DAYS] days after its delivery of the object code to the Customer. Thereafter, the Developer shall deposit with the escrow agent the source code version of all updates to, enhancements of, and modifications to the Software created by the Developer on the Customer's behalf.

14.4. Payment of Escrow Fees. The Customer shall pay all fees necessary to establish and maintain the escrow.

14.5. Contingent License. The Developer hereby grants to the Customer a contingent license to receive the source code from the escrow agent and to use the source code to support its use of the Software in machine-readable form if one or more of the following events occurs:

(a) the Developer fails to fulfill its obligations to maintain the Software as provided in this agreement,

(b) the Developer, whether directly or through a successor or affiliate, ceases to be in the software business,

(c) the Developer becomes insolvent or admits insolvency or a general inability to pay its debts as they become due,

(d) the Developer files a petition for protection under the U.S. Bankruptcy Code, or an involuntary petition is filed against it and is not dismissed within [60] days, or

(e) the Developer comes under the control of a competitor of the Customer.

15. Assignment of Rights. Upon acceptance of the Software and payment of all compensation due to the Developer, the Developer agrees to grant and assign, and hereby grants and assigns, to the Customer its entire interest in the Software (including all intellectual and other property rights).

16. Indemnification

16.1. Developer's Indemnity. The Developer shall indemnify the Customer[ and its officers, directors, employees, agents, and affiliates,] against all claims, liability, costs, and expenses (including attorneys' fees) arising from any third party claim or proceeding against the Customer

(a) based on any claim that the Software [or any services performed under this agreement] infringes or violates any intellectual or other property right, or

(b) that alleges any negligent act or omission or willful conduct of the Developer[ or its directors, officers, employees, agents, or affiliates].

16.2. Notice of Claim. The Customer shall give prompt written notice to the Developer of any claim or potential claim for indemnification under this agreement.

16.3. Exclusive Remedies. The rights granted under this section 16 (Indemnification) are the exclusive remedies available under this agreement in connection with the claims and losses that this section addresses.

17. Limitation of Liability. Neither party will be liable for breach-of-contract damages that the breaching party could not reasonably have foreseen on entering into this agreement.

18. Termination

18.1. Termination upon Notice. Either party may terminate this agreement for any reason upon [TERMINATION FOR CONVENIENCE NOTICE] days' Notice to the other party.

18.2. Termination for Cause. If either party

(a) commits a material breach or material default in the performance or observance of any of its obligations under this agreement, and

(b) the breach or default continues for a period of [CURE PERIOD] after delivery by the other party of written notice reasonably detailing such breach or default, then

the non-breaching or non-defaulting party may terminate this agreement, with immediate effect, upon written notice to the breaching or defaulting party.

18.3. Termination upon Insolvency. This agreement will terminate immediately upon the Developer's insolvency, bankruptcy, receivership, dissolution, or liquidation.

18.4. Effect of Termination

(a) Termination for Customer's Breach. In the event of termination of this agreement due to a material breach or default committed by the Customer,

(i) the assignment of rights to the Customer in this agreement will terminate, and

(ii) the Customer shall immediately stop using the Software and destroy or erase all copies in its possession or control.

(b) Termination for any other Reason. In the event of termination of this agreement for any other reason,

(i) the Customer will not be required to make payment for any Deliverables that the Customer had not accepted,

(ii) the Customer will continue to exercise all rights to the Software that it has acquired under this agreement,

(iii) the Developer shall immediately deliver to the Customer all Software, documentation, source code, and other Customer property in its possession relating to the Software and then destroy all copies in its possession or control, and

(iv) the Customer shall pay the Developer for all services rendered and work performed up to the effective date of termination, unless the Customer has terminated for cause, in which case it will only be required to pay fair value. The Developer shall provide the Customer with an invoice for its fees within [30] days of the effective date of the termination, and the Client shall pay the invoice within [14] days of receipt.

19. General

19.1. Entire Agreement. This agreement contains all the terms agreed to by the parties relating to its subject matter. It replaces all previous discussions, understandings, and agreements.

19.2. Amendment. This agreement may only be amended by a written document signed by both parties.

19.3. Assignment. The Developer may not assign this agreement or any of its rights under it. The Customer may assign this agreement or any of its rights without notice or the need for the Developer's consent.

19.4. Remedies Cumulative. Except as provided in section 16.3 (Exclusive Remedies), the rights and remedies available to a party under this agreement are cumulative and in addition to, not exclusive of or in substitution for, any rights or remedies otherwise available to that party.

19.5. Survival. Sections 13 (Confidentiality), 14 (Source Code Escrow), 15 (Assignment of Rights), 16 (Indemnification), 17 (Limitation of Liability), and 18.4 (Effect of Termination) survive the termination or expiration of this agreement.

19.6. Severability. If any part of this agreement is declared unenforceable or invalid, the remainder will continue to be valid and enforceable.

19.7. Waiver. A party's failure or neglect to enforce any of rights under this agreement will not be deemed to be a waiver of that party's rights.

19.8. Governing Law. This agreement will be governed by and construed in accordance with the laws of the State of [GOVERNING LAW STATE], without regard to its conflict of laws rules.

19.9. Dispute Resolution

(a) Arbitration. Any dispute or controversy arising under or in connection with this agreement will be settled exclusively by arbitration in [STATE], in accordance with the rules of the American Arbitration Association then in effect by [NUMBER OF ARBITRATORS] arbitrator(s).

(b) No Punitive Damages. The arbitrator(s) will not have the power to award punitive damages.

(c) Judgment. The successful party may enter the arbitral judgment in any court having jurisdiction.

19.10. Waiver of Jury Trial. The parties waive their respective rights to trial by jury in any action or proceeding involving this agreement or the transactions relating to its subject matter.

19.11. Headings. The headings used in this agreement and its division into sections and other subdivisions do not affect its interpretation.

19.12. Counterparts. This agreement may be signed in any number of counterparts, each of which is an original and all of which taken together form one single document.

19.13. Effectiveness of Agreement. This agreement is effective as of the date shown at the top of the first page, even if any signatures are made after that date.

This agreement has been signed by the parties.


By:   ___________________________________





By:   ___________________________________




Schedule A: Software Specifications, Requirements, and Deliverables


A Software Development Agreement is between a Customer and a Developer, by which the Customer contracts for the Developer to create and deliver a specified piece of software. Software is copyrightable as literary, see 17 U.S.C. § 107(a)(1), and could also include patented processes, see 35 U.S.C. § 101.

The agreement will (hopefully) culminate in either with the developer assigning ownership of the developed software to the customer—including any copyright and patent rights in the software—or the developer granting a non-exclusive license for the customer to use the software. For example, it may be that the customer has an idea for software to improve its own internal systems, but  the customer has no intent, or capability, to produce and commercialize the software. If the customer does not care about whether other businesses, in the customer's industry or otherwise, can use the software, it may make more sense for the customer to simply get a non-exclusive license from the developer, leaving the developer free to commercialize the developed software.

Further complicating proceedings is whether the Uniform Commercial Code (UCC) should govern a Software Development Agreement. The UCC governs transactions involving goods, it provides default rules that govern contracts for goods where either the parties were silent regarding specific obligations under that contract, or where there is unresolvable uncertainty as to what the parties did agree. As mentioned, the UCC governs contracts for goods, it does not apply to services. The first issue is that software has been difficult for courts to classify, whether it is a good or a service. Licenses tend to be seen as services, while sales and assignments of software are more often treated as goods. Furthermore, a Software Development Agreement is a contract for a service, the development by the developer, that culminates in a good (depending on whether it is a sale or a license for the developed software). Whether a Software Development Agreement is covered by the UCC will depend on the case law of the relevant jurisdiction, and is something the parties will want to be aware of as they draft their agreement.

Key Issues in a Software Development Agreement:

  1. Assignment or License? Depending on the needs of the customer, the agreement can culminate in either an outright assignment of the developed software from the developer to the customer, or simply a non-exclusive license to the customer, with the developer retaining ownership, and thus the right to otherwise commercialize the developed software. Which party ends up owning the software should effect the payment due to the developer.
  2. Ownership and Background Technology. The developer will likely have a digital toolbox of subroutines, development tools, and other background programs and technologies that it uses during development, some of which can end up in the final product. If the agreement culminates in an assignment of rights to the customer, it should also include a proprietary rights or ownership clause that makes it clear the developer maintains ownership of all background technology. Otherwise, the developer’s future use of its own tools could infringe on the software it delivered to the customer.
  3. Delivery and Cure Period. Because of the complexity of software it is not uncommon for delivered software to not conform perfectly to the specifications. The developer will want more leniency in the consequences for delivering software that fails to perfectly conform to expectations. The agreement should allow the developer the opportunity to cure any mistakes or errors, within a reasonable time. On the other hand, the customer may want to limit the developer’s chances to cure, so that repeated failure creates grounds for termination.
  4. Non-Infringement. With an endless number of patents already protecting the tiniest details of software, and strict liability for patent infringement, there is a real risk that the developed software could infringe on an existing patent. There is also the risk of copyright infringement, though without strict liability for copyright infringement the danger is less. Still, the potential for infringement, especially patent infringement, makes the Representations and Warranties clause, and the Indemnity clause particularly important in a Software License Agreement, as the  customer should be confident it is receiving a non-infringing piece of software, and because the developer, rather than the customer, should be liable for damages incurred by any infringement claims by third parties.