将许可证代码加倍是什么意思?我不能只将两个许可证都放在源文件中。这意味着我要求用户遵守他们两个的规则,但许可证可能会相互矛盾(否则没有理由加倍许可证)。
我猜这类似于加密链接,cipher = crypt_2(crypt_1(clear))
(通常)意味着,cipher
既不是crypt_2
上clear
的输出,也不是crypt_1
的输出在clear
上{1}}。这是作品的输出。
同样,在双重许可中,实际上我的代码有一个许可证,只是这个新许可证说请遵循所有许可证规则1或所有规则许可证2,特此授予您根据此“双重”许可证,许可证1或许可证2或任何许可证1或许可证2允许您重新分发此软件的许可证重新分发此应用程序的权利,在这种情况下,您应替换相关的许可证信息。此应用程序与新许可证。
(这是否意味着在有人可以根据license1使用该应用程序之前,他必须执行重新分发给自己的操作?他将如何记录他执行该操作的事实?)
我是对的。如果我想要将许可证加倍,例如Apachev2和GPLv3,那么LICENSE文件以及要放在源文件中的文本是什么?
答案 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)