Evolutional Analysis of Licenses in FOSS
description
Transcript of Evolutional Analysis of Licenses in FOSS
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Evolutional Analysis of Licenses in FOSS
Yuki Manabe†Yasuhiro Hayase‡ Katsuro Inoue †
†Osaka University, Japan‡Toyo University, Japan
2010/9/21 - IWPSE2010 1
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Overview• Statistical study on the evolution of
licenses on Free Open Source Software(FOSS)– Analyzing the licenses in FreeBSD,
OpenBSD, Eclipse and ArgoUML during the course of their evolution
• Licenses can sometimes drastically change between releases
• Kernel also have Great License Shifts
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 2
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Software license• The permissions of use, and describes the
requirements and conditions to get such permission.
• 66 licenses approved by Open Source Initiative1 as Open Source License– Satisfying the open source definition
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 3
1 http://www.opensource.org/
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 4
Ninka[6] Automatically license identification tool – Reporting license name (112 licenses)• BSD3(BSD 3-clause license)• GPLv2+(GNU Public License version2 or
later)– Precision: 96.6%
2010/9/21 - IWPSE2010
Source File
License name
Knowledge baseRule matching
[6]D. M. German et.al. A sentence-matching method for automatic license identification of source code files. In Proc. ASE 2010, 2010. (To appear).
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Evolution of licenses• Software licenses are adapted to
environment• Software licenses evolves because of ... [2]– author's requirement– user's demand– external pressure
• [2] only analyzed first and last versions in target versions with respect to license changes. And no detail of the evolution characteristics was analyzed
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 5
[2] M. Di Penta, D. M. German, Y.-G. Gueheneuc, and G. Antoniol. "An exploratory study of the evolution of software licensing" , ICSE2010.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Research theme• Goal– Finding characteristics of change of
licenses in the evolution of FOSS
• Approach– Analyzing the licenses of several
releases of large-scale FOSS with Ninka
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 6
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Analysis targets
2010/9/21 - IWPSE2010 7Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue
FreeBSD(all)
FreeBSD(kernel)
OpenBSD(all)
OpenBSD(kernel)
Eclipse ArgoUML
Type OS kernel,applications
OS kernel OS kernel, applications
OS kernel SDE platform
UML Design Tools
Release Version
2.2-8.0 2.0-4.7 2.0-3.5.2
0.8.1-0.31.1
Release Date
1994/11-2009/11
1996/10-2010/5
2002/6-2009/9
2000/10-2010/6
# release 28 45 25 79#Files(oldest-latest)
4412-21266
627-3490
6245-14181
987-3314
11419-35880
686-2208
Version Control System
CVS CVS CVS Subversion
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Experiments1. Examine the number of files under each
license at each release version in FreeBSD (all), OpenBSD (all), Eclipse and ArgoUML
2. Analyze the difference of licensed file number across different versions in FreeBSD(all) and OpenBSD(all)
3. Examine the difference in evolution patterns of OS all and OS kernel
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 8
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Experiment 1License ratio
1. Examine the number of files under each license at each release version in FreeBSD (all), OpenBSD (all), Eclipse and ArgoUML
2. Analyze the difference of licensed file number across different versions in FreeBSD(all) and OpenBSD(all)
3. Examine the difference in evolution patterns of OS all and OS kernel
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 9
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
2.2.02.2.2
2.2.62.2.8
3.1.03.3.0
3.5.04.1.0
4.2.04.4.0
4.6.04.6.2
4.8.04.10.0
5.0.05.2.0
5.3.05.5.0
6.1.06.3.0
7.0.07.2.0
8.0.00
2000
4000
6000
8000
10000
12000
14000
16000
BSD4 BSD3 BSD2 GPLv2+LibraryGPLv2+ Others NONE UNKNOWN
Release Version
#file
s
FreeBSD (all)
10
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue
Decreased BSD4 Increased BSD2 and BSD3
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.70
5000
10000
15000
20000
25000
BSD4 BSD3 BSD2 GPLv2+MITold1 Others NONE UNKNOWN
Release Version
#file
s
OpenBSD (all)
11
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue
Decreased BSD4Increased BSD2 and BSD3
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
2.02.0.1 2.1
2.1.12.1.2
2.1.3 3.03.0.1
3.0.2 3.13.1.1
3.1.2 3.23.2.1
3.2.23.3.1
3.3.1.13.3.2 3.3 3.4
3.4.13.4.2 3.5
3.5.13.5.2
0
5000
10000
15000
20000
25000
30000
35000
40000
45000
EPLv1 CPLv0.5 CPLv1 MPLv1_1BSD3 Others NONE UNKNOWN
Release Version
#file
s
Eclipse
12
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue
CPLv0.5→CPLv1.0 CPLv1.0→EPLv1.0
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
0.8.10.9.2
0.9.60.9.9
0.11.10.11.4
0.13.20.13.5
0.14.10.15.3
0.15.60.17.1
0.17.40.18.1
0.19.40.19.7
0.21.10.22
0.23.30.24
0.25.30.25.6
0.26.20.27.3
0.29.10.29.4
0.31.10
500
1000
1500
2000
2500
EPLv1 Apachev2 BSD2 LesserGPLv2.1LesserGPLv2.1+ Others UNKNOWN NONE
Release Version
#file
s
ArgoUML
13
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue
UNKNOWN(BSD-like license)→EPLv1.0
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Findings of Experiment 1• Licenses of the BSD systems are rather
diverse and loosely controlled, compared to Eclipse and ArgoUML
• A few-license cover almost all files in Eclipse and ArgoUML
• Sometimes those licenses are drastically changed to others by the strong management to the overall systems
• Those changes relax or tighten the conditions of the license
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 14
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Experiment 2License File Increase/Decrease
1. Examine the number of files under each license at each release version in FreeBSD (all), OpenBSD (all), Eclipse and ArgoUML
2. Analyze the difference of licensed file number across different versions in FreeBSD(all) and OpenBSD(all)
3. Examine the difference in evolution patterns of OS all and OS kernel
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 15
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
2.2.12.2.5
2.2.73.0.0
3.2.03.4.0
4.0.04.1.1
4.3.04.5.0
4.6.14.7.0
4.9.04.11.0
5.1.05.2.1
5.4.06.0.0
6.2.06.4.0
7.1.07.3.0
-800
-600
-400
-200
0
200
400
600
800
BSD4 BSD3 BSD2GPLv2+ LibraryGPLv2+
Release Version
#file
s
FreeBSD (all)
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 16
v5.2.1 - v5.3531 files under BSD4 were moved to other license BSD2 or BSD3.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7
-2500
-2000
-1500
-1000
-500
0
500
1000
1500
BSD4 BSD3 BSD2 GPLv2+ MITold1
Release Version
#file
s
OpenBSD (all)
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 17
v3.3 - v3.42255 files under BSD4 were moved to other license BSD2 or BSD3.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.70
5000
10000
15000
20000
25000
BSD4 BSD3 BSD2 GPLv2+MITold1 Others NONE UNKNOWN
Release Version
#file
s
OpenBSD (all)
18
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue
There are large shifts of licenses along with system evolution
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Experiment 3Difference of all and kernel
1. Examine the number of files under each license at each release version in FreeBSD (all), OpenBSD (all), Eclipse and ArgoUML
2. Analyze the difference of licensed file number across different versions in FreeBSD(all) and OpenBSD(all)
3. Examine the difference in evolution patterns of OS all and OS kernel
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 19
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
2.2.02.2.2
2.2.62.2.8
3.1.03.3.0
3.5.04.1.0
4.2.04.4.0
4.6.04.6.2
4.8.04.10.0
5.0.05.2.0
5.3.05.5.0
6.1.06.3.0
7.0.07.2.0
8.0.00
2000
4000
6000
8000
10000
12000
14000
16000
BSD4 BSD3 BSD2 GPLv2+LibraryGPLv2+ Others NONE UNKNOWN
Release Version
#file
s
FreeBSD (all)
20
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue
Decreased BSD4Increased BSD2 and BSD3
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
2.2.02.2.2
2.2.62.2.8
3.1.03.3.0
3.5.04.1.0
4.2.04.4.0
4.6.04.6.2
4.8.04.10.0
5.0.05.2.0
5.3.05.5.0
6.1.06.3.0
7.0.07.2.0
8.0.00
500
1000
1500
2000
2500
3000
3500
4000
BSD4 BSD3 BSD2 InterACPILicCDDLic Others NONE UNKNOWN
Release Version
#file
FreeBSD (kernel)
21
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue
Decreased BSD4Increased BSD2 and BSD3
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.70
5000
10000
15000
20000
25000
BSD4 BSD3 BSD2 GPLv2+MITold1 Others NONE UNKNOWN
Release Version
#file
s
OpenBSD (all)
22
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue
Decreased BSD4Increased BSD2 and BSD3
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.70
500
1000
1500
2000
2500
3000
3500
BSD4 BSD3 BSD2 MITold1MITold2 Others NONE UNKNOWN
Release Version
#file
s
OpenBSD (kernel)
232010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue
Decreased BSD4Increased BSD2 and BSD3
We had expected to see the different evolution pattern between kernels and alls
but they are almost similar
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Summary of findings• There are large shifts of license in FreeBSD (all)
and OpenBSD (all)• ArgoUML and Eclipse also have similar large
shifts– Sometimes those licenses are more
drastically changed to others than FreeBSD (all) and OpenBSD (all)
– A few licenses cover almost all files in those systems
• The kernel of FreeBSD and OpenBSD also have large shifts
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 24
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Conclusions & Future work• Statistical study on the evolution of licenses on FOSS– Analyzing the licenses in FreeBSD, OpenBSD,
Eclipse and ArgoUML during the course of their evolution
– Finding large shifts of licenses in evolution of FOSS• Future Work– More fine-grained analysis– Analysis of the relation between drastic license
change and other log data such as mailing list archive
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 25
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 26
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University27
• Supplemental Slides
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University28
Advertisement clause of BSD43. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <organization>.
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University29
Endorsement clause of BSD3
• Neither the name of the <organization> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University30
Patent clause of CPLv1.0In Section 7• "If Recipient institutes patent litigation
against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed."
2010/9/21 - IWPSE2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue