Allow users to freely access minor upgrades while ensuring you get PAID for major upgrades
When you plan licensing for your software, decide how to treat minor and major upgrades. Minor updates often fix small defects and may add small features. You might move from Version 1 to Version 1.1 for a minor update. Major upgrades carry a larger version number increase, such as 2.0, and usually include significant changes in features and functionality.
A common goal is to let customers install minor upgrades freely while still being paid for major upgrades. The SoftwareKey System gives you the control to do both. This article explains the options and how to configure them.
Consider a subscription model first
Before deciding on separate rules for minor and major upgrades, consider whether subscription-based licensing fits your business. With a subscription model, customers make ongoing payments for continued access to your software, often including all updates.
When you use subscription licensing, you usually no longer need separate licensing rules for minor and major upgrades, because actively paying customers receive both. If a subscription model does not fit your business, the rest of this article covers how to handle minor and major upgrades individually.
How re-activation relates to upgrades
Re-activation is typically reserved for situations where an upgrade must be purchased or licensed differently. Upgraded or replaced software does not have to require re-activation unless you want it to. To keep things easy for your customers, you will usually want them to install minor updates with minimal effort, especially when those updates fix problems.
Your software's authorized computer fingerprint and other license parameters are most often stored in a location outside the software executable. Because of this, the behavior after an upgrade depends mainly on whether the installed software still finds and recognizes the existing license data.
Allow free minor upgrades
To let customers install minor updates without re-activating, keep the existing license valid across the upgrade:
- Store license data in a location external to the executable (this is the typical configuration).
- Make sure your installer does not overwrite the existing license data during an in-place upgrade.
- Keep the same license file name in the new version.
- Keep the same cryptographic keys (and license seeds) in the new version.
When these conditions are met, the customer can perform an in-place upgrade. The software sees the same license file before and after the upgrade, so it simply runs once the minor upgrade is installed.
Require re-activation for major upgrades
To force every user to re-activate when you release a major upgrade, make the new version unable to recognize the old license. Before releasing the major upgrade:
- Change the license file name.
- Change the license file location.
- Change the cryptographic keys, license seeds, and any other encryption data.
With these changes in place, an in-place upgrade will not recognize the old license. The application then requires activation, which lets you charge for the major upgrade.
Summary
First decide whether a subscription approach benefits your company and customers. If it does, paying subscribers receive both minor and major upgrades and you generally do not need separate upgrade rules.
If you do not use a subscription model, you can control upgrades through your license file and encryption settings:
- To allow free minor upgrades, keep the same license file name, location, and encryption data. An already activated application stays activated, just as an already expired trial would stay expired.
- To require payment or re-activation for major upgrades, change the license file name, location, and encryption data so the new version does not recognize the old license.
Either approach is fully supported. The SoftwareKey System has the flexibility to implement subscription licenses and to control whether a given upgrade requires activation.