5

如果我想出售一个框架库,那么我怎样才能给它授权,这样它就不能转移到 iOS/iPhone 上。

我有几个想法:

  1. 我可以实现一个网络服务,然后我认为可以离线访问。
  2. 它可以提供给有限的人,但如果应用程序上线了,我们该如何处理。

任何信息都会有所帮助。问候。

4

1 回答 1

7

出于此答案的目的,我将跳过有关如何制作框架的部分。有很多帖子可以解释这部分。

许可框架的业务逻辑比实际实现要困难得多。您应该首先为自己回答几个问题:

  1. 什么是许可模式?每个用户?每个应用程序?每个开发人员?
  2. 这个框架的目标是谁?
  3. 我的许可证限制是硬限制(如果超过,应用程序停止工作)还是软限制(应用程序继续工作,但我发现这样我可以收取更多费用)?
  4. 我愿意花多少钱来强制诚实?我需要额外赚多少钱来证明我的费用是合理的?

如果您可以为每个应用程序构建您的许可模型,那么您将有最轻松的时间来执行您的许可。每个应用程序都可能需要一个解锁代码,该代码特定于应用程序包名称。如果捆绑包名称不匹配,则密钥不起作用,并且您的许可证将被强制执行。

每个开发人员的许可有点棘手。通常,您必须依赖购买您的应用程序的人的诚实度。我不知道执行每个开发人员许可证的任何良好机制。

正如您的问题似乎是针对每个用户的许可,您可以使用更广泛的机制。最基本的是在你的合约中强制执行参数。大多数合同都有月度或季度报告标准。这会给您的客户带来负担,让您在添加新客户时及时了解最新情况。如果您的框架面向专业开发人员,这可能是一个足够准确的机制。

如果您的目标是入门级开发人员,这很可能会从地图上消失,如果您想强制执行您的许可证,则必须使用更严格的机制。它们都需要网络服务来管理您的许可证。

您的代码将需要返回到 Web 服务并提供安装标识符,例如[UIDevice -identifierForVendor]以及 Bundle Identifier。这将使您准确计算您的图书馆安装了多少以及谁在使用。

此时,您已经决定如何执行您的许可证。如果您对用户有硬性限制(我建议这样做),如果已超过应用程序包的许可用户数,您可以拒绝解锁您的库。如果您有软限制(我也不建议这样做),您允许每个人始终解锁,然后追查应用程序供应商以超出其许可用户数量,或者可能根本没有许可

通常合适的方法是使用硬限制和软限制的组合。该应用程序必须至少每 14 天向 Web 服务报告一次,以便离线使用。如果库未在该窗口中报告,它将停止工作。Web 服务仅根据应用程序包标识符来决定是否解锁库。如果特定捆绑包的许可证超过席位数量,您会通知他们并给他们一个窗口(可能是 90 天)以购买更多许可证。如果他们拒绝,您将阻止该捆绑标识符。然后您的客户可以从他们的捆绑包中删除您的框架或协商新的许可证。

所有这一切的不利方面都需要金钱和开发时间。在大多数情况下,通过许可代码获得的收入超过了构建和维护这样一个系统所需的工作量。如果您有 1 个用户或 1,000,000 个用户,后端的维护和维护成本几乎相同。在走这条路之前,请确保您有足够的用户来证明付出的努力和费用是合理的。

于 2013-10-29T13:28:04.183 回答