As our library of licensing tips blog posts has grown, we have noticed a recurring theme appearing in several of our most popular posts. Repeatedly, we recognize that there are no "absolutes" in software licensing. Instead, there are various advantages and disadvantages to each choice made in your approach to licensing business logic.
It can be seriously challenging to create a "one size fits all" approach to licensing your software. Some examples of this include:
Some customers will want to spend the least amount of money on your software. Since these customers may also be the ones who you trust the least, you may want to restrict these customers from using your software in any of the environments where they can more easily bend the license rules, such as running in a virtual machine environment.
Customers with larger businesses may be willing to offer you additional money in exchange for more control or autonomy, especially concerning the important software that runs their business.
Software publishers who deal with military / defense contractor / highly secure / disconnected environments (which by their nature are the hardest in which to maintain control), often say that they trust these customers the most.
Since it is relatively simple to create multiple builds of your software, your development team can customize the licensing business logic for each customer profile. Your sales team can customize the pricing so that the higher price points for the builds with relaxed license validation offset the risk of customers bending or cheating their software license.
Your sales team can customize the pricing so that the higher price points for the builds with relaxed license validation offset the risk of customers bending or cheating their software license.
Instead of distracting your development team in an attempt to satisfy all potential customer profiles, consider the 80 / 20 rule. Doing so will allow your team to create builds for only the customer profiles that will generate the most revenue for your company.
Instead of using separate custom licensing business logic within different builds, you can include the licensing business logic for all cases in a single build, and then determine which restrictions should apply based on the license that you have issued.
The license parameters/restrictions will designate whether this customer is allowed to run the software in a virtual environment, or when/if the licensed software needs to validate with the central license server. This approach also allows you to more easily make adjustments to certain license restrictions, as you can simply issue an updated license as opposed to updating source code and deploying a new build.
The SoftwareKey System offers various standard features to control the environment on which the software is allowed to run and can dynamically change license validation algorithms on these environments.
With our most advanced licensing client, Protection PLUS 5 SDK, you have the most flexibility to include whatever custom license parameters/restrictions you want. Our License Validation Options in SOLO Server Automation make defining and updating validation settings quick and easy.
Feel free to contact us if you have questions about dynamically-changing license parameters based upon detected environments.
Mike Wozniak is one of the co-founders of SoftwareKey.com and responsible for marketing, content and product strategy. When he isn't plotting new ways to help customers solve licensing and business automation challenges, he likes to travel and entertain guests who come to visit the Orlando area. He also writes most of the licensing tips here.
Licensing Plug-ins for Other Applications: 5 Tips
Drive Sales and Customer Retention with Thorough Testing
Use these 3 steps to validate licenses, protect your profits, and keep customers happy
How Your Software’s Environment Affects Copy Protection and Software Protection
Product Activation: Fingerprints, Copy Protection, Disconnected Computers
Why Software Licensing is a Smart Move