中文

LiResolver:开源软件的许可证不兼容消解工具

软件工程 2023-06-27 v1

摘要

开源软件(OSS)许可证规定了合法复用、分发和修改OSS的条件。然而,在引入附带许可证的第三方OSS时会出现一个常见问题,即许可证不兼容——当一项目中存在多个许可证且彼此冲突时发生。尽管存在隐患,由于缺乏许可证理解及复杂的包依赖,修复许可证不兼容问题需耗费大量精力。本文提出LiResolver,一种细粒度、可扩展且灵活的用于解决开源软件许可证不兼容问题的工具。具体而言,它首先通过细粒度实体抽取与关系抽取理解许可证语义。随后,它通过优先推荐官方许可证来检测并解决许可证不兼容问题。当无官方许可证能满足约束时,它生成自定义许可证作为替代方案。综合实验证明了LiResolver的有效性:不兼容问题定位假阳性(FP)率4.09%、假阴性(FN)率0.02%,且230个真实世界不兼容项目中的62.61%被LiResolver解决。我们讨论了来自OSS开发者的反馈及本工作的经验教训。所有数据集与LiResolver复现包均已公开以促进后续研究。

关键词

引用

@article{arxiv.2306.14675,
  title  = {LiResolver: License Incompatibility Resolution for Open Source Software},
  author = {Sihan Xu and Ya Gao and Lingling Fan and Linyu Li and Xiangrui Cai and Zheli Liu},
  journal= {arXiv preprint arXiv:2306.14675},
  year   = {2023}
}