Types of Software Licenses

Written by John Lister (FreePrivacyPolicy Legal writer) and last updated on 24 October 2023.

Types of Software Licenses

People who create software have the legal right to control how other people use it. A software license lets them set out legally binding rules that protect that right while giving the user certainty about what they can and can't do.

Software licenses fall into a range of categories depending on which restrictions do and don't apply.

Here's what you need to know about the different types of licenses and how they operate so you can pick which license is best for your needs.

Our Free EULA Generator is built to help you create a professional drafted End-User License Agreement. Just follow these steps:

  1. On our website click on the "Generate Free EULA" button.
  2. Start with the basics, select the type of app and click "Next step":
  3. FreePrivacyPolicy: Free EULA Generator - Start with the basics select an App - Step 1

  4. Add your app information and enter the country:
  5. FreePrivacyPolicy: Free EULA Generator - Answer a few questions about your app - Step 2

  6. Customize your EULA and answer a few questions about your app:
  7. FreePrivacyPolicy: Free EULA Generator - Customize your EULA and answer a few questions about your app - Step 3

  8. Now just add your email address to receive your EULA and click on the "Generate" button:
  9. FreePrivacyPolicy: Free EULA Generator - Enter your email address - Step 4

  10. You're done! You'll be able to instantly access and download your new EULA.

What is a Software License?

In simple terms, a software license gives users the right to use software and sets out the restrictions and conditions under which somebody can use the software, along with paying any fees.

Software isn't the same as many other products. Buyers or users aren't getting a physical item. Even when they buy software on a compact disk or other physical media, it's not really the piece of plastic they are paying for. It's also often difficult or impossible to physically stop people making an exact replica of software.

For these reasons, software manufacturers don't "sell the software" itself but rather give the customer the right to use the software under a software license.

What Do Software Licenses Cover?

What Do Software Licenses Cover?

Whatever type of software license is used, it will usually explicitly or implicitly cover the following points:

  • The ways people can use the software and any restrictions that apply
  • Any numerical limitations such as the number of users or devices
  • Any time limits to the use
  • What intellectual property rights the software creator holds, retains and grants
  • Any limitations on liability or warranty
  • Any royalties that apply, for example if the user makes money by using the software for a commercial purpose

What are the Types of Software Licenses by Copyright Model?

Software licenses vary significantly but fit into some broad categories.

The most common way to categorize licenses is by the way they address copyright. These fall into two main categories covering five main types.

The first main category is Free and Open Source Software (FOSS) or simply open source software. Broadly speaking, it gives the user at least some right to modify or reproduce the software. The user will usually get access to the underlying source code behind the software.

The second main category is Proprietary license software, or closed source. Broadly speaking, the user only has the right to use the software rather than modify or reproduce it. The user will usually only have access to the "operational code" that runs the software.

Simply dividing software licenses into the two main categories isn't always enough to distinguish between the various levels of rights and restrictions they offer. Instead, people in the software industry often distinguish between five main types of license.

Public Domain Software License

This is the least restrictive license and effectively means there's no restriction on using the software in any way. Users can reproduce, alter and resell the software. It will usually be difficult if not impossible to seek or gain any compensation if something goes wrong.

Software today is only in the public domain because the creator has explicitly designated it as being so.

In theory, software could eventually fall into the public domain because copyright periods have expired. In the United States at least, this period is so long that by the time any software falls into public domain this way, it would have virtually no practical use on existing computers and devices.

Note that some people argue that being in the public domain is not a type of license, but rather is the explicit absence of a license. This is more of a philosophical point than a useful distinction.

The Unlicense is an example of a software developer designating something as public domain:

Unilicense Public Domain section

Lesser General Public License (LGPL)

This type of license is more of interest to software developers than consumers and corporate users.

Broadly speaking, this license type means:

  • Developer A has permission to use Developer B's software as a component of Developer A's software.
  • Developer A does not have to release the source code of their software.
  • Developer A does have to make their software available under the same LGPL license.

7-Zip uses a form of LGPL:

7 Zip License: LGPL information section

Permissive Software License

This type of license brings together permissions and requirements. Broadly speaking, the user has permission to use, modify and distribute the software if they follow the requirements. These will usually include acknowledging the intellectual property rights of the original software developer.

The MIT License is an example of a permissive license:

MIT License screenshot

Copyleft Software License

This type of license means somebody can use software or code to create new software or code. However, they can only distribute what they create by using the same (copyleft) license. This theoretically creates a perpetual chain as people use and modify software and code.

One of the main aims of the copyleft model is to encourage people to improve software and code without the risk of somebody taking unfair advantage by using it for a restricted, commercial product.

The Mozilla Public License uses the copyleft model:

Mozilla Public License: Responsibilities section

Commercial or Proprietary Software License

This type of license broadly means the user cannot modify or distribute the software or underlying code. Instead, they can only use it.

The use itself may be subject to restrictions, for example only using it for non-commercial purposes.

Apple's license for iOS16 is a proprietary license which includes heavy restrictions on doing anything other than using the software for its intended purpose:

Apple SLA: Restrictions clause

Next let's look at software licenses that are structured by use limits.

What are the Types of Software Licenses by Use Limits?

What are the Types of Software Licenses by Use Limits?

Another common way to categorize software licenses is by quantifiable restrictions on when and how you can use the software.

These categories are more common with commercial and proprietary licenses.

Examples include the following:

  • A perpetual license means you can use the software forever for a one-off fee
  • A subscription license means you can use the software as long as you pay a regular fee
  • A floating license covers multiple users in your business. It means you can add or remove access for individual users as long as you don't exceed an overall total.
  • A concurrent license means you don't need to add or remove users. Instead, anyone in your organization can use the software, but only a certain number can use it at the same time.
  • A feature license means you pay a specific fee to access specific features of the software while not having access to other features.
  • A metered license means you have access to the software, but an aspect is either restricted to a certain amount of use or carries a variable charge depending on how much you use it. For example, a video creation tool might be "metered" based on how many videos you create.

What is an End User License Agreement (EULA)?

What is an End User License Agreements (EULA)?

Strictly speaking, an EULA isn't a type of license in itself. Instead, it's a legally binding agreement between the software developer and the end user by which the end user consents to license terms in return for the right to use software.

EULAs will be used to grant a license to the end user, as seen here from Cisco's EULA:

CIsco EULA: Using Cisco Technology clause

An EULA should contain any license terms and restrictions where a software developer wants the ability to enforce the terms if necessary. We've mentioned some possible terms and restrictions throughout this guide.

Some specific terms to strongly consider including in any EULA are:

  • A complete ban on reproducing, modifying or distributing the software
  • A ban on reverse engineering the software, meaning attempting to access, and potentially alter or copy, its underlying source code
  • A limitation or disclaimer covering both direct damage (such as the software crashing a computer) and indirect damage (such as somebody getting an IRS fine because of an error in tax calculator software)
  • Details of which country or region's law applies to the EULA and which court system shall hear any case

Cisco's EULA clearly disclaims liability for indirect damage:

CIsco EULA: Liability clause

Cisco also notes that there may be other licenses used with its software that it may not own, and that other license terms may apply:

CIsco EULA: Open Source Software clause

An EULA doesn't have to be filled with legalese. In fact, it shouldn't be. For example, use clear language like Minecraft does here when detailing its ban on distributing the software:

Minecraft EULA: What you can and cannot do clause excerpt

Next let's look at how to display your software license types to the public.

How Should You Display a Software License/EULA and Get Consent?

You need to make sure that users are able to find your EULA and software license information, and that they take an active step to consent to it.

For best results, display your software licensing information in a variety of places make it available in multiple locations including:

  • As a printed document packaged with physical media
  • On your website, for example in your website's footer
  • On screen during the software set-up process
  • Accessible in the software itself, for example through a "legal" section or a software documentation section

Mediatonic links to its EULA from a footer menu on every page of its site:

Mediatonic website footer with EULA link highlighted

To be certain you can enforce a EULA, you need to prove the user agreed to it. The only reliable way to do this is to require active consent to the EULA before the user can install or use the software. This consent should:

  • Require a positive action such as ticking a checkbox
  • Be clearly labeled as indicating consent to the EULA
  • Be next to, or linked to, the text of the EULA

Epic Games explains how it enforces acceptance of its EULA when people use its software. Usefully it includes a link to the EULA as part of the explanation. This gives people a chance to read the EULA in full at their leisure rather than be tempted to skim it in when they are trying to start playing a game:

Epic Games Help page with EULA link highlighted

Get users to check a box next to a statement that shows that checking the box is consenting to the EULA. You can use the following method:

British Gift Box checkout page with Agree to Terms and Conditions checkbox highlighted


In most cases, software is licensed rather than sold. A software license gives somebody the right to use the software under certain conditions. These often include permission to, or restrictions on, sharing or reproducing the software.

The most common way to distinguish types of software license is by their approach to copyright. The simplest distinction is between Free and Open-Source software (which broadly lets people modify or reproduce it) and Proprietary software (which only lets people use the software and not modify or reproduce it.

This distinction can further break down into five types of license in increasing level of restriction: Public domain, Lesser General Public License, permissive, copyleft and commercial/proprietary.

Another way to distinguish types of software license is by their use restrictions such as time limits, number of users, or specific features.

An End User License Agreement (EULA) is a legal agreement between a software developer and the software user. It will disclose what type of software license is granted, and how it must not be used.

Display your EULA readily and get users to consent to its terms.