ICSOB Presentation


Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

ICSOB Presentation

  1. 1. Steering Insight: an Exploration of the Ruby Ecosysystem Jaap Kabbedijk, Slinger Jansen Utrecht University, the Netherlands
  2. 2. Outline <ul><li>Introduction </li></ul><ul><li>Case Description </li></ul><ul><li>Research Questions </li></ul><ul><li>Analysis </li></ul><ul><li>Results </li></ul><ul><li>Conclusion </li></ul>
  3. 3. Introduction: Software Ecosystems <ul><li>A software ecosystem is a set of software products working together as a unit on a shared software platform (Jansen, Finkelstein & Brinkkemper, 2009) </li></ul><ul><li>Profit is not generated by one product, but by the entire ecosystem (Popp & Meyer, 2010) </li></ul><ul><li>Dynamics and position within the ecosystem are of importance (Iansiti & Levien, 2005) </li></ul><ul><li>Open Source projects are ideal for analysis (Tom Mens, IWSECO keynote) </li></ul>
  4. 4. Case Description <ul><li>Ruby Programming Language </li></ul><ul><li>Consists of thousands of Gems </li></ul><ul><li>Available through Git </li></ul><ul><li>FOSS Project </li></ul>
  5. 5. Data Gathering
  6. 6. Research Questions <ul><li>What are the defining characteristics of a large scale open source software ecosystem? </li></ul>
  7. 7. Research Questions <ul><li>What are the defining characteristics of a large scale open source software ecosystem? </li></ul><ul><li>What elements can be identified within a SECO? </li></ul><ul><li>What are the characteristics of the identified elements? </li></ul><ul><li>What are the descriptives of a SECO? </li></ul><ul><li>What roles can be identified within a SECO? </li></ul>
  8. 8. SECO Elements
  9. 9. Element Characteristics <ul><li>Name </li></ul><ul><li>Number of Downloads </li></ul><ul><li>Main Version </li></ul><ul><li>Lines of Code (LOC) </li></ul><ul><li>Size </li></ul><ul><li>Yahoo Hits </li></ul>
  10. 10. SECO Descriptives <ul><li>4,784 Developers </li></ul><ul><li>10,046 Gems </li></ul><ul><li>13,103 Relations </li></ul>
  11. 11. SECO Descriptives <ul><li>One interconnected ‘stem’ </li></ul><ul><li>A lot of independent projects </li></ul>
  12. 12. SECO Descriptives <ul><li>One large project </li></ul><ul><li>Several smaller projects related </li></ul><ul><li>Tree-like branches </li></ul>
  13. 13. SECO Descriptives <ul><li>‘ Chain’ of small projects </li></ul><ul><li>Small sub-community of projects </li></ul>
  14. 14. SECO Descriptives <ul><li>All small projects </li></ul><ul><li>All part of the ecosystem </li></ul><ul><li>Are they valuable? </li></ul>
  15. 15. SECO Descriptives Most active developers (Top 30)
  16. 16. SECO Descriptives Most important gems (Top 30)
  17. 17. SECO Roles <ul><li>Lone Wolf - a developer who has developed gems that are of importance within the Ruby ecosystem, but has almost no connections with other developers. </li></ul><ul><li>Networker - someone who has a lot of developers he works with and also plays a large role in the SECO in terms of gem downloads. </li></ul><ul><li>One Day Fly – a developer who has made one popular gem, but never made anything else. </li></ul>
  18. 18. Results
  19. 19. Conclusion <ul><li>The Ruby SECO consists of devel opers , gems and relationships </li></ul><ul><li>Developers within the SECO full several distinctive roles , each of different value to the ecosystem </li></ul><ul><li>Within the SECO most activity is caused only by a small part of the ecosystem. The top 90% of the open source components used in Ruby development has been developed by only 10% of the total number of open source contributors. Pareto principle. </li></ul>
  20. 20. Discussion <ul><li>Trying to lure additional developers to your ecosystem in order to expand your ecosystem may not be the best way of managing a SECO </li></ul><ul><li>Stimulation of cooperation between developers is important to create the active ‘core’ </li></ul><ul><li>More characteristics and relationships have to be examined to get a deeper insight in SECO dynamics </li></ul><ul><li>More software ecosystems have to be examined in order to improve the generalizability </li></ul>
  21. 21. Questions?