双重许可是什么意思?

时间:2009-07-08 14:55:49

标签: licensing

将许可证代码加倍是什么意思?我不能只将两个许可证都放在源文件中。这意味着我要求用户遵守他们两个的规则,但许可证可能会相互矛盾(否则没有理由加倍许可证)。

我猜这类似于加密链接,cipher = crypt_2(crypt_1(clear))(通常)意味着,cipher既不是crypt_2clear的输出,也不是crypt_1的输出在clear上{1}}。这是作品的输出。

同样,在双重许可中,实际上我的代码有一个许可证,只是这个新许可证说请遵循所有许可证规则1或所有规则许可证2,特此授予您根据此“双重”许可证,许可证1或许可证2或任何许可证1或许可证2允许您重新分发此软件的许可证重新分发此应用程序的权利,在这种情况下,您应替换相关的许可证信息。此应用程序与新许可证

(这是否意味着在有人可以根据license1使用该应用程序之前,他必须执行重新分发给自己的操作?他将如何记录他执行该操作的事实?)

我是对的。如果我想要将许可证加倍,例如Apachev2和GPLv3,那么LICENSE文件以及要放在源文件中的文本是什么?

4 个答案:

答案 0 :(得分:5)

双重许可证允许用户选择使用哪种许可证。

比如说,如果您使用GPL和BSD许可证发布软件,我可以选择在任何许可证下使用和扩展您的软件。

您还可以选择三倍或多倍许可您的项目,然后您的用户可以选择任何许可。

答案 1 :(得分:3)

您对双重许可的假设是正确的。如果您包含两个许可证,那么人们只需遵循最适合其需求的许可证。

  

示例,许可证1:
  你不可以   重新分配,
  您可以用于个人或公司   使用

     

许可证2:
  你可以重新分配,
  您   可能无法修改代码。

我现在可以选择两者中的任何一个,但不能混合两者中的东西。

这也提出了一个问题,你真的需要加倍许可吗?为什么不使用两者合并的最合适的规则来伪造自己的许可证。

分发两个许可证也可以在代码中创建分支,因为用户只能遵循一个许可协议,他们可能无法再根据您指定的协议进行分发。例如,如果两个开发团队各自使用不同的许可证,则他们可能无法合并他们的代码,因为这样做会违反一个或两个规则。

答案 2 :(得分:1)

好的,我想我明白了。

我认为是这样的:

通过用LICENSE文件分发他的程序的源代码,开发人员有效地承诺他将授予任何感兴趣的一方许可他的程序。

因此,当有人开始下载源代码时,可以理解,在那一刻,开发人员授予他程序许可。

开发商可能“以双重许可证发布软件”,这实际上意味着他的承诺是向相关方授予其选择的许可证。

这种解释消除了我执行

时遇到的人为问题
license['my-program-v1.0'] := GPLv3
license['my-program-v1.0'] := SomeOtherLicense

同时并行并保持分配给license['my-program-v1.0']的两个值完好无损。

答案 3 :(得分:-2)