捕捉蝴蝶:探析 SPDX 许可证的条款与冲突
软件工程
2024-01-22 v1
摘要
软件开发中第三方库(TPLs)的广泛采用加速了现代软件的创建。然而,这种便利性也伴随着潜在的法律风险。开发者可能会无意中违反 TPLs 的许可证,从而导致法律问题。虽然现有研究已经探讨了软件许可证及其潜在的不兼容性,但这些研究通常只关注有限的许可证集合,或依赖于质量较差的许可证数据,这可能会影响其结论。为了填补这一空白,需要一个涵盖广泛主流许可证的高质量许可证数据集,以帮助开发者应对复杂的软件许可证环境,避免潜在的法律陷阱,并为软件开发中管理许可证合规性和兼容性的解决方案提供指导。为此,我们首次基于条款粒度对主流软件许可证进行了研究,并获得了包含 453 个 SPDX 许可证的高质量数据集,其中带有标注良好的条款和冲突。具体而言,我们首先对主流平台进行了差异性分析,以了解各许可证的条款和态度。接下来,我们提出了一套标准化的许可证条款集,以高质量地捕获和标记现有的主流许可证。此外,我们将 copyleft 冲突纳入其中,并总结了 453 个 SPDX 许可证之间的三大类主要许可证冲突。基于此,我们开展了两项实证研究,从许可人和被许可人的角度揭示了其担忧和威胁。一项研究深入分析了 SPDX 许可证之间的相似性、差异和冲突,重新审视了 NPM 生态系统中许可证的使用和冲突,并得出了与以往工作不同的结论。我们的研究揭示了一些深刻的发现,并公开了相关的分析数据,为进一步的研究奠定了基础。
引用
@article{arxiv.2401.10636,
title = {Catch the Butterfly: Peeking into the Terms and Conflicts among SPDX Licenses},
author = {Tao Liu and Chengwei Liu and Tianwei Liu and He Wang and Gaofei Wu and Yang Liu and Yuqing Zhang},
journal= {arXiv preprint arXiv:2401.10636},
year = {2024}
}
备注
10 pages, 6 figures, accepted by SANER2024