The three things that make code ownership real
1. The agreement assigns the work to you.
Look for assignment language — the work product belongs to your company on payment. The pattern to avoid: “licensed for your use,” “non-exclusive license,” or silence on the subject. A license can be revoked, repriced, or die with the vendor; an assignment can’t. (This is contract structure, not legal advice — have your attorney read yours.)
2. The repository is in your hands at handover.
The code should live in a source repository under an account your company controls — not “available on request,” not hostage to a final-invoice dispute, not in escrow you hope works. If you can’t open the repo yourself today, you don’t have the code.
3. The running system sits in your accounts.
Hosting, database, domain: registered to you, billed to your card at cost. If the developer’s account is in the middle, their relationship with you is load-bearing for your operation — which is the dependency you were trying to buy your way out of.
The follow-up questions worth asking any builder
- “If we part ways next year, what exactly do I hold?” (Right answer: everything — and it keeps running.)
- “Can another developer take this over?” (Right answer: yes — the code, docs and accounts are structured for it.)
- “Is any of it licensed rather than owned?” (Honest answer anywhere: open-source components keep their standard licenses — that’s normal and fine; the work built FOR you should be assigned TO you.)
Where we stand
Every NexCore build ships all three by default: assignment in the agreement, the repository handed over at the keys, the system running in your accounts from day one — that’s what “you pay once, and you own it” means mechanically. It’s also test #2 and #3 of the five ownership tests.