-
Identification of the customer, developer, effective date, and basic transaction structure.
-
A description of the software development services, deliverables, specifications, development plan, milestones, and delivery requirements.
-
Provisions addressing the client’s required cooperation, materials, approvals, access, or other inputs needed for the developer to perform the work.
-
Change-order language for handling requested changes to the services, deliverables, timeline, or fees.
-
Testing and acceptance procedures for determining whether software deliverables conform to the agreed specifications or documentation.
-
Maintenance, support, and training provisions, if those services are part of the transaction.
-
Fee, invoicing, payment, tax, and payment-dispute provisions.
-
Intellectual property provisions addressing ownership of custom work product, treatment of developer background technology, approved third-party materials, open-source software issues, customer materials, and source code, as applicable.
-
Confidentiality provisions protecting business, technical, customer, and proprietary information exchanged in connection with the project.
-
Term, termination, and post-termination provisions addressing rights and obligations if the agreement expires or is terminated.
-
Developer representations and warranties, which may address professional performance, legal compliance, conformity to specifications, title to work product, harmful code, originality, and non-infringement.
-
Indemnification provisions, including possible protection against third-party intellectual property infringement claims.
-
Limitation of liability provisions allocating contract risk between the parties.
-
Miscellaneous contract provisions, such as notices, governing law, forum, assignment, amendment, waiver, severability, force majeure, export compliance, equitable relief, counterparts, and signature blocks.