Socio-Technical Evolution of the Ruby Ecosystem in GitHub

17
Socio-Technical Evolu0on of the Ruby Ecosystem in GitHub Eleni Constan,nou, Tom Mens SANER – 22 nd February 2017, Klagenfurt, Austria

Transcript of Socio-Technical Evolution of the Ruby Ecosystem in GitHub

Page 1: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

Socio-Technical Evolu0on of the Ruby Ecosystem in

GitHub

EleniConstan,nou,TomMens

SANER–22ndFebruary2017,Klagenfurt,Austria

Page 2: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

Introduc0on

SoAwareecosystem•  CollecEonofsoAwareprojectsthataredevelopedandevolvetogetherinthesameenvironment[1]

Socio-technicalperspecEve

Sustainableecosystem

[1]M.Lungu.TowardsreverseengineeringsoAwareecosystems.Int'lConf.SoAwareMaintenance,pages428-431,2008.[2]D.Dhungana,I.Groher,E.Schludermann,S.Biffl.SoAwareecosystemsvs.naturalecosystems:learningfromtheingeniousmindofnature.Eur.Conf.onSoAwareArchitecture:CompanionVolume,pages96-102,2010.

Increaseormaintainitsuser/developercommunityoverlongerperiodsofEmeandcansurviveinherentchanges(suchasnew

technologiesornewproducts)thatcanchangethepopula,on[2]

2

Page 3: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

Social changes

Stayers

Time2Time1 Time3

Joiners

Leaver 3

Page 4: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

Technical Changes in projects

Ac,ve

Time2Time1 Time3

New

Obsolete 4

Page 5: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

Objec0ve

InvesEgatethesocio-technicalevoluEonofsoAwareecosystemsRubyecosystem

GHTorrentdataset[3]•  9yearEmespan:October2007–September2016•  Timeunit:yearquarters

[3]G.Gousios.TheGHTorrentdatasetandtoolsuite.WorkingConf.MiningSoAwareRepositories,pages233-236,2013. 5

Page 6: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

Analyzed Data Base Forks Ecosystem

Projects >25.5K >69K >94K

Contributors >59.5K >45K >76K

Commits >3.5M >1.1M >5M

TouchedFiles >780K >235K >815K

LOC >427M >114M >542M

Filters[4]•  InacEveandisolatedprojects•  Short-livedcontributors

6[4]E.Kalliamvakou,G.Gousios,K.Blincoe,L.Singer,D.M.German,andD.Damian,“Anin-depthstudyofthepromisesandperilsofminingGitHub,”EmpiricalSoAwareEngineering,vol.21,no.5,pp.2035–2071,2016.

Page 7: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

How does the ecosystem grow over 0me?

A"ermid-2013:Ecosystemstabilizes

2008

2009

2010

2011

2012

2013

2014

2015

2016

2000

4000

6000

8000

10000ProjectsObsolete ProjectsNew ProjectsActive Projects

7

Page 8: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

How does the ecosystem grow over 0me?

8

Before2014:30-40%newbaseprojects

<10%obsolete

From2014:Moreprojectsare

abandonedthancreated

2008

2009

2010

2011

2012

2013

2014

2015

2016

0

0.2

0.4

0.6

0.8

1ProjectRenewalProjectAbandonment

Page 9: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

How does the ecosystem evolve (social view)?

From2014:Ecosystemstabilizes

2008

2009

2010

2011

2012

2013

2014

2015

2016

2000

4000

6000

8000

10000

12000

14000 TeamLeaversJoinersStayers

9

Page 10: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

How does the ecosystem evolve (social view)?

102008

2009

2010

2011

2012

2013

2014

2015

2016

0

0.2

0.4

0.6

0.8

1TeamRenewalTeamAbandonment

From2014:

moreLeavers,lessJoiners

Page 11: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

Evidence of contributor migra0on to JavaScript

11

Ecosystem Ac,veinRuby(Contributors)

JavaScript 28,322

Ecosystem AbandonedRuby(Contributors) Percentage

JavaScript 20,198 71%

MostRubyLeavers…• workedinJavaScriptprojectsinparalleltoRubyprojects• ConEnuedtoworkinJavaScriptaAerabandoningRuby

2008

2009

2010

2011

2012

2013

2014

2015

2016

0

100

200

300

400

500

Num

ber o

f act

ive

proj

ects

×103

RubyJavaScript

Page 12: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

Do important contributors leave the ecosystem?

DiversityindexofLeavers(alsousedinecology)IncreasedspecializaEon•  LargecontribuEontoimportantprojects

2008

2009

2010

2011

2012

2013

2014

2015

0

1

2

3

4

Specializa

tion

12

Page 13: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

External valida0on

Rubygemdownloads:Dropfromlate2014onwards

2008

2009

2010

2011

2012

2013

2014

2015

2016

0

2

4

6

8

10

# of

Dow

nloa

ds

×108

RubyGems in GitHubRubyGems

13

Page 14: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

Summary GrowthoftheRubyecosystemunEl2014Socio-technicaldeclinefrom2014onwardsPreliminaryevidenceofcontributormigraEontootherecosystems

14

Page 15: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

Take-away message/Future work

MajorsocialchangescanhighlyimpacttheecosystemevoluEonMeasuringthesechangescanhelpinidenEfyingsuchissuesearly

IdenEfywhichexternalfactorsaffect ecosystemsustainabilityandhealth

15

Page 16: Socio-Technical Evolution of the Ruby Ecosystem in GitHub

Whichmechanismscanpreserveecosystemhealthinthecaseofmajorsocio-

technicalchanges?

Whichfactorsimpactecosystemhealth?

16