Technical University of Mombasa
Session 3 Computer Contracts
Objectives
We will look at :
1. Computer Contracts
2. Introduction to software contracts
3. Contracts for bespoke software
3.1 Introduction to contract
Definition : Contract
A contract is an agreement between two or more persons (the parties to the contract)
that can be enforced in a court of law.
Contract law is largely based on common law.
It is essential that:
- All parties must intend to make a contract
- All parties must be competent to make a contract (e.g. old enough, and of sound
mind)
- There must be a 'consideration’, i.e. Each party must be receiving something and
providing something.
A contract is a legally enforceable agreement.
A contract is enforceable since there is legal action available, in case one party should
fail to comply with their promise under the agreement.
Liability cannot be unfairly limited, and liability for death or personal injury cannot
be limited.
• The usual remedy is money compensation, known as damages.
• When a party does not comply with terms of a contract, a breach of contract is said
to have occurred.
• An important doctrine of English Law is privity of contract — this states that third
parties are unable to sue on a contract that does not concern them.
Definitions
Computer Contracts – Covers the full range of contracts for buying, selling, leasing
and licensing hardware, software and services, to help you handle contracts for
computer users and vendors, marketing arrangements, software development,
maintenance, licensing arrangements and telecommunications contracts.
Computer Contracts means all agreements, contracts, permissions, undertakings,
arrangements and understandings (whether written or oral) under which any third
party (including the Seller or any of its Group Members and any source code deposit
agent) provides any element of, or services relating to, the Computer Systems,
including leasing, hire purchase, licensing, hosting, support, maintenance, disaster
TUM is ISO 9001:2015 Certified
1
Technical University of Mombasa
recovery and other services
3.2 Introduction to Software Contracts
A software contract is a contract for the supply of software (either bespoke or off-the-
shelf). Many such contracts are not sale contracts, but are licence agreements that
allow a customer to use software in return for a licence fee.
Many contractual problems occur because of the unique nature of computer
software.
Question: What is unique about trading computer software?
When a contract is entered into for the licensing or custom development of software:
• Both parties should know precisely what is expected in terms of performance
and the standards required.
• A comprehensive specification must be drawn up.
• The contract should provide a fair means of identifying responsibilities and
resolving disputes.
• Liability for any injury to persons or property as a result of errors in the
software should be considered.
Scenario
A company wishes to computerise to increase efficiency. The manager suggests that
some ready—made software packages are evaluated, since these will be less
expensive than writing custom software from scratch.
Questions
a) Who will evaluate the software?
— The suppliers?
— The manager?
— Others in the company?
— Some other experts?
b) Will the priorities of these people will be the same?
— If not, how do we ensure their answers are reliable?
3.3 Fundamentals of software contracts
Software is usually acquired by a licence, which is granted by the software publisher
to the person acquiring the software. The licence may be for a fixed period of time.
For example,
For an off—the—shelf expert system supplied by a dealer,
— the customer relies on the dealer to provide a suitable and effective system.
If the customer specifies the system he wants:
— the other party in the contract will be the software company;
— the dealer will be an agent of the software company
TUM is ISO 9001:2015 Certified
2
Technical University of Mombasa
• ie they act on behalf of the company;
— the domain expert may have a contract with the customer,
— or a separate contract with the software company
i) Breach of contract
• If a party to a contract breaches its terms, the remedy depends on the type of terms
that have been broken.
• There are two types of terms in contracts; warranties and conditions.
• A breach of condition gives the aggrieved party the right to cancel the contract and
claim damages.
• A breach of warranty allows the aggrieved party to claim damages only — the
contract remains in force.
Example of breach of condition
• Failure to deliver a product by an agreed date is a breach of condition; the buyer
can cancel the contract.
• The buyer may also claim damages which would be equivalent to the difference in
cost of buying a similar computer elsewhere.
• He can also claim other expenses and losses incurred as a direct result of the
breach.
Example of breach of warranty
• A supplier agrees to deliver a computer system with terminals that are of a
particular colour, but delivers terminals with different colour.
• This is a breach of warranty unless there is a special reason why a particular colour
was specified.
• The buyer will be entitled to damages only, and will still have to pay the agreed
price of the computer.
ii) Exemption clauses
An exemption clause excludes or restricts the liability of a party who is in breach of
contract. There are two types:
• Exclusion clauses — give total exemption, e.g. A supplier may exclude his liability
for late delivery if this is caused by circumstances beyond his control.
• Limitation clauses - limits liability to a specified amount, e.g. software supplier may
limit his liability for faulty software to the licence fee he has been paid.
iii) Limitation of liability
• A person drafting a contract is always keen to limit or exclude their liability while
ensuring that the other party is bound to perform his part of the contract.
• However, a one—sided state of affairs is rare since exemption clauses are
TUM is ISO 9001:2015 Certified
3
Technical University of Mombasa
controlled by statute - the Unfair Contract Terms Act 1977.
• This Act limits the extent to which liability can be excluded or limited for breach of
contract or negligence.
• Business liability for death and personal injury caused by negligence cannot be
excluded or limited in any way, e.g. Company supplies software to control light
railway link, and a defect leads to an accident in which people are killed or injured.
- Cannot enforce clause in contract that claims to restrict liability if claims are made
for deaths and injuries.
3.4 Contracts for bespoke software
Appropriate software may not be available 'off—the—shelf’ for certain specific tasks.
• Software can be written or adapted by a specialist software firm — a 'software
house'.
• There are common sections found in most contracts for writing software:
— Definitions,
— licence agreement conditions,
— contract price and payment terms,
— Specification of the software,
— time for completion, and terms for early or late completion,
— Arrangements for maintenance and enhancements,
— escrow,
— Intellectual property rights,
— other standard terms.
a) Definitions
The first clauses define:
— the parties to the contract;
— the hardware on which the software will be installed; and
— other software with which it must operate (e.g. the operating system).
To save space, and assist standardisation:
— the client’s full business name will be abbreviated to a term such as 'client’ or
’customer’, and
— the developer’s full business name will be abbreviated to a term such as
’developer'.
• Similarly, the terms ‘software’ and ‘hardware’ will usually be defined — to refer to
the specific system to be used.
• This also assists with the readability, interpretation and construction of the
contract.
b) License agreement
The key issue to be specified is: will the client actually own the software?
TUM is ISO 9001:2015 Certified
4
Technical University of Mombasa
• Usually, the client will licence the software rather than have ownership.
• A contract for writing software is therefore — in most cases — a licence agreement.
• If it is especially important for the client that the software it requires is not sold
elsewhere, it should insist on an exclusive licence or an assignment of copyright.
• Will an exclusive licence cost more or less than nonexclusive licence?
• Why might a client insist on an exclusive licence?
• There are three other important aspects of the licence agreement:
— Duration,
— Transferral
— Scope.
Duration.
• A licence must be for a fixed period of time.If a duration is not stated, it is likely
that the licence will endure for as long as copyright subsists in the software.
Transferral.
• The contract should state whether the licence can be transferred to a third-party.
By default, licence agreements are usually assumed to be transferable.
Scope.
• Is it permissible to run the software on more than one machine?
• If the buyer is a member of a group of companies, can the other members of the
group also use the software?
• Can the software be transferred from one member of the group to another?
All these questions should be anticipated when drawing up a contract, and should
be discussed with the developers' software house.
c) Contract price and payment terms
A contract is usually in the form of a licence agreement, so the payment for it is
usually termed a licence fee. However, the fee may be called the price since it may
also include training and documentation.
The price should be stated precisely, but:
— the contract should also provide a mechanism for calculating the cost of
additional work outside of the terms of the contract;
— the easiest way to do this is to state an hourly rate for programmers, analysts
etc.
• If the price is a lump sum, does it include: maintenance and
training? documentation? the cost of media such as magnetic disks and tapes?
TUM is ISO 9001:2015 Certified
5
Technical University of Mombasa
• The contract should ensure that there is no ambiguity regarding when payment
should be made, including:
— if the client is late paying, will they be charged interest?
— what if the client refuses to pay?
d) Specification of the software
The specification of the software should indicate the following:
• A detailed description of the tasks the software will perform.
• The equipment on which the software will run.
• How quickly the software will carry out the operations required, bearing in
mind any requirements for networking and concurrent use.
Often the client isn’t sure what they want, so:
• They may need to change the specification during the development process.
• The original contract must allow for these changes.
• If the changes to the specification are considerable, it may be best to terminate the
existing contract and negotiate a new one — which is called novation.
If the client is vague about the specification:
• It may be better to build a prototype system, but — there can be problems with
building prototypes, unless all parties accept that the requirements for them may be
vague
e) Time for completion
The usual method of dealing with late completion is to include a term in the contract
which gives the client a right to liquidated damages.
• These may be quantified as a certain sum of money for every week completion is
late (e.g. £2OO per week).
• A sum for liquidated damages must be a genuine estimate of financial losses that
the client will suffer as a result of late delivery, not a penalty.
When does the client know that completion has taken place?
• A common possibility here is the concept of ‘substantial completion':
— where a large percentage of the agreed price is paid on the completion of a
substantial part of the system,
— and the rest is retained until the remaining work has been completed.
• Of course, the meaning of 'substantial' should be defined in the contract.
f) Maintenance and Enhancements
Testing reveals the presence of bugs, not their absence. Many bugs appear only after
TUM is ISO 9001:2015 Certified
6
Technical University of Mombasa
a long period of time.
If a bug appears:
— this will be a breach of warranty, and
— the client can ask the software house to correct the error.
The software house will wish to limit its responsibility for correcting such errors to a
specified period of time.
A software house will usually offer an ancillary contract for maintenance. Such an
agreement will also provide for enhancements and updates of the software.
If the clients want to modify the software themselves, a contract term should state
this:
— recall the rules about correcting errors in the Copyright (Computer Programs)
Regulations 1992.
Escrow
What happens if a software house goes out of business?
• Will its clients be able to maintain and modify their software — or find another
company to do this for them?
• Many contracts include an escrow clause to cover such situations.
• Escrow is a form of insurance or guarantee, should something happen to the
software house:
— the software house deposits material with an independent person,
— viz the source code of a system,
— plus copies of all the design documents (e.g. UML diagrams).
• Should the software house go out of business, then:
— the source code and documents will be released to the client,
— who will have everything needed to arrange support for the software.
• One organisation that provides this service is NCC Group plc: — (at
<http://www.nccgroup.com>).
g) Intellectual property rights
The contract may impose duties on both parties in regard of intellectual property
rights.
• What rights will the client want?
• What rights will the software house want?
As well as contract terms, copyright law and the law of confidence will give
TUM is ISO 9001:2015 Certified
7
Technical University of Mombasa
protection to both parties.
The client should insist on an indemnity term in the contract,
— to prevent legal action being taken against them, if the software infringes the
intellectual property rights of a third party.
— (Indemnity — guaranteeing to cover costs for the other)
h) Independent Professional Supervision
It may be advisable to have large contracts overseen by an independent professional
consultant.
The consultant would be responsible for:
— ensuring that the specification is met;
— general supervision;
— ensuring that payments are made and the completion date is met;
— fixing rates for delays or extra work;
— authorising time extensions for unavoidable delays;
— acting as an arbitrator.
The consultant will probably be paid by the client. Such consultants may be
individuals:
— with appropriate professional qualifications,
— e.g. a Chartered Member of the BCS.
— Or they may be larger organisations:
i) Payment
The software author will be paid a royalty by the publisher, which may be a fixed
sum for every unit sold or a percentage of the price charged for the software.
Alternatively, the author may be paid a lump sum for an exclusive licence.
Some care should be taken when quantifying the amount of royalty payments in the
contract:
• If royalties are based on the price of the software, is this the retail price or the
payment the publisher receives from a dealer?
• Do dealers receive discounts for bulk purchases that could affect the amount
of royalty payment?
• What happens if the publisher does not try hard to market the software?
Assignment 1 Maximum two pages (Due 25th May 2021)
A company is expanding and needs some software to calculate wages and print pay
slips. The company has quite an old computer system, for which there is no existing
software to do the task. Therefore, the company decides to contract a software house
to develop some bespoke code. Currently, the company has about 200 employees but
TUM is ISO 9001:2015 Certified
8
Technical University of Mombasa
this is likely to increase in the next year or so.
Required
Arrange yourselves in pairs or small groups, one representing the software house
and the other representing the customer. Negotiate a contract. You do not have to
write each clause in detail, but you should identify the clauses that are required and
note any points in the clause of particular importance. Make sure that your contract
terms cover each of the following questions:
Questions for the customer:
• What if the software contains bugs and miscalculates the pay?
• What if the computer breaks down in the middle of a wages run?
• What if the programs run too slowly to be of any practical use?
• What if the software developer goes into liquidation?
• How is the software developer trying to exclude his liability? Can he do this?
Questions for the software developer:
• Is there an adequate specification?
• What if the client copies and distributes the software?
• Should you insist on an exclusive or non—exclusive licence?
• What should be your obligation to maintain the software?
• How can you protect the confidentiality of special coding techniques used in the
software?
TUM is ISO 9001:2015 Certified
9