Ruby on Rails [ Ruby On Rails.ppt ] - [Ruby - [Ruby-Doc.org ...
Socio-Technical Evolution of the Ruby Ecosystem in GitHub
Transcript of 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
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
Social changes
Stayers
Time2Time1 Time3
Joiners
Leaver 3
Technical Changes in projects
Ac,ve
Time2Time1 Time3
New
Obsolete 4
Objec0ve
InvesEgatethesocio-technicalevoluEonofsoAwareecosystemsRubyecosystem
GHTorrentdataset[3]• 9yearEmespan:October2007–September2016• Timeunit:yearquarters
[3]G.Gousios.TheGHTorrentdatasetandtoolsuite.WorkingConf.MiningSoAwareRepositories,pages233-236,2013. 5
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.
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
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
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
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
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
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
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
Summary GrowthoftheRubyecosystemunEl2014Socio-technicaldeclinefrom2014onwardsPreliminaryevidenceofcontributormigraEontootherecosystems
14
Take-away message/Future work
MajorsocialchangescanhighlyimpacttheecosystemevoluEonMeasuringthesechangescanhelpinidenEfyingsuchissuesearly
IdenEfywhichexternalfactorsaffect ecosystemsustainabilityandhealth
15
Whichmechanismscanpreserveecosystemhealthinthecaseofmajorsocio-
technicalchanges?
Whichfactorsimpactecosystemhealth?
16