Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Large Scale Study of License Usage on GitHub

Similar presentations


Presentation on theme: "A Large Scale Study of License Usage on GitHub"— Presentation transcript:

1 A Large Scale Study of License Usage on GitHub

2 简介 开源社区依赖许可证来管理现有代码的分发,修改和重用。 这些许可证发展以更好地适应开发社区的要求,并处理未解决的或新的法律问题。
本文报告了对从Github挖掘的16,221个开源Java项目的变化历史进行的大型实证研究的结果。 研究调查了许可证使用和采用在十年内如何变化。 在快速增长的项目中的许可证使用分布以及在这些项目中引入新版本的许可证的程度。

3 Ⅰ动机和问题 这些许可声明作为注释附加到文件的开头,或者它们在单独的文件中,例如“COPYING”或“LICENSE”。
当开发人员使用两个不兼容的许可证时,会出现问题。并且这些许可证的新版本可以被释放和破坏兼容性。 目标是观察许可证使用(采用和生存)的潜在趋势。

4 Ⅱ相关工作 方法有三个主要步骤:1)项目克隆,2)许可证提取,以及3)许可证分析 克隆了16,221个唯一的Git存储库
利用代码分析器以提交级粒度提取每个文件的许可证 考虑第一次出现,而不是具有许可证的文件数量 每个许可证版本区分为不同的许可证 方法考虑文件级分析,因为关于GitHub的以前的研究表明只有14.9%的项目有一个许可证文件。因此,仅仅调查License.txt之类的文件是不可靠的。

5 描述了2002年至2012年间按项目级粒度(即每个项目最多只能计算一个许可证一次)的每年许可证的相对使用情况。

6 Ⅲ结果 在2002年,LGPLv2.1和LGPLv2.1 +许可证是最广泛采用的许可证。它们后面是MIT / X11,GPLv2 +,CPLv1和Apachev1.1。此时,与更严格的许可证(例如:GPL)采用相比,更宽松的许可证(例如:MIT / X11,Apache和LGPL)的采用更普遍。 在2004年到2008年间,发布了几个新的开源许可证(例如Apachev2,CDDLv1,EPLv1,GPLv3,LGPLv3和DWTFYWv2),Apache生态系统开始了其指数增长。 在同一时期,尽管引入了更新的版本,v3的GPL许可证,高百分比或项目仍然采用旧的GPLv2(+)。在更大的程度上,我们观察到LGPL的相同现象,与较新的v3相比,v2和v2.1占主导地位。 在Apachev2许可证爆炸增长期间,MIT / X11许可证的普及率下降。这个观察潜在地表明了开源社区需要有一个许可证,提供更多的法律保护,同时仍然是自由的。例如,Apachev2许可授予原作者专利保护

7 Ⅳ结论 当许可证没有对先前版本引入强烈的更改/限制(例如Apachev1.1和Apachev2)时,开发人员很快就采用了新的许可证版本。
相反,新的许可证版本引入关于它们的前辈的新的条款和约束(例如,GPLv3对GPLv2)有利于早期版本的长寿命。


Download ppt "A Large Scale Study of License Usage on GitHub"

Similar presentations


Ads by Google