如何保护基于GPL的应用程序免遭未经授权的使用?

问题描述:

我正在开发基于订阅的WordPress插件,付费订阅为产品所有者提供了一个API密钥和使用该插件的权利。这个问题是关于WordPress Answers的更广泛问题的一个变种。如何保护基于GPL的应用程序免遭未经授权的使用?

看来,使用API​​密钥,作为由插件所需的Web服务认证是我最好的行动方针。 GPL规定,一个有进取心的“盗版者”可以自己托管我的网络服务代码,不需要支付我的费用,甚至不需要支付Web服务界面的代码,也不需要任何本地网络托管服务,但是这两者情况不太可能,财务风险很小。

我的问题在这里是我可以移动,哪些类型的依赖关系(对服务)到Web服务,以帮助使这个方案更成功,或者,我可以用什么样的计划呢?我有一个想法是将模板和数据传递给服务,以接收完整的HTML视图。

+0

s /我/他/他/? – 2011-12-13 19:08:44

+2

为什么这个问题标记为GPL?你的代码是GPL吗?如果是这样,为什么你要限制付费客户的访问? – 2011-12-13 19:10:16

看来你似乎正在开发什么似乎是一个基于服务器的插件根据指导方针。 (请参阅第6点:http://wordpress.org/extend/plugins/about/guidelines/)这意味着虽然插件代码本身必须位于GPL之下,但Web服务可以是完全专有的。

一个很好的先例是Salesforce插件。 (WordPress的对铅的Salesforce CRM软件:http://wordpress.org/extend/plugins/salesforce-wordpress-to-lead/)尽管这个插件连接到Salesforce的服务器和需要付费账户的功能,但这并不意味着它本身需要暴露Web服务。

总之,即使你的插件仅仅是你的Web服务的接口,它的完全可以接受有一个封闭的网络服务。指南第7点显示,您甚至可以在用户同意的情况下下拉客户端脚本和图像。 (虽然第8点显示这不包括服务器端脚本)希望这有助于!

目前尚不清楚“成功”在这方面的含义。你的意思是如何让你的GPL代码不能与其他类似的服务一起工作?你不能铐你的用户...

所有你能做的就是出插件的移动尽可能多的功能添加到您的Web服务。

但是,这不会阻止任何人从头开始实现几乎完全相同的东西。

看看Github上,例如,他们正在做的正好相反,你想要什么,但他们是非常成功的。你可以得到的唯一真正的保护就是真棒,所以没有人会想要竞争。

GPL的重点在于保护用户免受版权所有者的伤害,它应该永远是一种善意的行为。担心这一点或称任何人为“海盗”是愚蠢的;规则是清楚的,只是决定这是否是你的比赛。