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