如何分叉,做出重大改变,并给予适当的信用?

时间:2015-02-27 16:42:14

标签: licensing elisp fork

github上有一个我已经分叉的elisp项目。一些我不想改变的源文件和函数,有些我想彻底改变,有些只是稍微改变。每个源文件顶部的原始版权都提到了它来自的项目。

1)我应该重命名所有功能还是仅重命名代码(无论多么小)?

2)如果我修改文件中的某些功能但不是全部/大多数我应该重命名该文件并更改顶部的版权以反映我的项目而不是原始项目?

3)如果重命名了很多/所有文件,我应该如何归功于原作者(除了他们在git log中出现的提交)?

备注

我因为想要将代码与原来的目的截然不同而分叉,我的分叉不会被原作者拉进来。

原始项目和我的前叉都使用GPLv3

按照惯例,Elisp代码使用项目名称作为函数/变量的名称的前缀,以避免命名空间冲突。

** 修改 **

发布后发现了一些其他信息...

How to rebrand/copyright a forked project (GNU/GPL)?

  

1)当然。事实上,不改变它至少会意味着它是原始项目,这是一个坏主意。

     

2)您无法删除版权声明。添加你的。

     

3)为什么要删除对旧项目的引用?这是一个建议,但删除它将是不礼貌的,可能会产生误导。开源/自由软件社区重视正确的归属。

Need advice on attribution/copyright of heavily modified OSS code (BSD, Apache, etc) in source headers

  

如果您从文件中复制一个函数,除非您可以说服法院认为该函数对于版权的申请过于琐碎,那么源文件的许可证将保留在该函数中

在Stefan的回答和这些stackoverflow帖子之间,我决定:

1)重命名所有文件和功能,即使没有更改也可以使用我的项目名称。

2)保留所有现有文件中的原始版权(以及将旧代码移动到更逻辑的细分中所产生的一些新文件)

3)将我的版权添加到所有新旧文件中。

4)在旧版权之上做一个注释,在某个提交ID之前检查git历史记录以查看fork时的原始项目以及对原始项目的url的引用以查看最多日期版本。

我认为这些更改应该明确指出这是一个单独的项目,同时保留原始信用,避免任何命名空间冲突或侵犯版权。

1 个答案:

答案 0 :(得分:4)

版权是累积(即只要您继续使用新代码中的某些原始代码,原作者仍然适用于该部分代码)。所以不要替换他的版权,而只是将你的版权添加到他的旁边。