Home > Blogs > All IT Contracts Explained

All IT Contracts Explained

From cloud computing and software development contracts to outsourcing agreements and IT support services, this article intends to give technology businesses a good overview of the key types of contracts used for various types of technology transactions.

Technology contracting has become an established practice area for lawyers due to the pressing need to document respective duties and allocate contractual risk between two parties in an IT transaction. As technology has developed over the years, so too has the types of contracts that govern the plethora of different transactions pertaining to the same. This article will explain the most common forms of IT contracts as well as practical examples of their deployments.

Software Development Agreements

These contracts govern the creation of proprietary source code and bespoke software solutions by the developer according to the customer’s specific needs. Depending on the development methodology used (e.g. waterfall, agile, RAD), the developer will usually be tied down to contractual duties (known as ‘deliverables’) in relation to hitting specific development or implementation milestones, ensuring the software passes acceptance testing, and complying with the customer’s needs in terms of what the software is capable of doing (known as ‘requirements’). Developers may also provide support services under a Service Level Agreement (SLA) once the software is at the operational or ‘go live’ stage. Customers will usually be contractually obliged to provide input into the development (known as ‘dependencies’) to enable the developer to undertake its work.

Real world example: a business commissions a software developer to build a smartphone app that allows their customers to order products directly in-app, create user accounts, post reviews, and comment on other users’ posts.

Systems Integration Agreement

These contracts govern the integration of new IT systems into pre-existing systems or the creation of a new IT system. They are often used whereby a customer wishes to overhaul an existing computer system, transform disparate legacy assets into one unified IT system, or completely digitise one of their business functions. Contrast to Software Development Agreements, which are more relevant for one-off creations of individual bespoke software, System Integrations require software (both developed and turnkey), hardware, installation, and support services altogether.  

Real world example: a health clinic that has patients who receive services from multiple health professionals (doctors, pharmacists, physiotherapists) wants to unify all of its databases, collection points, and patient records into one unified and up-to-date system for easier cross-referrals, record-keeping, and patient management.

Software as a Service Agreements (SaaS)

SaaS contracts govern the provision of an off-the-shelf / turnkey software solution supplied via the internet. All the hardware and computing infrastructure sits with the supplier and the software is accessed by the customer via an online account with secure login credentials. The customer will not have access or ownership to the supplier’s proprietary source code. As there is no software development or complex integration requirements, the SaaS contract will usually focus on the controls and conditions which enable the customer to access and use the software via a license. Licenses are often ‘user based’ or ‘enterprise’.  Since the supplier has total control over the operation of the software, SaaS contracts may be coupled with SLAs in relation to matters such as uptime and availability of the software.  

Real world example: a government department has hundreds of employees who work on a hybrid basis at their flagship offices and purchases a subscription from a vendor of a desk booking system to manage which employees sit where on the days they work in the office.

Platform as a Service Agreement (PaaS)

PaaS arrangements are akin to SaaS arrangements, but the customer has taken a step into the supplier’s world. Under PaaS, the customer uses the supplier’s hardware, infrastructure, and operating systems to build and host their own software application on the supplier’s platform. This allows smaller software vendors to avoid the prohibitive costs of large-scale data centre purchases. As PaaS vendors are often large multinationals (e.g. AWS), PaaS contracts are often on the supplier’s standard terms. As with SaaS agreements, SLAs are not uncommon with PaaS.

Real world example: a start-up tech business uses Amazon Web Services to build and host their webapp which they sell on to their own customers.

Infrastructure as a Service Agreement (IaaS)

IaaS arrangements are akin to PaaS arrangements, but the customer has taken a further step into the supplier’s world, and the supplier is only responsible for supplying the physical infrastructure (data servers, networking etc) from their end and not any software, operating systems, or middleware. As IaaS vendors are often large multinationals (e.g. Microsoft), IaaS contracts are often on the supplier’s standard terms. SLAs are not uncommon with IaaS agreements.

Real world example: a start-up tech company uses Microsoft Azure so that it can develop and run its own software on Microsoft’s virtual servers and machines.

Software License Agreement

Software License Agreements govern the customer’s use of off-the-shelf software that is installed on their own assets and servers (also known as ‘on-premises licensing’). The contract would control the customer’s use of the software on a license for a fixed or perpetual period, as well as other obligations in relation to installation and configuration of the software with the customer’s pre-exiting systems. On-premises software licensing is becoming more outdated due to the prevalence of SaaS software. These types of contracts might be coupled with an SLA, but it is unlikely the supplier will provide any uptime or availability guarantees as the hardware sits with the customer.

Real world example: a manufacturing business requires specialist software for its production line operations which must be installed on-site on their hardware and systems because it wants zero latency, protection from internet outages, and closer control over the infrastructure running the software.

IT Outsourcing Agreement

Outsourcing arrangements are where the supplier takes control over the customer’s business function to provide a comprehensive and holistic IT support service which involves the provision of integration services, migration, hardware, expertise, management, personnel, training, ongoing support, and handover. The customer will either completely handover control of the business function to the supplier or maintain a light-touch in-house function running alongside the outsourced service. The contract will usually be very comprehensive and include obligations on implementation, the supply of hardware, exit duties, and SLAs for ongoing support. Such arrangements may also involve the transfer of employees between the customer and the supplier which will have employment law implications.

Real world example: a medium sized broadband company outsources its customer service function to a third-party supplier to deal with basic and mid-level tech support whilst complex queries are escalated back to the customer to deal with. 

Reseller Agreements

Reseller contracts govern the distribution of software by a middleman to end users (who might either be businesses or consumers). Often the distributor adds its own products to the software (known as a ‘Value Added Reseller’). The contract will usually contain controls on what, how, when, and where the reseller can sell the products, as well as duties on advertising and reporting. Where end users expect that the software comes with support services (e.g. tech support), the top supplier may enter into a support agreement / SLA with the reseller, and the reseller into a separate support agreement with its end users. End-users may also likely enter into an End User License Agreement (EULA) for the use of the software.

Real world example: an official supplier of Microsoft products supplies its own integrated IT support solution for Office 365 products to its customers.

Supply of IT Services Agreement

These contracts govern the supply of IT services and are usually reserved for low value contracts for basic set-up, support, monitoring, and staff training services. Such contracts are usually on the supplier’s standard terms of business.

Real world example: a local law firm receives tech support from a local IT firm in relation to any issues its employees have with the law firm’s IT systems, as well as email monitoring services to ward against potential phishing activities.   

End User License Agreement (EULA)

EULAs govern the use of software by an end user of the same. End users can either be businesses or consumers. EULAs will often contain controls on the way the software can be used by end-users and under what circumstances. They are often tagged on alongside other contracts, such as Reseller Agreements and SaaS Agreements.

Real world example: a consumer end-user of an online educational webapp is presented with a EULA when they first sign into their account and must click ‘accept’ to use the platform.

Data Processing Agreement (DPA)

This is a contract that is mandatory under the UK GDPR which regulates the transfer of personal data between the supplier and customer. DPAs are usually required where the software is used to process personal data – often the supplier providing the software and acting on the instruction of the customer in terms of what to do with the data. DPAs will include contractual warranties in relation to data security, data breaches, data confidentiality, and data subject rights.  

Real world example: the supplier of accounting software for a customer’s payroll operations enters into a DPA to regulate the processing of employee records via the software.

Service Level Agreement (SLA)

SLAs are the common term for where a supplier provides software and/or hardware maintenance and support services in order to resolve issues pertaining to the same. They usually contain contractual duties in relation to availability and uptime of the software because the software’s operation might be critical to the customer’s own operations. SLAs may also contain specific duties in relation to the time periods the supplier has to meet to solve issues. Where the supplier fails to keep up with its duties under an SLA, the customer may receive partial refunds as a percentage of the value of the service or have the option to terminate all contracts with the supplier.

About the author

Nabiel Junjua (CEO & Solicitor) is a commercial lawyer with extensive experience in contract law, including on drafting and negotiating IT agreements for both suppliers and customers, such as software development agreements, cloud computing agreements, and software licensing agreements. You can learn more about Nabiel here and contact him for support on your IT contracts.