Perpetual Licenses

What is a perpetual license?

A perpetual license is a license that is valid forever. These are usually for one-off purchases of a software application. Once the user receives their license key, they can expect to be able to use your software application in perpetuity, hence the name. The product key should never expire, and suspension or deletion of a perpetual license should be rare.

But just because a license never expires doesn't mean that the license can be used without limitation. A perpetual license may have other rules, such as a machine activation limit, or limitations on certain features, or a lack of major version updates, etc.

Perpetual licenses are very popular when compared to another more complicated type of software licensing, such as a subscription model. This popularity is mainly due to the simplicity of the license model, and the ease-of-use for the end-user.

Included on this page:

How do I implement a perpetual license?

Configuring a perpetual license type is straight forward. You will want to create a new Policy resource, or modify an existing Policy. The duration attribute of the Policy should be null (an empty or blank value). This will cause all new licenses that implement the Policy to have no expiration.

Then, within your software, you will want to integrate the following request flow:

Diagram of validating a perpetual license key

Perpetual fallback licenses

This is a twist on the perpetual license that is gaining in popularity. Essentially, it's a timed license with perpetual access to software versions that were released within the license's "validity window." For example, let's take a license model inspired by the great Sublime Text 4, where a user can purchase a 3 year timed license, entitling them to automatic upgrades within their license's 3 year "validity window", i.e. the time between the issue date and expiry date.

Now that sounds just like a timed license, right? Yes — but the twist is that the user will also be allowed to download and use any version released within their license's 3 year window, even after the license expires. Meaning upgrades stop, but they can perpetually use the versions released in their license's validity window.

This is one of the most successful licensing models we've seen for desktop apps, and it has been increasingly popular over the years.

You can enable a perpetual fallback license by setting the policy's expiration strategy to MAINTAIN_ACCESS, which will automatically allows access to releases published within the license's validity window, and it will also treat expired licenses as valid. If the latter part is undesirable, you can use RESTRICT_ACCESS instead.

Offline capability

Perpetual licenses are a great choice for simple offline-capable licenses. You can configure the Policy to utilize a cryptographic signing or encryption scheme, which will allow you to verify the authenticity of license keys in offline environments.

Perpetual LicenseTimed LicenseFloating LicenseNode‑locked LicenseFeature License
Expiration DateNoYesOptionalOptionalOptional
Activation LimitsOptionalOptional> 01Optional
Feature LimitsOptionalOptionalOptionalOptionalYes
Offline SupportYesYesYesYesYes
Learn MoreLearn MoreLearn MoreLearn More