Skip to main content
Contracts & IP

Who owns the code you paid for

In the United States, paying an outside firm to write software does not by itself make you the owner of it. That is a statute, not a negotiating position, and it surprises most buyers at the worst possible moment. Here is what you actually own, what you should ask for, and the two words that decide it.

Engineering perspective, not legal advice This is written by engineers who read a lot of software contracts and have watched the same gaps cause the same problems. It is a map of where to look and what to ask, not a substitute for a lawyer. Every clause discussed here should be drafted or reviewed by counsel who knows your jurisdiction and your deal.

The default rule runs the opposite way from the intuition

Almost every buyer assumes that if they commissioned software and paid the invoice, they own it. Under US copyright law that assumption is usually wrong. The statute defines a “work made for hire” two ways: work prepared by an employee within the scope of employment, or work specially commissioned that falls into one of nine enumerated categories — and only then if both parties sign a written agreement saying so. The nine categories are a collective work contribution, part of a motion picture or audiovisual work, a translation, a supplementary work, a compilation, an instructional text, a test, answer material for a test, and an atlas. Software is not among them.

The practical consequence is blunt. When an independent contractor or an outside firm writes code for you and the agreement contains no express transfer of copyright, the copyright generally stays with them. You paid, they own. What you hold is typically an implied license to use what you commissioned — and the scope of an implied license is exactly the kind of question that becomes expensive when the two sides remember the conversation differently three years later.

The Supreme Court settled the employee-versus-contractor question in 1989, in a case about a sculpture, using ordinary agency-law factors: who controlled the manner of the work, who provided the tools, tax treatment, benefits, the right to assign other projects. A firm you engaged on a statement of work, that uses its own laptops and pays its own payroll taxes, is not your employee under that test, and no amount of day-to-day direction makes it one.

None of this is a problem. It is a fact pattern with a standard fix, and the fix is one clause. The problem is only ever that the clause is missing, or that it is drafted in the weaker of the two available forms.

You are probably here because

  • An acquirer or investor asked for proof that you own your own product
  • A vendor says the framework underneath your system is theirs, and you did not know there was a framework
  • You want to hire a second firm and are not sure you are allowed to show them the code
  • Your contract says “work made for hire” and stops there

The four-layer section is the map. The assignment-language section is the single highest-value paragraph in this article. If you have already signed something silent, the last section is for you.

Ownership is four questions, not one

A delivered system is never one thing owned by one party. It is four layers, each with a different default, and a contract that addresses only the first has addressed the easiest one.

The commissioned code. What was written for you, on your money, to your requirements. This is the layer everyone negotiates and the one you should own outright.

The vendor's background IP. The libraries, scaffolding, deployment tooling and internal frameworks the firm brought with them. Every competent firm has these, and their existence is why your project took four months instead of nine.

Third-party components. Open-source packages and commercial libraries. Nobody owns these; everybody licenses them, including you, on terms nobody negotiated with you.

Data and anything derived from it. Your raw data, the labels somebody paid to create, the embeddings, the fine-tuned weights, the evaluation set. This is the layer that is newest, most valuable, and most often unmentioned in contracts written from a template that predates it.

LayerDefault if the contract is silentWhat to ask for
Code written for youVendor holds copyright; you likely have an implied license of contested scopePresent-tense assignment of all right, title and interest, effective on payment
Vendor background IPVendor owns it, and reasonably soPerpetual, irrevocable, worldwide, royalty-free, sublicensable license to use and modify it as delivered
Open-source componentsGoverned by each package's own license, which binds you directlyA component inventory with licenses, and a warranty that no license conflicts with how you will ship
Your dataUsually yours, but vendor terms of service may claim broad usage rightsExplicit ownership, no training on your data without written consent, deletion on termination
Models, weights, embeddingsFrequently unaddressed, which is the worst outcomeNamed as deliverables, with the artifacts and the procedure to reproduce them
Labels and evaluation setsOften treated as vendor working papersYours, delivered in an open format, with the labeling guidelines

Two words decide whether the assignment worked

This is the highest-value paragraph here. There is a long-settled distinction in US intellectual property practice between an agreement that says a party “agrees to assign” and one that says a party “hereby assigns.” The first is a promise to do something in the future — it creates, at most, an obligation and an equitable interest. The second is a present transfer that operates on its own terms as the work comes into existence.

The difference is not academic. The Supreme Court's 2011 decision in the Stanford v. Roche patent dispute turned on exactly this: an inventor had signed an agreement promising to assign to his university, then later signed one that presently assigned to a company. The later present assignment won, despite being second in time, because the earlier promise had never actually moved anything. That case is about patents, but the drafting lesson carries into copyright practice, and it is why competent IP counsel writes hereby assigns and never agrees to assign.

“Agrees to assign” is a promise. “Hereby assigns” is a transfer. If your contract contains the first one and the vendor stops answering email, you own a lawsuit rather than a copyright.

Three companions to that clause are worth insisting on. A further assurances obligation, so the vendor is contractually required to sign registration paperwork later without renegotiating. A waiver of moral rights where the jurisdiction recognizes them, which matters if you have contributors outside the US. And a clean statement that assignment is effective upon payment — that condition is normal, fair to both sides, and a vendor asking for it is not being difficult.

One more thing that gets missed on both sides: the vendor's own subcontractors and contract staff have the same default as the vendor does. If your firm assigned you rights it never obtained from the freelancer who wrote the reporting module, the chain has a hole in it, and that hole is exactly what an acquirer's diligence checklist is built to find. Ask for a flow-down warranty that every contributor has assigned their rights upstream.

Background IP is not a trick, and total assignment is a bad ask

The instinct when a vendor says “that part is our framework” is to demand it be assigned along with everything else. Resist that instinct, because winning it is usually worse for you than losing it.

If a firm assigns you its internal framework outright, one of three things happens. They price the loss of a reusable asset into your quote, and you pay for it. They refuse, and you lose a good vendor. Or they agree, and you become the sole owner of an unmaintained library that the only people who understand it are now contractually barred from improving for anyone else — which means they stop improving it at all, and you inherit maintenance of a general-purpose tool you did not want.

What you actually need is not ownership. It is the certainty that nobody can ever switch off your system or hold it hostage. A perpetual, irrevocable, worldwide, royalty-free, transferable and sublicensable license to use, modify and create derivative works from the background IP as embedded in the deliverable gives you all of that. Transferable matters more than it looks: if you sell the company, the license must go with it, and an acquirer's counsel will check.

The one thing to insist on is that background IP is identified in writing before delivery, not asserted afterward. A schedule listing what the vendor considers pre-existing, updated at each milestone, costs nothing during the project. Without it, the boundary between “yours” and “ours” is settled after the relationship has ended, which is the worst time to settle anything.

Will a competent firm agree if you ask? — our read

Present assignment of the commissioned code
96
Broad license to background IP as embedded
90
Open-source inventory with licenses
88
No training on your data without written consent
82
Contributor flow-down warranty
76
Outright assignment of the vendor's own framework
18

Our judgment of how these asks land with a serious firm, not a survey. The bottom row is the one buyers push hardest on and need least.

Open source is where the actual surprises live

Your system contains code nobody in the room wrote, under licenses nobody in the room negotiated. Most of it is permissive and boring — MIT, BSD, Apache 2.0 — requiring attribution and little else. A minority is not, and the difference only bites under specific conditions.

The condition that matters is distribution. Strong copyleft licenses in the GPL family attach obligations when you convey the software to someone else; a purely internal tool typically never triggers them. The network variants change that calculation, because making the software available to users over a network can itself trigger the obligation to offer source. If your plan is an internal application, most of this is theoretical. If your plan is to ship a binary, an appliance, a mobile app, or an embedded device, it is not theoretical at all, and the time to know is before the code is written.

The ask is small: a component inventory, generated automatically, listing every dependency and its license, delivered with each release. Scanning tools produce this in minutes and cost nothing meaningful. Pair it with a vendor warranty that no included component's license is incompatible with the distribution model stated in the contract — and make sure that distribution model is actually written in the contract, because a warranty against an unstated plan protects nobody.

The layer most contracts still do not mention

If there is a model anywhere in the system, three artifacts decide whether you can keep operating without the vendor: the trained weights or adapter files, the training and evaluation data with its labels, and the procedure that turns the second into the first. Owning the code and none of these means owning a car with no engine.

Weights and adapters. Name them as deliverables, in a standard format, at each release. A fine-tuned model that lives only in the vendor's account is not something you own in any practical sense.

Labels and evaluation sets. Frequently the most expensive artifact in the whole project, because a human being was paid per item to create it, and frequently treated as vendor working papers. Ask for the labels, the labeling guidelines, and the inter-annotator agreement if it was measured. Your evaluation set is also the only thing that will ever let you compare a replacement vendor's work to the incumbent's.

The reproduction procedure. Weights without the pipeline that produced them are a dead end at the first retrain.

Then read the usage terms — the vendor's, and those of every model provider underneath them. Terms permitting a provider to use submitted content to improve their services are common, are sometimes on by default, and are frequently switchable. Whether that matters depends entirely on what your data is. Deciding it deliberately takes twenty minutes. Discovering it during a customer's security review takes considerably longer.

Escrow is mostly theater, and there is a better version

Source code escrow — a third party holds the source, releasing it if the vendor goes bankrupt — is a familiar comfort with a specific weakness: what gets deposited is usually a source archive, and a source archive is not a running system. No credentials, no infrastructure definitions, no build pipeline, no seed data, and a deposit that is often a year stale by the time anyone reaches for it.

The version that works costs less and is available continuously: the source lives in your repository from the first commit, the build runs in your accounts, and infrastructure is defined as code alongside it. Then you do not need a trigger event, because you already have everything on the day you need it rather than ninety days after a bankruptcy filing. Where a customer or regulator specifically requires escrow, deposit the whole environment and verify a release annually. An unverified escrow is a receipt, not a plan.

The mistakes we see in signed contracts

  • “All work is work made for hire” and nothing else — which, for software by a contractor, may transfer nothing
  • “Contractor agrees to assign” where “hereby assigns” was one word away
  • No background IP schedule, so the boundary is drawn after the relationship ends
  • Assignment from the firm but not from its subcontractors, leaving a hole in the chain
  • Silence on models, weights, embeddings and labels in a contract that is entirely about an AI system
  • No component inventory, so the license position is unknown until a customer asks
  • Escrow instead of possession, unverified, and stale by construction
  • No further-assurances clause, so any later filing needs goodwill you may not have

If you already signed something silent

Start by reading what you have rather than assuming the worst. Many agreements contain a serviceable assignment buried in a general terms section, and plenty of vendors will confirm intent in writing without drama, because it costs them nothing and they would like the next project. A short, friendly clarifying amendment during a good relationship is the cheapest fix available and it is available today.

If the vendor will not confirm, you are probably operating under an implied license, which usually covers using the software for its intended purpose but is a genuinely contested question when it comes to modifying it, handing it to a competing firm, or selling the business that depends on it. Get counsel to look at the actual document. Then use the natural openings: a renewal, a new statement of work, a support agreement. Ownership language is far easier to add to the front of the next engagement than to the back of the last one.

Before you sign

  • The agreement says “hereby assigns,” not “agrees to assign”
  • Assignment is effective on payment, and further assurances are required
  • Every contributor, including subcontractors, has assigned rights upstream
  • Background IP is listed in a schedule, updated at each milestone
  • You have a perpetual, irrevocable, transferable license to that background IP
  • A component inventory with licenses ships with every release
  • The distribution model is stated, and warranted compatible with those licenses
  • Your data is yours, with no training use absent written consent
  • Weights, labels, evaluation sets and the reproduction procedure are named deliverables
  • Source lives in your repository from the first commit, not in an escrow account

Bottom line

The rule to carry away is that payment does not transfer copyright in the United States, that the transfer is one clause, and that the clause has a strong form and a weak form separated by two words. Everything else is scope: what the vendor brought with them, what the internet contributed, and what your own data produced. Ask for outright ownership of the code, a broad and transferable license to the rest, an inventory of the components, and explicit naming of the model artifacts. Most good firms will agree to all of it in an afternoon, because they have been asked before. The ones who will not have told you something useful for free.

Frequently asked questions

If I paid for custom software, do I own it?

Not automatically, in the United States. Copyright in work by an independent contractor stays with the contractor unless there is a signed express assignment, because software is not one of the nine categories that can be a commissioned work made for hire. Without an assignment you generally hold an implied license whose scope is exactly the thing people argue about later. The fix is one clause, and it is easiest to add before work starts.

Is “work made for hire” language enough on its own?

For a contractor writing software, usually not. Well-drafted agreements say the work is a work made for hire and, to the extent it is not, the contractor hereby assigns all right, title and interest. The belt-and-braces version costs nothing and covers the case where the first theory fails. If your contract has only the first half, ask for the second.

Should I demand ownership of the vendor's internal framework?

Generally no. You want certainty of use, not title. A perpetual, irrevocable, worldwide, royalty-free, transferable and sublicensable license to use and modify the background IP as embedded in your system gives you everything ownership would, without paying to acquire a general-purpose library you then have to maintain. Insist instead that background IP is identified in writing before delivery.

Who owns a model that was fine-tuned on our data?

Whoever the contract says, and most contracts say nothing, which is the problem. Name the weights or adapter files, the training and evaluation data, the labels and the reproduction procedure as deliverables in a stated format. Then check the usage terms of every model provider in the chain for language permitting them to use submitted content to improve their services.

Do we need source code escrow?

Rarely, if the source already lives in your own repository and your builds run in your own accounts, which is a better outcome available for less money. Escrow deposits are typically source only, often stale, and exclude the credentials and infrastructure that make source runnable. Where a customer requires escrow, deposit the full environment and test a release annually — an unverified escrow is a receipt rather than a plan.

1 business day response

Not sure what your current contract actually transferred?

Send the IP section and we will tell you plainly what it appears to cover and what it leaves out, so you know what to take to counsel. Email bo@precisionfederal.com.

Email an engineerCapabilitiesMore insights →
Software ContractsIP AssignmentOpen SourceModel Artifacts