Mailspring does something like that. I personally prefer people selling me yearly licences that do not call home, if a one-time is not possible. Depending on the market you target, people might not like sw trying to call home (every adobe software ever?). My firewall would block and report it anyway.
Your app might need to call home for updates? I guess it could call home then and verify.
Yes people could carry on running the SW on an old version and hack it somehow, but don't worry about those people. You won't answer their support calls!
> "call home" with only the necessary informations, at which point the server will respond with the necessary information that will allow the program to run.
That means means users won't be able to use your app offline (in an airplane, during an outage, in an area with spotty connection). You can attempt to play it safe by checking in the background and terminating the app when/if you can make a connection but that is easy to work around.
There are commercial license key libraries that solve this for you. It’s been years since I used them so I’m not qualified to make suggestions
Your call home idea is good. This open source self-hosted product does the same:
https://docs.sourcegraph.com/admin/subscriptions#how-user-ac...
Looking from the customer point of view, I would urge you to consider what value you are bringing with a subscription model. If I understand you correctly, you want to charge an ongoing subscription for a one time piece of software. It sounds like you’re not including updates or improvements, just a one off install.
My personal opinion is if I’m buying software designed to run on my own hardware with a one off install, I only want to pay once for it once. I don’t want a subscription. But I also don’t expect updates or infinite support.
If there is a subscription, I expect updates (bug fixes, new features, support for OS updates, etc). If the maintenance side has value to me, I’ll pay for that subscription.
One example is Solidworks. I pay a few thousand dollars for the “base product”. It’s mine to use forever. But I also pay a yearly service fee. That subscription gives me: software updates (new features and bug fixes), tech support, etc. I get value out of those things so I (gladly) pay for them.