SlideShare a Scribd company logo
Ecological Studies of Open Source Software Ecosystems
Empirical case studies with Gnome and R
Ma¨lick Claes, Tom Mens
e
Software Engineering Lab, Computer Science Department
Faculty of Science, University of Mons

18th September 2013
Research context

Ecosystems

Gnome studies

R studies

1 Research context

2 Ecosystems

3 Gnome studies

4 R studies

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

2 / 23
Research context

Ecosystems

Gnome studies

R studies

ECOS (bit.ly/ecos-project)

Interdisciplinary project called “Ecological Studies of Open Source
Software Ecosystems” at the University of Mons (Belgium)
Tom Mens - Software Engineering Lab
Philippe Grosjeans - Numerical Ecology of Aquatic Systems Lab
(ECONUM)

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

3 / 23
Research context

Ecosystems

Gnome studies

R studies

Long-term goals

How far can we drive the analogy between natural and software
ecosystems?
Determine the main factors that drive the success or failure of OSS
projects within their ecosystem
Investigate new techniques and mechanisms to predict and/or
improve survivability of OSS projects
Inspired by research in biological ecology

Use these insights to help
the developer community to improve upon their practices
companies and users to compare and adopt OSS projects

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

4 / 23
Research context

Ecosystems

Gnome studies

R studies

1 Research context

2 Ecosystems

3 Gnome studies

4 R studies

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

5 / 23
Research context

Ecosystems

Gnome studies

R studies

Biological Ecosystem
Ecosystem

Example: coral reef

Physical and biological components of an
environment considered in relation to each
other as a unit

High biodiversity:
polyps, sea
anemones, fish,
mollusks, sponges,
algae

combines all living organisms (plants,
animals, micro-organisms) and
physical components (light, water,
soil, rocks, minerals)

Ecology
Scientific study of the interactions that
determine the distribution and abundance
of organisms
Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

6 / 23
Research context

Ecosystems

Gnome studies

R studies

Software Ecosystem
Business-oriented software ecosystem
“a set of actors functioning as a unit and interacting with a shared market
for software and services, together with the relationships among them.”
(Jansen et al. 2009)

Examples
“App Stores” (Android, iOS)

Ma¨lick Claes (UMONS)
e

Eclipse platform & plugins

Ecological Studies of Open Source Software Ecosystems

2013/09/18

7 / 23
Research context

Ecosystems

Gnome studies

R studies

Software Ecosystem
Development-centric view
“a collection of software products that have some given degree of
symbiotic relationships.” (MesserschmiK & Szyperski 2003)
“a collection of software projects that are developed and evolve
together in the same environment.” (Lungu 2008)

Examples
GNOME &

KDE

Linux distributions (

Debian,

Ubuntu)

’s CRAN and others (CPAN, CTAN, . . . )

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

8 / 23
Research context

Ecosystems

Gnome studies

R studies

Biological and Software Ecosystems in Summary

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

9 / 23
Research context

Ecosystems

Gnome studies

R studies

Biological and Software Ecosystems in Summary

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

9 / 23
Research context

Ecosystems

Gnome studies

R studies

1 Research context

2 Ecosystems

3 Gnome studies

4 R studies

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

10 / 23
Research context

Ecosystems

Gnome studies

R studies

Reticulate evolution
Darwinian evolution cannot
Scleractinian coral polyps
always explain evolution of some
species: causes are not always
related to natural selection
The evolution tree of life:
acyclic graph
Reticulation: hybrid speciation,
horizontal gene transfer

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

11 / 23
Research context

Ecosystems

Gnome studies

R studies

Migrations
Initial motivation
Horizontal gene transfer between projects?
Genotype of a project: contributors
Phenotype of a project: code
Can we make a parallel between code duplication and contributors?

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

12 / 23
Research context

Ecosystems

Gnome studies

R studies

Migrations
Initial motivation
Horizontal gene transfer between projects?
Genotype of a project: contributors
Phenotype of a project: code
Can we make a parallel between code duplication and contributors?

Questions
Do joiners come from other GNOME projects or from outside the
ecosystem?
Do leavers tend to stay within other GNOME projects?
Does migration patterns change over time?
Do some projects attract or loose more contributors than others?
Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

12 / 23
Research context

Ecosystems

Gnome studies

R studies

Migrations
GNOME git repositories
16 years of history (1997 to 2012)
1,418 projects (stored in git repositories)
1,315,997 commits
11,094 identities, 5,923 distinct persons after identity merging

Metrics for 6-month periods
Local joiners
Global joiners
Local leavers
Global leavers
Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

13 / 23
Research context

Ecosystems

Gnome studies

R studies

Migrations
Local vs. global trend

−20

−10

0

10

Difference between global and local joiners

gimp
evolution
gtk+
1997

1998

1999

2000

2001

2002

2003

2004

2005

2006

2007

2008

2009

2010

2011

2012

Time

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

14 / 23
Research context

Ecosystems

Gnome studies

R studies

Migrations
Local vs. global trend

−20

−15

−10

−5

0

5

10

Difference between global and local leavers

gimp
evolution
gtk+
1997

1998

1999

2000

2001

2002

2003

2004

2005

2006

2007

2008

2009

2010

2011

2012

Time

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

15 / 23
Research context

Ecosystems

Gnome studies

R studies

Migrations
Collaboration factor
CF (p) = Collaboration factor for project p = percentage of coders in p
having contributed to other GNOME projects

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

16 / 23
Research context

Ecosystems

Gnome studies

R studies

Migrations
Collaboration factor
CF (p) = Collaboration factor for project p = percentage of coders in p
having contributed to other GNOME projects

10

Difference between global and local joiners

0

GIMP = 65.3%

−20

GTK+ = 94.8%

−10

Evolution = 85.1%
gimp
evolution
gtk+
1997

1998

1999

2000

2001

2002

2003

2004

2005

2006

2007

2008

2009

2010

2011

2012

Time

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

16 / 23
Research context

Ecosystems

Gnome studies

R studies

Migrations

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

17 / 23
Research context

Ecosystems

Gnome studies

R studies

Project clustering
Hierarchical clustering
Distance between two projects represents the similarity of their community
and the intensity of their members

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

18 / 23
Research context

gnome.boxes
Gnome studies

Ecosystems
gupnp.tools
gupnp.av
gupnp.vala

muine
monkey.media
gssdp
gupnp

Project clustering

Hierarchical clustering
postr

contact.lookup.applet
devilspie
librest

accounts.dialog
R studies

gnome.vfs

tasks

libsocialweb
Distance between two projects represents the similarity of their community
sound.juicer
pygobject
pygtk
and the intensity of their members
flow
gnome.admin.tools
system.tools.backends

Python clustering

gazpacho

gnoetry.extra
gnome.chart

pygio

bonobo.python
pybank

gnome.python.extras
pygda

gnome.python.desktop

release.notes
pygoocanvas

gnome.python

mhonarc
gael
libglade
dia.newcanvas
gnorpm

fontilus
nautilus.rpm

pygnome
pyorbit
viewcvs.web
blogs.web
jhmenu

gnome.web.photo

Ma¨lick Claes (UMONS)
e

d.feet
pygtk.web
gir.repository
pygi

gnome.webkit
Ecological Studies of Open Source Software Ecosystems
drwright

gfloppy
2013/09/18

18 / 23
libgnomeservice
Research context

Ecosystems

evolution.xmltv
gjobs

gnome.sharing
Gnome
gnomepedia studies

R studies

atomato
gnome.reset
Project clustering
gnome.backup

Perl clustering

libgda.perl
bonobo.support
gda.evolution

perl.Glib
perl.Gtk2
glib.controller
perl.Gtk2.SourceView
perl.Gtk2.Recent
gtkunique
perl.Clutter

json.glib
pyclutter
unique
perl.Gnome2.GConf
perl.Gnome2.Print
clutter.gtk
gnome.dictionary
perl.Gnome2.Notify
perl.Gtk2.TrayManager
perl.Cairo.GObject
perl.GStreamer.GConf
perl.Gnome2.Canvas
perl.Gtk2.Spell
perl.Gtk2.GladeXML
perl.ExtUtils.Depends
perl.Cairo
perl.Glib.Object.Introspection
perl.Gnome2
perl.GStreamer
perl.Gnome2.VFS
perl.ExtUtils.PkgConfig
perl.Gnome2.Wnck
perl.Gtk3
perl.Gnome2.Rsvg
perl.Gnome2.Vte
gnome.perl.introspection
perl.Gtk2.MozEmbed
perl.GStreamer.Interfaces
perl.Pango
perl.Gnome2.PanelApplet
perl.Glib.IO
perl.Gnome2.Dia
perl.Gtk2.TrayIcon
Ma¨lick Claes (UMONS)
e
Ecological Studies of Open Source Software Ecosystems

litespeed
libzvt
gtk.vnc

2013/09/18

19 / 23
Research context

Ecosystems

Gnome studies

R studies

Project clustering
Language clustering
C●

1e+07

● C++

C/C++ Header
●

C#● ●Python
Perl
JS● ●
PHP
●

LOC

Visual
●

Basic
Lisp

●

1e+05

●Java
●

IDL

yacc

●

Ruby
Objective C
●

●

Tcl/Tk Assembly
●
●
●
lex
●ASP.Net
●

Objective C++

●Haskell

100

Ma¨lick Claes (UMONS)
e

1000
Files

Ecological Studies of Open Source Software Ecosystems

10000

2013/09/18

20 / 23
Research context

Ecosystems

Gnome studies

R studies

1 Research context

2 Ecosystems

3 Gnome studies

4 R studies

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

21 / 23
Research context

Ecosystems

Gnome studies

R studies

R Ecosystem

Open Source statistical analysis environment based on the S language
Highly used by (non computer) scientists
Modules, libraries and software installed using a package system
Comprehensive R Archive Network (CRAN):
∼ 4500 maintained packages
∼10 years of history
Very strict policy: unmaintained or buggy packages are archived
⇒ problems arises: dependency breaks, scientific studies reproducibility

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

22 / 23
Research context

Ecosystems

Gnome studies

R studies

Dependency graphs

Ma¨lick Claes (UMONS)
e

Ecological Studies of Open Source Software Ecosystems

2013/09/18

23 / 23

More Related Content

Similar to 130918 maelick claes - ecological studies of open source software ecosystems

Dr Lael Parrott at the Landscape Science Cluster Seminar, May 2009
Dr Lael Parrott at the Landscape Science Cluster Seminar, May 2009Dr Lael Parrott at the Landscape Science Cluster Seminar, May 2009
Dr Lael Parrott at the Landscape Science Cluster Seminar, May 2009
pdalby
 
Applying biological evolution to software ecosystems: A case study with Gnome
Applying biological evolution to software ecosystems: A case study with GnomeApplying biological evolution to software ecosystems: A case study with Gnome
Applying biological evolution to software ecosystems: A case study with Gnome
Tom Mens
 
Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)
Danilo Pianini
 
Advancing Spatio-temporal Analysis of Ecological Data Examples in R.pdf
Advancing Spatio-temporal Analysis of Ecological Data  Examples in R.pdfAdvancing Spatio-temporal Analysis of Ecological Data  Examples in R.pdf
Advancing Spatio-temporal Analysis of Ecological Data Examples in R.pdf
Sabrina Green
 
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software EcosystemSocial and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
Tom Mens
 
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software EcosystemSocial and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
econst
 
Modelling tools
Modelling toolsModelling tools
Modelling tools
Christelle R.
 
Slides Sustainable Urban Environments
Slides Sustainable Urban EnvironmentsSlides Sustainable Urban Environments
Slides Sustainable Urban Environments
Delft Environment Initiative TU Delft
 
MOD2014-Mens-Lecture2
MOD2014-Mens-Lecture2MOD2014-Mens-Lecture2
MOD2014-Mens-Lecture2
Tom Mens
 
Towards a comprehensive approach to spontaneous self-composition in pervasive...
Towards a comprehensive approach to spontaneous self-composition in pervasive...Towards a comprehensive approach to spontaneous self-composition in pervasive...
Towards a comprehensive approach to spontaneous self-composition in pervasive...
Danilo Pianini
 
Open Source Software for GIS
Open Source Software for GISOpen Source Software for GIS
Open Source Software for GIS
Robin Lovelace
 
Migration patterns of open source ecosystem contributors - An empirical case ...
Migration patterns of open source ecosystem contributors - An empirical case ...Migration patterns of open source ecosystem contributors - An empirical case ...
Migration patterns of open source ecosystem contributors - An empirical case ...
Tom Mens
 
Citizen science project list (Europe & worldwide) v1
Citizen science project list (Europe & worldwide) v1Citizen science project list (Europe & worldwide) v1
Citizen science project list (Europe & worldwide) v1
Egle Marija Ramanauskaite
 
Future direction of geoinfomatics
Future direction of geoinfomaticsFuture direction of geoinfomatics
Future direction of geoinfomatics
Institute of Space Knowledge Development
 
Blue Green Toolkit
Blue Green ToolkitBlue Green Toolkit
Blue Green Toolkit
Lan Hoang
 
Modeling for Sustainability
Modeling for SustainabilityModeling for Sustainability
Modeling for Sustainability
Benoit Combemale
 
Sustainable domestic wastewater treatment in urban areas
Sustainable domestic wastewater treatment in urban areasSustainable domestic wastewater treatment in urban areas
Sustainable domestic wastewater treatment in urban areas
Retired from Saxion University of Applied Sciences
 
MOD2014-Mens-Lecture1
MOD2014-Mens-Lecture1MOD2014-Mens-Lecture1
MOD2014-Mens-Lecture1
Tom Mens
 
Software Sustainability Institute
Software Sustainability InstituteSoftware Sustainability Institute
Software Sustainability Institute
Neil Chue Hong
 
Oliver Sola 7486
Oliver Sola 7486Oliver Sola 7486
Oliver Sola 7486
ecocity2008
 

Similar to 130918 maelick claes - ecological studies of open source software ecosystems (20)

Dr Lael Parrott at the Landscape Science Cluster Seminar, May 2009
Dr Lael Parrott at the Landscape Science Cluster Seminar, May 2009Dr Lael Parrott at the Landscape Science Cluster Seminar, May 2009
Dr Lael Parrott at the Landscape Science Cluster Seminar, May 2009
 
Applying biological evolution to software ecosystems: A case study with Gnome
Applying biological evolution to software ecosystems: A case study with GnomeApplying biological evolution to software ecosystems: A case study with Gnome
Applying biological evolution to software ecosystems: A case study with Gnome
 
Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)
 
Advancing Spatio-temporal Analysis of Ecological Data Examples in R.pdf
Advancing Spatio-temporal Analysis of Ecological Data  Examples in R.pdfAdvancing Spatio-temporal Analysis of Ecological Data  Examples in R.pdf
Advancing Spatio-temporal Analysis of Ecological Data Examples in R.pdf
 
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software EcosystemSocial and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
 
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software EcosystemSocial and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
 
Modelling tools
Modelling toolsModelling tools
Modelling tools
 
Slides Sustainable Urban Environments
Slides Sustainable Urban EnvironmentsSlides Sustainable Urban Environments
Slides Sustainable Urban Environments
 
MOD2014-Mens-Lecture2
MOD2014-Mens-Lecture2MOD2014-Mens-Lecture2
MOD2014-Mens-Lecture2
 
Towards a comprehensive approach to spontaneous self-composition in pervasive...
Towards a comprehensive approach to spontaneous self-composition in pervasive...Towards a comprehensive approach to spontaneous self-composition in pervasive...
Towards a comprehensive approach to spontaneous self-composition in pervasive...
 
Open Source Software for GIS
Open Source Software for GISOpen Source Software for GIS
Open Source Software for GIS
 
Migration patterns of open source ecosystem contributors - An empirical case ...
Migration patterns of open source ecosystem contributors - An empirical case ...Migration patterns of open source ecosystem contributors - An empirical case ...
Migration patterns of open source ecosystem contributors - An empirical case ...
 
Citizen science project list (Europe & worldwide) v1
Citizen science project list (Europe & worldwide) v1Citizen science project list (Europe & worldwide) v1
Citizen science project list (Europe & worldwide) v1
 
Future direction of geoinfomatics
Future direction of geoinfomaticsFuture direction of geoinfomatics
Future direction of geoinfomatics
 
Blue Green Toolkit
Blue Green ToolkitBlue Green Toolkit
Blue Green Toolkit
 
Modeling for Sustainability
Modeling for SustainabilityModeling for Sustainability
Modeling for Sustainability
 
Sustainable domestic wastewater treatment in urban areas
Sustainable domestic wastewater treatment in urban areasSustainable domestic wastewater treatment in urban areas
Sustainable domestic wastewater treatment in urban areas
 
MOD2014-Mens-Lecture1
MOD2014-Mens-Lecture1MOD2014-Mens-Lecture1
MOD2014-Mens-Lecture1
 
Software Sustainability Institute
Software Sustainability InstituteSoftware Sustainability Institute
Software Sustainability Institute
 
Oliver Sola 7486
Oliver Sola 7486Oliver Sola 7486
Oliver Sola 7486
 

More from Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
Ptidej Team
 
Presentation
PresentationPresentation
Presentation
Ptidej Team
 
Presentation
PresentationPresentation
Presentation
Ptidej Team
 
Presentation
PresentationPresentation
Presentation
Ptidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
Ptidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
Ptidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
Ptidej Team
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
Ptidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
Ptidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
Ptidej Team
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
Ptidej Team
 
MIPA
MIPAMIPA
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
Ptidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
Ptidej Team
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
Ptidej Team
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
Ptidej Team
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
Ptidej Team
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
Ptidej Team
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
Ptidej Team
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
Ptidej Team
 

More from Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

Recently uploaded

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 

Recently uploaded (20)

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 

130918 maelick claes - ecological studies of open source software ecosystems

  • 1. Ecological Studies of Open Source Software Ecosystems Empirical case studies with Gnome and R Ma¨lick Claes, Tom Mens e Software Engineering Lab, Computer Science Department Faculty of Science, University of Mons 18th September 2013
  • 2. Research context Ecosystems Gnome studies R studies 1 Research context 2 Ecosystems 3 Gnome studies 4 R studies Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 2 / 23
  • 3. Research context Ecosystems Gnome studies R studies ECOS (bit.ly/ecos-project) Interdisciplinary project called “Ecological Studies of Open Source Software Ecosystems” at the University of Mons (Belgium) Tom Mens - Software Engineering Lab Philippe Grosjeans - Numerical Ecology of Aquatic Systems Lab (ECONUM) Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 3 / 23
  • 4. Research context Ecosystems Gnome studies R studies Long-term goals How far can we drive the analogy between natural and software ecosystems? Determine the main factors that drive the success or failure of OSS projects within their ecosystem Investigate new techniques and mechanisms to predict and/or improve survivability of OSS projects Inspired by research in biological ecology Use these insights to help the developer community to improve upon their practices companies and users to compare and adopt OSS projects Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 4 / 23
  • 5. Research context Ecosystems Gnome studies R studies 1 Research context 2 Ecosystems 3 Gnome studies 4 R studies Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 5 / 23
  • 6. Research context Ecosystems Gnome studies R studies Biological Ecosystem Ecosystem Example: coral reef Physical and biological components of an environment considered in relation to each other as a unit High biodiversity: polyps, sea anemones, fish, mollusks, sponges, algae combines all living organisms (plants, animals, micro-organisms) and physical components (light, water, soil, rocks, minerals) Ecology Scientific study of the interactions that determine the distribution and abundance of organisms Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 6 / 23
  • 7. Research context Ecosystems Gnome studies R studies Software Ecosystem Business-oriented software ecosystem “a set of actors functioning as a unit and interacting with a shared market for software and services, together with the relationships among them.” (Jansen et al. 2009) Examples “App Stores” (Android, iOS) Ma¨lick Claes (UMONS) e Eclipse platform & plugins Ecological Studies of Open Source Software Ecosystems 2013/09/18 7 / 23
  • 8. Research context Ecosystems Gnome studies R studies Software Ecosystem Development-centric view “a collection of software products that have some given degree of symbiotic relationships.” (MesserschmiK & Szyperski 2003) “a collection of software projects that are developed and evolve together in the same environment.” (Lungu 2008) Examples GNOME & KDE Linux distributions ( Debian, Ubuntu) ’s CRAN and others (CPAN, CTAN, . . . ) Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 8 / 23
  • 9. Research context Ecosystems Gnome studies R studies Biological and Software Ecosystems in Summary Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 9 / 23
  • 10. Research context Ecosystems Gnome studies R studies Biological and Software Ecosystems in Summary Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 9 / 23
  • 11. Research context Ecosystems Gnome studies R studies 1 Research context 2 Ecosystems 3 Gnome studies 4 R studies Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 10 / 23
  • 12. Research context Ecosystems Gnome studies R studies Reticulate evolution Darwinian evolution cannot Scleractinian coral polyps always explain evolution of some species: causes are not always related to natural selection The evolution tree of life: acyclic graph Reticulation: hybrid speciation, horizontal gene transfer Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 11 / 23
  • 13. Research context Ecosystems Gnome studies R studies Migrations Initial motivation Horizontal gene transfer between projects? Genotype of a project: contributors Phenotype of a project: code Can we make a parallel between code duplication and contributors? Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 12 / 23
  • 14. Research context Ecosystems Gnome studies R studies Migrations Initial motivation Horizontal gene transfer between projects? Genotype of a project: contributors Phenotype of a project: code Can we make a parallel between code duplication and contributors? Questions Do joiners come from other GNOME projects or from outside the ecosystem? Do leavers tend to stay within other GNOME projects? Does migration patterns change over time? Do some projects attract or loose more contributors than others? Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 12 / 23
  • 15. Research context Ecosystems Gnome studies R studies Migrations GNOME git repositories 16 years of history (1997 to 2012) 1,418 projects (stored in git repositories) 1,315,997 commits 11,094 identities, 5,923 distinct persons after identity merging Metrics for 6-month periods Local joiners Global joiners Local leavers Global leavers Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 13 / 23
  • 16. Research context Ecosystems Gnome studies R studies Migrations Local vs. global trend −20 −10 0 10 Difference between global and local joiners gimp evolution gtk+ 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 Time Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 14 / 23
  • 17. Research context Ecosystems Gnome studies R studies Migrations Local vs. global trend −20 −15 −10 −5 0 5 10 Difference between global and local leavers gimp evolution gtk+ 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 Time Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 15 / 23
  • 18. Research context Ecosystems Gnome studies R studies Migrations Collaboration factor CF (p) = Collaboration factor for project p = percentage of coders in p having contributed to other GNOME projects Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 16 / 23
  • 19. Research context Ecosystems Gnome studies R studies Migrations Collaboration factor CF (p) = Collaboration factor for project p = percentage of coders in p having contributed to other GNOME projects 10 Difference between global and local joiners 0 GIMP = 65.3% −20 GTK+ = 94.8% −10 Evolution = 85.1% gimp evolution gtk+ 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 Time Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 16 / 23
  • 20. Research context Ecosystems Gnome studies R studies Migrations Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 17 / 23
  • 21. Research context Ecosystems Gnome studies R studies Project clustering Hierarchical clustering Distance between two projects represents the similarity of their community and the intensity of their members Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 18 / 23
  • 22. Research context gnome.boxes Gnome studies Ecosystems gupnp.tools gupnp.av gupnp.vala muine monkey.media gssdp gupnp Project clustering Hierarchical clustering postr contact.lookup.applet devilspie librest accounts.dialog R studies gnome.vfs tasks libsocialweb Distance between two projects represents the similarity of their community sound.juicer pygobject pygtk and the intensity of their members flow gnome.admin.tools system.tools.backends Python clustering gazpacho gnoetry.extra gnome.chart pygio bonobo.python pybank gnome.python.extras pygda gnome.python.desktop release.notes pygoocanvas gnome.python mhonarc gael libglade dia.newcanvas gnorpm fontilus nautilus.rpm pygnome pyorbit viewcvs.web blogs.web jhmenu gnome.web.photo Ma¨lick Claes (UMONS) e d.feet pygtk.web gir.repository pygi gnome.webkit Ecological Studies of Open Source Software Ecosystems drwright gfloppy 2013/09/18 18 / 23
  • 23. libgnomeservice Research context Ecosystems evolution.xmltv gjobs gnome.sharing Gnome gnomepedia studies R studies atomato gnome.reset Project clustering gnome.backup Perl clustering libgda.perl bonobo.support gda.evolution perl.Glib perl.Gtk2 glib.controller perl.Gtk2.SourceView perl.Gtk2.Recent gtkunique perl.Clutter json.glib pyclutter unique perl.Gnome2.GConf perl.Gnome2.Print clutter.gtk gnome.dictionary perl.Gnome2.Notify perl.Gtk2.TrayManager perl.Cairo.GObject perl.GStreamer.GConf perl.Gnome2.Canvas perl.Gtk2.Spell perl.Gtk2.GladeXML perl.ExtUtils.Depends perl.Cairo perl.Glib.Object.Introspection perl.Gnome2 perl.GStreamer perl.Gnome2.VFS perl.ExtUtils.PkgConfig perl.Gnome2.Wnck perl.Gtk3 perl.Gnome2.Rsvg perl.Gnome2.Vte gnome.perl.introspection perl.Gtk2.MozEmbed perl.GStreamer.Interfaces perl.Pango perl.Gnome2.PanelApplet perl.Glib.IO perl.Gnome2.Dia perl.Gtk2.TrayIcon Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems litespeed libzvt gtk.vnc 2013/09/18 19 / 23
  • 24. Research context Ecosystems Gnome studies R studies Project clustering Language clustering C● 1e+07 ● C++ C/C++ Header ● C#● ●Python Perl JS● ● PHP ● LOC Visual ● Basic Lisp ● 1e+05 ●Java ● IDL yacc ● Ruby Objective C ● ● Tcl/Tk Assembly ● ● ● lex ●ASP.Net ● Objective C++ ●Haskell 100 Ma¨lick Claes (UMONS) e 1000 Files Ecological Studies of Open Source Software Ecosystems 10000 2013/09/18 20 / 23
  • 25. Research context Ecosystems Gnome studies R studies 1 Research context 2 Ecosystems 3 Gnome studies 4 R studies Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 21 / 23
  • 26. Research context Ecosystems Gnome studies R studies R Ecosystem Open Source statistical analysis environment based on the S language Highly used by (non computer) scientists Modules, libraries and software installed using a package system Comprehensive R Archive Network (CRAN): ∼ 4500 maintained packages ∼10 years of history Very strict policy: unmaintained or buggy packages are archived ⇒ problems arises: dependency breaks, scientific studies reproducibility Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 22 / 23
  • 27. Research context Ecosystems Gnome studies R studies Dependency graphs Ma¨lick Claes (UMONS) e Ecological Studies of Open Source Software Ecosystems 2013/09/18 23 / 23