Business · Hiring
Who Owns the Code? IP Clauses When You Hire Developers
Hiring a freelancer or agency does not make you the owner of the code. What the law defaults to in the US and India, and the clauses that fix it.
Anurag Verma
7 min read
Sponsored
Paying a developer does not make you the owner of what they build. In the US, and under India’s Copyright Act, the person who writes the code owns it until a signed document says otherwise. If your contract is silent, you may have bought a licence and nothing more. That matters the day you raise money, sell the company or fire the developer.
This is general information, not legal advice. Have a lawyer in your jurisdiction read the final contract. What follows is what to ask that lawyer to check.
What the law assumes when the contract says nothing
Start with the US. Copyright belongs to the author by default. The exception is a “work made for hire”, which the statute defines in two ways: a work prepared by an employee within the scope of employment, or a commissioned work that falls into one of nine listed categories and is covered by a written instrument signed by both parties (see 17 U.S.C. § 101). The categories include contributions to collective works, parts of audiovisual works, translations, compilations and tests. General-purpose application software is not on the list.
So a freelancer who is not your employee, writing a web app, is usually the author and owner. Transferring ownership then needs a written transfer signed by the owner (17 U.S.C. § 204). A handshake or a paid invoice is not that document.
India works the same way in outline. Section 19 of the Copyright Act, 1957 says an assignment is valid only if it is in writing and signed by the assignor. It also fills gaps against you. If the assignment does not state its period, it is deemed to run for five years from the date of assignment. If it does not state its territory, it is presumed to extend within India only. A client in Berlin or Austin who signs a vague one-line “all rights transferred” clause with an Indian developer can end up with a five-year, India-only assignment. That is a long way from owning the product.
The five clauses that decide ownership
| Clause | What it should say | What goes wrong without it |
|---|---|---|
| Assignment | The developer assigns all right, title and interest in the deliverables to you | You hold only an implied licence |
| Scope of rights | All rights, worldwide, for the full term of copyright | India’s defaults: five years, India only |
| Timing | Effective on creation, or on payment of the relevant invoice | Disputes over half-finished work if you part ways |
| Carve-outs | A schedule of the developer’s pre-existing tools, with a licence to you | Either side claims the other’s building blocks |
| Moral rights and waivers | A waiver or consent where local law allows it | An author objecting to modifications |
A few notes on how to use the table.
Assignment beats work-for-hire. Because most software misses the nine categories, treat “work made for hire” as a backup sentence and make the assignment the main one. Something like: “Contractor hereby assigns to Client all right, title and interest worldwide in the Deliverables, effective upon creation.” The word “hereby” matters because it assigns now, not “agrees to assign” later.
Tie transfer to payment if you want to, but know the trade. Many developers will not hand over rights until the final invoice clears, which is fair. Make sure you hold a licence to use the work in the meantime, so a late payment does not leave you with a product you cannot lawfully run.
Define “Deliverables” broadly. Source code, build scripts, infrastructure-as-code, design files, documentation and database schemas. If you only name “the application”, the deployment scripts stay with the developer.
Pre-existing code, libraries and open source
Every developer arrives with tools. Internal libraries, boilerplate, snippets from earlier jobs. You do not want to claim them, and the developer is unlikely to sign if you try. What you want is a licence.
Put a clause in the contract along these lines: the developer keeps their pre-existing materials, and grants you a perpetual, worldwide, royalty-free, irrevocable licence to use and modify them as part of the deliverables. Ask them to list anything significant before kick-off, so it appears in a schedule.
Open-source packages are a separate issue. You cannot own them, and their licences carry obligations. A permissive licence such as MIT mostly asks you to keep the notice. A copyleft licence such as the GPL can require you to publish your own source if you distribute the combined work. Ask the developer to warrant that they have not included code under a licence that conflicts with how you plan to use the product, and ask for a dependency list at handover. Technical due diligence on a codebase covers how an acquirer will check the same thing later, so doing it now is cheaper.
AI-generated code and what you can actually own
Here is the newer wrinkle. Developers now write a lot of code with AI assistants, and the legal position of purely machine-generated output is unsettled. The US Copyright Office’s January 2025 report on copyrightability concluded that, with current generally available technology, prompts alone do not give a user enough control to be the author of the output. Human selection, arrangement and modification of AI output can still be protected (summary from the Copyright Alliance).
For a client, the practical reading is this: an assignment clause transfers whatever rights exist, and if the rights are thin, you receive thin rights. You can’t assign what the author never had.
Three things follow:
- Ask whether AI tools are used on your project and which ones. Put the answer in the contract.
- Require human review and modification of AI-generated code, which is also better engineering.
- Ask the developer to confirm that they have the right to use any AI tool on your code. Some client data should never go into a third-party model.
Agencies and subcontractors
An agency adds a layer. Its employees usually assign their work to the agency, and the agency must then assign to you. If the agency uses freelancers, those freelancers need their own assignments in the chain. A break anywhere in the chain breaks your title.
Ask for this in the master agreement: the agency warrants that every person who contributes holds a signed assignment covering their work, and it will provide copies of the relevant clauses on request. How the agreement is structured (fixed scope or hourly) changes how you pay, but not who owns the output. Our guides on statement of work versus time and materials and fixed price versus time and materials cover the commercial side, and how to hire a software development agency lists what to check before you sign.
A short pre-signing checklist
- The contract has an explicit assignment clause, worldwide, perpetual, covering all deliverables.
- Any work-for-hire language is a backup, not the only mechanism.
- Pre-existing tools are scheduled and licensed to you.
- You have a dependency list and a statement on open-source licences.
- AI tool use is disclosed, and AI-generated code is human-reviewed.
- Subcontractors are bound by assignments too.
- Confidentiality covers your code, data and credentials, and access is revoked at the end.
- Handover includes repos, environments, secrets and documentation, as in client handoff documentation.
If you are starting with a paid trial project, put the assignment clause in the trial contract too. A two-week trial produces code you own or don’t, exactly like a two-year engagement.
Ownership is cheap to settle before the first commit and expensive to settle after the last one. If you would rather start from a vetted shortlist and a contract template, CoderCops services is the place to ask.
Frequently asked questions
- If I pay a freelancer for the code, do I own it?
- Not automatically. Without a signed written assignment, the freelancer usually keeps the copyright and you hold at most an implied licence to use what you paid for. Get the assignment in the contract before work starts.
- Is a 'work made for hire' clause enough?
- In the US it often is not. The statute only lets a commissioned work count as made for hire if it fits one of nine listed categories, and general software usually does not. Use an assignment clause as the main mechanism and keep any work-for-hire wording as a backup.
- Can the developer reuse code they wrote for me?
- Only what the contract lets them. Typical terms let them reuse their general tools, libraries and know-how, while your business logic and deliverables stay yours. Name the exceptions in a schedule so there is no argument later.
- Does this apply to an agency as well as a freelancer?
- Yes. An agency's employees assign to the agency, and the agency then has to assign to you. Your contract should require the agency to hold valid assignments from every person who worked on the project, including subcontractors.
Sources
Sponsored
Sponsored
Discussion
Join the conversation.
Comments are powered by GitHub Discussions. Sign in with your GitHub account to leave a comment.
Sponsored