A software development agreement is where the costliest misunderstandings between clients and providers take shape. Unclear scope, poorly defined acceptance testing, source code ownership left unaddressed, delays without sanctions: all are sources of disputes that can be prevented at the drafting stage. We assist software publishers, IT services companies (ESN), start-ups and user companies in making their projects legally sound, from the specifications to reversibility.
Who we act for
We advise providers (IT services companies, agencies, freelance developers) as well as clients (start-ups, SMEs, large corporates). The provider wants a stable scope, clear acceptance testing and payment for its services; the client wants a compliant deliverable, control of the intellectual property and deadlines that are met. A clear-sighted contract turns these diverging expectations into measurable obligations.
Defining the scope and the method
The first risk is the scope. Fixed specifications (V-model) or iterative development (agile method): the choice determines the nature of the provider’s obligation and how changes are managed. In any event, contractual liability is governed by Article 1231-1 of the French Civil Code (Code civil), which orders the debtor to pay damages “either for non-performance of the obligation or for delay in performance, unless it shows that performance was prevented by force majeure”. The contract must reflect the method actually used and organise the handling of change requests.
Acceptance testing: the turning point
The acceptance procedure records the acceptance of the deliverables. It triggers major effects: transfer of risk, start of the warranties, and the balance of the price becoming due. A well-drafted acceptance clause defines the conformity criteria, test scenarios, deadlines, the treatment of reservations and the mechanism for deemed acceptance. Without one, the assessment of proper performance falls back on general law, which is uncertain ground.
Who owns the source code and custom developments in France?
Contrary to a widespread belief, paying for a development does not automatically make you the owner of the code. Under copyright law, according to Article L111-1 of the French Intellectual Property Code (Code de la propriété intellectuelle), the author enjoys in their work, “by the mere fact of its creation, an exclusive intangible property right enforceable against all”, and the conclusion of a contract for work or services “does not entail any derogation” from that right. Without a written and precise assignment clause, the client may only be a user. The transfer of rights must therefore be organised expressly.
Defects, non-conformity and warranties
Faulty software may fall under several legal grounds: the warranty against latent defects (Article 1641 of the Civil Code) where the contract qualifies as a sale, the obligation to deliver in conformity with the contract, or ordinary contractual liability. Each ground has its own time limits and remedies. A wrong characterisation can cause the claim to fail: prior analysis is decisive.
Delays and penalties
Late delivery is most often sanctioned by a penalty clause. The court may, even of its own motion, reduce it if it is manifestly excessive, or increase it if it is derisory. An effective clause sets a credible basis and cap, fits with compensation for the loss and provides for a formal notice.
Reversibility, maintenance and technical dependence
An IT project does not end at delivery. The contract must organise maintenance (corrective and evolutive), service levels and, above all, reversibility: the ability, at the end of the relationship, to recover the data, source code, documentation and environments needed for continuity. Without a carefully drafted reversibility clause, the client becomes captive to its provider, unable to change partner without rebuilding its system. The return of code and data must be subject to defined conditions, organised and tested, not left to last-minute negotiation.
The question of dependence also applies to third-party components (open source libraries, APIs, licensed components). The contract must ensure that the provider holds the necessary rights and that the client will be able to keep operating the solution after the relationship ends.
Security and data protection
A development that processes personal data makes the client a controller and, often, the provider a processor within the meaning of the GDPR. The contract must then include the obligations of Article 28 of the Regulation (security, sub-processing, assistance, fate of the data at the end of the contract). Beyond that, the security of the software (encryption, access management, penetration testing) falls within the provider’s duty to advise and must be documented. An unanticipated vulnerability can give rise to liability for each party and lead to sanctions.
Key points to watch
- Fix the scope and organise how changes are managed.
- Define precise acceptance testing, with criteria, deadlines and deemed acceptance.
- Provide for a clear, written assignment clause for intellectual property rights.
- Distinguish latent defects, non-conformity and liability to choose the right legal ground.
- Organise reversibility and the return of data at the end of the contract.
How we work
- Drafting and negotiating development, third-party application maintenance (TMA) and integration agreements.
- Acceptance, intellectual property and warranty clauses.
- Handling disputes over scope, delays and non-conformity.
- Audit of projects in difficulty and exit strategy.
- Litigation and court-appointed IT expert proceedings.
Frequently asked questions
Do I own the code I paid for?
Not automatically: without a written assignment clause, the author remains the rights holder (Article L111-1). The assignment must be express and precise.
What should I do in the event of a major delay?
Send a formal notice, apply the agreed penalties and, depending on the seriousness, consider terminating the contract and claiming damages on the basis of Article 1231-1.
Checklist for a sound development agreement
- Fix the scope and frame the management of changes and change requests.
- Define precise acceptance testing: criteria, tests, deadlines, reservations, deemed acceptance.
- Include a clear, written assignment clause for intellectual property rights.
- Provide for warranties, maintenance and service levels.
- Organise reversibility: source code, data, documentation, environments.
- Include GDPR obligations where personal data is processed.
Official sources
- Article 1231-1 of the French Civil Code, contractual liability: Légifrance (in French)
- Article L111-1 of the French Intellectual Property Code, copyright: Légifrance (in French)
Every situation is different and we make no promise of outcome. To make a software development project legally sound, our lawyers in digital and intellectual property law assist you.
Related expertise in digital law
- IT contracts lawyer: SaaS, licences
- IT acceptable use policy lawyer
- IT litigation lawyer in Paris
- IT lawyer in Paris
- Fake charity donation scam lawyer (in French)
Further reading
- Software development agreement: latent defect, non-conformity or failure to deliver? (in French)
- Hosting, support, maintenance: how to make a SaaS contract legally sound (in French)
- SaaS contract: essential clauses to negotiate (in French)
- Late IT deliveries: how to apply late-delivery penalties? (in French)