Open source 对于可收费的专利作品,PHP库可以选择哪个许可证?

Open source 对于可收费的专利作品,PHP库可以选择哪个许可证?,open-source,licensing,Open Source,Licensing,我开发了一个PHP库,它是API的包装器 专利:通过API提供的服务包含在专利范围内,任何使用该库的人都可能因使用量超过某些限制而被收取费用。许可证不得授予任何使用图书馆的人任何专利许可证 免费程度如何?虽然该库是免费的,但可以在不修改的情况下以相同的名称复制和分发,但使用费将根据限制收取。如果不付款,图书馆提供的服务将中断 修改和重新分发:尽管任何人都可以自由查看、调试和修改库,但对库的修改不应以相同的名称发布,也不应试图代表我们发布的原始库和预期库 包含的库:我们提供的库使用肯尼·米林顿的P

我开发了一个PHP库,它是API的包装器

专利:通过API提供的服务包含在专利范围内,任何使用该库的人都可能因使用量超过某些限制而被收取费用。许可证不得授予任何使用图书馆的人任何专利许可证

免费程度如何?虽然该库是免费的,但可以在不修改的情况下以相同的名称复制和分发,但使用费将根据限制收取。如果不付款,图书馆提供的服务将中断

修改和重新分发:尽管任何人都可以自由查看、调试和修改库,但对库的修改不应以相同的名称发布,也不应试图代表我们发布的原始库和预期库

包含的库:我们提供的库使用肯尼·米林顿的PHPSecLib&SSS(沙米尔秘密共享)库。PHPSecLib是根据MIT许可证发布的,SSS是根据GPLv3或更高版本发布的


鉴于所有这些,我应该选择哪个许可证?

专利:

有多免费?

很多API库都是这样的。库是免费的,但API使用的服务不是。例如,请参见。它是Apache授权的,反过来,它也是

修改和重新分发:

这是个问题。具有类似的限制,因此它与GPL不兼容。当然,如果你不关心GPL兼容性

包含的库:


麻省理工学院的许可证是相当自由的,让你做几乎任何事情。然而,GPLv3并非如此。如果您使用GPLv3代码,那么您的许可证将需要与GPL兼容,并且与您想要施加的限制相兼容,这听起来好像是行不通的。我的建议:也许重写SSS?与phpseclib相比,它看起来像一个非常小的代码库。

专利:

有多免费?

很多API库都是这样的。库是免费的,但API使用的服务不是。例如,请参见。它是Apache授权的,反过来,它也是

修改和重新分发:

这是个问题。具有类似的限制,因此它与GPL不兼容。当然,如果你不关心GPL兼容性

包含的库:


麻省理工学院的许可证是相当自由的,让你做几乎任何事情。然而,GPLv3并非如此。如果您使用GPLv3代码,那么您的许可证将需要与GPL兼容,并且与您想要施加的限制相兼容,这听起来好像是行不通的。我的建议:也许重写SSS?与phpseclib相比,它看起来像一个非常小的代码库。

这很有帮助。我确实将Apachev2许可证作为使用许可证,但担心SSS中的“GPLv3或更高版本”条款。无论如何,我将编写一个我们自己的实现,但是测试套件可能只会延迟一些事情,所以我想知道是否还有其他可能。谢谢。关于修改,我们这样做是为了尽可能防止由于错误地表示我们的服务而造成的损害。我对许可证迁移有一个问题。我是否可能在GPLv3下发布第一个测试版,然后在Apache2.0下发布更高的稳定版本?是的。Apache2.0不具有追溯力,因此在保留GPLv3的同时仍可以修改GPLv3代码。基本上,作为版权所有者,您可以将许可证更改为您认为合适的任何内容(除非您在代码中使用其他GPL代码)。除了您之外,没有人可以更改代码的许可证,但您也不能进行追溯性更改。这很有帮助。我确实将Apachev2许可证作为使用许可证,但担心SSS中的“GPLv3或更高版本”条款。无论如何,我将编写一个我们自己的实现,但是测试套件可能只会延迟一些事情,所以我想知道是否还有其他可能。谢谢。关于修改,我们这样做是为了尽可能防止由于错误地表示我们的服务而造成的损害。我对许可证迁移有一个问题。我是否可能在GPLv3下发布第一个测试版,然后在Apache2.0下发布更高的稳定版本?是的。Apache2.0不具有追溯力,因此在保留GPLv3的同时仍可以修改GPLv3代码。基本上,作为版权所有者,您可以将许可证更改为您认为合适的任何内容(除非您在代码中使用其他GPL代码)。除了您之外,没有人可以更改代码的许可证,但即使您也不能进行追溯性更改。