GitHub项目中Stack Overflow代码片段的使用与归属
软件工程
2018-09-24 v4
摘要
Stack Overflow(SO)是软件开发人员中最流行的问答网站,提供了大量可复制的代码片段。使用这些片段会引发维护和法律问题。SO的许可证(CC BY-SA 3.0)要求归属,即引用原始问题或答案,并要求衍生作品采用兼容许可证。尽管关于SO代码片段许可证模型及所需归属存在激烈争论,但对于片段在多大程度上被未经适当归属而从SO复制知之甚少。我们展示了一项大规模实证研究的结果,分析了公共GitHub(GH)项目中对SO答案中非平凡Java代码片段的使用与归属。我们遵循三种不同方法以三角估算未归属使用的比例,并开展了两项针对软件开发人员的在线调查以补充我们的结果。对于我们分析的不同项目集,包含引用SO文件的项目比例在3.3%至11.9%之间变化。我们发现,所有分析过的包含SO代码的仓库中,至多1.8%以符合CC BY-SA 3.0的方式使用代码。此外,我们估计至多四分之一从SO复制的代码片段按要求进行了归属。在接受调查的开发人员中,近一半承认未经归属从SO复制代码,约三分之二不了解SO代码片段的许可证及其影响。
引用
@article{arxiv.1802.02938,
title = {Usage and Attribution of Stack Overflow Code Snippets in GitHub Projects},
author = {Sebastian Baltes and Stephan Diehl},
journal= {arXiv preprint arXiv:1802.02938},
year = {2018}
}
备注
44 pages, 8 figures, Empirical Software Engineering (Springer)