What is a software license?
A software license is a document that provides legally binding guidelines for the use and distribution of software.
Software licenses typically provide end users with the right to one or more copies of the software without violating copyrights. The license also defines the responsibilities of the parties entering into the license agreement and may impose restrictions on how the software can be used.
How do software licenses work?
All software licenses are contracts between the software developer or current provider and its user or user organization. Every license states the rights of the developer and user of a piece of software. It defines how the software can be used and how it will be paid for.
It also defines the terms and conditions of use, which all users must agree to when acquiring the software. These T&C govern fair use of the software, the limitations of liability, warranties and disclaimers. The license document also specifies protections if the software or its use infringes on the intellectual property rights of others.
Further, a software license might include specifications like the following:
- How many times the software can be downloaded.
- What the software will cost.
- What level of access users will have to the software's source code.
In addition to a license, all software comes with a license key or product key. The key is used to identify and verify the specific version of the software. It is also used to activate the software on an individual or set of computers or devices.
As the software industry has evolved, along with changes in customer expectations, the nature of how software is licensed and delivered has changed as well. In recent decades, the use of a software license to define how many user computers can run a piece of software often has been replaced by a cloud-based subscription model. In that model, a software as a service (SaaS) provider runs its software on its own systems, and a set number of users are given access through a web interface.
Types of software licenses
Software licenses typically may be proprietary, free or open source. The distinguishing feature between these various types are the terms under which users may redistribute or copy the software for their own or others' future development or use.
Licenses are typically expressed as an end-user license agreement or an enterprise license agreement (ELA). EULA is a common type of license for commercial software. It specifies the product usage terms and usually restricts users from reengineering, modifying or redistributing the software. It typically includes basic information about the parties entering the agreement, such as their full names, contact information and addresses. It may also include the following information:
- When the conditions of the agreement go into effect (i.e., the moment the user accepts the terms and conditions).
- Charges owed per user/organization.
- The duration of the agreement.
- Terms of cancellation and terms for recovery of charges if cancelled during the period covered by the original agreement.
- Distribution permissions and limitations.
- User rights for copying the software and making modifications.
- Software performance guarantees.
- The number of eligible users.
- Maintenance, upgrades and support that is included.
- How many devices will be allowed to use the software.
- Disclaimer of warranties.
- Transferability of the license to another business or person.
- Exclusivity or non-exclusivity of the software to any one customer.
- Governing law and which entity will have jurisdiction over legal disputes about the license.
An ELA is an agreement between software developers and organizations. It allows a company to purchase a specific piece of software at a certain cost and use it for a specified period.
Other common types of software licenses include the following:
- Free and open source software (FOSS) licenses are often referred to as open source. They allow anyone to use software, and even to study, change or copy its source code. FOSS source code is available to the customer along with the software product.
- Proprietary licenses are often referred to as closed source. They provide customers with operational code. Users cannot freely alter this software. These licenses also usually restrict reverse engineering the software's code to obtain the source code.
Other types of software licenses include the following:
- Public domain license. The software is freely available. Anyone can use and change it or incorporate code from this software into an application. However, businesses should use caution as altered code may not meet their quality and security standards. Companies should be wary of ambiguous licenses that appear to be public domain but do not explicitly say so.
- Lesser general public license. Developers can link to open source libraries within their software and use any licensing type for the code.
- Permissive license. It allows users to modify and distribute a piece of open source software and use it anywhere, including in proprietary projects. This type of license will establish some requirements for distribution or modification of the software. It also has requirements for preserving license notices, copyrights or trademarks. There are several variations of permissive licenses, including Apache, BSD (Berkeley Source Distribution) and MIT licenses.
- Copyleft license. Generally associated with open source software, it allows users to modify the software, as long as they make the modifications freely available (i.e., open source) to other users. The licensed code may be distributed or modified as part of a software application or project if all code involved is distributed under the same license. New products containing old code with a copyleft license must comply with the restrictions laid out in the old code's license.
- Proprietary or commercial license. This is the most restrictive license type. It prevents users from accessing the source code; also, the publisher holds all publishing rights to the software. It makes it illegal to copy, modify or distribute the software. These licenses provide software owners with the most protection from unauthorized use of the software.
Why software licenses are important
A software license establishes the rights of all parties involved with the software: the author, the provider and the end users. It defines the relationship between the software company and users and explains how they are both protected.
How license agreements protect developers
- They protect developers' intellectual property and trade secrets based on copyright laws.
- They limit what other parties can do with the covered software code, ensuring that developers retain control over their creation.
- They limit the vendor's liability by setting clear expectations about the software's future performance, output and support availability.
- They enable developers to monetize the software product.
How license agreements protect users
- They define what users can do with software code they did not write, preventing misuse or unintentional mistakes that may cause them some damage.
- They establish how users stay in compliance with software licenses, protect them from infringement claims and limit their legal liability.
- They help users maintain a positive relationship with software developers, vendors and other users.
- They prevent overspending by establishing clear parameters of how many licenses an organization needs.
How much does a software license cost?
The cost of a software license depends on the type of license, the type of software and the developer's pricing model. License costs are often based on the number of users and devices that use the software. They may also depend on the software deployment method.
When purchasing a license, there may be a one-time fee that gives the user ownership rights to the software. This traditional way of owning software involves buying the license upfront and gaining the rights to use the software indefinitely. This type of purchase agreement is known as a perpetual license. Alternatively, the user may pay an initial fee followed by a subscription plan where payment is made at regular intervals. Costs can increase with add-ons, upgrades, maintenance fees and other fees. Depending on these factors, software license costs can vary from free or nearly so, to many thousands of dollars.
Software licensing and the COVID-19 pandemic
The COVID-19 pandemic underscored some of the challenges involved in managing software licenses. For one, it showed that tracking software licenses and costs can be particularly difficult across virtualized servers, mobile devices and cloud environments -- all of which were adopted in great numbers by companies worldwide when the pandemic hit.
In addition, many firms suddenly needed additional licenses for software that would support their remote operations, such as web conferencing, instant messaging and enterprise communications software. They also needed quick access to a larger number of security software licenses to deal with the sudden surge of cyberattacks and data breaches following lockdowns and the shift to remote work. A majority of organizations were not prepared for these sudden requirements for software licenses.
The unexpected demand and associated higher IT expenses forced many of them to get creative in their approach to software licensing. Buying everyone a license for every application was not always feasible or cost-effective so some organizations opted to buy licenses according to an employee's function. They also explored shared license models or set up online portals where employees could request licenses as needed for their specific role or work responsibilities.
Learn how to optimize software asset management in today's heterogeneous environments and explore the differences between open core vs. open source software and licensing.