Who owns the source code of custom software?
The developer does, until they assign their copyright to you in a signed document. Paying for the software isn’t enough. Here is what Canadian law says, what a contract should cover, and what to do when a developer won’t hand over the code.
The short answer
When a contractor or a development firm writes your software, the copyright in that code belongs to them first. It becomes yours only if the developer assigns it to you in a signed document. Paying for the project, even in full, doesn’t change that.
Owning the code, in legal terms, means owning the copyright in it. That is what leaves you free to have it changed, hand it to another developer or sell it with the business. The rule is different for an employee. Code they write in the course of their job belongs to the employer, unless they agreed otherwise.
This guide explains the rule, what a contract should cover and what to do when a developer won’t hand over the code. On its custom web application projects, J3B Web assigns the code and its copyright to the client on the final payment.
This guide gives general information about Canadian law. It doesn’t replace a lawyer’s advice on your contract.
What the Copyright Act says
Copyright falls under a federal law, the Copyright Act, so the same rules apply in every province, Quebec included. Software counts as a literary work, since the Act’s definition of that term includes computer programs (section 2).
The code is protected as soon as it is created, with no formality. Registering it with the Canadian Intellectual Property Office (CIPO) is voluntary, according to its guide to copyright.
Three subsections of section 13 decide who owns the code.
- 13(1). The author of a work is the first owner of its copyright. For software ordered from a contractor, that is the contractor.
- 13(3). When the author is an employee and writes the code in the course of their job, the employer is the first owner, unless they agreed otherwise. That is why code written by a firm’s programmers usually belongs to the firm. A contractor or firm you hire for a project is not, as a rule, your employee.
- 13(4). The owner can assign the right, in whole or in part. An assignment is valid only if it is in writing and signed by the owner or their agent.
Moral rights come on top of copyright (section 14.1). They protect the integrity of the work and the right to be credited as its author. They belong to the author, the person who wrote the code, even when their employer owns the copyright. They can’t be assigned, but the author can waive them, in whole or in part. An assignment of copyright doesn’t waive them, so the contract should include the waiver separately.
| Situation | Copyright owner |
|---|---|
| Employee | The employer, for code written in the course of the job, unless agreed otherwise. |
| Contractor or firm, no assignment | The contractor or the firm. What the client can do with the code depends on what was agreed. |
| Signed written assignment | The client, for the rights assigned. |
| Licence only | The developer. The client uses the code within the limits of the licence. |
Having the code isn’t enough
A copy of the source code, or access to the Git repository that holds it, doesn’t give you the copyright. You can have all the code on your computer without owning it.
The reverse is also true. Owning the copyright does little for you if the code, the documentation and the access stay with the developer, since another developer can’t take over without them. To keep your software going with the developer of your choice, you need both.
Your software also contains code nobody wrote for you. Open-source components, such as the CodeIgniter framework J3B Web uses, keep their own licence. The developer may also reuse tools they wrote before your project. An assignment usually covers the code written for you. For the rest, the contract should say under what licence you use it.
What the contract should cover
These points take a few lines to settle before the project starts. Ask any developer for them, J3B Web included.
- The assignment of copyright in the code written for you, in writing and signed, with the moment it takes effect. That is often the final payment.
- The waiver of moral rights by the people who wrote the code, so it can be changed later without a dispute.
- Existing code and open-source components. What the developer keeps, and under what licence you use it.
- What you receive. The complete source code, the documentation, and access to the server, the database and the services the software uses.
- The code repository. In your name, or an up-to-date copy on request.
- The accounts. Ideally, the domain name and the hosting are in your name, so a developer leaving doesn’t lock you out.
What J3B Web does
At J3B Web, the code and its copyright belong to the client from the final payment. New contracts also include a waiver of moral rights in the code, so another developer can change it without a dispute. The client receives the documentation and the access, and Bobby Bougie sends the latest version of the code whenever the client asks for it. On some projects, the code repository is in the client’s name.
Every new project has its automated tests. Along with the documentation, they help another developer take over the code knowing what works. The custom web applications page describes the rest of the process.
If the developer won’t hand over the code
The simplest step is to ask for the latest version of the code and the access while all is well. When a developer has left, closed their business or stopped answering, here is the order to follow.
- Reread the contract and your written exchanges. A licence or a promise to hand over the code may be in there, even in a quote or an email.
- Ask in writing for the source code, the documentation and the access, with a date to reply by.
- List what is in your name. The domain name, the hosting, the database and the service accounts. What is in your name stays under your control.
- If the code stays out of reach, the software can be written again, from what it does and from your data. The contract for that new project can then assign the code to you from the start.
For a dispute, a lawyer can tell you what remedies exist. To take over or replace the software itself, see the legacy software modernization service.
Sources
Legislation current to September 30, 2026, consulted on October 30, 2026.
- Copyright Act, section 2, the definitions of “literary work” and “computer program”.
- Copyright Act, section 13, the first owner, the employee’s case and the assignment.
- Copyright Act, section 14.1, moral rights.
- Canadian Intellectual Property Office, A guide to copyright, modified October 15, 2024.
Frequently asked questions
Does paying for the development make you the owner of the code?
No. Payment doesn’t transfer the copyright. That takes an assignment in writing, signed by the developer, which the contract can make effective on the final payment.
Can the developer reuse code written for a client?
If they keep the copyright, the contract decides what they can do with it. After an assignment, the copyright in that code belongs to the client, and the contract says what the developer keeps, such as tools they wrote before the project.
Do you need to register the copyright in software?
No. The code is protected from the moment it is created. Registering it with the Canadian Intellectual Property Office (CIPO) is voluntary.
What are moral rights in software?
The right to the integrity of the work and the right to be credited as its author. They stay with the person who wrote the code, even after an assignment, though that person can waive them. The contract can include that waiver, which avoids a dispute when another developer changes the code later.
What if the developer won’t hand over the code?
Reread the contract and your written exchanges, then ask in writing for the code, the documentation and the access. List what is already in your name, such as the domain and the hosting. If the code stays out of reach, the software can be written again, and the contract can make that new code yours. For a dispute, a lawyer can tell you what remedies exist.
Related services
-
Custom web applications
Management tools, client portals and SaaS products that open in the browser, on desktop, tablet and phone.
-
Legacy software modernization
Replacing an aging system with current software, with all of its data carried over.
Let’s talk about your software
A new project, or software to take over? Describe it in a few lines. The first call lasts 30 minutes, with no commitment.