It is inevitable that customers will need to move licenses from one computer to another at some point. When a license becomes invalidated in the licensing server as a result of one of the 4 main reasons to allow software deactivation, the protected application will continue to run until it receives notification that the license has been revoked. To maintain the most control over your software, you must define rules that configure your application to periodically check in with the central licensing server to validate the status.
What Happens If I Don’t Require Validation?
Failure to require license validation when allowing license transfers makes it easy for someone to activate your software on multiple computers. Consider this example:
- Customer activates the software on Computer A.
- Customer takes a full backup of Computer A.
- Customer deactivates the software on Computer A and activates it on Computer B.
- Customer restores the full backup of Computer A.
The customer will likely be able to continue using the software on Computer A after the restore. When you require license validation, Computer A will eventually have the software revoked once the validation occurs.
Balancing Between Optional and Required License Validation
Not all of your customer’s computers will have internet access 100% of the time, and some may be running the software in a completely disconnected environment. For these reasons, you will need to consider the frequency that your application is required to validate the license in order to maintain the best balance of offline use while still maintaining control over usage.
There are two types of validation requests:
- Optional License Validation – When the software is unable to validate the license with the central licensing server (perhaps from temporary server or internet unavailability), the validation process fails silently and does not display any error message to the user. When it is time to validate the license, it is common to allow several days of failed optional license validation requests.
- Required License Validation – When the optional license validation process fails for an extended time, license validation should become mandatory. This validation cannot be avoided by running disconnected from the Internet or blocking connection to the central licensing server.
It is a good idea to warn the user with a message like this:
“It is necessary to validate your software license. Please connect your computer to the internet and run the software to validate your license within X days to maintain access to the software.”
Assuming that having easy access to your software is important for customers, be sure to give users sufficient time to see the warning message and consider how often your customer may be using the software. For example, if someone goes on a two week vacation and hasn’t run the software during the optional validation period, they may not benefit from the warning message and will not be able to access the software unless they are connected to the internet.
There are many reasons to allow license transfers and deactivations inside of your applications. Requiring periodic license validation closes several loopholes that potentially allow customers to gain additional usage of your software. When validating the software license online with the central licensing server, a balance of both Optional and Required License Validation timers is a good idea when choosing license validation rules.