如何正确分叉开源库?

时间:2012-03-27 10:37:08

标签: php licensing fork

我想分叉一个开源的php库。

它有自己的许可证,其中写有:

  

只要满足以下条件,您就可以出于任何目的使用,复制,修改和分发本软件及其文档,无论是否经过修改:

在提供原始许可协议副本,在每个源文件中添加版权等方面存在一些条件。

我想在此库中添加新功能,这些功能是在GPL下编写的。那么整个新产品应该是GPL吗?所以我应该添加GPL和'旧'许可协议?在每个源文件中,我都应该保留两个许可版权?

2 个答案:

答案 0 :(得分:3)

原始许可协议是什么?您的判决会使原始部分是GPL还是您想要添加GPL令人困惑。

如果原始许可证是GPL,那么您的新软件也必须是GPL。除非得到作者或所有作者的许可,否则无法绕过它 - 如果有多个作者。如果您的产品属于GPL,您仍然可以销售该产品,但请注意,只要符合许可条件,买方可以用他们认为合适的任何价格(包括免费)“转售”它。在构建特定于客户的网站或软件时,GPL不是问题,只要您能够授予客户修改和重新发布软件的权利。

但是如果你想将GPL内容添加到非GPL项目中,那么请考虑使用LGPL许可证。 LGPL允许在类似GPL的许可下发布组件本身,而不要求其他软件作为GPL或LGPL。

答案 1 :(得分:1)

听起来这两个项目是不兼容的。 GPL是病毒式的,添加GPL部件需要库以GPL许可,这可能与原始许可不兼容。原始许可证听起来要求新的(GPL)部件也要在原始许可证下获得许可,而您无权这样做。

如果你做了你想做的事情,听起来你会违反一个或两个许可证。