【发布时间】:2014-07-31 19:11:15
【问题描述】:
我有几千个包含 GPL/APL/BSD 许可证的软件包。目前,为了确定一个包是否包含 GPL 许可证,我正在遍历每个包以查找 LICENSE 文件,然后检查其内容并将其与示例 GPL 模板匹配。我遵循启发式,如果匹配率大于 90%,那么它就是 GPL 许可证。
如果匹配 > 0.9: license = True但我认为这不是正确的做法,而且速度也很慢。
所以我在想,如果我知道一个包中所有文件的 sha1sum、sha256sum 的值,这是否有助于确定包是否包含 GPL 许可证?
例如,在我的包中,许可的 sha1sum 值为:
b7077bddb5a97beca2da00c07cc56b602e2ac6cc 许可证
那么如果 LICENSE 的内容相同,那么对应的 sha1sum 值是否相同?如果那是真的,那么我可以用 sha1sum 值识别 LICENSE 文件。还有另一种方法来识别包中的 LICENSE 文件吗?
【问题讨论】:
-
如果两个文件相等,则它们的哈希值相等。
-
你能更详细地解释一下@OliCharlesworth。这与 GPL 许可证有什么关系
-
@Rahul 那是你应该能够自己回答的问题。
-
这可能是一个很好的问题,可以转移到opensource.stackexchange.com
-
附带说明,正确检测许可证并非易事。请参阅 github.com/nexB/scancode-toolkit 或 Fossology 了解可以执行此操作的工具