Creating Maintenance-Thru-Date Licenses
Many software publishers wish to issue a license to their customers which allows the customer to run (forever) any version of the software which is released before a particular date. We call this a “maintenance-thru-date” license. A typical example is that the customer is allowed to run any software released up to 12 months after their original purchase of the software. If the publisher releases a new version in 11 months, the customer can use this version as well, but they cannot use any version which is released more than 12 months later.
A “maintenance-thru-date” license is implemted with a “date-based” version. Briefly, you request a version of your software which encodes the release date, and you generate licenses with versions that specify the last release date which can be used.
To implement this in your product, do the following:
- set the version field of the license to a date, in the format yyyy.mm,
- specify the version in your call to rlm_checkout() in the same date format, with a date corresponding to the date of release.
- When you issue licenses, issue them with a version number corresponding to the expiration of their support.
For example, if you want to issue a one-year supported license in May of 2016, you would issue a license of version 2017.05 to your customer. When you release your software in December of 2016, you would request version 2016.12 and the 2017.05 license would work for this version of your software. When you release again in July of 2017 (with a requested version of 2017.07), your customer will not be able to run that release of your software.
It is certainly possible to use other date formats, however, the format above is used by RLM Activation Pro and it seems as good as any.