As a software developer or publisher, it's only natural to want some level of control over your software licensing to ensure that customers follow their license agreements and pay their licensing fees.
Whether you publish subscription software licenses, perpetual licenses, or any other software licenses, using a validation process is an effective solution for software companies to maintain control. In fact, it's the only way you can enforce license compliance and protect your license agreement, intellectual property, and software profits when your application is running in an unknown/untrusted environment where you have limited control.
For the sake of this article, we'll assume that your software is similar to the SoftwareKey System in that your customers activated it on their primary computer with some form of software license key or serial number. Every time this activation occurs, it establishes a unique identifier, which we'll call an "Installation ID."
Each Installation ID is unique to that specific computer's installation of the software program, and it’s the key to your control by using a central software licensing authority to perform a periodic validation of each Installation ID on every computer. Let's explore a little deeper, and then we'll discuss more important software licensing tips.
"There is very little control that can be enforced without some type of license validation process."
Customers' Software Environments Create Obstacles for License Validation
First, you have some critical factors to consider before you determine the specific rules and licensing models you want for entitlement validation business logic. Namely, remember that your customers can run licensed software on any type of work, home, or portable computer in any environment, including the six most common:
- Highly available servers with guaranteed, full-time internet access
- Devices with non-guaranteed full-time internet access
- A notebook that frequently disconnects from the web for a week or two at a time
- Devices that run with only periodic human attention
- Multiple computers controlling critical business processes while running disconnected on a factory floor (they may or may not have internet access)
- High-security, fully isolated networks with no data transfer allowed on- or off-site, i.e., military networks
Maintaining control of your software product in some of these working environments is difficult. Software developers and publishers must determine the ideal balance of license validation rules for their software applications in each of these environments while keeping the customer experience in mind. Let's explore how software license validation allows you to maintain control while offering your customer a quality software experience.
Three-Step Escalation for License Validation
Whether you sell your proprietary software as perpetual licenses, subscription licenses, or another type entirely, using an effective validation method for your software licensing systems can make all the difference.
The last two customer environments we listed have the most challenges, but you can circumvent those difficulties by Different Policies for Different Customers. Consider total software license costs and your trust level with each customer when creating your custom policy solution.
The easiest way to address the top four working environments mentioned above is to create a three-step validation interval with escalating urgency in messaging:
1) Fail Silent
A Fail Silent occurs during the initial software license validation period. The customer's software will systematically communicate with your central software license server to confirm validation. If validation doesn't occur because there's no internet connection or the license server isn't reachable, it will fail silently. At first, your customer will be unaware of the validation issue.
If there's no successful validation of the computer's software license during the Fail Silent period, the next step is to send the customer license notices. They'll receive a warning that their software site license will expire and prohibit access if they can't connect to the internet for validation.
If the device still hasn't connected to the internet, the Forced Validation period will prevent your customer from using your software products until validation occurs. If this happens, you need to determine if your customer saw the warning message before getting locked out, especially for infrequently used software.
For example, a software company can begin validating a license seven days after the last successful validation. If there's no validation, it will fail silently for 14 days, then warn the user for seven days before disabling the software indefinitely. If there is a successful validation during that period, the process starts over.
Be Cautious of Over-Validation with Software Licenses
Although it may be tempting to set up your software to perform Fail Silent validation requests on every execution or throughout multiple actions inside of your software, failure to adequately cache your license status and appropriately validate your software license can have an adverse effect on the overall responsiveness of your central licensing server, affecting all of your customers.
Final Thoughts on Software Licensing and the Challenges of Validation
Each software publisher and customer may have different business goals and requirements for using your licensed software. Building a three-step validation interval provides a good framework for protecting your software while keeping your customer informed about license validation requirements.
Please don't hesitate to contact SoftwareKey if you need our assistance in determining the best software licensing validation system for your business. We're happy to help.