26
Migration patterns of software ecosystem contributors An empirical case study with Gnome T. Mens, M. Claes, M. Goeminne Software Engineering Lab, Computer Science Department Faculty of Science, University of Mons SOS-Evol 2013

Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 1: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 2: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 3: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 4: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 5: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 6: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 7: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 8: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 9: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 10: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 11: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 12: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 13: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 14: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 15: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 16: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 17: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 18: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 19: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 20: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 21: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 22: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 23: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 24: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 25: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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

Page 26: Migration patterns of open source ecosystem contributors - An empirical case study with GNOME

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