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:
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 License | Timed License | Floating License | Node‑locked License | Feature License | |
---|---|---|---|---|---|
Expiration Date | No | Yes | Optional | Optional | Optional |
Activation Limits | Optional | Optional | > 0 | 1 | Optional |
Feature Limits | Optional | Optional | Optional | Optional | Yes |
Offline Support | Yes | Yes | Yes | Yes | Yes |
Learn More | Learn More | Learn More | Learn More |