Open source software (OSS) licenses regulate the conditions under which users can reuse, modify, and distribute the software legally. However, there exist various OSS licenses in the community, written in a formal language, which are typically long and complicated to understand. In this paper, we conducted a 661-participants online survey to investigate the perspectives and practices of developers towards OSS licenses. The user study revealed an indeed need for an automated tool to facilitate license understanding. Motivated by the user study and the fast growth of licenses in the community, we propose the first study towards automated license summarization. Specifically, we released the first high quality text summarization dataset and designed two tasks, i.e., license text summarization (LTS), aiming at generating a relatively short summary for an arbitrary license, and license term classification (LTC), focusing on the attitude inference towards a predefined set of key license terms (e.g., Distribute). Aiming at the two tasks, we present LiSum, a multi-task learning method to help developers overcome the obstacles of understanding OSS licenses. Comprehensive experiments demonstrated that the proposed jointly training objective boosted the performance on both tasks, surpassing state-of-the-art baselines with gains of at least 5 points w.r.t. F1 scores of four summarization metrics and achieving 95.13% micro average F1 score for classification simultaneously. We released all the datasets, the replication package, and the questionnaires for the community.
翻译:摘要:开源软件(OSS)许可证规定了用户合法复用、修改和分发软件所需遵循的条件。然而,社区中存在多种以正式语言编写的OSS许可证,通常冗长且难以理解。本文通过一项包含661名参与者的在线调查,探究了开发者对OSS许可证的观点与实践。用户研究表明,确实需要一种自动化工具来促进许可证理解。基于这一用户调研以及社区中许可证数量的快速增长,我们提出了首个面向自动化许可证摘要生成的研究。具体而言,我们发布了首个高质量文本摘要数据集,并设计了两个任务:许可证文本摘要(LTS)——旨在为任意许可证生成相对简短的摘要,以及许可证条款分类(LTC)——聚焦于对预定义关键许可证条款(如“分发”)的态度推断。针对这两个任务,我们提出了LiSum,一种多任务学习方法,旨在帮助开发者克服理解OSS许可证的障碍。综合实验表明,所提出的联合训练目标提升了两个任务的性能,在四项摘要指标上均以至少5个F1值的优势超越了现有最优基线模型,同时实现了95.13%的微平均F1分类准确率。我们已向社区公开了全部数据集、复现包及问卷。