我正在考虑创建一个由GPLv2许可的小型项目的分支,并且我在一些有关各种站点和论坛的研究中未能解决的一些非常具体的问题。
当我分叉代码时,我被迫按照与我相同的许可证(GPL)来发布新项目,但是我是否也可以决定以双重许可(其中之一是商业许可)发布该新项目?
分叉项目时,我是否自动拥有整个作品的版权?这是有关时,例如,在决定许可未来的变化,或者能够执行GPL许可证3 次聚会
我正在考虑创建一个由GPLv2许可的小型项目的分支,并且我在一些有关各种站点和论坛的研究中未能解决的一些非常具体的问题。
当我分叉代码时,我被迫按照与我相同的许可证(GPL)来发布新项目,但是我是否也可以决定以双重许可(其中之一是商业许可)发布该新项目?
分叉项目时,我是否自动拥有整个作品的版权?这是有关时,例如,在决定许可未来的变化,或者能够执行GPL许可证3 次聚会
Answers:
简短的答案:当您分叉现有项目时,通常您无权更改许可证,也没有复制代码的版权。
您确实拥有对您进行的任何(非重要的)修改或添加的版权。
长答案:
获得一段代码的版权的唯一方法是自己编写代码或通过合同获取分配给您的版权。这意味着分叉现有项目不会更改原始项目或fork的代码的版权。
唯一可以更改版权许可的人是该版权的所有者。如果一个项目的代码有多个版权所有者,那么所有版权所有者必须同意更改版权许可。这意味着您无权更改您的fork许可证(甚至没有对其进行双重许可),除非现有的版权许可明确授予您对代码进行再许可的权利。
您的分叉项目是原始项目代码的派生。换句话说,您的项目正在使用原始项目,因此您受其许可证的约束。如果事实并非如此,那么许可证将毫无意义。
因此,不,如果专有代码是从不允许的代码中派生的,则您不能根据专有许可发布代码。
暂时忘掉GPL,然后看看版权。当您分叉项目时,原始项目中存在的所有代码均为在原始项目中编写该代码的人的版权。您之后编写的所有代码均为您的版权。因此,除非您重写原始项目中的所有代码,否则该代码不是您的,并且您没有合法权利。
接下来,您将查看GPL许可,并检查它授予您的版权以外的其他权利。它允许您创建派生作品,这首先使整个分叉业务合法-凭借简单的版权法,将不允许您创建派生作品。接下来,只要您不分发代码,就可以使用它。因此,只要没有其他人可以使用派生的代码,GPL允许您使用它来做自己想做的事情。
但是,如果您分发分叉的代码(包括其他人的受版权保护的代码),则只有遵循版权所有者的规则,您才能获得版权所有者的许可。一个规则是,您必须根据GPL许可整个代码(包括您自己的代码)。另一个规则是您必须将源代码提供给其他人。有关详细信息,请查看GPL。
只要仍然有原始代码,更改许可证就很困难。您不能以阻止下一个人以GPL允许的方式使用代码的方式来许可您的代码,也不能允许他们使用GPL不允许的代码来做事。