Upload
tom-mens
View
174
Download
0
Tags:
Embed Size (px)
DESCRIPTION
We present our emerging research on evolving open source software ecosystems, collections of software projects maintained by the same community. Within such an ecosystem we aim to understand how contributors join, leave and move across different projects over time. In particular, we study where new contributors to a given subsystem come from, and where people go to if they stop contributing in this subsystem. We define novel metrics to measure these aspects of projects in the ecosystem. We are carrying out an empirical study on the GNOME ecosystem to study these aspects.
Citation preview
Migration patterns of software ecosystem contributorsAn empirical case study with Gnome
T. Mens, M. Claes, M. Goeminne
Software Engineering Lab, Computer Science DepartmentFaculty of Science, University of Mons
SOS-Evol 2013
Research context The Gnome ecosystem Migration patterns Conclusion
1 Research context
2 The Gnome ecosystem
3 Migration patterns
4 Conclusion
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 2 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
ARC interdisciplinary research project ECOS
“Ecological Studies of Open Source Software Ecosystems”
Rely on ecological models and theories of the evolution of biologicalecosystems
Adapt and adopt these theories to study the evolution of OSSecosystems
Understand, and provide support for, optimizing the fitness, resistanceand resilience of OSS projects within their ecosystem
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 3 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Biological ecosystem
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 4 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
1 Research context
2 The Gnome ecosystem
3 Migration patterns
4 Conclusion
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 5 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
About Gnome
16 years of history (1997 to 2012)
1,418 projects (stored in git version repositories)
1,315,997 commits
12,285,518 file touches
11,094 identities before merging; 5,923 after identity merging
open source (of course)
actively studied by many researchers
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 6 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Database Schema
FLOSS-compliant, extension of CVSAnaly2
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 7 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Some empirical results on Gnome
Evolution of active contributors and active projects
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 8 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Some empirical results on Gnome - 2
Correlations between some Gnome ecosystem metrics
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 9 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Some empirical results on Gnome - 3
Code commits and code touches
0"
100000"
200000"
300000"
400000"
500000"
600000"
700000"
800000"
0"
5000"
10000"
15000"
20000"
25000"
30000"
35000"
9,96"9,97"9,98"9,99"9,00"9,01"8,02"8,03"8,04"8,05"8,06"8,07"7,08"7,09"7,10"7,11"7,12"
code_commits"
code_touches"
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 10 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Some empirical results on Gnome - 4
No correlation between code commits and code touches
0"
100000"
200000"
300000"
400000"
500000"
600000"
700000"
0" 5000" 10000" 15000" 20000" 25000" 30000" 35000"
correla'on)code_commits)code_touches)
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 11 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
1 Research context
2 The Gnome ecosystem
3 Migration patterns
4 Conclusion
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 12 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Migration patterns
How do contributors join, leave and move across projects of theecosystem?
Which migration patterns can we observe?
Do joiners of a project come from other projects or from outside theecosystem?Do project leavers tend to stay within other projects of the ecosystem?Does the migration pattern change over time?Do some projects attract or loose more contributors than others?
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 13 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Metrics definitions
DevP (t) = {contributors ∈ P who made at least two code commits during period t}
stayersS (t) = |{a|∃P1 ∈ S, a ∈ DevP (t − 1) ∧ ∃P2 ∈ S, a ∈ DevP (t)}|
joinGlobalS (t) = |{a|∃P ∈ S, a ∈ DevP (t) ∧ ∀P ∈ G , a 6∈ DevP (t − 1)}|joinLocalS (t) = |{a|∃P ∈ S, a ∈ DevP (t) ∧ ∀P ∈ S, a 6∈ DevP (t − 1) ∧ ∃P ∈ G , a ∈ DevP (t − 1)}|joinersS (t) = joinGlobalS (t) + joinLocalS (t)
leaveGlobalS (t) = |{a|∃P ∈ S, a ∈ DevP (t − 1) ∧ ∀P ∈ G , a 6∈ DevP (t)}|leaveLocalS (t) = |{a|∃P ∈ S, a ∈ DevP (t − 1) ∧ ∀P ∈ S, a 6∈ DevP (t) ∧ ∃P ∈ G , a ∈ DevP (t)}|leaversS (t) = leaveGlobalS (t) + leaveLocalS (t)
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 14 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Analysis results - Joiners, leavers & stayers
Glib
Increasing trend in joiners, leavers & stayers
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 15 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Analysis results - Joiners, leavers & stayers
GIMP
Stable trend in joiners, leavers & stayers
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 16 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Analysis results - Joiners, leavers & stayers
Gnumeric
Initial “phase” and stable trend phase in joiners, leavers & stayers
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 17 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Analysis results - Joiners, leavers & stayers
Gnome-applets
High variation of leavers/joiners & decreasing trend
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 18 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Analysis results - Joiners, leavers & stayers
GDK Pixbuf
High peak of death...?
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 19 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Analysis results - Local vs. global for joiners & leavers
Glib
Wilcoxon signed rank test
Hypothesis 1: joinGlobal < joinLocal (p-value: 4.175e−6)
Hypothesis 2: leaveGlobal < leaveLocal (p-value: 5.279e−6)
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 20 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Analysis results - Local vs. global for joiners & leavers
GIMP
Wilcoxon signed rank test
Hypothesis 1: joinGlobal > joinLocal (p-value: 9.361e−6)
Hypothesis 2: leaveGlobal > leaveLocal (p-value: 1.243e−4)
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 21 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Analysis results - Local vs. global for joiners & leavers
Gnumeric
Wilcoxon signed rank test unconclusive (p-values: 0.339 & 0.8415)
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 22 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
1 Research context
2 The Gnome ecosystem
3 Migration patterns
4 Conclusion
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 23 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Conclusion
Empirical results on Gnome
Huge increase of contributors around 2008Huge decrease of code touches around 2002
Gnome migrations
Different patternsProjects (like libraries): peripheral developers (joiners and leavers) tendto be contributors from other GNOME projectsProjects (like GIMP) attracting people outside Gnome⇒ famous Gnome’s projects?
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 24 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Many future works
Apply this analysis more in depth to a broader set of projects
Where do developers come when a new project has been started?
Developer’s point of view:
Where do they come from?Where do they go?Which motivation?
⇒ dual study of migrations
Project stability?
Carry out the study at different levels: individual projects,sub-ecosystems, entire ecosystem
Social or socio-technical analysis of Gnome
Mass migrations
Other ecosystems...
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 25 / 26
Research context The Gnome ecosystem Migration patterns Conclusion
Thanks for your attention!
Questions?
T. Mens, M. Claes, M. Goeminne (Genie Logiciel)Migration patterns of software ecosystem contributors SOS-Evol 2013 26 / 26