This guide explains common contract terms under the law of England and Wales. It is not legal advice; have a solicitor review any contract before you sign it.
The Short Answer
What should a software development contract include?
A written, signed assignment of intellectual property to you; the scope with acceptance criteria; price, payment milestones and a change process; handover of code, credentials and documentation; disclosure of third-party and open-source code; data processing terms if they handle personal data; a warranty period; confidentiality; limitation of liability; and what you receive if the contract ends early.
IP Assignment: The Clause That Matters Most
Who owns code written by a contractor in the UK?
The contractor, unless they assign it to you. Employers own work their employees create in the course of employment, but that rule does not cover freelancers or agencies. A copyright assignment only works if it is in writing and signed by the person assigning it.
The Copyright, Designs and Patents Act 1988, section 11, makes the employer the first owner of work made by an employee in the course of employment. Nothing equivalent applies to contractors. Section 90(3) then says an assignment of copyright is not effective unless it is in writing and signed by or on behalf of the assignor. A conversation, an invoice or an email saying “it's yours” is not enough.
A good IP clause:
- Assigns all IP in the work to you, including code, designs and documentation.
- Takes effect on creation or on payment; if on payment, know which payment.
- Covers subcontractors, who must assign to the developer so the developer can assign to you.
- Deals with pre-existing code the developer reuses: they keep it, and you get a permanent, free licence to use it in your product.
Investors and acquirers check this. See technical due diligence and software ownership.
Scope, Acceptance and Change
The scope should be specific enough that a stranger could tell whether it was delivered. That means user flows and features, each with an acceptance criterion: “a member can book a class from a phone in under a minute”, not “booking system”. Our MVP scope template is a good starting point.
| Clause | What it should say |
|---|---|
| Deliverables | Features, platforms and documentation, listed |
| Acceptance criteria | A testable condition for each deliverable |
| Acceptance process | How long you have to test, and what happens if something fails |
| Change requests | How changes are requested, estimated, approved in writing and priced |
| Out of scope | What is explicitly not included |
Without a change process, every new idea becomes an argument about whether it was included. With one, it becomes a price and a decision.
Price and Payment Milestones
Tie payments to things you can verify: a signed-off design, a working feature on a staging site, final acceptance. Avoid paying most of the price before you can see working software. Fixed-price and time-and-materials contracts handle this differently; see fixed-price MVP development and contract models and payment milestones.
Handover and Third-Party Code
- Repository. Ideally in your account from day one, with the developer added as a collaborator. At minimum, transferred at handover.
- Credentials. Cloud, domain, app store and third-party accounts, in the company's name.
- Documentation. Enough for another team to run, change and deploy the product.
- Open-source and third-party components. A list, with licences. Some open-source licences place conditions on how you distribute software that includes them, which matters if you sell or distribute it.
Personal Data
If the developer will access personal data, for example customer records in a live system, they are usually your processor. Article 28 of the UK GDPR requires a written contract with a processor covering, among other things, processing only on your documented instructions, confidentiality, security, use of sub-processors, and deleting or returning the data at the end. Many agencies have a standard data processing agreement; ask for it.
Warranty, Liability and Termination
| Clause | What to look for |
|---|---|
| Warranty or bug-fix period | Defects in accepted work fixed at no cost for a stated period after acceptance |
| Limitation of liability | A cap that is proportionate; check what is excluded from it, such as confidentiality and IP |
| Confidentiality | Covers your business information and code, both ways, surviving the end of the contract |
| Termination | Either side can end it with notice; you pay for work done and receive all of it, assigned to you |
| Non-solicitation | Whether you can later hire the developer’s staff, and on what terms |
The termination clause is the one founders read last and need most. If the relationship breaks down halfway, you want the code written so far, assigned to you, in a state another team can continue.
Check Your Contract
Go through your contract or proposal and tick each clause it covers in writing.
Interactive checklist
Check your development contract
Tick each clause your contract or proposal covers in writing. Critical clauses are marked.
0 of 12 covered
Missing critical: written assignment of ip to you, signed by the developer; scope, deliverables and acceptance criteria; price, payment milestones and what triggers each payment; handover: repository, credentials, documentation; data processing terms if they handle personal data; termination, and what you receive if it ends early.
For the questions to ask before you get to a contract, see questions to ask a software development company. Loomstrat Studio's fixed-price engagements include repository handover and full IP assignment as standard; see custom software development.
Frequently Asked Questions
Who owns the code a freelancer writes for me?
The freelancer, unless they assign it to you. Under the Copyright, Designs and Patents Act 1988, s90(3), an assignment of copyright is only effective in writing and signed by the person assigning it. Employees are different: s11 makes the employer the first owner of their work.
What should a software development contract include?
IP assignment, scope and acceptance criteria, price and payment milestones, a change process, handover of code and credentials, disclosure of third-party code, data processing terms if relevant, a warranty period, confidentiality, limitation of liability and termination terms.
Do I need a data processing agreement with my developer?
If they will access personal data on your behalf, usually yes. Article 28 of the UK GDPR requires a written contract with processors, covering instructions, confidentiality, security, sub-processors and deletion or return of data.
What is a reasonable warranty period for software?
There is no legal standard; it is agreed between you. What matters is that the period is stated, starts at acceptance, and covers fixing defects in the accepted work at no cost. It does not cover new features.
Can I use a template software development contract?
A template is a reasonable starting point, but have a solicitor review it for your project, especially the IP, liability and termination clauses.
What happens to my code if I end the contract early?
Only what the contract says. A good termination clause means you pay for work done and receive all of it, assigned to you, with access to the repository.
Read the IP, acceptance and termination clauses first. If those three are clear, most of the other clauses are a matter of negotiation rather than protection.