Think Build Implement Repeat
Hiring & Budgets

Make Sure You Own Your Own Software

Last updated:

Paying for it does not automatically make it yours

In many jurisdictions, including the UK, copyright in commissioned software can rest with the person who wrote it unless there is a written assignment. Businesses are frequently surprised by this, usually at the worst possible moment.

It rarely becomes a problem while the relationship is good. It becomes a serious problem when you want to change supplier, sell the business, or take the work in-house.

The four things to hold in your own name

  1. The domain. Registered to your company, with your billing details and access. Domains held by an agency are a recurring cause of avoidable crises.
  2. Hosting and infrastructure. Your account, your card, with the supplier added as a user you can remove.
  3. Third-party services — payment provider, email, analytics, model APIs. All in your name.
  4. The code repository. Your organisation, with the supplier invited. Not the other way round.
The test: if the relationship ended acrimoniously tomorrow, could you continue operating? If the answer requires anyone's cooperation, fix it now while everyone is friendly.

What the contract needs to say

  • Assignment of all IP in the deliverables to you on payment, in writing
  • A licence for any pre-existing supplier components you will need, and what it permits
  • Clarity on open-source components and their licences
  • Handover obligations: documentation, credentials, a walkthrough
  • What happens on termination, including access to the current state of the work

Open source is fine, unexamined licences are not

Practically all software includes open-source components and that is entirely normal. What matters is that the licences are compatible with what you intend to do, particularly if you will distribute the software or build a product on it.

Ask for a list of dependencies and their licences at handover. It costs a supplier minutes to produce and it is expensive to reconstruct later.

Handover is a deliverable, not a favour

A proper handover includes credentials, documentation of how it is deployed, an explanation of the architecture, and a recorded walkthrough. Specify it as a milestone with payment attached, because a handover requested after the final invoice is a handover that competes with the supplier's next project.

A useful acceptance test: can a competent developer who has never seen the system deploy it from the documentation alone?

If you are already in this position

Do not panic and do not start with a legal letter. Most suppliers will cooperate with a reasonable request to transfer accounts and sign an assignment, particularly if you are still a client.

Ask politely, in writing, with a specific list. Escalate only if you get resistance — and if you do get resistance, that itself tells you the relationship needs to change.

Frequently asked questions

What if our contract is silent on IP?

Then ownership may not be what you assume, and it is worth taking legal advice and asking for an assignment. Most suppliers will sign one on request; the awkward conversations are with the ones who will not.

Can a supplier reuse the code they wrote for us?

It depends what the contract says. Generic components and libraries are commonly reused and that is usually reasonable. Anything embodying your specific business logic should be exclusively yours, and the contract should distinguish the two.

Is escrow worth it?

For critical systems from smaller suppliers, sometimes. It costs money annually and only helps in specific scenarios such as insolvency. Holding the repository yourself achieves more for less.

What about the designs?

Same principle: assignment in writing, and get the source files rather than exported images. Design files are frequently forgotten in handover and expensive to recreate.

Keep reading

Not sure what you actually own?

It takes ten minutes to check the four things above. If any of them are not in your name, that is worth sorting out this month.

Book a free 30-minute call Get a project estimate WhatsApp us

Related services

What we build for problems like this one

Custom Software DevelopmentBusiness Automation