Generally, a typical software licensing agreement between providers and users will contain the elements below:
- the software licensing agreement: which contain the main commercial and legal terms of the licensing the software, addressing the licence to use the software, payment, intellectual property, and termination;
- the maintenance & support agreement: which addresses the obligation of the software provider to upgrade and update the software;
- the service level agreement (“SLA”): which addresses the specific quantifiable & measureable commitments of the maintenance and support services (more on this below).
Though there are no standard definition for the terms “maintenance” & “support”, they are generally associated with the definitions below:
- “maintenance” generally means scheduled work to fix bugs that are less urgent. Maintenance could also include enhancements, new features, security upgrades, patches;
- “support” generally means work to fix bugs on an ad hoc basis, generally for more urgent and breaking bugs.
When negotiating a maintenance and support agreement, the terms below should be carefully considered:
Scope of services
Maintenance and support agreement can cover a wide range of services. It is therefore vital to describe the services that fall under the maintenance and support agreement. Key considerations include:
- What upgrades are included to the service? Or are the services restricted to resolving bugs and other faults only?
- Is the support services for technical queries only, or will the provider be providing customer assistance (e.g. help desk) as well?
- Will on-site support be provided? Or will support be done remotely?
Service Level Agreement
A typical misconception is to confuse a support or maintenance agreement with SLAs. SLAs set out the quantifiable and measurable commitments on the maintenance or support, i.e. how quickly certain faults can be fixed. Some maintenance and support agreements will contain SLAs within them, but not all maintenance or support agreements are SLAs.
A user of a software can negotiate with providers to include an SLA to ensure that the level of service by the providers can be quantified and measured. Failure to meet the service level commitments in the SLA will typically entitle the user to receive service credits. Service credits is a form of penalty to the providers which allow users to deduct from amounts payable to the provider.
Another important element of an SLA is the classification of faults. Major faults should be fixed by the providers urgently, as quickly as within a matter of hours. Minor faults may be corrected only in a future update.
On the other hand, providers shall ensure that the commitments in the SLA are practical and that it is possible to meet the commitments in the SLA, because a failure to meet the commitments may result in monetary loss.
Specific Support Hours and How to Reach the Providers
Closely related to the SLAs, a maintenance and support agreement should also address how the providers can be contacted when users have questions or face issues with the software. The response time commitment for rectifying a fault in a software or responding to queries from users typically start from when the users contact the providers.
As such, it is important that the agreement sets out:
- What are the providers business hours? Is it 24 hours a day? Are the providers only able to respond to users during normal business hours?
- Will the providers respond during weekends and public holidays?
- During or after business hours, how can users reach the providers? E.g. is there a specific hotline telephone number or email on which the providers support staff can be reached.
Confidentiality and Personal Data Protection
Providers providing maintenance and support services may have access to the personal data of the users’ customers or employees. This is important to note, considering that a lot of countries have introduced data protection regulations to protect personal data (Malaysia’s Personal Data Protection Act 2010, for example), and an unauthorized disclosure of personal data will be almost certainly a breach of data protection regulations.
As a data user, it is important to obtain permission from employees and customers (i.e. “data subjects”), whose personal data will be maintained in the user’s servers and database, to enable the disclosure of the data subjects’ personal data to providers.
As a provider, the agreement should mandate that the users obtain or will obtain the permission of the data subject to disclose data subjects’ personal data to the provider. This is to prevent any disputes in event of data protection complaints by data subjects.
Furthermore, a standard non-disclosure agreement typically only covers the confidentiality of trade secrets and proprietary information. Any non-disclosure signed between the providers and the users should specifically address the protection of data subjects’ personal data.
As with all agreements, the payment structure of the maintenance and support service is another important element of a maintenance and support agreement. The agreement should address:
- the charges that are payable under the agreement?
- Whether the charges are based on a fixed periodic payment, or are time-based? If it is the latter, how are the charges calculated and how are charging units rounded?
- If a service credit is awarded to the user, how does it affect charges and cost?
- What are the payment terms?
- Will the user have to reimburse the provider for out of pocket expenses, disbursements, travel charges, or hardware parts or supplies?
Term and Termination
As with all agreements, the agreement should set out the term of the agreement (i.e. how long will the agreement be in effect) and the parties’ right to terminate.
Other key questions include:
- When does the support and maintenance obligation of the provider actually start? During “go live ”date, the date of installation, or the date of first use?
- If obligations commence on the ‘go live’ date, how is the ‘go live’ date defined?
- Will the agreement terminate on a set date? Or will the agreement be renewed automatically?
- Can either party terminate the agreement with notice and without cause?
- If either party may terminate with cause, what are the causes justifying termination?
The term and termination of the agreement should be clearly spelled out in the agreement to prevent any unanticipated disruptions to the maintenance and support services.
The above is a non-exhaustive list of issues to look out for when negotiating a maintenance and support agreement.
No software is error or bug-free, and problems that may arise on software are often unpredictable. As such, users should take into account the maintenance and support of a software when purchasing a software license.