许多人认为打电话回家强制执行用户许可证是“邪恶的”。但是对于我的依赖于 Web 的 Windows 应用程序来说,它似乎是强制执行单用户、多工作站许可证的完美方法,即在多台机器上使用一个许可证,但一次只能激活一个许可证。例如,考虑单个渲染引擎许可证,其中一个工作进程跨越几个小时,仅在一台机器上处于活动状态。
因此,许可服务器必须在首次运行应用程序时对其进行身份验证,并在启动工作进程之前检查许可证当前是否未在使用中。如果应用程序需要 Internet 访问权限只是为了检查其许可证,我可以看到这将如何被视为邪恶,但无论如何,如果没有 Internet 连接,我的应用程序将毫无用处。站点许可证只需要一张支票。
如果许可服务器曾经宕机(希望几乎永远不会),应用程序应该优雅地降级到受限版本,直到它可以通过身份验证。无论如何,它必须打电话回家检查更新并报告(双方同意的)使用统计信息,那么为什么会如此糟糕呢?
如何让诚实的人保持诚实而不作恶?