Acquiring Bespoke Software
If no 'off-the-shelf' software is appropriate for your particular requirements, you may need to have software written or adapted for you by a software house. The development agreement between you as the client and the software house will include the following:
The Copyright Licence
The intellectual property (copyright) in the program is invariably licensed rather than sold to you by the developer. You may also wish to insist that the licence is exclusive to you (although such exclusivity is likely to be reflected in the price). You should also specifically agree the following:
- how long the licence is to last;
- whether you can transfer the licence to another;
- whether or not the licence is restricted to one computer; and
- your rights to source codes, object codes and run-time versions.
The licensor will normally build in provisions to protect against unauthorised copying by you and your staff.
The specification should specify the program's performance and capabilities including speed of response. Changes to the specification should be precisely recorded and a schedule of rates for additional modifications should be considered. The specification should address:
- the tasks to be performed;
- the equipment on which the software is to run;
- the timescale for the work;
- details of information to be entered, used by the program and how;
- results and progress reports;
- files to be created;
- password access requirements; and
- speed of response requirements.
The price (or licence fee) will generally include training and documentation and the pricing clause should also include provisions for calculating the cost of additional work. The components of the price and what may be separately chargeable should be precisely defined.
Writing software involves unpredictability and some flexibility in timescales is inevitable. Provision for delays should be built into the contract (including when time becomes 'of the essence') and attention should be given to building into the contract penalties for delay. You should also consider when you may be considered to have accepted the software as satisfactory and your rights to pre-acceptance testing.
Maintenance and Enhancement
Bugs will appear and you will seek prompt remedy. If problems arise within the contractual warranty period, the licensor will normally fix the problem free of charge within an agreed timescale. Thereafter, a maintenance agreement may be entered into which provides for the remedy of defects and possibly the provision of enhancements and updates.
The source code of the program may be deposited (in escrow) with an independent person or body (e.g. the National Computing Centre) so that you can access it if the software house which developed the program goes out of business or under other circumstances specified in the agreement. See “Guidance Note - Escrow Arrangements”.
If a program causes damage, potential compensation could be huge and the software house will invariably limit its exposure (particularly for any indirect damage) by use of an exclusion or limitation clause. Such clauses are a matter for negotiation but the availability of insurance cover will be a key determinant.
With complex contracts, expert adjudication (e.g. by a computer engineer) may well be appropriate in order to oversee performance of the project.
Anticipating the possibility of you and the developer ending up in a dispute, a clause agreeing an acceptable form of dispute resolution would be advisable. As alternatives to litigation in Court, arbitration or alternative dispute resolution may offer the advantages of appropriately expert adjudication, possible cost-savings and allowing the parties to remain in the driving seat in settling the dispute.