Subscriptions range somewhere between the holy grail and the gold standard for software vendors. They have already become the norm in much of the consumer world, and they are becoming increasingly popular for commercial options as well. The secret to their success is not so secret at all: For the vendor, they promise a steady stream of income. For users, they offer affordable access to software without steep upfront costs for the licenses. The costs for maintenance and further development become more predictable for both sides, and users know that their software will always be the latest version available. Despite these many plus points, the decision to switch from straight-up sales to subscription models deserves some care and attention, as it can mean a drop in actual revenue in the initial transition period.
Beyond these financial considerations, the switch to subscription models also calls for some attention to the technical nitty-gritty. There is one technical hurdle that needs to be taken in any case: All subscription models need some form of channel between the vendor and the user – magical thinking is not enough, and telepathy is out of the question. Even in today’s hyper-connected world, this is still a live issue, as there are many devices that need to operate offline, maybe even in secure and cordoned-off environments. Speaking generally, there are two possible routes to consider:
* Licenses can be created as permanent licenses that work without any further intervention. When the subscription is cancelled, the license is turned into a temporary license or deactivated on the spot, ideally with a form of receipt to record that transaction. One major drawback of this choice is that licenses may still be used by more fraudulent users (e.g. those claiming that they lost the device they had bought the license for). And even for legitimate and upright users, there is little incentive to care about deactivating their licenses properly. Still, this straightforward option has the considerable advantage that it needs hardly any updates or interventions in the case of offline use.
* Licenses can be created as temporary licenses that are renewed on a regular basis. Should a subscription be cancelled in this case, the license is given a new fixed expiry date and is not renewed anymore beyond that time limit. From the point of view of license enforcement, this is the way to go, as it essentially prevents all fraudulent use after the planned expiry date. The approach does, however, need a mechanism for regularly updating the licenses, even if they are used in offline scenarios. Preplanned push updates by file transfer can facilitate this, with lots of automation opportunities to make the process as unobtrusive as possible.