What to include in your software agreements

Our clients are now frequently requesting advice on software licences and development agreements.

As software now plays such a major role in running a business, it is vital that clients understand the terms of their software agreements. These types of agreements include:

  • software as a service (SaaS) agreements;
  • software development agreements; and
  • software support agreements.

In this article, we outline some key considerations for contractual dealings in relation to software.

Ownership of intellectual property

Generally, software is developed by the writing of code. Under intellectual property law, code is a literary work and attracts copyright protection.
In the first instance, the individual who writes the code will own the copyright.
However, this position may vary depending on whether the developer is an employee or independent contractor.
Generally, software developed by an employee will be owned by the employer.
Copyright in software developed by an independent contractor will usually vest in the contractor.
However, these general positions can be altered by contract.
If you engage an independent contractor to develop software, you may wish to include a clause in the contract requiring that they assign all intellectual property to your business. This can help avoid a dispute over use and ownership of software in the future.
You may also wish to review your employment agreements to ensure that your expectations with respect to intellectual property are clear.


A software or support provider may have access to your business’ information. This can include commercially sensitive information such as client and price lists. This information can also include personal and sensitive information, which are protected under the Privacy Act.
Therefore, your contract with a software provider should include strict obligations of confidence with respect to your information.
Further, you may require that a provider indemnify you against any loss or damage caused as a result of an unauthorised disclosure of your confidential information.


If a software provider or developer’s conduct causes you to incur loss, you want to ensure that the loss is recoverable.

Requiring your provider/developer to take out relevant insurance policies can provide some level of comfort that any loss is recoverable. These expectations should be set out in the contract.

You should also consider whether a provider should take out cyber liability insurance.

Support services

As a software customer, you should ensure that you have access to timely support services for when things go wrong.

This can include a 24/7 phone line or email address where support queries can be made.

By setting out clear service levels in an agreement, you can have a degree of confidence that your support requests will be dealt with in a consistent manner.

You can also set out remedies available to you should the provider fail to meet the agreed service levels.

Training services

When purchasing a licence for a new software product, you want to ensure that your staff are properly trained.

In your contract with the software provider, you should include a requirement for the provider to run training sessions as and when required. You should stipulate that the total fee paid for the license is inclusive of those training sessions.

That way, you can avoid a situation where the provider may charge for training sessions.

Development plan

Engaging an independent contractor to develop custom software can be a daunting task. Where the developer has the expertise, it can be difficult to set out what exactly you require, and how this will be realised.

We recommend including in your contracts a development plan, to include:

  • initial briefing on requirements;
  • development milestones and reporting requirements;
  • testing of prototypes, which tests must be signed off by both parties; and
  • final acceptance testing and implementation, which must be signed off by both parties.

By setting out your development plan in the contract, you can hold the developer accountable to meet milestones. Through the process of acceptance testing, you can reject the software product in circumstances where it does not meet your requirements and demand that any issues be rectified.

Lavan comment

Although software is now a vital pillar of most businesses, it is an area that is still largely misunderstood.
By taking the time to prepare a written contract with a software developer or provider, you may be able to avoid expensive and uncertain legal disputes.
If you require advice on any matters arising out of software agreements, do not hesitate to contact Iain Freeman or Andrew Sutton.