Skip to content
Exmoor Software
Back to blog
Umowa na oprogramowaniePrawa autorskieWspółpraca z software houseBezpieczeństwo projektuMała firma

Software Development Contract: 8 Clauses You Must Understand

July 24, 2026 · Michał Masłowski

Most disputes between a company and its software developer do not come from bad faith. They come from ambiguities that the software development contract was supposed to settle - and does not. What does "done" mean? Who owns the code? Who pays for fixes after acceptance? If the contract stays silent, emotions will answer instead - usually at the worst possible moment of the project. You do not need to be a lawyer. You need to understand 8 clauses and know what to ask about. This is hands-on project experience, not legal advice - show an unusual contract to a lawyer.

Software development contract: scope and money

1. Scope and acceptance criteria

"An app for handling orders" is not a scope - it is a wish. A good contract points to a specification: a list of features, usage scenarios and what is out of scope. Plus acceptance criteria: how both sides recognise that a stage is finished, how long acceptance takes and what happens with reported issues. We covered how to prepare such a document in our guide to writing an app specification.

2. Payment and billing model

Fixed Price gives you a predictable amount for an agreed scope; Time and Material gives flexibility when requirements keep moving. Both models are fair - each shifts risk to a different side. The contract must state clearly what the price includes (testing? deployment? documentation?) and how scope changes are priced. We compared both in detail in our post on Fixed Price vs Time and Material.

3. Code rights: transfer of copyright or a licence

The clause with the most myths around it. In practice there are two fair models. Transfer of copyright: the code becomes your property and you can develop it with any contractor. A licence: the rights stay with the developer and you use the software within the scope described in the contract - often cheaper, with the developer clearly responsible for further development. Neither model is "the only right one" - they differ in price, in how freely you can change contractors and in how responsibility is shared, and the contract decides everything. Ask: what exactly the transfer or licence covers (code, documentation, designs), what happens with open source components, and when and in what form you receive the code or access to the repository. There is one red flag: no clause about this at all.

Warranty, confidentiality, liability

4. A warranty is not the same as an SLA

A warranty covers fixing defects in what was delivered - usually for a defined period after launch. An SLA is an agreement about response times and availability: what happens when the system goes down on Friday evening. Further development is a third, separate matter. These terms like to get mixed up, and each costs differently.

5. Confidentiality (NDA)

The developer will learn your processes, margins and customer data. The confidentiality clause should work both ways and survive the end of the collaboration. Check whether it also covers subcontractors.

6. Liability and contractual penalties

Penalties keep both sides disciplined, but healthy contracts are symmetrical: a penalty for the developer's delay has a counterpart for dragging out acceptance or withholding materials on your side. One-sided penalties signal that someone is shifting all the risk onto you.

7. Exit plan: what you receive at the end

Collaborations end - good contracts expect that. Check whether yours describes:

  • handover of the code or repository access - in line with the model from clause 3,
  • credentials: domain, hosting, database, third-party service accounts,
  • technical documentation and instructions for running the project,
  • a transition period during which the developer answers your next team's questions.

It is worth asking about credentials and the end-of-contract procedure before signing - we suggest how in 10 security questions to ask your developer.

8. Three clauses that should light a red lamp

  • Not a word about code rights. Whichever model you choose - it has to be described. Silence in the contract means a dispute in the future.
  • Penalties in one direction only, or the developer's liability capped at a symbolic amount on a large project.
  • "We will agree the details as we go" - no scope, no acceptance criteria, no change procedure. That is not flexibility, that is a minefield.

How we set this up - and what next

At Exmoor Software the scope, acceptance criteria, code rights model and exit plan are part of the contract as standard - the client consciously chooses the billing and rights model, knowing the consequences of both options. Already have an offer or a contract and want an engineer's eyes on it before you sign? Book a technical consultation. And if you are still planning the project, describe it in our quote calculator - you will see a preliminary price range straight away, get a first reply within 24 hours, and receive a binding quote after a short call.

Facing a similar challenge in your company?

Describe your project - get a ballpark instantly, we reply within 24h.

Estimate your project in 2 min