Assigning home to force the use of a user license is considered by many to be "evil." But for my web-dependent Windows application, this seems like the perfect way to provide a single-user license with multiple workstations, that is, one license on many machines, but only one can be active at a time. As an example, consider one license for a rendering engine with a workflow spanning several hours that is only active on one machine.
Thus, the licensing server must authenticate the application when it is first launched and verify that the license is not used before the workflow begins. I see how this will be considered evil if the application requires Internet access only to verify its license, but my application is useless without an Internet connection. A site license will require only one check.
If the licensing server never works (I hope almost never), the application should gracefully degrade to a limited version until it is authenticated. He should call home to check for updates and report (consensual) usage statistics anyway, so why is it so bad?
How to keep honest people honest without being evil?
source share