我有一个在基于 Gentoo 的 LAMP 堆栈上运行的 Web 应用程序。我的客户将软件作为服务购买,我托管一切。但是,在客户自己的网络内有一些现场部署的需求。
目前,由于我托管系统,应用程序中没有内置许可证管理。我根据用户帐户和数据容量计费(它是一个用于计量数据的处理和分析应用程序),我只是设置客户支付的任何费用,而客户不能自己设置这些东西。即使没有现场安装,也应该改变它以获得更好的可扩展性。
我正在寻找一个许可证管理框架和/或您自己实施或在其他地方看到效果良好的典型方法。我的要求是:
- “足够安全”而不是“军用级”
- 非常不突兀
- 防止许可证所有者在仅获得一个许可证时在多个工厂中运行系统
- 使用户账户数量和数据容量合理防篡改,易于升级/降级
- 在没有 Internet 连接的情况下工作(拥有一个完全独立的系统将是选择现场解决方案的要点),但如果在安装期间必须有一个临时连接可能是可以接受的
对于某些现场场景,可能需要某些特定的操作系统,通常是某些版本的 Windows Server,但各种 Linux 发行版也越来越受欢迎,尤其是在公共部门。
从用户的角度来看,我对 FogBugz 中的许可证管理很满意,从供应商的角度来看,Joel Spolsky 似乎很满意,而且它是跨平台的,所以它会作为我的一个很好的参考的目标。