• Save
ICSOB Presentation
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

ICSOB Presentation

  • 666 views
Uploaded on

 

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
666
On Slideshare
460
From Embeds
206
Number of Embeds
2

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 206

http://jkabbedijk.nl 192
http://www.jkabbedijk.nl 14

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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