Legal template

Free software development agreement template

A software development agreement sets what gets built, when it is due, what counts as finished, and who ends up owning the code. That last question is where most custom development goes wrong, because paying for software does not automatically make you its owner.

Free to use. Legally binding under the ESIGN Act, UETA, and eIDAS.Updated September 2026 by Document eSign
SOFTWARE DEVELOPMENTAGREEMENTReady to sign online.SignatureSigned and datedSIGN
or download a copy
Overview

What this template is

A software development agreement is the contract between a client who wants software built and the developer or agency building it. It does four jobs: it defines the thing being built, it sets the schedule and the money, it says how anyone can tell when a milestone is finished, and it decides who owns the resulting code. The first three are project management written down. The fourth is the one that produces litigation, because the default rule under US copyright law is that the person who writes the code owns it. A client who pays an outside developer and never gets a written assignment has bought a licence at best, and sometimes not even that. This template is built around fixing that, The ownership clause assigns the copyright outright instead of assuming it travels with the invoice, there is an exhibit for disclosing open source components, and the acceptance criteria have to be objective enough that someone could actually test them.

Who uses it

A company commissioning a custom application from an agency or a freelance developerA founder paying a development shop to build a first version of a productA freelance developer who wants scope, acceptance and payment terms written down before startingAn agency that needs to protect its own reusable libraries while still giving the client what it paid forA business replacing a handshake arrangement with a contractor it has already been working withA client who has been told the code is theirs and wants to check whether that is actually trueAnyone whose last project ran aground on an argument about whether a milestone was finished
What's inside
  • A scope clause tied to a Statement of Work, with a conflict rule that says which document wins
  • Milestones with a notification duty when a date is going to slip
  • A change control clause requiring a signed change order before work starts
  • Fixed-fee or time-and-materials pricing with a not-to-exceed cap
  • Client dependency obligations, so a stalled project is not automatically the developer's fault
  • An acceptance procedure with a review period, a reproduction requirement for rejections, and deemed acceptance
  • An ownership election between client-owns and developer-owns-client-licensed
  • An express present assignment of copyright, with work-made-for-hire language kept subordinate to it
  • A California drafting note on the two statutes that make work-made-for-hire wording backfire
  • A background materials clause protecting the developer's own tools and libraries
  • An open source and third-party component clause banning copyleft components without written consent
  • A disclosure duty for generative AI coding tools, with the IP warranties and indemnity applying to that output
  • A source code delivery clause that stops code being withheld as a bargaining chip in a fee dispute
  • A 90-day performance warranty with a stated exclusive remedy, and a disclaimer of the rest
  • IP infringement indemnity with the usual carve-outs, and a liability cap with carve-outs of its own
  • Exhibit A for the Statement of Work, Exhibit B for component disclosure, and Schedule 1 for the key elections
HOW IT WORKS

From template to signed in three steps.

01

Start from the template

Open it in the editor with the fields already mapped, or download the DOCX to edit offline.

02

Add signers and send

Drop signature and date fields, then route each party in order or in parallel.

03

Get a sealed copy

Everyone signs, and you get a tamper-evident PDF plus an audit certificate.

Start signing free

Free forever. No credit card. Your recipients sign with no account.

The details

Everything to know before you send it.

1

Work made for hire does not give you the code

This is the most consequential misunderstanding in custom software, and it is written into a large number of free templates. US copyright law recognises two routes to a work made for hire. The first is a work prepared by an employee within the scope of employment. The second is a work specially ordered or commissioned, and 17 U.S.C. 101 lists exactly which kinds qualify: a contribution to a collective work, part of a motion picture or other audiovisual work, a translation, a supplementary work, a compilation, an instructional text, a test, answer material for a test, or an atlas. Software is not on that list. So when a client commissions an independent developer to write an application, the work-made-for-hire route is simply unavailable, no matter how emphatically the contract says otherwise. Ownership stays with the developer unless the contract assigns it, and under 17 U.S.C. 204(a) that assignment has to be in a signed writing. Whether the developer counts as an employee is not decided by what the contract calls them either. In Community for Creative Non-Violence v. Reid (5 June 1989) the Supreme Court held that courts apply general common law of agency principles, weighing control over the manner and means of the work, who supplies the tools, how the person is paid and taxed, and roughly a dozen other factors, with no single one deciding it. Clause 7 of this template handles it the way careful software contracts do. It assigns first, and treats the work-made-for-hire language as a fallback that only operates where a deliverable happens to qualify. Read in that order, the clause works whether or not the categorisation is available.

2

The California trap in work-made-for-hire wording

If your developer is an individual in California, the words themselves carry a cost that has nothing to do with copyright. Two statutes attach to any contract in which the parties expressly agree that a commissioned work of authorship shall be a work made for hire.

  • California Labor Code 3351.5(c) brings that person within the definition of "employee" for workers' compensation purposes. The commissioning party is expected to carry cover.
  • California Unemployment Insurance Code 686 goes further and states that the ordering or commissioning party "shall be the employer of the author of the work for the purposes of this part", which pulls in unemployment insurance contributions.
  • The practical result is that boilerplate meant to secure copyright can convert your contractor into a statutory employee for two state programmes, while doing nothing for the copyright question because software is not a qualifying category anyway.
  • The fix costs nothing. Strike the work-made-for-hire sentence and rely on the assignment, which reaches the same ownership outcome. Clause 7 carries a bracketed drafting note saying exactly this, and Schedule 1 asks whether the developer is a California individual so the question gets raised before signing rather than after.
  • California is the clearest example and may not be the only one. If your developer is an individual elsewhere, spend five minutes on that state's workers' compensation and unemployment insurance definitions before keeping the wording.
3

Deciding who owns what

Clause 7 makes you elect. Both options are legitimate and the right answer depends on what the client is really buying.

  • Client owns, option (a). The normal choice for bespoke work built to a client's specification. The client gets the copyright in the deliverables on payment in full, which matters because it can then sell the business, license the software, or hire someone else to maintain it without asking permission.
  • Developer owns and licenses, option (b). Common where a development shop is building something it intends to reuse or productise. The client gets a licence rather than ownership, and pays less for it. Say so plainly in the pricing conversation, because a client who discovers this at exit is going to be unhappy.
  • Payment as a condition. Both options tie the transfer or the licence to payment in full. That is the developer's real security, and it is a fairer lever than withholding the source code, which clause 10 forbids.
  • Background materials are separate. A developer who has spent years building internal libraries should not hand them over because they were used on one project. Clause 8 keeps ownership with the developer and gives the client a perpetual licence to whatever is embedded in the deliverable, which is what the client actually needs.
  • Whichever option you pick, the developer's own personnel and subcontractors need to be under matching terms. Clause 15 requires it. A developer cannot assign what its own contractor never assigned to it, and this is a common gap in a chain of freelancers.
4

Open source is the risk nobody prices

Almost every modern application is assembled partly from third-party packages, and most of those licences are permissive and harmless. The problem is the small number that are not. A copyleft licence can require that software distributed with the component be made available in source form under the same terms, which for a client that intended to sell a proprietary product is a serious problem discovered at the worst possible moment, usually during diligence on a funding round or an acquisition. Disclosure solves this better than a blanket ban would. Clause 9 requires the developer to list every third-party and open source component in Exhibit B with its name, version and licence, and bans components carrying source-disclosure obligations unless the client consents in writing. That turns an invisible risk into a decision someone made on purpose. Exhibit B is deliberately a table with a consent column, because the useful artefact is a record of what went in and who agreed to it. An empty Exhibit B is itself a statement, and clause 11(b) makes the developer warrant that the deliverables are original except for what is disclosed there. The same disclosure logic now has to cover generative AI coding tools, and most free templates are silent on them. The contractual question is not whether the developer may use one. It is who carries the risk if AI-produced code turns out to reproduce someone else's licensed work. Clause 9 requires the developer to record in Exhibit B whether such tools were used and which ones, and it makes clear that the originality and non-infringement warranties in clause 11 and the indemnity in clause 17 apply to that output the same as to hand-written code. A developer who cannot stand behind what a tool produced should say so before signing.

5

Acceptance is where these projects actually fail

Disputes over custom software are rarely about ownership in the first instance. They are about whether the thing that got delivered was finished. An acceptance clause without objective criteria just relocates the argument.

  • Write testable criteria into Exhibit A per milestone. "The client is satisfied" gives the client a veto and calls it a standard. Something a third party could run and get the same answer is.
  • Set a review period and a consequence for silence. Clause 6 gives 10 business days and then deems the milestone accepted, which stops a project stalling because nobody signed anything off.
  • Require rejections to be specific enough to reproduce. A rejection that says "it doesn't work" gives the developer nothing to fix and starts an argument instead of a correction.
  • Close the scope-creep route. Clause 6 says a deliverable cannot be rejected for missing a requirement that is not in the acceptance criteria. That is a change order under clause 3, priced accordingly.
  • Decide in advance what happens after repeated failure. Clause 6 has a bracketed election between the client terminating and recovering that milestone's fees, or the developer having to continue at its own cost. Pick one at signing, because negotiating it during a failed project is not realistic.
  • Fill in the OUT OF SCOPE box in Exhibit A. Listing what is not included prevents more disputes than any other single line in these contracts.
6

If you are the developer rather than the client

The template is balanced, but most commentary on these agreements is written for the buyer. Some terms deserve your attention before you sign one, including a version of this one.

  • Protect your background materials. Clause 8 does this, and it is the clause most often quietly deleted in a client's redraft. Without it, an aggressive ownership clause can be read to sweep in libraries you built over years and use on every project.
  • Do not accept unlimited liability. Clause 18 caps it and carves out the usual exceptions. A cap at the fees paid is standard for development work, and an uncapped indemnity on a fixed-fee build is a bad trade at any price.
  • Insist on client dependencies being written down with dates. Clause 5 exists because the most common cause of a missed milestone is a client who has not supplied access, test data or a decision.
  • Tie the assignment to payment. Clause 7 does. It gives you real security for the fee, which withholding source code only appears to do.
  • Push back on "time is of the essence" unless the schedule is genuinely realistic. Clause 2 offers it as an election, and agreeing to it turns a short delay into a material breach.
  • Get the warranty period and its remedy bounded. Clause 11(e) is 90 days with a stated exclusive remedy in clause 12. An open-ended obligation to fix whatever the client dislikes is unpaid maintenance wearing a warranty label.
  • If you use subcontractors, get assignments from them first. Clause 15 obliges you to, and you cannot pass on rights you never received.
7

This template, or a service agreement or SOW

These overlap and the right pick depends on what is being bought and who ends up owning the output. Use this one when someone is commissioning software that does not exist yet, and the questions of specification, acceptance and code ownership all need answering. Use a general service agreement when the work is a service being performed rather than an artefact being created and transferred, such as ongoing support, hosting or consulting advice. Use an independent contractor agreement when the relationship itself is the point and the deliverables vary from month to month. A statement of work is not an alternative at all: it is the technical annex that sits under a master agreement, and Exhibit A of this template is exactly that. A reasonable rule: if the argument you fear is about who owns the source code, you want this document. If the argument you fear is about hours and invoices, a service or contractor agreement is closer. For a long relationship with repeated projects, sign this once as the master and issue a new Exhibit A for each engagement rather than a fresh contract each time.

8

Source code, documentation and the developer disappearing

A client who owns the copyright but not a usable copy of the source is in a weak position, and this happens more often than it should. Clause 10 requires delivery of the source, the build and deployment scripts, the configuration and enough documentation that a competent developer could take over without help from the original one. Setting the delivery target as a repository the client controls, rather than a handover at the end, is the version that survives a relationship breaking down badly. Clause 10 also stops the source code being used as a bargaining chip in a fee dispute. That protection is deliberately paired with clause 7's payment condition and clause 19's termination rights, so the developer still has real remedies for non-payment. For larger engagements, or where the developer is a small shop and the software is business-critical, source code escrow with a third party is worth considering, released on defined trigger events such as insolvency or a sustained failure to support. This template does not include escrow terms, since they are usually a separate tripartite agreement with the escrow agent.

9

When to get a lawyer involved

A straightforward custom build between two US businesses is well covered by this template. Several situations are not, and the numbers involved usually justify advice.

  • The software will process regulated data, including health information, payment card data, or personal data of EU or UK residents. Clause 14 is a starting point and those regimes need their own annexes.
  • You are commissioning something that will be central to the value of your company. Ownership, escrow and diligence-readiness deserve real attention rather than a template.
  • The developer is offshore or the parties are in different countries. Enforcement, tax and IP transfer formalities all change.
  • The deal involves equity, revenue share, or the developer retaining a stake in the product.
  • Patentable subject matter is likely. Copyright assignment does not cover patents, and the invention assignment and filing obligations need drafting.
  • An existing codebase, prior developer or unresolved ownership history is involved. Chain of title problems get harder to fix over time, not easier.
10

A note on what this page is

This is a general-purpose template and general information, not legal advice. Software development contracts sit on top of federal copyright law, state contract law and sometimes state employment law all at once, and as the California example shows, wording that is harmless in one state can have consequences in another. Read it against your own situation and take advice on anything you are unsure about before signing.

Disclaimer

This template and the guidance on this page are provided for general information only and are not legal advice. Laws differ by country and state, so review the final document against your own situation and have a qualified lawyer check anything high-value or regulated before you sign.

FAQ

Questions, answered.

Who owns the code if I pay someone to write it?

The developer does, unless your contract assigns it to you in writing. Copyright vests in the author, and an independent contractor is the author of what they write. Paying for the work buys you the work, not automatically the copyright in it. To change that you need a written assignment signed by the developer, which is what clause 7(a) of this template provides. Without one, the most a client can usually argue for is an implied licence to use the software for the purpose it was commissioned for, which is a much weaker position than ownership and is a problem the first time you try to sell the business or hire a different developer.

Does a work made for hire clause give me ownership of software?

On its own, no, and this catches out a lot of people. 17 U.S.C. 101 allows a commissioned work to be a work made for hire only if it falls into one of nine listed categories, set out in full in the section above. Software appears nowhere among them. A contract that relies on work-made-for-hire language alone leaves copyright with the developer. Use an express assignment, and keep any work-made-for-hire wording as a subordinate fallback, which is how clause 7 is drafted.

Why does California treat work made for hire differently?

Because two California statutes attach employment consequences to the phrase itself. Labor Code 3351.5(c) reaches workers' compensation and Unemployment Insurance Code 686 reaches unemployment insurance; the section above quotes what each one does. The drafting upshot: the wording can create statutory employer obligations for a California individual while doing nothing at all for your copyright position. Striking the phrase and relying on the assignment gets you ownership without the side effect.

What should be in the acceptance criteria?

Something a third party could test and get the same answer. Specific functional behaviours, performance thresholds, supported browsers or devices, data volumes handled, and the test cases that will be run. Avoid anything that depends on the client's satisfaction, because that is a veto rather than a criterion and it makes the deemed-acceptance mechanism meaningless. Write them per milestone in Exhibit A, and fill in the out-of-scope box while you are there. Clause 6 backs this up by preventing a rejection based on a requirement that is not in the criteria, which routes scope changes to the change order process in clause 3 where they can be priced.

Can the developer keep the source code until I pay?

Not under this template, and that is deliberate. Clause 10 requires source code delivery on acceptance and expressly says it cannot be withheld as a bargaining chip in a fee dispute. The developer is not left without remedies: clause 7 makes the assignment conditional on payment in full, so an unpaid developer keeps ownership, and clause 19 allows termination for material breach. Most clients will insist on that arrangement anyway once the software is running their business, and it avoids a standoff over a repository.

What happens if the developer uses open source code?

Usually nothing bad. Most open source licences are permissive and ask for little beyond attribution, and the copyleft problem described in the section above is confined to a small minority of them. What the contract adds is a paper trail: clause 9 requires every component listed in Exhibit B with its licence, bans source-disclosure components without written consent, and now also requires disclosure of any generative AI coding tools used. The practical step for a client is to ask for Exhibit B filled in before final payment, since at the start nobody yet knows what will go in.

Should I pay a fixed fee or by the hour?

Fixed fee suits a project whose scope can genuinely be pinned down in advance, and it moves the estimating risk to the developer, who will price that risk in. Time and materials suits work where the scope will be discovered as you go, and it moves the risk to the client. A common middle path, which clause 4 supports, is time and materials with a not-to-exceed cap, so the client has a ceiling and the developer is not penalised for an estimate made before anyone understood the problem. Whichever you choose, tie payment to accepted milestones rather than elapsed time.

What is the difference between this and a statement of work?

They are not alternatives, they work together. The agreement carries the legal terms: ownership, warranties, liability, confidentiality, termination. The statement of work carries the project detail: what is being built, the milestones, the dates, the acceptance criteria. In this template the statement of work is Exhibit A, and clause 1 says that where the two conflict, the agreement controls except on technical specification, where Exhibit A wins. For a repeat relationship, sign the agreement once and issue a new Exhibit A for each project instead of negotiating a whole contract each time.

Do I need a lawyer for a software development contract?

For a straightforward build between two US businesses, a well-drafted template like this one covers the ground. Get advice where the stakes or the complications rise: regulated data such as health or payment information, software that will be central to your company's valuation, an offshore developer, equity or revenue share as part of the consideration, likely patentable subject matter, or an existing codebase with an unclear ownership history. Chain of title problems in particular are much cheaper to prevent than to unwind.

Does the developer keep the right to reuse code from my project?

Only the parts that were already theirs, plus their general skills and knowledge. Clause 8 keeps ownership of the developer's pre-existing tools, libraries and frameworks with the developer, and gives you a perpetual licence to whatever is embedded in your deliverables so you can keep using and modifying them. Anything built specifically for you is covered by the clause 7 assignment. The line worth policing is Exhibit B, where the developer lists which background materials went in, because a clause 8 that is never filled in is where disagreements start.

Is source code escrow worth setting up?

For most projects it is not, because clause 10 already requires source delivery on acceptance and a repository the client controls covers the same risk for free. Escrow earns its keep in one specific case: a small development shop, business-critical software, and a client not taking delivery of source in the ordinary course. If you do set it up, spend the effort on the release triggers. An escrow that releases only on formal insolvency is close to useless, because a developer can stop answering email long before it files anything.

Is the software development agreement available in Word format?

Yes. Download the software development agreement as a Word (.docx) file and edit it in Microsoft Word, Google Docs, or Pages. Exhibit A is where the project detail goes, Exhibit B is the component disclosure table, and Schedule 1 collects the key elections in one place. You can also download a PDF or fill it in and sign online.

Can I download the software development agreement as a PDF?

Yes. A print-ready PDF is available alongside the Word version. Download either one free, or sign online without downloading anything.

Live in under a minute

Ready to send your first envelope?

Create your free forever account, upload a document, and send it for signature in minutes. No credit card required.

30 free envelopes a month Legally binding · global Audit trail on every document