SlideShare a Scribd company logo
1 of 21
Download to read offline
Social and Technical Evolution
of Software Ecosystems
A Case Study of Rails
Eleni Constantinou, Tom Mens
4th International Workshop on Software
Ecosystem Architectures (WEA 2016)
1
Research
Team
Introduction
Software ecosystem
•  Collection of software projects that are developed and evolve together
in the same environment [1]
Ecosystem environment
•  Development team ⇒ Social aspect
•  Source code artefacts ⇒ Technical aspect
Modifications
•  Social: Contributors joining/leaving
•  Technical: New/obsolete source code files
[1] M. Lungu. Towards reverse engineering software ecosystems. Int'l Conf. Software Maintenance, pages 428-431, 2008. 2
Introduction
Evolution
•  Longevity
•  Growth
Ecosystem sustainability
Negative impact of major social changes
A sustainable software ecosystem can
increase or maintain its user/developer
community over longer periods of time
and can survive inherent changes
such as new technologies or new
products (e.g. from competitors) that can
change the population (the community
of users, developers etc) [2]
[2] D. Dhungana, I. Groher, E. Schludermann, S. Biffl. Software ecosystems vs. natural ecosystems: learning from the ingenious mind of nature. Eur.
Conf. on Software Architecture: Companion Volume, pages 96-102, 2010. 3
Background
4
Time
Unit 1
Time
Unit 2
Time
Unit 3
…
Time
Unit N-2
Time
Unit N-1
Time
Unit N
S
T
A
R
T
E
N
D
Software Ecosystem Evolution
Technical
Artefacts
Technical
Artefacts
Definitions
5
Social Metrics
Leavers(t)
Joiners(t)
Stayers(t)
TeamTurnover(t)
TeamAbandonment(t)
Technical Metrics
Obsolete(t)
New(t)
Maintained(t)
FileTurnover(t)
FileAbandonment(t)
Dataset
•  Ruby on Rails
•  Largest/most popular Ruby project
•  GHTorrent dataset [2] (2016-09-05 dump)
•  Timespan: April 2008 – September 2016
•  Time unit: year quarters
•  Commit activity
•  Base project/Forks/Ecosystem
[2] G. Gousios. The GHTorrent dataset and tool suite. Working Conf. Mining Software Repositories, pages 233-236, 2013. 6
Dataset Problems - Noise
•  Forks can be simple copies of the base project
•  Non source code files or irrelevant files can be committed
(e.g., temporary files)
•  One-time and occasional contributors
7
Dataset Filters
1.  Forks
Filter: Merged back to the base
2.  Files
Filter: Source code files
3.  Contributors
Filter: Contributors whose AVG activity
is equal/greater than 2 quarters
Base Forks Ecosystem
Count 1 1,896 1,897
Contributors 1,827 2,154 3,121
Commits 43,195 25,938 69,133
Base Forks Ecosystem
Count 1 692 693
Contributors 430 681 765
Commits 40,660 22,923 63,583
8
Research Questions
RQ1 How does the commit activity of the ecosystem
(in base and forks) evolve over time?
RQ2 How does the development population and file activity
change over time?
RQ3 How do changes in the development team affect the file
activity of the ecosystem?
9
RQ1 How does the commit activity of the ecosystem
(in base and forks) evolve over time?
Forks
since quarter 13 (July 2011)
•  Increasing commit activity
•  Development effort heavily
depends on forks since
October 2012 (quarter 18)
10
RQ2 How does the development population and file
activity change over time?
Base Project Forks Ecosystem
Core contributors: Small number of people join/leave the
ecosystem
11
RQ2 How does the development population and file
activity change over time?
Base Project Forks Ecosystem
Forks: Increasing trend
Low number of obsolete files 12
RQ2 How does the development population and
file activity change over time?
Percentage %
TeamTurnover 25 ± 12
TeamAbandonment 14 ± 10
FileTurnover 15 ± 11
FileAbandonment 10 ± 7
Moderate social and technical modifications
Ecosystem growth
13
RQ3 How do changes in the development team affect the
file activity of the ecosystem?
25% of obsolete files were
maintained by Leavers
14
Findings
•  Intensive use of the fork and push mechanisms
of GitHub since July 2011 (quarter 13)
•  Both the development team and files showed
a roughly linearly increasing trend
•  Moderate impact of Leavers on the technical part
of the ecosystem
15
Do Leavers engage in other ecosystems?
Ecosystem Active in Ruby
JavaScript 18,038
Python 10,211
Java 7,363
16
Ecosystem Abandoned Ruby Percentage
JavaScript 13,814 77%
Python 8,131 79%
Java 5,132 70%
Threats to validity
Multiple user accounts
•  Less common within the same GitHub
repository
•  Identity merging [3]
Rails project
•  Large/significant Ruby project
•  Entire Ruby ecosystem
Effort measurement
•  Commit squashing
•  LOC
17
[3] M. Goeminne and T. Mens, “A comparison of identity merge algorithms for software repositories,” Science of Computer Programming, vol. 78, no. 8,
pages 971–986, 2013
Conclusion
•  Case study of the Rails evolution in GitHub
•  Magnitude and effect of socio-technical changes
•  Moderate impact of modifications on the ecosystem
•  Sustainable ecosystem
•  Socio-technical growth
•  Longevity
18
Ongoing/Future Work
•  Ruby ecosystem in GitHub (>60K projects)
•  Leavers knowledge and specialization (relative entropy)
•  Ecosystem migration (Ruby à JavaScript)
•  Practices eliminating the effect of occasional contributors
19
Thank you!
20

More Related Content

Viewers also liked (6)

Proyecto
ProyectoProyecto
Proyecto
 
Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)
 
Why every startup built with Ruby on Rails has an upper hand over their compe...
Why every startup built with Ruby on Rails has an upper hand over their compe...Why every startup built with Ruby on Rails has an upper hand over their compe...
Why every startup built with Ruby on Rails has an upper hand over their compe...
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
 
Ruby On Rails Introduction
Ruby On Rails IntroductionRuby On Rails Introduction
Ruby On Rails Introduction
 
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory CourseRuby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
 

Similar to Social and Technical Evolution of the Ruby on Rails Software Ecosystem

MSR2014 opening
MSR2014 openingMSR2014 opening
MSR2014 opening
Sung Kim
 
Scientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & SociologyScientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & Sociology
Neil Chue Hong
 
Understanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS ProjectsUnderstanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS Projects
Betsey Merkel
 
A Method to Select e-Infrastructure Components to Sustain
A Method to Select e-Infrastructure Components to SustainA Method to Select e-Infrastructure Components to Sustain
A Method to Select e-Infrastructure Components to Sustain
Daniel S. Katz
 
Linking data, models and tools an overview
Linking data, models and tools an overviewLinking data, models and tools an overview
Linking data, models and tools an overview
Gennadii Donchyts
 
Operationalisation of Collaboration Sunbelt 2015
Operationalisation of Collaboration Sunbelt 2015Operationalisation of Collaboration Sunbelt 2015
Operationalisation of Collaboration Sunbelt 2015
Dawn Foster
 

Similar to Social and Technical Evolution of the Ruby on Rails Software Ecosystem (20)

Software Ecosystems = Big Data
Software Ecosystems = Big DataSoftware Ecosystems = Big Data
Software Ecosystems = Big Data
 
MSR2014 opening
MSR2014 openingMSR2014 opening
MSR2014 opening
 
A preliminary study of GitHub Actions workflow changes .pptx
A preliminary study of GitHub Actions workflow changes .pptxA preliminary study of GitHub Actions workflow changes .pptx
A preliminary study of GitHub Actions workflow changes .pptx
 
Scientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & SociologyScientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & Sociology
 
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
 
Open Source and Science at the National Science Foundation (NSF)
Open Source and Science at the National Science Foundation (NSF)Open Source and Science at the National Science Foundation (NSF)
Open Source and Science at the National Science Foundation (NSF)
 
Research software susainability
Research software susainabilityResearch software susainability
Research software susainability
 
CREW VRE Release 5 - 2009 May
CREW VRE Release 5 - 2009 MayCREW VRE Release 5 - 2009 May
CREW VRE Release 5 - 2009 May
 
DSD-INT 2019 Modelling in DANUBIUS-RI-Bellafiore
DSD-INT 2019 Modelling in DANUBIUS-RI-BellafioreDSD-INT 2019 Modelling in DANUBIUS-RI-Bellafiore
DSD-INT 2019 Modelling in DANUBIUS-RI-Bellafiore
 
How are project-specific forums utilized? A study of participation, content, ...
How are project-specific forums utilized? A study of participation, content, ...How are project-specific forums utilized? A study of participation, content, ...
How are project-specific forums utilized? A study of participation, content, ...
 
Understanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS ProjectsUnderstanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS Projects
 
Version control, issue tracking and communication
Version control, issue tracking and communicationVersion control, issue tracking and communication
Version control, issue tracking and communication
 
A Method to Select e-Infrastructure Components to Sustain
A Method to Select e-Infrastructure Components to SustainA Method to Select e-Infrastructure Components to Sustain
A Method to Select e-Infrastructure Components to Sustain
 
130705 zephyrin soh - how developers spend their effort during maintenance ...
130705   zephyrin soh - how developers spend their effort during maintenance ...130705   zephyrin soh - how developers spend their effort during maintenance ...
130705 zephyrin soh - how developers spend their effort during maintenance ...
 
Multi-User Audio Composition Application
Multi-User Audio Composition ApplicationMulti-User Audio Composition Application
Multi-User Audio Composition Application
 
Software Sustainability in e-Research: Dying for a Change
Software Sustainability in e-Research: Dying for a ChangeSoftware Sustainability in e-Research: Dying for a Change
Software Sustainability in e-Research: Dying for a Change
 
INTERFACE by apidays 2023 - Nuclear Rust, John Darrington, Idaho National Lab...
INTERFACE by apidays 2023 - Nuclear Rust, John Darrington, Idaho National Lab...INTERFACE by apidays 2023 - Nuclear Rust, John Darrington, Idaho National Lab...
INTERFACE by apidays 2023 - Nuclear Rust, John Darrington, Idaho National Lab...
 
Linking data, models and tools an overview
Linking data, models and tools an overviewLinking data, models and tools an overview
Linking data, models and tools an overview
 
Requiring Publicly-Funded Software, Algorithms, and Workflows to be Made Publ...
Requiring Publicly-Funded Software, Algorithms, and Workflows to be Made Publ...Requiring Publicly-Funded Software, Algorithms, and Workflows to be Made Publ...
Requiring Publicly-Funded Software, Algorithms, and Workflows to be Made Publ...
 
Operationalisation of Collaboration Sunbelt 2015
Operationalisation of Collaboration Sunbelt 2015Operationalisation of Collaboration Sunbelt 2015
Operationalisation of Collaboration Sunbelt 2015
 

More from Tom Mens

Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Tom Mens
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)
Tom Mens
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package Managers
Tom Mens
 

More from Tom Mens (20)

How to be(come) a successful PhD student
How to be(come) a successful PhD studentHow to be(come) a successful PhD student
How to be(come) a successful PhD student
 
Recognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentRecognising bot activity in collaborative software development
Recognising bot activity in collaborative software development
 
A Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubA Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHub
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHub
 
Nurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the FutureNurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the Future
 
Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?
 
On the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubOn the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHub
 
On backporting practices in package dependency networks
On backporting practices in package dependency networksOn backporting practices in package dependency networks
On backporting practices in package dependency networks
 
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
 
Lost in Zero Space
Lost in Zero SpaceLost in Zero Space
Lost in Zero Space
 
Evaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesEvaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messages
 
Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!
 
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
 
On the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsOn the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystems
 
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)
 
SecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsSecoHealth 2019 Research Achievements
SecoHealth 2019 Research Achievements
 
SECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarSECO-Assist 2019 research seminar
SECO-Assist 2019 research seminar
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package Managers
 
ConPan: Analysing Packages Installed in Docker Containers
ConPan: Analysing Packages Installed in Docker ContainersConPan: Analysing Packages Installed in Docker Containers
ConPan: Analysing Packages Installed in Docker Containers
 

Recently uploaded

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

Social and Technical Evolution of the Ruby on Rails Software Ecosystem

  • 1. Social and Technical Evolution of Software Ecosystems A Case Study of Rails Eleni Constantinou, Tom Mens 4th International Workshop on Software Ecosystem Architectures (WEA 2016)
  • 3. Introduction Software ecosystem •  Collection of software projects that are developed and evolve together in the same environment [1] Ecosystem environment •  Development team ⇒ Social aspect •  Source code artefacts ⇒ Technical aspect Modifications •  Social: Contributors joining/leaving •  Technical: New/obsolete source code files [1] M. Lungu. Towards reverse engineering software ecosystems. Int'l Conf. Software Maintenance, pages 428-431, 2008. 2
  • 4. Introduction Evolution •  Longevity •  Growth Ecosystem sustainability Negative impact of major social changes A sustainable software ecosystem can increase or maintain its user/developer community over longer periods of time and can survive inherent changes such as new technologies or new products (e.g. from competitors) that can change the population (the community of users, developers etc) [2] [2] D. Dhungana, I. Groher, E. Schludermann, S. Biffl. Software ecosystems vs. natural ecosystems: learning from the ingenious mind of nature. Eur. Conf. on Software Architecture: Companion Volume, pages 96-102, 2010. 3
  • 5. Background 4 Time Unit 1 Time Unit 2 Time Unit 3 … Time Unit N-2 Time Unit N-1 Time Unit N S T A R T E N D Software Ecosystem Evolution Technical Artefacts Technical Artefacts
  • 7. Dataset •  Ruby on Rails •  Largest/most popular Ruby project •  GHTorrent dataset [2] (2016-09-05 dump) •  Timespan: April 2008 – September 2016 •  Time unit: year quarters •  Commit activity •  Base project/Forks/Ecosystem [2] G. Gousios. The GHTorrent dataset and tool suite. Working Conf. Mining Software Repositories, pages 233-236, 2013. 6
  • 8. Dataset Problems - Noise •  Forks can be simple copies of the base project •  Non source code files or irrelevant files can be committed (e.g., temporary files) •  One-time and occasional contributors 7
  • 9. Dataset Filters 1.  Forks Filter: Merged back to the base 2.  Files Filter: Source code files 3.  Contributors Filter: Contributors whose AVG activity is equal/greater than 2 quarters Base Forks Ecosystem Count 1 1,896 1,897 Contributors 1,827 2,154 3,121 Commits 43,195 25,938 69,133 Base Forks Ecosystem Count 1 692 693 Contributors 430 681 765 Commits 40,660 22,923 63,583 8
  • 10. Research Questions RQ1 How does the commit activity of the ecosystem (in base and forks) evolve over time? RQ2 How does the development population and file activity change over time? RQ3 How do changes in the development team affect the file activity of the ecosystem? 9
  • 11. RQ1 How does the commit activity of the ecosystem (in base and forks) evolve over time? Forks since quarter 13 (July 2011) •  Increasing commit activity •  Development effort heavily depends on forks since October 2012 (quarter 18) 10
  • 12. RQ2 How does the development population and file activity change over time? Base Project Forks Ecosystem Core contributors: Small number of people join/leave the ecosystem 11
  • 13. RQ2 How does the development population and file activity change over time? Base Project Forks Ecosystem Forks: Increasing trend Low number of obsolete files 12
  • 14. RQ2 How does the development population and file activity change over time? Percentage % TeamTurnover 25 ± 12 TeamAbandonment 14 ± 10 FileTurnover 15 ± 11 FileAbandonment 10 ± 7 Moderate social and technical modifications Ecosystem growth 13
  • 15. RQ3 How do changes in the development team affect the file activity of the ecosystem? 25% of obsolete files were maintained by Leavers 14
  • 16. Findings •  Intensive use of the fork and push mechanisms of GitHub since July 2011 (quarter 13) •  Both the development team and files showed a roughly linearly increasing trend •  Moderate impact of Leavers on the technical part of the ecosystem 15
  • 17. Do Leavers engage in other ecosystems? Ecosystem Active in Ruby JavaScript 18,038 Python 10,211 Java 7,363 16 Ecosystem Abandoned Ruby Percentage JavaScript 13,814 77% Python 8,131 79% Java 5,132 70%
  • 18. Threats to validity Multiple user accounts •  Less common within the same GitHub repository •  Identity merging [3] Rails project •  Large/significant Ruby project •  Entire Ruby ecosystem Effort measurement •  Commit squashing •  LOC 17 [3] M. Goeminne and T. Mens, “A comparison of identity merge algorithms for software repositories,” Science of Computer Programming, vol. 78, no. 8, pages 971–986, 2013
  • 19. Conclusion •  Case study of the Rails evolution in GitHub •  Magnitude and effect of socio-technical changes •  Moderate impact of modifications on the ecosystem •  Sustainable ecosystem •  Socio-technical growth •  Longevity 18
  • 20. Ongoing/Future Work •  Ruby ecosystem in GitHub (>60K projects) •  Leavers knowledge and specialization (relative entropy) •  Ecosystem migration (Ruby à JavaScript) •  Practices eliminating the effect of occasional contributors 19