Free Software Development Agreement Template

Fully editable with standard terms and clauses. Send and e-sign it online.

Bonsai has helped create 1,023,928 documents and counting.

Trusted by thousands of agencies and consulting firms
4.9/5 on G2
4.8/5 on Capterra
Table of contents

What is a software development agreement?

A software development agreement is a written, legally binding document that outlines the terms of a working relationship between a software developer and the hiring company. A software development agreement is in place to align both parties on the project the software developer is hired for—or the ongoing working relationship.

Sign-up now to get your free software development contract. We’ll guide you through the contract set-up, and you’ll have a legally vetted contract in a matter of minutes.

Why you need a software development contract

As a software developer, it's critical you present a contract that you're happy with before starting work for a new business. A software development contract aligns both parties on their legal obligations to fulfill the agreement and the repercussions if those obligations are not met.

If you're responsible for presenting the contract, you'll be familiar with every clause in it. For example, maintenance services, the software's intellectual property rights, the case of a material breach, or the misuse of confidential or proprietary information.

In some cases, a developer may also need an official contract when it comes to tax declaration and deductions—depending on what country you're in.

What should be included in a software development agreement?

To present a functional and clear contract to your clients, we've outlined the core areas your software development agreement needs to cover.

Detailed descriptions of the work

Your software development agreement should start off with a detailed description of the work expected. This includes the roles and responsibilities of all contract stakeholders, the software development scope of work, and any third-party materials needed for the project.

Developer’s Duties

Your software development agreement should outline your duties. These include your duties outside of delivering a project. For example, the developer may be expected to maintain a product within reasonable efforts like fixing small bugs and providing general maintenance services for the business's digital product.


Delivery date and timeline of work

Every software development agreement needs a clear roadmap for work deliverables, approval milestones, project kick-off dates, and the final delivery date if the contract is for one project.

If your contract is ongoing, you'll want to include the developer’s written notice period and the same for the business. This notice period is typically between two weeks and one month.

Payment details

The development agreement should have a clear outline of all payment details. This includes:

  • The developer's invoicing period and company invoicing details
  • The developer's overall pay: whether it's by project or hour
  • The payment deadline and payment method
  • Whether the company will pay developer software fees or not

Intellectual property rights in the software

This is a crucial part of the developer contract and one that many companies need in order to be able to assign the developer a project. The intellectual property rights within the software typically belong solely to the client, including the copyright and trademark rights.

On occasions, the developer may use the intellectual property within their portfolio; however, the developer agrees that such software and all intellectual property rights are in the hands of the client.


Tools and Processes

It's a good idea to include any necessary tools and processes in your software development agreement. Some of these tools may already be in use by the client or the developer, so here you need to map out the intellectual property rights if, for example, part of the project is built within the other person's tool.

Here you'll also need to establish an agreement if there is a material breach and who is responsible for doing what if such a breach occurs.

Lastly, you'll need a plan for any tools needed that are not currently owned by the client or the developer. Get all of the below questions answered in this section of the development agreement:

  • Who is paying for them?
  • Who do they belong to?
  • Will these tools come out of your own expense, or will the business pay for them and use them in the future?
  • Are they necessary to run the software?

Confidentiality

Confidentiality clauses are exceptionally important when it comes to a software development agreement. There's a high chance that the developer shall have access to sensitive information. The company needs assurance that you won't share that information and jeopardize the company's assets or reputation.

Developer warranties

There are a few developer warranties that most businesses like to see in a software development agreement. A few of these are:

  • In undertaking the contract, the developer is not violating any previous or current contracts with other clients. This includes the intellectual property rights of any third party.
  • For a certain time after the project delivery, the software will operate according to spec. If the software fails during that agreed timeframe, the developer will take the necessary steps to fix it—without receiving numeration.


Cancellation clause

As is the case with most contracts, your software development contract needs a cancellation clause. This is in place for both parties and covers you both, should something unforeseeable arise and call for a cancellation of the work.

Depending on the circumstances, here you'll outline any fees debited should a cancellation occur and any other legal documents that need to change hands due to the cancellation.

Termination of contract & written notice

Termination is not something that anyone wants to discuss; however, it's definitely something that should be in your software development agreement.

The termination of your agreement can come from either party and with a legitimate reason. Here you'll want to outline what's necessary to terminate a contract and how much developer written notice is required, and the same for the hiring business.

A few things to consider necessary to terminate a contract are:

  • A contract breach
  • A mutual mistake
  • The impossibility of performance
  • Gross misconduct
  • A lack of capacity
  • Fraud or a criminal offense

Take a moment to consider why else you or the business would need to terminate your contract, and put these reasons here.

Other factors

In the last section of your software development agreement, you'll want to cover anything you haven't previously laid out. These are often things that are unique to this particular project or company. Things like access to client tools, liability for responses, or available hours can all live here.

That's everything you need in your agreement to ensure you're set up for success and legally have everything you need covered.

Sample software development contract template

If you're looking for your software development template, look no further. Download a premade template here for free and adapt it to your needs.

What's the benefit of using Bonsai, instead of editing a template yourself?

This Bonsai template has done all of the heavy lifting so you don't have to. We've covered all of the above and left you some blanks to fill in the rest. All of our free contract templates meet legal requirements, so you can start work knowing your agreement is legitimate.

How to create a software development contract with Bonsai

There are two ways you can create a software development contract with Bonsai.

  • Standard template

A standard template takes you through a simple form in which you fill in your details. After that, the template will auto-fill your details into the areas of a software development contract template where they're needed. After that, it will enable you to make any edits you wish.

This is great if you don't have your own template or too many specifications to make.

  • Blank template

A blank template is the best option if you need to make a lot of specific clauses. In this case, use the information shared here and make your necessary additions.

Both of these contract types will require an e-signature from both parties to come into effect.

Software development agreement FAQs


What are the types of software contracts?

There are three main types of software contracts, and within each, there are variations depending on needs. The main three types are fixed price, dedicated development team, time and materials (T&M).

How do software development contracts work?

Software development contracts act as a legally binding agreement for an agreed scope of work. They ensure both the hiring company and the development freelancer stick to what they've agreed upon.

They usually come as part of the software quotation and are agreed upon before the project begins.

Frequently Asked Questions
Questions about this template.

Template preview

Free Software Development Agreement Template

Software Development Agreement

Software Developer
First Name
Last Name
Acme LLC.
Client
First Name
Last Name
Corporation Corp.

This Contract is between Client (the "Client") and Acme LLC (the "Software Developer").

The Contract is dated [DATE BOTH PARTIES SIGN].

1. WORK AND PAYMENT.

1.1 Project. The Client is hiring the Software Developer to do the following: Develop, design and implement new or modified software products

1.2 Schedule. The Software Developer will begin work on [START DATE] and will continue until the work is completed. This Contract can be ended by either Client or Software Developer at any time, pursuant to the terms of Section 6, Term and Termination.

1.3 Payment. The Client will pay the Software Developer a rate of [PROJECT RATE]. Of this, the Client will pay the Software Developer [DEPOSIT AMOUNT] (USD) before work begins.

1.4 Expenses. The Client will reimburse the Software Developer's expenses. Expenses do not need to be pre-approved by the Client.

1.5 Invoices. The Software Developer will invoice the Client [INVOICE FREQUENCY]. The Client agrees to pay the amount owed within [X DAYS TO PAY] days of receiving the invoice. Payment after that date will incur a [LATE FEE PERCENTAGE]% per month on the outstanding amount.

1.6 Support. The Software Developer will not provide support for any deliverable once the Client accepts it, unless otherwise agreed in writing.

2. OWNERSHIP AND LICENSES.

2.1 Client Owns All Work Product. As part of this job, the Software Developer is creating “work product” for the Client. To avoid confusion, work product is the finished product, as well as drafts, notes, materials, mockups, hardware, designs, inventions, patents, code, and anything else that the Software Developer works on—that is, conceives, creates, designs, develops, invents, works on, or reduces to practice—as part of this project, whether before the date of this Contract or after. The Software Developer hereby gives the Client this work product once the Client pays for it in full. This means the Software Developer is giving the Client all of its rights, titles, and interests in and to the work product (including intellectual property rights), and the Client will be the sole owner of it. The Client can use the work product however it wants or it can decide not to use the work product at all. The Client, for example, can modify, destroy, or sell it, as it sees fit.

2.2 Software Developer's Use Of Work Product. Once the Software Developer gives the work product to the Client, the Software Developer does not have any rights to it, except those that the Client explicitly gives the Software Developer here. The Client gives permission to use the work product as part of portfolios and websites, in galleries, and in other media, so long as it is to showcase the work and not for any other purpose. The Client does not give permission to sell or otherwise use the work product to make money or for any other commercial use. The Client is not allowed to take back this license, even after the Contract ends.

2.3 Software Developer's Help Securing Ownership. In the future, the Client may need the Software Developer's help to show that the Client owns the work product or to complete the transfer. The Software Developer agrees to help with that. For example, the Software Developer may have to sign a patent application. The Client will pay any required expenses for this. If the Client can’t find the Software Developer, the Software Developer agrees that the Client can act on the Software Developer's behalf to accomplish the same thing. The following language gives the Client that right: if the Client can’t find the Software Developer after spending reasonable effort trying to do so, the Software Developer hereby irrevocably designates and appoints the Client as the Software Developer's agent and attorney-in-fact, which appointment is coupled with an interest, to act for the Software Developer and on the Software Developer's behalf to execute, verify, and file the required documents and to take any other legal action to accomplish the purposes of paragraph 2.1 (Client Owns All Work Product).

2.4 Software Developer's IP That Is Not Work Product. During the course of this project, the Software Developer might use intellectual property that the Software Developer owns or has licensed from a third party, but that does not qualify as “work product.” This is called “background IP.” Possible examples of background IP are pre-existing code, type fonts, properly-licensed stock photos, and web application tools. The Software Developer is not giving the Client this background IP. But, as part of the Contract, the Software Developer is giving the Client a right to use and license (with the right to sublicense) the background IP to develop, market, sell, and support the Client’s products and services. The Client may use this background IP worldwide and free of charge, but it cannot transfer its rights to the background IP (except as allowed in Section 11.1 (Assignment)). The Client cannot sell or license the background IP separately from its products or services. The Software Developer cannot take back this grant, and this grant does not end when the Contract is over.

2.5 Software Developer's Right To Use Client IP. The Software Developer may need to use the Client’s intellectual property to do its job. For example, if the Client is hiring the Software Developer to build a website, the Software Developer may have to use the Client’s logo. The Client agrees to let the Software Developer use the Client’s intellectual property and other intellectual property that the Client controls to the extent reasonably necessary to do the Software Developer's job. Beyond that, the Client is not giving the Software Developer any intellectual property rights, unless specifically stated otherwise in this Contract.

3. COMPETITIVE ENGAGEMENTS.

The Software Developer won’t work for a competitor of the Client until this Contract ends. To avoid confusion, a competitor is any third party that develops, manufactures, promotes, sells, licenses, distributes, or provides products or services that are substantially similar to the Client’s products or services. A competitor is also a third party that plans to do any of those things. The one exception to this restriction is if the Software Developer asks for permission beforehand and the Client agrees to it in writing. If the Software Developer uses employees or subcontractors, the Software Developer must make sure they follow the obligations in this paragraph, as well.

4. NON-SOLICITATION.

Until this Contract ends, the Software Developer won’t: (a) encourage Client employees or service providers to stop working for the Client; (b) encourage Client customers or clients to stop doing business with the Client; or (c) hire anyone who worked for the Client over the 12-month period before the Contract ended. The one exception is if the Software Developer puts out a general ad and someone who happened to work for the Client responds. In that case, the Software Developer may hire that candidate. The Software Developer promises that it won’t do anything in this paragraph on behalf of itself or a third party.

5. REPRESENTATIONS.

5.1 Overview. This section contains important promises between the parties.

5.2 Authority To Sign. Each party promises to the other party that it has the authority to enter into this Contract and to perform all of its obligations under this Contract.

5.3 Software Developer Has Right To Give Client Work Product. The Software Developer promises that it owns the work product, that the Software Developer is able to give the work product to the Client, and that no other party will claim that it owns the work product. If the Software Developer uses employees or subcontractors, the Software Developer also promises that these employees and subcontractors have signed contracts with the Software Developer giving the Software Developer any rights that the employees or subcontractors have related to the Software Developer's background IP and work product.

5.4 Software Developer Will Comply With Laws. The Software Developer promises that the manner it does this job, its work product, and any background IP it uses comply with applicable U.S. and foreign laws and regulations.

5.5 Work Product Does Not Infringe. The Software Developer promises that its work product does not and will not infringe on someone else’s intellectual property rights, that the Software Developer has the right to let the Client use the background IP, and that this Contract does not and will not violate any contract that the Software Developer has entered into or will enter into with someone else.

5.6 Client Will Review Work. The Client promises to review the work product, to be reasonably available to the Software Developer if the Software Developer has questions regarding this project, and to provide timely feedback and decisions.

5.7 Client-Supplied Material Does Not Infringe. If the Client provides the Software Developer with material to incorporate into the work product, the Client promises that this material does not infringe on someone else’s intellectual property rights.

6. TERM AND TERMINATION.

This Contract is ongoing until the work is completed. Either party may end this Contract for any reason by sending an email or letter to the other party, informing the recipient that the sender is ending the Contract and that the Contract will end in 7 days. The Contract officially ends once that time has passed. The party that is ending the Contract must provide notice by taking the steps explained in Section 11.4. The Software Developer must immediately stop working as soon as it receives this notice, unless the notice says otherwise. The Client will pay the Software Developer for the work done up until when the Contract ends and will reimburse the Software Developer for any agreed-upon, non-cancellable expenses. The following sections don’t end even after the Contract ends: 2 (Ownership and Licenses); 3 (Competitive Engagements); 4 (Non-Solicitation); 5 (Representations); 8 (Confidential Information); 9 (Limitation of Liability); 10 (Indemnity); and 11 (General).

7. INDEPENDENT CONTRACTOR.

The Client is hiring the Software Developer as an independent contractor. The following statements accurately reflect their relationship:

  • The Software Developer will use its own equipment, tools, and material to do the work.
  • The Client will not control how the job is performed on a day-to-day basis. Rather, the Software Developer is responsible for determining when, where, and how it will carry out the work.
  • The Client will not provide the Software Developer with any training.
  • The Client and the Software Developer do not have a partnership or employer-employee relationship.
  • The Software Developer cannot enter into contracts, make promises, or act on behalf of the Client.
  • The Software Developer is not entitled to the Client’s benefits (e.g., group insurance, retirement benefits, retirement plans, vacation days).
  • The Software Developer is responsible for its own taxes.
  • The Client will not withhold social security and Medicare taxes or make payments for disability insurance, unemployment insurance, or workers compensation for the Software Developer or any of the Software Developer's employees or subcontractors.

8. CONFIDENTIAL INFORMATION.

8.1 Overview. This Contract imposes special restrictions on how the Client and the Software Developer must handle confidential information. These obligations are explained in this section.

8.2 The Client’s Confidential Information. While working for the Client, the Software Developer may come across, or be given, Client information that is confidential. This is information like customer lists, business strategies, research & development notes, statistics about a website, and other information that is private. The Software Developer promises to treat this information as if it is the Software Developer's own confidential information. The Software Developer may use this information to do its job under this Contract, but not for anything else. For example, if the Client lets the Software Developer use a customer list to send out a newsletter, the Software Developer cannot use those email addresses for any other purpose. The one exception to this is if the Client gives the Software Developer written permission to use the information for another purpose, the Software Developer may use the information for that purpose, as well. When this Contract ends, the Software Developer must give back or destroy all confidential information, and confirm that it has done so. The Software Developer promises that it will not share confidential information with a third party, unless the Client gives the Software Developer written permission first. The Software Developer must continue to follow these obligations, even after the Contract ends. The Software Developer's responsibilities only stop if the Software Developer can show any of the following: (i) that the information was already public when the Software Developer came across it; (ii) the information became public after the Software Developer came across it, but not because of anything the Software Developer did or didn’t do; (iii) the Software Developer already knew the information when the Software Developer came across it and the Software Developer didn’t have any obligation to keep it secret; (iv) a third party provided the Software Developer with the information without requiring that the Software Developer keep it a secret; or (v) the Software Developer created the information on its own, without using anything belonging to the Client.

8.3 Third-Party Confidential Information. It’s possible the Client and the Software Developer each have access to confidential information that belongs to third parties. The Client and the Software Developer each promise that it will not share with the other party confidential information that belongs to third parties, unless it is allowed to do so. If the Client or the Software Developer is allowed to share confidential information with the other party and does so, the sharing party promises to tell the other party in writing of any special restrictions regarding that information.

9. LIMITATION OF LIABILITY.

Neither party is liable for breach-of-contract damages that the breaching party could not reasonably have foreseen when it entered this Contract.

10. INDEMNITY.

10.1 Overview. This section transfers certain risks between the parties if a third party sues or goes after the Client or the Software Developer or both. For example, if the Client gets sued for something that the Software Developer did, then the Software Developer may promise to come to the Client’s defense or to reimburse the Client for any losses.

10.2 Client Indemnity. In this Contract, the Software Developer agrees to indemnify the Client (and its affiliates and their directors, officers, employees, and agents) from and against all liabilities, losses, damages, and expenses (including reasonable attorneys’ fees) related to a third-party claim or proceeding arising out of: (i) the work the Software Developer has done under this Contract; (ii) a breach by the Software Developer of its obligations under this Contract; or (iii) a breach by the Software Developer of the promises it is making in Section 5 (Representations).

10.3 Software Developer Indemnity. In this Contract, the Client agrees to indemnify the Software Developer (and its affiliates and their directors, officers, employees, and agents) from and against liabilities, losses, damages, and expenses (including reasonable attorneys’ fees) related to a third-party claim or proceeding arising out of a breach by the Client of its obligations under this Contract.

11. GENERAL.

11.1 Assignment. This Contract applies only to the Client and the Software Developer. The Software Developer cannot assign its rights or delegate its obligations under this Contract to a third-party (other than by will or intestate), without first receiving the Client’s written permission. In contrast, the Client may assign its rights and delegate its obligations under this Contract without the Software Developer's permission. This is necessary in case, for example, another Client buys out the Client or if the Client decides to sell the work product that results from this Contract.

11.2 Arbitration. As the exclusive means of initiating adversarial proceedings to resolve any dispute arising under this Contract, a party may demand that the dispute be resolved by arbitration administered by the American Arbitration Association in accordance with its commercial arbitration rules.

11.3 Modification; Waiver. To change anything in this Contract, the Client and the Software Developer must agree to that change in writing and sign a document showing their contract. Neither party can waive its rights under this Contract or release the other party from its obligations under this Contract, unless the waiving party acknowledges it is doing so in writing and signs a document that says so.

11.4 Notices.

(a) Over the course of this Contract, one party may need to send a notice to the other party. For the notice to be valid, it must be in writing and delivered in one of the following ways: personal delivery, email, or certified or registered mail (postage prepaid, return receipt requested). The notice must be delivered to the party’s address listed at the end of this Contract or to another address that the party has provided in writing as an appropriate address to receive notice.

(b) The timing of when a notice is received can be very important. To avoid confusion, a valid notice is considered received as follows: (i) if delivered personally, it is considered received immediately; (ii) if delivered by email, it is considered received upon acknowledgement of receipt; (iii) if delivered by registered or certified mail (postage prepaid, return receipt requested), it is considered received upon receipt as indicated by the date on the signed receipt. If a party refuses to accept notice or if notice cannot be delivered because of a change in address for which no notice was given, then it is considered received when the notice is rejected or unable to be delivered. If the notice is received after 5:00pm on a business day at the location specified in the address for that party, or on a day that is not a business day, then the notice is considered received at 9:00am on the next business day.

11.5 Severability. This section deals with what happens if a portion of the Contract is found to be unenforceable. If that’s the case, the unenforceable portion will be changed to the minimum extent necessary to make it enforceable, unless that change is not permitted by law, in which case the portion will be disregarded. If any portion of the Contract is changed or disregarded because it is unenforceable, the rest of the Contract is still enforceable.

11.6 Signatures. The Client and the Software Developer must sign this document using Bonsai’s e-signing system. These electronic signatures count as originals for all purposes.

11.7 Governing Law. The laws of the state of [STATE] govern the rights and obligations of the Client and the Software Developer under this Contract, without regard to conflict of law principles of that state.

11.8 Entire Contract. This Contract represents the parties’ final and complete understanding of this job and the subject matter discussed in this Contract. This Contract supersedes all other contracts (both written and oral) between the parties.

THE PARTIES HERETO AGREE TO THE FOREGOING AS EVIDENCED BY THEIR SIGNATURES BELOW.

Software Developer
First Name
Last Name
Acme LLC.
Client
First Name
Last Name
Corporation Corp.