用另一种语言重写GNU GPL v2代码:我可以更改许可证吗?


11

我用C#重写了Mercurial的某些部分(已获得GNU GPL v2的许可)。自然,我对原始Python代码进行了很多研究,其中一些部分是从Python到C#的直接翻译。

有可能以不同的条款获得“我的代码”的许可,甚至可能成为闭源商业应用程序的一部分吗?如果没有,我可以在LGPL下重新许可“我的代码”,将其开源,然后在我的开源商业应用程序中使用此开源C#库吗?


3
如果您使用原始代码(而不是根据协议和文档重新实现)工作,则它可能会属于“衍生产品”领域,在这种情况下,它仍可能属于原始许可。与律师交谈。

@MichaelT也不会使用文档和逆向工程协议吗?
Anton Gogolev 2012年

3
不必要。派生作品采用原始作品并将其转换为另一种形式。在更多的传统媒体上,绘画是受版权保护的,绘画的照片是衍生作品。如果正确完成,无尘室反向工程可以避免这种情况。另请参阅移植代码的版权和许可问题?来自SO。

INAL,但AFAIK仅自动代码翻译受版权保护。
vartec

1
@vartec有什么证明吗?
安东·戈戈列夫

Answers:


17

许可证的文本专门涵盖了翻译,因此不,您将无法重新许可它。

下文中的“程序”是指任何此类程序或作品,“基于程序的作品”是指该程序或根据版权法的任何衍生作品:也就是说,包含该程序或其中一部分的作品逐字或经过修改 和/或翻译成另一种语言。


1
IANAL,但我想在这种情况下,“翻译成另一种语言”不是指另一种编程语言。版权法仅保护一个思想的确切表达,而不是思想本身。
Onorio Catenacci 2012年

2
@Onorio:GPL不是版权,而是许可。
梅森惠勒

5
@OnorioCatenacci,这是“语言”变得有些粘滞的情况之一。关键词是“派生工作”,这是OP最肯定地创造出来的。GPL明确允许创建派生作品(又名“免费...”),但是原始许可限制仍然适用于派生作品。GPL允许一些重新许可(无耻的插件,请参见我的回答)。这更多是关于许可而非版权的问题。

@MasonWheeler“是指该程序或根据版权法的任何衍生作品” –再次不是律师,但这似乎表明版权将以某种方式涉及。
Onorio Catenacci 2012年

1
@MasonWheeler“ GPL不是版权,而是许可证。” 您愿意解释一下吗?许可证可以做的就是授予您某些受版权保护的作品的权利。如果原始作品的版权所有者无法主张新作品的版权,那么许可就不适用。
Jaydee 2012年

3

基于:http :
//www.gnu.org/licenses/gpl-faq.html#AllCompatibility

您应该描述的第二种情况是可以的。

复制的部分保留在GPLv2下,但是您的整个库可以作为LGPL v2.1或更高版本发布。然后,您可以根据LGPL的条款将封闭的源代码链接到该库。

与往常一样,进行一些挖掘,并确保您了解限制是什么。


4
当然不。想想看:如果GPL那样的话,GPL将毫无意义。您可以选择任何GPL v2代码,然后将其切换到LGPL。这将使GPL变得多余。请看一下细则:“ LGPLv2.1授予您自GPLv2以来在任何版本的GPL(不是LGPL)下重新许可代码的权限。如果在这种情况下可以将LGPLed代码切换为使用适当版本的GPL,则可以(如表中所示),您可以进行这种组合。” 那仅意味着将LGPL库切换为GPL是合法的,反之亦然。这又有意义。
2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.