热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

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

如何解决《如何分叉,做出重大改变,并给予适当的信用?》经验,为你挑选了1个好方法。

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

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

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

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

笔记

我正在分叉,因为我希望将代码从与原始声明目的完全不同的方向运用,并且我的分叉不会被原作者拉进去.

原始项目和我的fork都使用GPLv3

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

**编辑**

发布后发现了一些额外的信息......

如何重新分配/版权分叉项目(GNU/GPL)?

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

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

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

需要有关源头中经过大量修改的OSS代码(BSD,Apache等)的归属/版权的建议

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

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

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

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

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

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

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



1> Stefan..:

版权是累积性的(即,只要您在新代码中继续使用某些原始代码,原始作者仍适用于该部分代码)。因此,请勿将您的版权替换为您的版权,而应在您的版权旁边添加您的版权。


推荐阅读
  • Java如何导入和导出Excel文件的方法和步骤详解
    本文详细介绍了在SpringBoot中使用Java导入和导出Excel文件的方法和步骤,包括添加操作Excel的依赖、自定义注解等。文章还提供了示例代码,并将代码上传至GitHub供访问。 ... [详细]
  • 标题: ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • 本文整理了Java中org.apache.solr.common.SolrDocument.setField()方法的一些代码示例,展示了SolrDocum ... [详细]
  • 打开文件管理器_【教程】模组管理器3.1食用指南
    文编:byakko最近有部分小伙伴反应还不会使用unity模组管理器,现在我就给大家讲一下unity模组管理器——从下载到使用。完整视频版以下是无WiF ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • Struts2+Sring+Hibernate简单配置
    2019独角兽企业重金招聘Python工程师标准Struts2SpringHibernate搭建全解!Struts2SpringHibernate是J2EE的最 ... [详细]
author-avatar
mobiledu2502914875
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有