Contracts

The IP clause in a software development contract: anatomy and sample wording

A working IP clause has six parts: definitions, an assignment of the deliverables triggered by full payment, retention of the agency's background IP with a license to the client, terms for third-party and open source code, a moral rights waiver, and further assurances. Most disputes come from the definitions, so negotiate those first.

Scope & Bill · Updated

The IP clause is half a page in a contract nobody reads until something goes wrong. Then it decides whether the client can take the code to another vendor, whether you can reuse your own component library, and whether an unpaid client is running software it has any right to run.

I have negotiated this clause from both chairs. The pattern is consistent: the sentence everyone fights over, the assignment, is rarely where the outcome is decided. The outcome is decided in the definitions. This page takes the clause apart, gives sample wording for three negotiating positions, and covers what to do when the client’s paper says “all work product”. For the wider question of who owns what by default, read who owns the code first. The clause lives in the master services agreement or in a standalone software development agreement, and the rest of the contracts hub covers the documents around it.

Anatomy of the clause

1. Definitions

Four defined terms carry the clause.

Deliverables are the things the client is buying. Define them by pointing at the statement of work, and resist any definition that reads “anything created in connection with the Services”. The statement of work template has a deliverables table for exactly this reason: the IP clause can only be as precise as the list it refers to.

“Deliverables” means the software, documentation and other items identified as deliverables in a Statement of Work and delivered to Client, excluding Background IP, Third-Party Materials and Open Source Software.

Background IP is what you owned before the project and what you build outside it.

“Background IP” means all software, tools, libraries, frameworks, templates, methods and know-how owned or controlled by Agency before the Effective Date or developed by Agency independently of the Services, together with any enhancements to them.

The last six words matter. Without them, the bug you fix in your own library during a client project arguably belongs to the client.

Third-Party Materials are commercial components licensed from someone else. Open Source Software is code under an open source license. Neither is yours to assign, so both have to be carved out of the assignment or you are promising title to things you do not own.

2. The assignment and its trigger

Upon Agency’s receipt of full payment of all Fees due under the applicable Statement of Work, Agency hereby assigns to Client all right, title and interest, including all copyright, in the Deliverables under that Statement of Work.

Two choices are built in. “Hereby assigns” is a present assignment, so ownership moves automatically when the condition is met and nobody has to chase a signature. “Upon receipt of full payment” is the trigger. Until then the agency owns the code and the client has a limited license:

Until assignment takes effect, Agency grants Client a non-exclusive, non-transferable license to use the Deliverables solely for testing and evaluation.

If the relationship ends badly, this is the clause you will be glad you had. See what to do when a client is not paying for how it fits into collections.

One drafting note for US contracts. Client paper usually calls the deliverables “work made for hire”. For an independent agency that label often fails for software, and a status that attaches at creation sits awkwardly with a payment trigger. I prefer a clause that says ownership passes by assignment and leaves the label out.

3. The license back, in both directions

Two licenses make the split work.

The first runs from agency to client, covering Background IP that ended up inside the deliverables:

Agency grants Client a perpetual, worldwide, non-exclusive, royalty-free license to use, copy, modify and create derivative works of the Background IP solely as incorporated in the Deliverables, including the right to sublicense to Client’s contractors and successors for the same purpose. Client will not extract Background IP from the Deliverables to distribute it as a standalone product.

The second runs from client to agency, covering generic code inside the assigned deliverables:

Client grants Agency a perpetual, worldwide, non-exclusive, royalty-free license to use, modify and license to others any portion of the Deliverables that is of general application and contains no Client Confidential Information.

Agencies forget the second one. Once the deliverables are assigned, every line in them is the client’s, including the pagination helper you have written forty times. The license back keeps you from infringing your own client’s copyright the next time you write it.

4. Third-party and open source materials

Third-Party Materials and Open Source Software are licensed to Client under their own license terms, which Agency will identify in the Statement of Work or on delivery. Agency will not incorporate into the Deliverables any Open Source Software under a license that would require Client to disclose or license the source code of the Deliverables, without Client’s prior written consent.

The second sentence is what the client’s lawyer cares about. Give it freely and then keep the promise: run a license scan before delivery and attach the output.

5. Moral rights

To the extent permitted by law, Agency waives, and will obtain from its personnel a waiver of, all moral rights in the Deliverables, and agrees not to assert any moral rights that cannot be waived.

In the US and UK this has almost no effect on code. In France, Germany and other civil law countries, authors hold moral rights that survive an assignment. If your developers or your client are there, the clause earns its two lines.

6. Further assurances

Each party will sign any documents and take any steps reasonably requested by the other, at the requesting party’s expense, to perfect or record the rights granted in this section.

Clients ask for this so an acquirer’s lawyers can get a confirmatory assignment signed three years later. Agree to it, with the expense on the party asking.

Three versions of the whole clause

Agency-friendly

Agency owns all Deliverables and Background IP. Upon receipt of full payment of all Fees, Agency grants Client a perpetual, worldwide, non-exclusive license to use and modify the Deliverables for Client’s internal business purposes.

This is a license model. It suits productized work and platforms you deploy for many clients. For bespoke development most clients will refuse it, and they are right to ask why they are paying full build cost for a license.

Balanced

Upon receipt of full payment of all Fees due under the applicable Statement of Work, Agency hereby assigns to Client all right, title and interest in the Deliverables. Agency retains all Background IP and grants Client a perpetual, worldwide, non-exclusive, royalty-free license to use, copy and modify the Background IP as incorporated in the Deliverables. Client grants Agency a perpetual, non-exclusive license to reuse any portion of the Deliverables of general application that contains no Client Confidential Information. Nothing in this Agreement restricts Agency’s use of general skills, knowledge and experience gained in performing the Services.

This is what I propose by default and where most negotiations end.

Client-friendly

All work product created by Agency in performing the Services, including all software, documentation and inventions, is the sole property of Client from the moment of creation. Agency hereby assigns all right, title and interest in such work product to Client. To the extent Agency incorporates any pre-existing materials into the work product, Agency grants Client a perpetual, irrevocable, worldwide, royalty-free, fully sublicensable license to those materials.

Note what this version does. Title passes on creation, paid or unpaid. “Work product” has no boundary. Your pre-existing materials are licensed with no restriction on standalone use, and you have no right to reuse anything.

TermAgency-friendlyBalancedClient-friendly
Who owns the custom workAgencyClientClient
When title passesNeverOn full paymentOn creation
Background IPAgency, unlicensed beyond useAgency, licensed to client in the deliverablesAgency, licensed without limits
Agency reuse of generic codeUnrestrictedLicensed back, no client confidential informationNone

Negotiating when the client’s paper says “all work product”

You will get the client-friendly version from any company with a procurement department. Redlining the assignment sentence triggers a fight with a lawyer who has been told never to give up ownership. Four smaller edits get you to the balanced position with far less resistance.

Narrow the definition. Change “all work product created in connection with the Services” to “the Deliverables identified in a Statement of Work”. The lawyer keeps the ownership sentence intact, and it now covers what was actually sold.

Add the carve-out and the license together. Insert “excluding Background IP, Third-Party Materials and Open Source Software” and, in the same redline, the perpetual license to the client for all three. A carve-out offered alone looks like a grab. Offered with the license, it reads as housekeeping, because the client loses nothing it can use.

Move the trigger. Ask for assignment on full payment. If that is refused, offer assignment per paid milestone. If that is refused too, you have learned something about how this client thinks about paying, and your deposit and payment schedule should reflect it.

Ask for the residuals sentence. “Nothing restricts Agency’s use of general skills, knowledge and experience” is hard to object to with a straight face. The reuse license for generic code is a harder ask. If it is refused, the residuals sentence still covers what is in your team’s heads.

When a client insists on owning everything, tooling included, treat it as a pricing conversation. Either you build without your background components and the estimate goes up, or the fee includes a premium for giving up reuse. Say the number out loud. Requests for total ownership tend to shrink once they have a price. The same logic applies to requests that arrive mid-project, which are scope creep wearing a legal hat and belong in a change request.

Mistakes that cost agencies their own code

  • Signing “all work product” with no background IP carve-out, then shipping the agency’s starter kit inside the deliverable. The starter kit now has a second claimant.
  • Leaving the schedule of background components blank. Five years later nobody can prove which parts pre-dated the project.
  • Using freelancers with no written assignment to the agency. You cannot pass on title you never received.
  • Assigning on creation with net-60 payment terms. The client owns two months of work it has not paid for.

Each of these is fixable in a one-page document. The IP assignment and code ownership addendum is the one I use, and it includes both schedules.

Why the clause is worth the effort

Every project signed on balanced terms leaves you owning something: the components, the tools, the improvements you made to them, and a license to the generic parts. Over a decade that adds up to a body of working code with clean paperwork behind it. Code with clean paperwork can be reused without worry, shown to an acquirer of your agency, and licensed to third parties on a non-exclusive basis while you keep it.

If your contracts left the IP with you, the code on your shelf has a value worth finding out. See what your repositories are worth.

Code a client owns is outside that pile and stays outside it. The clause is what tells you, years later, which pile a repository belongs in. There is more on the valuation side in what your old code is worth.

This is a working document from a practitioner. Have a lawyer in your jurisdiction review it before you sign.

Common questions

What should an IP clause in a software development agreement include?
Definitions of Deliverables, Background IP, Third-Party Materials and Open Source Software, an assignment of the Deliverables with a clear trigger, a license to the client for any Background IP inside them, a moral rights waiver, and a further assurances clause. Each part answers a question that otherwise gets argued about later.
Should IP transfer on creation or on payment?
From the agency's side, on full payment. Title stays with the agency until the fees for that statement of work are paid, and the client holds a license to test in the meantime. Many clients accept this, and a common compromise is assignment milestone by milestone as each one is paid.
What do I do when the client's contract says it owns all work product?
Leave the assignment sentence alone and change the definition. Narrow 'work product' to the deliverables listed in the statement of work, carve out Background IP, third-party and open source materials, and add a perpetual license to the client for the carved-out parts. Most client lawyers accept this once the license is in.
Do moral rights matter for software?
In the US and UK they have little practical effect on code. In much of continental Europe authors hold moral rights that cannot be fully waived. A short clause waiving them where the law allows, and agreeing not to assert them elsewhere, costs nothing and closes the question.