Back to glossary

Software development agreement

Definition : Software development agreement

A software development agreement is the contract by which a provider undertakes to design and build software, or a functionality, according to the needs expressed by a customer, for a price. It is analysed as a contract for work, governed by Articles 1710 et seq. of the Civil Code, to which are added the rules of copyright for the ownership of the developments. The software development agreement is one of the most litigated IT contracts, because of the frequent gap between the customer’s expectations and the deliverable.

The essential clauses of the software development agreement

First, the statement of needs: the specifications or, in agile methods, the product backlog and the acceptance criteria, define the object of the provider’s obligation. Next, the timetable, the milestones and acceptance, which records the conformity of the deliverable and triggers payment and warranty. Then the obligations of each party: the provider’s duty to advise and warn, the customer’s duty to cooperate, by providing information and validating within the deadlines. Finally, the conformity warranty, the initial corrective maintenance and the limitation of liability.

Ownership of the developments

Without an assignment clause, the provider remains the owner of the copyright in the software it created, even if the customer paid for it. The assignment must comply with the formalities of Article L. 131-3 of the Intellectual Property Code: separate mention of each right assigned, with its scope, purpose, place and duration. The contract generally distinguishes the specific developments, assigned to the customer, from the provider’s generic or pre-existing components, which are the subject of a licence. It must also deal with the open source components integrated and the delivery of the source code and documentation. The texts can be consulted on Légifrance.

Key points

In practice, disputes arise from poorly defined needs, acceptance never pronounced and assignments of rights that are missing or void. The software development agreement is often extended by a Computer maintenance contract and by source code escrowclauses. The firm drafts these contracts and acts in performance and ownership disputes, as presented on the page contracts.