An AI Assistant for Business Owners: The Daily Brief Nobody Compiles
An AI assistant for business owners reads the systems you already run and reports daily by email or SMS: sold, collected, outstanding, changed, abnormal.
CUSTOM DEVELOPMENT · 7 MIN READ · 18 AUG 2026
Software source code ownership, data rights, exclusivity and what a real handover includes — the questions to settle in writing before development starts.
BY MUSBAH RASHID — CEO, LINKSOFT
The most expensive sentence in a software contract is the one nobody wrote. Software source code ownership is settled in a paragraph if it is dealt with before development begins, and settled by bargaining position — usually not yours — if it is raised for the first time on the day you want to move. This piece lists the questions worth putting in writing, explains what each one protects you from, and describes what a genuine handover contains, because “we will give you the code” turns out to mean several different things depending on who is saying it.
It is not usually malice. Ownership is an uncomfortable subject at the start of a relationship that both sides want to feel collaborative, and it competes for attention with scope, price and timeline — all of which feel more urgent. So it gets deferred, and deferral favours whichever party holds the code, which is never the client.
There is also a genuine confusion underneath. Buyers assume that paying for software means owning it, in the way that paying for furniture means owning it. Software does not work that way. What you have bought is defined by your contract, and in the absence of a term, a client can find they hold a right to use a system rather than a right to take it elsewhere. The gap between those two positions only becomes visible at the moment it becomes expensive.
Name it explicitly. There are three respectable answers — the client owns it outright, the developer owns it and licences it to the client, or ownership is split between a shared platform and client-specific work — and any of them can be the right arrangement. What is not respectable is silence. If ownership transfers on final payment, say that. If it transfers on delivery, say that instead, and be clear about what “delivery” means.
This should be uncontroversial and it usually is, but the clause that matters is not the ownership one. It is the extraction one: can you export your complete data, in a documented and usable format, at any time, without asking and without a fee? Data you own but cannot retrieve is data you do not have. Ask for an export while the relationship is good, and check that what comes out is genuinely loadable rather than a set of screen-shaped reports.
Write down the exit before you need it. A workable clause covers what will be handed over, in what form, within how many days of a written request, and what assistance is included — typically a short transition period in which the outgoing team answers the incoming team’s questions. The absence of this clause is what turns a routine change of supplier into a hostage situation, and it is the single most common reason businesses stay with a developer they have stopped trusting.
Be precise here, because absolutism helps nobody. No developer builds authentication, reporting engines or common components from scratch each time, and you do not want to pay for them to. What you should insist on is a line: your business logic, your data model, your workflows, your screens and anything derived from your commercial knowledge are yours and are not resold. Generic infrastructure may be reused. Write down which is which, and if you are commissioning something you intend to sell onward, say so at the start — that is a different arrangement and it should be priced as one.
Ask for a list of the open-source and commercial components the system depends on, and their licence terms. Most of the time this is entirely routine. Occasionally it is not: a component with restrictive terms, or a paid licence held in the developer’s name rather than yours, can become a problem exactly when you are trying to move. It is a five-minute question that occasionally saves a very bad month.
Ownership is not a binary, and two intermediate arrangements cover many real situations honestly.
Source code escrow. The code is deposited with a neutral third party and released to you on defined triggers — the developer ceasing to trade, failing to support the system for a stated period, or breaching the agreement. Escrow is the usual answer when a developer licenses one product to many clients and cannot hand each of them the source. If that is what you are buying, ask three things: does a deposit actually exist, who verifies that what is deposited genuinely builds, and what precisely triggers release. An escrow nobody has ever test-built is a ceremony rather than a protection.
Licence now, handover on exit. The developer retains ownership during the engagement, and the contract commits them to a full handover — source, schema, deployment configuration — at a defined price if either side ends the relationship. This keeps a productised arrangement commercially workable for the developer while removing the hostage scenario for you. The clause to scrutinise is the price of the exit: if it is not fixed in advance, it will be discovered at the worst possible moment.
Neither arrangement is as clean as owning the build outright, but both are honest, and either is far better than the silence most contracts contain.
“We will hand over the code” is where the ambiguity concentrates. A handover that leaves you genuinely independent has four parts.
Test the handover rather than filing it. The only meaningful check is whether a developer who was not involved can take what you were given and get the system running in a fresh environment. Everything short of that is paperwork. A practical way to run the test without hiring anyone is to ask the developer to record the deployment — a screen capture of the system being built and brought up in a clean environment, following only the written documentation. Every place the recording departs from the document is a place the document is not yet a handover.
Ownership of code protects you from a developer. It does nothing to protect you from your own turnover. A system whose operation lives in one trained employee’s head is just as fragile as one whose code lives with a vendor who no longer answers — the dependency has simply moved indoors. Written per-role manuals and training on your own data are the equivalent handover for the people side, and we make that argument fully in why systems die when people leave.
We hand over source code and the database schema where a client wants to own the build outright, including white-label arrangements where a client sells the product onward under their own name. That is a normal engagement here, not an exception negotiated under duress — and it is the basis of our software product development work, where the client’s intention from the start is to own and commercialise the result. Where a product is licensed rather than sold outright, the exit terms go into the agreement at the beginning, because we would rather compete on the next delivery than on the cost of leaving.
The same principle governs the other direction. When we work on a system somebody else built, the client’s source code is handled under NDA and deleted from our machines once the requested work is delivered, which is the arrangement we describe in working with the system you already have. We would rather be chosen each time than retained by the fact that leaving is difficult, and our approach to delivery is built on that footing.
If you are about to sign a development contract — with us or with anyone — read it for the exit rather than the entrance. If the exit is not described, ask for it in writing before the first payment, and send it to us if you would like a second opinion on what it actually says.
Do not rely on a default — settle it in the contract. In the absence of a written term, the developer who wrote the code is commonly treated as its author, and a client may find they have bought a licence to use rather than ownership. A single clause naming who owns what, signed before development starts, removes the whole question.
Four things, not one: the complete source code with its history, the database schema and migration scripts, the deployment configuration and any credentials or environment settings needed to run it, and documentation good enough for a new developer to build and deploy it without speaking to the original team. A zip file of code alone is not a handover.
That depends entirely on what your contract says and what you actually hold. If you own the source, the schema and the deployment configuration, changing developers is an inconvenience. If you hold only a running system and a login, it is a rebuild, and the price of the rebuild is set by whoever you are trying to leave.
They often can and often should — generic components such as authentication or reporting are not what you paid to invent. What matters is drawing the line in writing: your business logic, your data model and your workflows are yours, and the contract should say whether the developer may reuse anything, and if so, what.
You should, unambiguously, and the contract should say so alongside the practical guarantee that matters more: that you can export it in a usable format at any time, without asking permission and without a fee. Ownership of data you cannot extract is a technicality.
An AI assistant for business owners reads the systems you already run and reports daily by email or SMS: sold, collected, outstanding, changed, abnormal.
AI workflow automation works best on the reading-and-deciding work between two systems. A method for picking the first task: frequent, low-judgment, checkable.
Software training and documentation decide whether a system outlives its first operators: per-role training on your own data, and manuals for staff not yet hired.
Built and supported in Karachi since 1998 — scoped honestly, specified in writing.