我正在为 Ubuntu 软件中心开发一款商业应用。由于它是商业应用,我不希望用户直接复制/下载该应用并将其放入 PC 中,而无需先购买。这让我想到许可证密钥网页在 Ubuntu.com 上。
如您所见,描述太简单了。是否有任何教程或指南详细介绍了在 Ubuntu 中为您的软件授予许可证的最佳实践?
答案1
您似乎要求使用 DRM 系统。许可通常意味着“描述最终用户拥有哪些权利”。
正如 Zoopster 指出的,目前还没有标准的方法来实现这样的系统。而且,也没有万无一失的方法。即使是最大的商业公司也迟早会发现他们的软件被“破解”。
似乎不鼓励,但如果您仍然想要一个 DRM 系统,只要您对 Web 应用程序有基本的了解,开发自己的 DRM 系统应该不难。
例子
您可以拥有一个带有“密钥”(通常称为序列密钥、激活密钥等)的非常简单的数据库。
- 每次你“销售”一份副本时,都会生成一个随机密钥并添加到数据库中。生成的密钥也会提供给用户(例如通过电子邮件发送)。
- 然后用户在安装或首次使用应用程序时输入此密钥。
- 您的安装程序/应用程序将此密钥发送到您的密钥验证服务,然后该服务会“回复”肯定的答复,从而允许安装程序/应用程序继续运行。
- 如果验证成功,您可能需要从数据库中删除该密钥以防止重复使用。另一种解决方案是允许使用单个密钥进行多次安装(例如,为每个密钥使用一个“计数器”)。
执行
- 您需要开发一个小型 Web 解决方案来处理密钥的分发和验证。
- 您必须向您的应用程序添加所需的功能,或者开发一个与您的 Web 服务通信的安装程序。
而且由于您似乎对使用 Ubuntu 软件中心感兴趣,您需要关注“首次运行验证”,因为您的应用程序将作为 .deb 包分发(也就是说,您的应用程序由包管理器安装,而不是由您自己的安装程序安装)。
答案2
首先,授权/数字版权管理并不能防止盗版。如果有人不尊重你的知识产权,他们就会想办法绕过你的数字版权管理。不幸的是,这就是我们今天生活的世界。
话虽如此,MyApps 中的许可证密钥基础结构旨在简单。原因是管理 drm 的方法有很多,但没有标准的机制来实现它。由于方法太多,我们没有教程或最佳实践建议。
我们有开发人员使用它来通过电子邮件发送密钥,用户必须安装该密钥,也有开发人员使用它来在安装/购买应用程序时将密钥下载到特定位置。有些开发人员需要密钥才能使用应用程序(应用程序在没有密钥的情况下无法运行),有些开发人员允许在没有密钥的情况下有限使用应用程序,而使用密钥则可以完全使用应用程序。