What should a software development agreement include?
Written by For Founders Law, a Toronto firm licensed by the Law Society of Ontario. About us
Short answer
A software development agreement should say what will be built and how it's accepted, how and when the developer is paid, and that your company owns the code. In Canada a contractor owns the copyright in what they write unless they sign a written assignment, so the agreement needs a present assignment, a moral rights waiver, a licence for any pre-existing code the developer reuses, and rules on open source, along with confidentiality, warranties, liability limits and handover of the code if the relationship ends.
A software development agreement is the contract between your company and the freelancer, agency or dev shop building your product. It’s often an MSA with statements of work: the MSA sets the legal terms once, and each SOW describes a project or phase.
Who owns the code if the agreement says nothing?
The developer does. A computer program is a literary work under section 2 of the Copyright Act, and the author is the first owner. The employer exception in section 13(3) applies to employees, not contractors or agencies, and section 13(4) says an assignment of copyright isn’t valid unless it’s in writing and signed by the owner. Paying the invoice doesn’t transfer ownership. See who owns code a contractor writes.
What clauses should it have?
| Clause | What it should settle |
|---|---|
| Scope and specifications | What will be built, in an SOW detailed enough to test against |
| Milestones and acceptance | How you test each deliverable, how long you have, and what happens if it fails |
| Change requests | How changes are priced and approved in writing |
| Fees and payment | Fixed price per milestone, or time and materials with estimates and caps |
| IP ownership | A present assignment to your company of all rights in the deliverables |
| Moral rights | A waiver from every individual who writes code |
| Pre-existing materials | A list of the developer’s own tools and code, with a perpetual licence to you for those pieces |
| Open source | Which licences are allowed, and a list of components used |
| AI coding tools | Whether they may be used, and whether your code may be put into them |
| Confidentiality | Your code, data and plans stay confidential, during and after the project |
| Source code and handover | Delivery of source code, credentials and documentation, on request and at the end |
| Warranties | The work meets the specifications, is original, and doesn’t knowingly infringe |
| Liability and indemnity | A cap, and an IP indemnity from the developer. See limitation of liability |
| Subcontractors | No subcontracting without consent, and the same IP terms flow down |
| Termination | How either side can end it, and what you pay for work done |
Why does a moral rights waiver matter?
Because an assignment doesn’t remove moral rights. Under section 14.1 of the Copyright Act, moral rights can’t be assigned, only waived, and an assignment of copyright doesn’t waive them by itself. You’ll change, rebrand and rebuild the code constantly, so get a waiver from each individual author, not just the agency.
Should I pay a fixed price or time and materials?
Either can work. Fixed price suits a well-defined scope and puts the risk of overruns on the developer, which makes acceptance criteria more important, because the developer has an incentive to treat anything unclear as a change. Time and materials suits evolving products; protect yourself with estimates, a monthly cap and the right to stop at any time and keep the work paid for.
What about open source and AI coding tools?
Most products include open source code, and some licences, such as copyleft licences, can require you to share your own source code if you distribute software that includes it. Ask the developer to tell you what components they use and under which open source licences, and to get approval before adding copyleft code. If they use AI coding assistants, say which tools are allowed and whether your code can be pasted into them. See open-source licences in AI products.
What if the developer is outside Canada?
The same points apply, and local law where the developer works may have different default rules on ownership. Choose the governing law and courts in the agreement, get the assignment and waivers signed by the individuals doing the work, and make sure the agency’s own contracts with its staff give it the rights it’s assigning to you.
The agency sent its own contract. What should I check?
Agency paper often licenses the code to you instead of assigning it, keeps ownership until final payment, reserves the right to reuse “general know-how” broadly, or caps liability at a small amount. Read the IP, payment, acceptance and termination clauses first. See licence vs assignment.
What to do next
Check who owns your existing code with our free who owns your code tool. Our contractor agreement fee starts at $450, and we review a developer’s or agency’s contract as a contract review, starting at $400.
This guide is general information about Ontario and Canadian law, not legal advice for your situation. To talk through your development contract, book a free 15-minute consult.