Software Contracts
Software Contracts
Introduction
• A contract is an agreement between two or more persons (the parties
to the contract) that can be enforced in a court of law.
• An agreement between two or more parties for the doing or not
doing of something specified.
• The parties may be legal or natural persons.
• Contracts serve the following purpose:
• Set out the agreement between the parties
• Set out the aims of the parties
• Provide for matter arising while the contract is running
• Ways of terminating the contract and the consequences
Introduction
• If the contracts are too harsh or unfair causing any issue between parties to
be unresolved, it is the responsibility of contract laws to contemplate
according to the rules
• There are almost never disputes over contracts which run perfectly. Example
marriage.
• Example of a ship carrying a cargo.
• In order to avoid disputes and future difficulties it is better to draft a
document which sets out:
• The terms on which both parties is to work
• Methods of payments
• Appropriate ways to terminate the contract-notice required
Introduction
• Contract should be clear, concise and consistent.
• There should be no ambiguity and the parties to the agreement
should be left in no doubt as to their rights and duties.
• Ambiguity and doubts can lead to performance which is viewed as
unsatisfactory.
• This can lead to disagreement and the expenditure of time, effort and
therefore money, in resolving the matter.
Software Contracts
• Agreement between the parties
• Commercial in nature
• Governed by the standard Law of Contracts
• Specific problems relating to e-commerce
Do we need a formal Contract?
• If you create software for customers, then you need to consider
creating a software license agreement to help protect you and your
business.
• There are many reasons to have one in place, so if you do not yet
have one, it is time to start understanding its significance.
• Most disputes which end up in courts are caused by lack of clarity as
to what each party expected from the other.
• If a dispute has to be resolved in the courts, this will involve lawyers,
accountants, judges, etc. trying to work out each party’s obligations
Structure of a software Contract
A software contract at least includes:
• Definitions
• Name of Parties
• Standard Terms and Conditions
• Set of Appendices (Annexes)
• Specific Documents
• Software suppliers try to use what are known as standard form contracts,
which are used or intended to be used many times over.
• Such a contract might consist of:
• a short introductory section
• a set of standard terms and conditions
• a set of appendices or annexes
Introductory Section
• It states that it is an agreement between the parties whose names
and registered addresses are given.
• It is dated and signed by authorized representatives of the parties.
• It often begins with a set of definitions of terms used in the
course of the agreement, set out either in alphabetical order, like a
dictionary, or in the order in which they appear in the rest of the
contract –The Company, The Client
Other Sections
• Terms and conditions
• Annexes must include any document stated like SRS.
• This is to avoid, for example, the situation in which statements made by an
over-enthusiastic salesman while trying to win the business are claimed by
the client to constitute part of the contract
Issues dealt with Standard Terms &
Conditions
• What is to be produced?
• What is to be delivered?
• Ownership of rights
• Payment terms
• Calculating payments for delays and changes
• Penalty clauses
• Obligations of the client
Issues dealt with Standard Terms &
Conditions
• Standards and methods of working
• Progress meetings
• Project Managers
• Acceptance procedure
• Warranty and maintenance
• Termination of the contract
Other types of software services contract
• There are four types of contractual arrangement which are widely
used in connection with the provision of software services:
• fixed price
• contract hire
• time and materials
• Consultancy
• Software as a services (SAAs)
Contract Hire
• The supplier agrees to provide the services of one or more staff to
work for the client
• The staff work under the direction of the client
• Supplier’s responsibility is limited to provide suitable competent
people and replacing them if they become unavailable or said
unsuitable by the client
• Payment is on the basis of a fixed rate for each man day worked
• Issues such as delay payments, acceptance tests and many others
simply do not arise
Time and Materials
• It is somewhere between a contract hire agreement and a fixed price
contract.
• The supplier agrees to undertake the development of the software in
much the same way as in a fixed price contract but payment is made
on the basis of the costs incurred, with labor charged in the same way
as for contract hire
• The supplier is not committed to completing the work for a fixed
price, although a maximum payment may be fixed beyond which the
project may be reviewed
Consultancy contracts
• Consultants are typically used to assess some aspect of an
organization and to make proposals for improvements.
• The end product of a consultancy project is therefore
usually a report or other document.
• Consultancy projects are usually undertaken for a
fixed price but the form of contract is very much simpler
Software Contracts Case Study-2
• How to draft clauses of contract for the Software as a Service (SaaS)?
Further Readings
• Chapter 5 from Book 1: Professional Issues in Software Engineering,
M.F. Bott et al. (3rd Edition).