原样复制 GPL 协议开源项目部分文件时文件开头的版权信息可以拿掉/换成自己的,然后在 项目 Third Party Notice 中说明使用了这个项目的代码吗?

2022-03-19 11:50:43 +08:00
 rv54ntjwfm3ug8
如果可以,需要标明是哪些文件吗?
如果复制后有修改呢?
2453 次点击
所在节点    程序员
25 条回复
harde
2022-03-19 12:28:58 +08:00
GPLv3 么? GPLv3 无法被清除。
12101111
2022-03-19 12:35:48 +08:00
使用 Git 管理的开源软件可以在 commit message 里加上 Signed-off-by 表明版权归属, 这一行 git commit -s 可以自动加上。
文件开头可以只标 SPDX-License-Identifier. 因为 git 的 commit 历史可以正确的表示每一行修改的作者.

如果是仅以压缩包的形式发布,这么做恐怕不太行
ulosggs
2022-03-19 12:43:01 +08:00
GPL 协议的要求是你用了他的代码再发布时整个项目也必须是 GPL 协议,文件怎么改随意,也不用加任何 notice 。
Suzutan
2022-03-19 12:43:51 +08:00
如果是 GPLv3 不仅仅需要保留原始信息,做出了修改还需要标注

……
  你可以以源码形式转发基于本程序的作品或修改的内容,除满足第四条外还需要满足以下几点要求:
   a)该作品必须带有醒目的修改声明及相应的日期。
……
Suzutan
2022-03-19 12:45:54 +08:00
修正一下,没有说必须保留什么,但是要有修改声明和相应的日期
个人理解
jones2000
2022-03-19 13:12:42 +08:00
换一个语言,移植就可以。比如开源工程是 c++ 写的, 你直接把他移植成 py , 或 js 不就可以了。
BrettD
2022-03-19 15:16:54 +08:00
移植到另一个语言也算是衍生作品,也需要遵循 GPL
rv54ntjwfm3ug8
2022-03-19 15:18:55 +08:00
原项目有几十个功能,我的项目只用到一个,其它永远用不到,想把它独立出来。

@harde
@12101111
@ulosggs
@Suzutan
@jones2000
@BrettD
BrettD
2022-03-19 15:20:56 +08:00
你的项目如果要分发的话也需要遵循 GPL ,除非你的项目不会向外公开分发,或者用跨进程的方式调用 GPL 部分代码
baobao1270
2022-03-19 15:24:26 +08:00
我的经验是,原来的文件头不动,如果你修改了那个文件,那就在该文件头的前面加上你自己的声明
cybird
2022-03-19 15:29:40 +08:00
GPLv3 只要求你修改代码后,项目同样要求使用 GPL 分发。以及如果你进行了修改,则应提供修改声明、修改日期和修改人身份信息,这是为了保护你的专利。
GPL 始终遵循以下原则
软件不应限制其用户。每个用户都应该有四项基本自由:
有自由按自己的意愿使用软件,
有自由按自己的需要修改软件,
有自由把软件分享给友邻,以及有自由分享自己对软件的修改。
jones2000
2022-03-19 15:31:46 +08:00
@BrettD 只是思路和设计是一样的, 代码实现都是不一样的, 也需要遵循?
BrettD
2022-03-19 15:40:43 +08:00
@jones2000 是,除非你的移植版本是净室实现
ulosggs
2022-03-19 15:44:45 +08:00
@theklf4 你不想开源其他部分的话,那么这个功能必须和其他部分独立发布,一般会以插件的形式让用户自行下载
jones2000
2022-03-19 15:48:03 +08:00
@BrettD 不同语言,实现肯定是不一样的, 就比如绘图, 你把 echarts 用,c++实现一遍,代码百分百不一样。
BrettD
2022-03-19 15:50:52 +08:00
@jones2000 GPLv2 条款:

This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
BrettD
2022-03-19 15:53:15 +08:00
@jones2000 把 GPL 软件用别的语言“洗稿”也算是衍生作品,除非是净室实现
rv54ntjwfm3ug8
2022-03-19 15:54:31 +08:00
问题是如果我完整开源了整个项目,我可以把原作者在文件头部留下的版权声明换成自己的,然后在项目 Third Party Notice 留下原作者版权声明吗?如果可以,我需要标注我对哪个文件做了什么修改吗?
rv54ntjwfm3ug8
2022-03-19 15:55:27 +08:00
问题是如果我完整开源了整个项目,我可以把原作者在文件头部留下的版权声明换成自己的,然后在项目 Third Party Notice 留下原作者版权声明吗?如果可以,我需要标注我对哪个文件做了什么修改吗?
@cybird
@BrettD
@ulosggs
@12101111
@harde
BrettD
2022-03-19 15:58:38 +08:00
(1) 你的整个项目需要是 GPL 协议
(2) 不建议把原文件头删掉,惯例做法是在源文件头里面补充加上 (C) 2022 你的名字

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/841433

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX