如果您的插件依赖于与您自己的服务器的交互,那么 API 密钥是防止非付费用户使用它的好方法。
但是,如果它不需要与您的服务器交互,那么任何具有一点 PHP 知识的人都可以修改您的插件以删除 API 密钥检查。
这里的一个主要问题是插件的许可。WordPress 是 GPL,而 GPL 有一个条款要求“衍生作品”也必须在 GPL 下获得许可。(这是一种轻描淡写的说法:事实上,整个 GPL 都是基于该条款,没有它就无法真正工作。)
关于插件是否可以被视为“衍生作品”存在很多争论。在我看来它不是,我认为试图强迫它被视为一个是不道德的。然而,核心 WordPress 开发者 Automattic 和自由软件基金会(编写 GPL 的组织)声称 WordPress 插件在法律上必须使用 GPL,并且不得使用其他许可证。
到目前为止,还没有法庭案件,因此也没有先例,但是围绕几个不使用 GPL 的主要 WordPress 插件存在相当大的敌意,Automattic 基本上威胁要采取法律行动,而插件开发人员表示“请告我”。不完全是一个漂亮的情况,我想说,不管情况的道德性如何,事实是负面宣传通常超过封闭源代码插件的好处。
总结一下:您的插件基本上必须是 GPL,这意味着您必须提供未加密的源代码,因此任何人都可以修改您的插件以删除您添加的任何限制。但是您应该很容易说服大多数潜在客户想要从您那里购买插件而不是使用分叉版本 - 您可以提供支持、升级等可能无法提供的好处“破解”版本。
有几家公司在 GPL 下成功销售插件并且没有保护(API 密钥等)。尽管理论上任何人都可以下载插件并将其上传到任何人都可以下载的公共站点,但实际上没有人愿意使用不一定会针对新版本的 WordPress 更新的非官方版本。因此,即使没有任何形式的保护,销售插件似乎也是一种可行的商业模式。
当然,所有这些都假设有人不只是 fork 你的插件并继续单独维护代码库。你对此无能为力——但这不太可能发生。
对于它的价值,如果您想让决定重新分发您的插件的人生活困难,您可能需要考虑以下几点:
- 即使插件本身是开源的,您仍然可以在插件名称上声明商标权,因此您可以合法地阻止他们使用您的客户知道的相同名称
- 只有插件中的 PHP 代码必须是 GPL 的 - 您可以分发任何不包含 PHP 的文件,这些文件在单独的许可下与 WordPress 交互以禁止重新分发。例如,CSS、JavaScript 和图像不必遵循 GPL。