比如一个在 github 上的开源项目,初期开发时是 GPL 协议,但是开发到某个版本后 commit 修改成了 Apache 协议。那么,如果我想要在我的项目中引入这个项目的代码,应该准守哪个协议呢?是不是克隆修改 LICENCE 的 commit 前的 repo 需要遵守 GPL,而克隆之后的代码就要遵循 Apache 呢?
简而言之,有的开源项目 LICENCE 改来改去的,不知道是不是以最新的 LICENCE 为准?
比如一个在 github 上的开源项目,初期开发时是 GPL 协议,但是开发到某个版本后 commit 修改成了 Apache 协议。那么,如果我想要在我的项目中引入这个项目的代码,应该准守哪个协议呢?是不是克隆修改 LICENCE 的 commit 前的 repo 需要遵守 GPL,而克隆之后的代码就要遵循 Apache 呢?
简而言之,有的开源项目 LICENCE 改来改去的,不知道是不是以最新的 LICENCE 为准?
|
nuance2exJul 8, 2021
1
除非有特别声明,原则上来说,是按照不同版本当时的 LICENSE 为准。
|
|
MithrilJul 8, 2021
2
用哪个版本的时候就以那个版本的 License 为准。
一般的做法是你每次发布版本的时候,把你用的所有库对应版本代码保存下来。 |
|
jim9606Jul 8, 2021
3
以你引用的版本所带的 LICENCE 为准。例如 React.js <=15 用的是 3-clause BSD+附加专利条款,>=16 开始为 MIT
|
|
msg7086Jul 9, 2021
4
> 是不是克隆修改 LICENCE 的 commit 前的 repo 需要遵守 GPL,而克隆之后的代码就要遵循 Apache 呢?
是。LICENSE 对应 LICENSE 所在的版本和项目。你需要遵守你所使用的这个版本的许可证。 |