Client access license

A client access license (CAL) is a commercial software license that allows client computers to use server software services. Most commercial desktop apps are licensed so that payment is required for each installation, but some server products can be licensed so that payment is required for each device or user that accesses the service provided by the software. For example, an instance of Windows Server 2016 for which ten User CALs are purchased allows 10 distinct users to access the server.
Licensing.
Commercial apps are licensed to end users or businesses: in a legally binding agreement between the proprietor of the software (the "licensor") and the end user or business (the "licensee"), the licensor gives permission to the licensee to use the app under certain limitations, which are set forth in the license agreement. In case of Microsoft, the consumer retail or "off-the-shelf" products generally use very similar licence agreements, allowing the licensee to use the software on one computer, subject to the usual terms and conditions. For businesses however, Microsoft offers several types of licensing schemes for a range of their products, which are designed to be cost effective, flexible, or both.
Commercial server software, such as Windows Server 2003 and SQL Server 2005 require licenses that are more expensive than those which are purchased for desktop software like Windows Vista. All clients that connect to these server products must have a license to connect in order to use their services. These special purpose licenses come in the form of a CAL.
Enforcement.
A CAL legally permits client computers to connect to commercial server software. They usually come in the form of a certificate of authenticity (CoA) and a license key, which is sometimes attached to the certificate itself. The various editions of most of Microsoft's server software usually include a small number of CALs, and this allows the software to be used by either a few users or a few computers, depending on the CAL licensing mode. If more clients need to access the server, then additional CALs must be purchased.
Microsoft Server products require a CAL for each unique client regardless of how many will be connecting at any single point in time. Some of Microsoft's server software programs do not require CALs at all, as is the case of Windows Server Web Edition. Microsoft SQL Server can be licensed for CALs, or alternatively by CPU cores.
Types.
CALs apply to either a "device" (as defined in the license agreement) or a "user". A business is free to choose either mode.
With user CALs, each CAL allows one user to connect to the server software whenever they need to. Once the CAL has been allocated to that user, it cannot be used by another user. Any number of CALs can be purchased to allow five, five hundred, or any number of users to connect to the server. With user CALs, each user can connect to the server software from any number of devices. The devices are not counted, but only a set number of users can connect.
Per-device mode operates in much the same way, but limits the number of devices which can connect, rather than the number of users. One CAL enables one device to connect to and use the server software, regardless of how many users connect from that particular device.
Although User and Device CALs are currently the same price, they may not be used interchangeably, and cannot be switched without buying new CALs. The price of User CALs is due to increase from December 2012 (in the UK), although the device CAL remains the same.
Combined schemes.
The Core CAL is a special CAL offered by Microsoft through corporate license agreements such as "Enterprise", "Select" or "Open Value". The Core CAL, is a combination of CALs for Windows Server, Exchange Server, SharePoint Server, System Center Configuration Client Management License, Lync Server and Forefront Endpoint Subscription License. Core CALs are approximately 30 percent cheaper than the sum of the aforementioned licenses.
With the release of the 2007 products, Microsoft started offering the Enterprise CAL Suite. The Enterprise CAL Suite combines 15 CALs, including the Core CAL combination, Enterprise functionality of Exchange, Lync and SharePoint Servers, as well as System Center Data Protection Manager, Operation Manager and Service Manager Client Management Licences. As for the Core CALs, Enteeprise CALs are only available through Open, Enterprise or Select agreements.
Software editions.
CALs usually enable connectivity to server software regardless of the edition of the software. For example, CALs purchased to enable client connectivity with Windows Server 2003 Enterprise Edition can be used with Windows Server 2003 Datacenter Edition. However, backwards compatibility is generally assured. For example, Windows Server 2012 CALs can not only be used to access servers running on Windows Server 2012, but they can be used to access one of the servers running Windows Server 2008, Windows Server 2008 R2, Windows Server 2003 and any previous versions at any given time.
Terminal Services.
Terminal Services is a function of Microsoft Windows that allows several types of connections to the server components of the system. Windows Server versions prior to 2003 do not necessarily require the use of specialized Terminal Services CALs; rather, clients which are of at least the same or lower version of the operating system are allowed access automatically. For example, Windows NT 4.0 clients may connect to Windows NT 4.0 terminal servers but not Windows 2000 or later; Windows 2000 or Windows XP clients may connect to Windows NT 4.0 or Windows 2000 terminal servers. This is called the equivalency license.
The system for enforcing the number of TS CALs ("Microsoft Enforced Licensing") used on versions later than NT was abused by the "FLAME" malware, leading to a patch in 2012 restricting the Certificate Creation system used for Terminal Services.
The number of per-user TS CALs on Windows 2008 is not enforced: supposedly, this was because Microsoft did not have time to finalize technical enforcement before the release of the operating system.