如何区分开源许可证

区分方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
let result = undefined;

// WTFPL: DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
// CC0是来自CC的公开领域许可证
// https://creativecommons.org/publicdomain/zero/1.0/legalcode
// 发布在Public Domain 即公开领域的知名软件有SQLite;
if (我无所谓) {
result = "WTFPL or CC0 or 公开领域";
return result;
}

if (修改源码后,需要采用同样的许可证) {
if (新增代码需要采用相同或兼容的许可证) {
//DMR: Digital Rights Management 的缩写,数字版权管理
if (禁止DRM,公布相关硬件) {
result = "GPLv3许可证";
} else {
result = "GPLv2许可证";
}
} else {
if (禁止DRM,公布相关硬件) {
result = "LGPLv3许可证";
} else {
result = "LGPLv2许可证 or MPL许可证(Mozilla Public License)";
}
}
} else {
if (每一个修改过的文件,都必须包含版权说明和更改处) {
result = "Apache License 2";
} else {
if (可以采用版权拥有者的名字进行推广) {
result = "BSD(2-clause) or MIT许可证";
// BSD(2-clause) 也叫 Simplified BSD License 和 FreeBSD License
} else {
result = "BSD(3-clause) ";
}
}
}

参考资料

https://opensource.org/licenses