Clark Morris wrote: >I suggest a call home module that notifies the vendor a product >is actually installed and the date of installation.
You're assuming that the target machine has the technical connectivity to "call home," or, that if it doesn't, the operators and managers of the target machine would agree to such connectivity and configure it. I don't think you can make those assumptions. ....Or, you (the vendor, not you Clark) assume that your customer must allow your software at least temporary technical connectivity to "call home" for its initial license activation and for license renewals, which could be one-time events annually. Only an authorized administrator would be able to trigger an outbound call home attempt. The product would never attempt to call home on its own, and there will be no inbound attempts from the vendor. (Example: "FETCH LICENSE https://license.vendor.com.") If the vendor's backend system doesn't receive and reply to a license activation/renewal in timely fashion, and if the customer hasn't explicitly terminated their license, then a license violation is presumed. There will likely be some loss of sales with this sort of technical arrangement, and you'll have to be prepared for the greater support burden, up front -- before your software has had the chance to demonstrate its worth. There will customers who will have logical, sensible reasons they cannot conduct business this way. However, perhaps the loss of sales will be commercially acceptable. Or, for such customers, you could provide alternate arrangements, such as a license server instance that they can run and update within their environment, a server (multi-arch Docker container?) that would support FETCH LICENSE https://license.customer.com (for example). Yes, the product could still generate its warning messages that might be ignored. For a batch-oriented program conceivably you could have warning messages that eventually "graduate" into an invocation pause after a grace period -- perhaps even with a one-time resettable grace period; for example, the administrator can add +35 days to the grace period on a one-time basis. (Why 35? That's longer than one month, and months can be quite important in both batch and procurement cycles.) However, once the license expires without renewal, and after the grace period (extended or not), the program would wait some escalating time interval before proceeding, with that time interval preferably capped at something reasonable but painful (or painful but reasonable). Or it would throttle to some number of records per minute (for example). Or some of both. These "wait states" would presumably trigger a "Hey, this product is running slower" complaint. For the record, I do not like any of these ideas -- yuck! And whatever you do (if you do), it should be fully disclosed up front (before sale), carefully documented, and thoroughly tested. -------------------------------------------------------------------------------------------------------- Timothy Sipples IT Architect Executive, Industry Solutions, IBM Z & LinuxONE E-Mail: sipp...@sg.ibm.com ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN