Phoning home to enforce a user licence is considered by many to be "evil". But for my web-dependent Windows application it seems like the perfect method of enforcing a single-user, multi-workstation licence, i.e. one licence on many machines, but only one can be active at a time. As an example, think in terms of a single rendering engine licence with a worker process spanning several hours only being active on one machine.
A licensing server must therefore authenticate the application when it is first run and check that the licence is not currently in use before a worker process is started. I can see how this would be considered evil if the application required Internet access just to check its licence, but my application is useless without an Internet connection anyhow. A site licence would only require one check.
If the licensing server is ever down (hopefully almost never), the app should gracefully degrade to a limited version until it can be authenticated. It has to phone home to check for updates and report (consensual) usage statistics anyway, so why is this so bad?
How do I keep honest men honest without being evil?
Trust your customers to pay the bill. If they want to run your program on two computers at the same time, they will find a way.
Make it as easy as possible for your users to use the software. Often, a pirated version of a program is more user-friendly than the legal version. For one thing, the pirated version just keeps working if the license server is down.
I advise you to give the user full access if the license server is down, instead of giving them a limited version.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With