130918 maelick claes - ecological studies of open source software ecosystems

27
Ecological Studies of Open Source Software Ecosystems Empirical case studies with Gnome and R Ma¨ elick Claes, Tom Mens Software Engineering Lab, Computer Science Department Faculty of Science, University of Mons 18th September 2013

description

Software systems, empricial studies, ecology, metaphor, software ecosystems

Transcript of 130918 maelick claes - ecological studies of open source software ecosystems

Page 1: 130918   maelick claes - ecological studies of open source software ecosystems

Ecological Studies of Open Source Software EcosystemsEmpirical case studies with Gnome and R

Maelick Claes, Tom Mens

Software Engineering Lab, Computer Science DepartmentFaculty of Science, University of Mons

18th September 2013

Page 2: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

1 Research context

2 Ecosystems

3 Gnome studies

4 R studies

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 2 / 23

Page 3: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

ECOS (bit.ly/ecos-project)

Interdisciplinary project called “Ecological Studies of Open SourceSoftware Ecosystems” at the University of Mons (Belgium)

Tom Mens - Software Engineering Lab

Philippe Grosjeans - Numerical Ecology of Aquatic Systems Lab(ECONUM)

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 3 / 23

Page 4: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Long-term goals

How far can we drive the analogy between natural and softwareecosystems?

Determine the main factors that drive the success or failure of OSSprojects within their ecosystem

Investigate new techniques and mechanisms to predict and/orimprove survivability of OSS projects

Inspired by research in biological ecology

Use these insights to help

the developer community to improve upon their practicescompanies and users to compare and adopt OSS projects

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 4 / 23

Page 5: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

1 Research context

2 Ecosystems

3 Gnome studies

4 R studies

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 5 / 23

Page 6: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Biological Ecosystem

Ecosystem

Physical and biological components of anenvironment considered in relation to eachother as a unit

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

Ecology

Scientific study of the interactions thatdetermine the distribution and abundanceof organisms

Example: coral reef

High biodiversity:polyps, seaanemones, fish,mollusks, sponges,algae

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 6 / 23

Page 7: 130918   maelick claes - ecological studies of open source software ecosystems

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 marketfor software and services, together with the relationships among them.”(Jansen et al. 2009)

Examples

“App Stores” (Android, iOS) Eclipse platform & plugins

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 7 / 23

Page 8: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Software Ecosystem

Development-centric view

“a collection of software products that have some given degree ofsymbiotic relationships.” (MesserschmiK & Szyperski 2003)

“a collection of software projects that are developed and evolvetogether in the same environment.” (Lungu 2008)

Examples

GNOME & KDE

Linux distributions ( Debian, Ubuntu)

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

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 8 / 23

Page 9: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Biological and Software Ecosystems in Summary

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 9 / 23

Page 10: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Biological and Software Ecosystems in Summary

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 9 / 23

Page 11: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

1 Research context

2 Ecosystems

3 Gnome studies

4 R studies

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 10 / 23

Page 12: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Reticulate evolution

Darwinian evolution cannotalways explain evolution of somespecies: causes are not alwaysrelated to natural selection

The evolution tree of life:acyclic graph

Reticulation: hybrid speciation,horizontal gene transfer

Scleractinian coral polyps

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 11 / 23

Page 13: 130918   maelick claes - ecological studies of open source software ecosystems

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 theecosystem?

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?

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 12 / 23

Page 14: 130918   maelick claes - ecological studies of open source software ecosystems

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 theecosystem?

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?

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 12 / 23

Page 15: 130918   maelick claes - ecological studies of open source software ecosystems

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

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 13 / 23

Page 16: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Migrations

Local vs. global trend

Time

−20

−10

010

1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

gimpevolutiongtk+

Difference between global and local joiners

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 14 / 23

Page 17: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Migrations

Local vs. global trend

Time

−20

−15

−10

−5

05

10

1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

gimpevolutiongtk+

Difference between global and local leavers

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 15 / 23

Page 18: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Migrations

Collaboration factor

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

GIMP = 65.3%

Evolution = 85.1%

GTK+ = 94.8%

Time

−20

−10

010

1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

gimpevolutiongtk+

Difference between global and local joiners

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 16 / 23

Page 19: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Migrations

Collaboration factor

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

GIMP = 65.3%

Evolution = 85.1%

GTK+ = 94.8%

Time

−20

−10

010

1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

gimpevolutiongtk+

Difference between global and local joiners

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 16 / 23

Page 20: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Migrations

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 17 / 23

Page 21: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Project clustering

Hierarchical clustering

Distance between two projects represents the similarity of their communityand the intensity of their members

Python clustering

ggetontv

gegl.editgraph.gtk

chessclockgruler

givgtkimageviewer

im.perlgeadowim.euro

canna.extdicgppthtmlim.canna

gnome.u2psim.freewnn

gtkimageviewplgtkimageviewpygtkimageview

gpointing.device.settingsgtkieembed

cifradognome.scan

gnome.musicmcatalog

glade..gtk..addons

gtk.css.enginegopersist

gtkmozeditgtkglext

gtkglextmmpygtkglextaugustfreeduc

SashComponentsSashMoSashXB

gbrainymistelix

gnome.doc.commonporting.doc

driveloptimystic

hardware.monitormonster.masher

evolution.rssgnoduino

sarmayelp.xsl

gnome.doc.utilsyelp.tools

deskbar.appletgnome.dvb.daemon

gnome.mudgtetrinet

libxml2libxsltgoobox

quick.lounge.appletfile.rollergthumb

gdlmmuniquemm

gnome.scheduleasyncworker

gcmglideseed

libgtkmozembed.javalibgtk.javaglib.java

java.gnomelibgnome.java

libbonobo.javalibglade.java

libgconf.javalibgtkhtml.java

libgnomevfs.javalibvte.java

emerillonemerillon.pluginsgeoclue.properties

libchamplainperl.Champlain

perl.Gtk2.Champlainperl.Gtk2.SourceView2

perl.Gtk2.Uniquexdfs

prcs2librepo

libedsioxdelta

themeweasel

fast.user.switch.appletlibgnetwork

gnomechatlibgircclient

libgtcpsocketgnome.web.wppognomeweb.wp

gnome.web.wwwnews.test.www

giommpaperbox

atomixlibpreview

atlasweb.gtkorg

aortagcalendar

gnome.test.specsgnome.test.tool

gprocviewsystem.details

gperfmeterGSAPIShare

opengl.glibseed.examples

gnombagxtar

libipoddevicepodsleuth

hyenapdfmod

dogtail.testsevolution.gconf.tools

gnome.cpufreq.appletbuoh

libgxpsgnome.weather

libgnome.volume.controlkbdraw

libgnomekbdgswitchit_plugins

gswitchitlibgswitchit

yagircgnomeircyagirc.old

gphotogphoto2

gphotoweblibgnomera

libgpiocowbell

strongwindsnowy

search.partytasque

gnome.softwarelibguniqueapp

byzanzswfdec.gnome

rupertrceditrcedit2

libgeetklibgeexml

autofiggnome..

astrolabegnome.dom

libcrocomlviewnemiver

gevicegyrus

trackervala

cluttercogl

gnome.filernethack

gnome.recentvmx.manager

livecd.projectmicrotinder

buildgimp.pspi

geglmmgnoteniepce

PolicyKit.gnomegnome.mount

libzapojitgnome.online.accounts

gnome.photossolang

gnomeradionetspeed

api.webmess.desktop.entries

gnome.jabbergtk.web

granitelibIDL

evolution.gconf.ldap.backendorbitals

libgcardgamegconf.perl

gnome.session.managerggvghex

grilo.mediaserver2grilo

grilo.pluginsguadec.web

guadec2010.webplanet.webwiki.web

gabygnomefr.web

NetworkManagernetwork.manager.applet

evolution.groupwisegnome.video.arcade

mobile.broadband.provider.infonetwork.manager.openswan

network.manager.openvpnnetwork.manager.pptpnetwork.manager.vpnc

network.manager.openconnectevolution.exchangeevolution.mapi

evolution.activesyncevolution.ews

gnome.color.managergnome.packagekit

gnome.power.managerlibcm

sysprofgtkparasite

libnotifynotification.daemon

evolution.brainreadaddress.editor

evolution.monoembedgnome.build.oldmooonsooon

gtk..libsigc..

almanahhitori

folkslibgdata

eogthe.board

form.makergxsnmp2glib

gdk.pixbufgtk.

bonobo.docgobject.doc

gcmmlibart_lgplgill

gdomemod_virgule

evolutionevolution.data.server

gnome.commongtkhtml

gnome.printer.addcamel.imap4

alleyoopgnome.volume.manager

battfinkwebeyes

toolchain.testsnautilus.image.converter

vala.testslibgnome.media.profiles

gb.rdpgcab

i18n.webclutter.gstreamermm

libsoupmmbookmark.applet

gnome.menu.editornautilus.open.terminal

aravislasem

timelineresapplet

homelandnetapplet

marlintomboy

libsoupgimmiesoup

gimp.data.extrasgimp.freetype

gimp.gapgimp.plugins.unstable

gimp.plugin.templategfm

gimp.web.develgnome.media

poptnotifier

giftoxicgnome.ooqs

gftpgpaint

gdm3gnome.font

gofficelibgsf

gnome.printlibgnomeprint

libgnomeprintuibaobab.before.gnome.utils.merge.and.split

baobabgnome.clocks

geditgedit.latex

gnome.tweak.toolgitg

gtksourceviewgedit.code.assistance

gedit.collaborationgedit.pluginslibgit2.glib

bablhorizon

sourcerankclutter.box2d

pinpointliboobs

system.tools.backends.clonegigglelibepc

murrinegtk.engines

gtk.theme.engine.clearlooksdatesjana

art.webcontacts

monetturbine

gnome.braillelibgail.gnome

accercisercaribou

vtegnome.games

aisleriotgnome.terminal

epiphany.extensionsgucharmap

gnome.chessgcalctool

gnome.calculatorlightsoff

gnome.mahjonggquadrapassel

swell.foopgnome.sudoku

gnome.nibblesgnome.mines

iagnognome.klotskifour.in.a.row

talignome.tetravex

five.or.moregnome.robots

gnome.admingxsnmp

glade.legacygoocanvas

epiphany.monopyphany

eazel.themeseazel.tools

gnome.system.toolsximian.setup.tools

achtunggooseguppi3

libredcarpetred.carpet

rcdrug

network.manager.netbookrcd.modules

bonobo.drawGBookgns

helix.installrc.python.libs

open.carpetrcd.mp

printmangnome.video.effects

model.exampleslock.servicedconf.editor

gconf.dconf.bridgemuine.shell

gvdbdbusfslibinotify

buildjmodel

glimmergnome.file.selector

vicious.build.scriptspiggie

gnome.old.applet.adapterganimal

geedrgenius2

drgeodr.geniusgenius

gnopvicious.extensions

achtung.oldgrapevine

gobpong

jhbuildlibrary.web

gnome.themesweb.devel.2

gnome.keyringgcr

libcryptuiseahorse

libgnome.keyringlibsecret

seahorse.sharingseahorse.nautilusseahorse.plugins

aptivategdesklets.extrasgupnp.dlna

gtksourceviewmmlibvtemm

libicallibical.trashed

glightoffpygtksourceview

gnome3.webgnome.icon.theme

gnome.getting.started.docsgnome.icon.theme.symbolic

libsoundsnotibat

gnome.ncpcouchdb.glib

evolution.couchdbgnome.db.web

mergeantgnome.dblibgnomedb

gnome.doormanethertermdeskscribe

gnome.transfer.managerencompass.htmlview

gnome.vfs.proxy.cappletgnome.pmlibelysium

elysium.downloadencompassencompass.oldepittance

evolution.webcalgnome.office

libgda.bonobolibgnomeservice

gnome.sharinggnomepedia

evolution.xmltvgjobs

atomatognome.reset

gnome.backuplibgda.perlbonobo.supportgda.evolution

litespeedlibzvt

gtk.vncperl.Glibperl.Gtk2

glib.controllerperl.Gtk2.SourceViewperl.Gtk2.Recent

gtkuniqueperl.Clutter

json.glibpyclutter

uniqueperl.Gnome2.GConfperl.Gnome2.Print

clutter.gtkgnome.dictionaryperl.Gnome2.Notify

perl.Gtk2.TrayManagerperl.Cairo.GObject

perl.GStreamer.GConfperl.Gnome2.Canvasperl.Gtk2.Spell

perl.Gtk2.GladeXMLperl.ExtUtils.Depends

perl.Cairoperl.Glib.Object.Introspection

perl.Gnome2perl.GStreamer

perl.Gnome2.VFSperl.ExtUtils.PkgConfig

perl.Gnome2.Wnckperl.Gtk3

perl.Gnome2.Rsvgperl.Gnome2.Vte

gnome.perl.introspectionperl.Gtk2.MozEmbed

perl.GStreamer.Interfacesperl.Pango

perl.Gnome2.PanelAppletperl.Glib.IO

perl.Gnome2.Diaperl.Gtk2.TrayIcon

perl.Gtk2.GLExtperl.Gtk2.Html2

gernelgwhois

atkgail

at.spi2.coreat.spi2.atkpyatspi2

at.spigok

gnome.magjava.access.bridge

gnome.launch.boxjamboreegossip

devhelpplanner

libmrprojectmrproject

blamloudmouth

criawipssapwood

camoramapassepartout

gnome.pilotgnome.pilot.conduits

nautilusbug.buddy

dotsgconf.editor

gnome.pimammonite

eazel.hackingnautilus.mozilla

stringliste.conffnlib

bugzilla.buddygnome.vfs.monikersnautilus.locked.folder

evolution.scalixgnome.debuglibgnomecups

gnome.cups.managerdryad

evo.conversationevolution.caldav

nautilus.rcnautilus.vcs

nautilus.monogdf.gdb

ximian.utilsgnome.chess.old

gIDEanjuta2scaffold

gnome.buildanjuta.extras

gdlgnome.sopwithplain.gnome

atechreleng

libgcolorsel2doorman

gnome.tinderboxlibgnomefilesel

themusbugzilla218crackpipe

happybirthdaygnome.webbugmasters

gnome.subtitlesGtkRio500

gcadglib.networking

glom.postgresql.setupgegl.gtkgegl.qt

file_menu_appletlibgweather

nautilus.gtkhtmlgnomokuradioactive

panel..bonobo.media

bonobo.clipboardmonkeybeans

libcappletcontrol.center

control.center.plusgnome.utilsgdict

gnome.system.loggnome.documents

libgdtempo

gnome.screenshotsushi

gnome.font.viewergnome.themes.standard

accounts.dialoggnome.boxes

gupnp.toolsgupnp.av

gupnp.valamuine

monkey.mediagssdpgupnp

gnome.vfscontact.lookup.applet

devilspielibrest

postrtasks

libsocialwebsound.juicer

pygobjectpygtk

flowgnome.admin.tools

system.tools.backendsgazpacho

gnoetry.extragnome.chart

d.feetpygtk.web

gir.repositorypygi

pygiobonobo.python

pybankrelease.notes

pygoocanvasgnome.python

gnome.python.desktopgnome.python.extras

pygdamhonarc

gaellibglade

dia.newcanvasgnorpm

pygnomepyorbit

viewcvs.webblogs.web

jhmenufontilus

nautilus.rpmgfloppy

gnome.web.photognome.webkitdrwright

gnome.gecko.embedgtk.quartz.engine

gtk.mac.bundlergtk.mac.integration

gtk.osxvinagrevino

gnome.networkpgmarket

saneobjIDLpyIDL

lxrlibastro

ktxmp.kt

j5testergnome.mailcheck

fplanfoundation.web

gnome.foundationpessulus

gnome.appletslibgnomebase

metacitymutter

sabayongnome.menus

gnome.netstatusgnome.nettool

gturingimlibee

gnome.games.deprecatedgdmeel

glick2gnio

gvfsgio.standalonegnome.contacts

libwnckgnome.desktopgnome.session

totembugzilla.212

galwaygnome.guilepygme

gnomovisiontrackerg

libglasslibsecsh

libsshreefgnome.screensavernautilus.cd.burner

bugzilla.newlibgnomecanvas

libgtkttygnome.main.menu

libslabgnome.linuxconf

rp3libPropListfoocanvas

gnome.control.centergnome.bluetooth

gnome.settings.daemonmango

sysadmin.binat.poke

openofficebonobo.activation

oafgb

libole2linc

ORBit2bonobo.backup

libbonobobonobo

libbonobouignome.gfdisk

libefslibefs2

bonobo.confbonobo.config

gconfpango.profilejava.libglom

perl.scriptssilex

gnoetrylibguppi

glibwww2guile.glade

guile.replgtktickersiobhan

glomglibmmgtkmmlibgdammgnomemmgtkmm.root

atkmmlibnotifymm

clutter.gtkmmcluttermm

gtkglarea..cluttermm_tutorial

librsvgmmmm.common

sigc.rootlibsigc..2

libpanelappletmmgrilomm

gtkmozembedmmgnomemm.website

rygel.gst.0.10.pluginslibgnomedbmm

pangommclutter.box2dmm

gtkmm_helloclutter.cairommgnomemm_hello

libgnomemmrygel.gst.0.10.media.enginegtkmm.documentation

libgnomeuimmgnome.vfsmm

libxml..gconfmm

goocanvasmmlibgnomecanvasmm

clutter.tutorialbakery

libglademmgo

presentmemprof

gdk.pixbuf.0eider

bookwormgtree

ApplicationManagercrux

narwhalgnome.mime.data

gnome.servicescorkboard

gnome.desktop.themesgnome.vfs.file.sel

audiofile.historicalgrpm

hyperbolaegg.list.boxgnome.blog

gobject.introspectiongsettings.desktop.schemas

magicdevgnome.vfs.extras

libbtctlgnome.user.share

nautilus.sendtototem.pl.parser

gnome.xcf.thumbnailernautilus.ideviceinfo

gmdnslastmile

gnome.lirc.propertiesbeefy

gnome.nds.thumbnailergnome.os

gnome.alsamixerveepncfontcarton

office.runnerdiscident.glib

qahoguf.viewwalk500

phonemgrlibbacon

acmegeocode.glib

libgtopgmf

gnome.objcmortadelo

gtkfilechoosernautilus.share

gtk.referencegitadmin.bin

orbit.perlglib.reference

pixbuf.engineshell.perf.web

gnorba.perlkanjipad

pango.weblibpcre

sfcorba.helper

baboongtkfe

monkey.bubblebonobo.extra

gtoplibgtop.backends

tempgnome.skelgdf.guile

gnome.debug.metaweb

guile.gobjecthalloween

gnome.docubonobo.tutorial

ORBit.martin.forkedgdf.test

debbugslibgtop.docu

libgtop.bindingsHtmlFormatweb.mirror

ggdbgdb.guile

libgtop.appsgtop2

libgtop.examplesgpda

gemgnome.devel

gnome.javagtkGL

gcolorsel2sketch

audionbeast.data

carnegieeears

gnome.coregnome.panel

gnome.libslibgnomeui

libgnomelibgnome1.compat

gjsg.printgnoom

luminocitygtk.booksplinter

ostreeprezilla

gdeck.oldAisleRiot2

CWordHelpergnome.druid

xdg.user.dirs.gtkgnome.colorsel

pythemeanders.the.mime

gdeckgreetergscript

gtkDPSgnoghurtmemdglade2c

language.bindingsezpaintmsm

gtk..plotgep

gconf.xsettingsxml.browser

gtk..enterprise.editionlibggc

local.export.daemongtk..draw

scratchpadGGADgdate

control.center.hackedsystem.tray.appletdesktop.vfs.module

guile.serversugar

gnome.desktop.oldgtkscan

desktop.file.validatorggcov

bigboarddesktop.data.model

tktext.portguppiguppi2

hippo.canvasonline.desktop

whiteboardstorage

yarrr.oldyarrr

gnome.ostree.integrationdocbook.dtdsvala.bootstrap

libmetatermlibgsystemostree.init

telegnomegnome.talos

java.gobject.introspection.exampleslinux.user.chroot

gnome.ostreejava.gobject.introspection

eggcupshotssh

net.rhythmboxwebkitgtk.tarball.releases

gnome.shellalacarte

extensions.webgnome.initial.setup

0.0 0.2 0.4 0.6 0.8 1.0

Cluster D

endrogram

hclust (*, "single")df3.dist

Height

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 18 / 23

Page 22: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Project clustering

Hierarchical clustering

Distance between two projects represents the similarity of their communityand the intensity of their members

Python clustering

ggetontv

gegl.editgraph.gtk

chessclockgruler

givgtkimageviewer

im.perlgeadowim.euro

canna.extdicgppthtmlim.canna

gnome.u2psim.freewnn

gtkimageviewplgtkimageviewpygtkimageview

gpointing.device.settingsgtkieembed

cifradognome.scan

gnome.musicmcatalog

glade..gtk..addons

gtk.css.enginegopersist

gtkmozeditgtkglext

gtkglextmmpygtkglextaugustfreeduc

SashComponentsSashMoSashXB

gbrainymistelix

gnome.doc.commonporting.doc

driveloptimystic

hardware.monitormonster.masher

evolution.rssgnoduino

sarmayelp.xsl

gnome.doc.utilsyelp.tools

deskbar.appletgnome.dvb.daemon

gnome.mudgtetrinet

libxml2libxsltgoobox

quick.lounge.appletfile.rollergthumb

gdlmmuniquemm

gnome.scheduleasyncworker

gcmglideseed

libgtkmozembed.javalibgtk.javaglib.java

java.gnomelibgnome.java

libbonobo.javalibglade.java

libgconf.javalibgtkhtml.java

libgnomevfs.javalibvte.java

emerillonemerillon.pluginsgeoclue.properties

libchamplainperl.Champlain

perl.Gtk2.Champlainperl.Gtk2.SourceView2

perl.Gtk2.Uniquexdfs

prcs2librepo

libedsioxdelta

themeweasel

fast.user.switch.appletlibgnetwork

gnomechatlibgircclient

libgtcpsocketgnome.web.wppognomeweb.wp

gnome.web.wwwnews.test.www

giommpaperbox

atomixlibpreview

atlasweb.gtkorg

aortagcalendar

gnome.test.specsgnome.test.tool

gprocviewsystem.details

gperfmeterGSAPIShare

opengl.glibseed.examples

gnombagxtar

libipoddevicepodsleuth

hyenapdfmod

dogtail.testsevolution.gconf.tools

gnome.cpufreq.appletbuoh

libgxpsgnome.weather

libgnome.volume.controlkbdraw

libgnomekbdgswitchit_plugins

gswitchitlibgswitchit

yagircgnomeircyagirc.old

gphotogphoto2

gphotoweblibgnomera

libgpiocowbell

strongwindsnowy

search.partytasque

gnome.softwarelibguniqueapp

byzanzswfdec.gnome

rupertrceditrcedit2

libgeetklibgeexml

autofiggnome..

astrolabegnome.dom

libcrocomlviewnemiver

gevicegyrus

trackervala

cluttercogl

gnome.filernethack

gnome.recentvmx.manager

livecd.projectmicrotinder

buildgimp.pspi

geglmmgnoteniepce

PolicyKit.gnomegnome.mount

libzapojitgnome.online.accounts

gnome.photossolang

gnomeradionetspeed

api.webmess.desktop.entries

gnome.jabbergtk.web

granitelibIDL

evolution.gconf.ldap.backendorbitals

libgcardgamegconf.perl

gnome.session.managerggvghex

grilo.mediaserver2grilo

grilo.pluginsguadec.web

guadec2010.webplanet.webwiki.web

gabygnomefr.web

NetworkManagernetwork.manager.applet

evolution.groupwisegnome.video.arcade

mobile.broadband.provider.infonetwork.manager.openswan

network.manager.openvpnnetwork.manager.pptpnetwork.manager.vpnc

network.manager.openconnectevolution.exchangeevolution.mapi

evolution.activesyncevolution.ews

gnome.color.managergnome.packagekit

gnome.power.managerlibcm

sysprofgtkparasite

libnotifynotification.daemon

evolution.brainreadaddress.editor

evolution.monoembedgnome.build.oldmooonsooon

gtk..libsigc..

almanahhitori

folkslibgdata

eogthe.board

form.makergxsnmp2glib

gdk.pixbufgtk.

bonobo.docgobject.doc

gcmmlibart_lgplgill

gdomemod_virgule

evolutionevolution.data.server

gnome.commongtkhtml

gnome.printer.addcamel.imap4

alleyoopgnome.volume.manager

battfinkwebeyes

toolchain.testsnautilus.image.converter

vala.testslibgnome.media.profiles

gb.rdpgcab

i18n.webclutter.gstreamermm

libsoupmmbookmark.applet

gnome.menu.editornautilus.open.terminal

aravislasem

timelineresapplet

homelandnetapplet

marlintomboy

libsoupgimmiesoup

gimp.data.extrasgimp.freetype

gimp.gapgimp.plugins.unstable

gimp.plugin.templategfm

gimp.web.develgnome.media

poptnotifier

giftoxicgnome.ooqs

gftpgpaint

gdm3gnome.font

gofficelibgsf

gnome.printlibgnomeprint

libgnomeprintuibaobab.before.gnome.utils.merge.and.split

baobabgnome.clocks

geditgedit.latex

gnome.tweak.toolgitg

gtksourceviewgedit.code.assistance

gedit.collaborationgedit.pluginslibgit2.glib

bablhorizon

sourcerankclutter.box2d

pinpointliboobs

system.tools.backends.clonegigglelibepc

murrinegtk.engines

gtk.theme.engine.clearlooksdatesjana

art.webcontacts

monetturbine

gnome.braillelibgail.gnome

accercisercaribou

vtegnome.games

aisleriotgnome.terminal

epiphany.extensionsgucharmap

gnome.chessgcalctool

gnome.calculatorlightsoff

gnome.mahjonggquadrapassel

swell.foopgnome.sudoku

gnome.nibblesgnome.mines

iagnognome.klotskifour.in.a.row

talignome.tetravex

five.or.moregnome.robots

gnome.admingxsnmp

glade.legacygoocanvas

epiphany.monopyphany

eazel.themeseazel.tools

gnome.system.toolsximian.setup.tools

achtunggooseguppi3

libredcarpetred.carpet

rcdrug

network.manager.netbookrcd.modules

bonobo.drawGBookgns

helix.installrc.python.libs

open.carpetrcd.mp

printmangnome.video.effects

model.exampleslock.servicedconf.editor

gconf.dconf.bridgemuine.shell

gvdbdbusfslibinotify

buildjmodel

glimmergnome.file.selector

vicious.build.scriptspiggie

gnome.old.applet.adapterganimal

geedrgenius2

drgeodr.geniusgenius

gnopvicious.extensions

achtung.oldgrapevine

gobpong

jhbuildlibrary.web

gnome.themesweb.devel.2

gnome.keyringgcr

libcryptuiseahorse

libgnome.keyringlibsecret

seahorse.sharingseahorse.nautilusseahorse.plugins

aptivategdesklets.extrasgupnp.dlna

gtksourceviewmmlibvtemm

libicallibical.trashed

glightoffpygtksourceview

gnome3.webgnome.icon.theme

gnome.getting.started.docsgnome.icon.theme.symbolic

libsoundsnotibat

gnome.ncpcouchdb.glib

evolution.couchdbgnome.db.web

mergeantgnome.dblibgnomedb

gnome.doormanethertermdeskscribe

gnome.transfer.managerencompass.htmlview

gnome.vfs.proxy.cappletgnome.pmlibelysium

elysium.downloadencompassencompass.oldepittance

evolution.webcalgnome.office

libgda.bonobolibgnomeservice

gnome.sharinggnomepedia

evolution.xmltvgjobs

atomatognome.reset

gnome.backuplibgda.perlbonobo.supportgda.evolution

litespeedlibzvt

gtk.vncperl.Glibperl.Gtk2

glib.controllerperl.Gtk2.SourceViewperl.Gtk2.Recent

gtkuniqueperl.Clutter

json.glibpyclutter

uniqueperl.Gnome2.GConfperl.Gnome2.Print

clutter.gtkgnome.dictionaryperl.Gnome2.Notify

perl.Gtk2.TrayManagerperl.Cairo.GObject

perl.GStreamer.GConfperl.Gnome2.Canvasperl.Gtk2.Spell

perl.Gtk2.GladeXMLperl.ExtUtils.Depends

perl.Cairoperl.Glib.Object.Introspection

perl.Gnome2perl.GStreamer

perl.Gnome2.VFSperl.ExtUtils.PkgConfig

perl.Gnome2.Wnckperl.Gtk3

perl.Gnome2.Rsvgperl.Gnome2.Vte

gnome.perl.introspectionperl.Gtk2.MozEmbed

perl.GStreamer.Interfacesperl.Pango

perl.Gnome2.PanelAppletperl.Glib.IO

perl.Gnome2.Diaperl.Gtk2.TrayIcon

perl.Gtk2.GLExtperl.Gtk2.Html2

gernelgwhois

atkgail

at.spi2.coreat.spi2.atkpyatspi2

at.spigok

gnome.magjava.access.bridge

gnome.launch.boxjamboreegossip

devhelpplanner

libmrprojectmrproject

blamloudmouth

criawipssapwood

camoramapassepartout

gnome.pilotgnome.pilot.conduits

nautilusbug.buddy

dotsgconf.editor

gnome.pimammonite

eazel.hackingnautilus.mozilla

stringliste.conffnlib

bugzilla.buddygnome.vfs.monikersnautilus.locked.folder

evolution.scalixgnome.debuglibgnomecups

gnome.cups.managerdryad

evo.conversationevolution.caldav

nautilus.rcnautilus.vcs

nautilus.monogdf.gdb

ximian.utilsgnome.chess.old

gIDEanjuta2scaffold

gnome.buildanjuta.extras

gdlgnome.sopwithplain.gnome

atechreleng

libgcolorsel2doorman

gnome.tinderboxlibgnomefilesel

themusbugzilla218crackpipe

happybirthdaygnome.webbugmasters

gnome.subtitlesGtkRio500

gcadglib.networking

glom.postgresql.setupgegl.gtkgegl.qt

file_menu_appletlibgweather

nautilus.gtkhtmlgnomokuradioactive

panel..bonobo.media

bonobo.clipboardmonkeybeans

libcappletcontrol.center

control.center.plusgnome.utilsgdict

gnome.system.loggnome.documents

libgdtempo

gnome.screenshotsushi

gnome.font.viewergnome.themes.standard

accounts.dialoggnome.boxes

gupnp.toolsgupnp.av

gupnp.valamuine

monkey.mediagssdpgupnp

gnome.vfscontact.lookup.applet

devilspielibrest

postrtasks

libsocialwebsound.juicer

pygobjectpygtk

flowgnome.admin.tools

system.tools.backendsgazpacho

gnoetry.extragnome.chart

d.feetpygtk.web

gir.repositorypygi

pygiobonobo.python

pybankrelease.notes

pygoocanvasgnome.python

gnome.python.desktopgnome.python.extras

pygdamhonarc

gaellibglade

dia.newcanvasgnorpm

pygnomepyorbit

viewcvs.webblogs.web

jhmenufontilus

nautilus.rpmgfloppy

gnome.web.photognome.webkitdrwright

gnome.gecko.embedgtk.quartz.engine

gtk.mac.bundlergtk.mac.integration

gtk.osxvinagrevino

gnome.networkpgmarket

saneobjIDLpyIDL

lxrlibastro

ktxmp.kt

j5testergnome.mailcheck

fplanfoundation.web

gnome.foundationpessulus

gnome.appletslibgnomebase

metacitymutter

sabayongnome.menus

gnome.netstatusgnome.nettool

gturingimlibee

gnome.games.deprecatedgdmeel

glick2gnio

gvfsgio.standalonegnome.contacts

libwnckgnome.desktopgnome.session

totembugzilla.212

galwaygnome.guilepygme

gnomovisiontrackerg

libglasslibsecsh

libsshreefgnome.screensavernautilus.cd.burner

bugzilla.newlibgnomecanvas

libgtkttygnome.main.menu

libslabgnome.linuxconf

rp3libPropListfoocanvas

gnome.control.centergnome.bluetooth

gnome.settings.daemonmango

sysadmin.binat.poke

openofficebonobo.activation

oafgb

libole2linc

ORBit2bonobo.backup

libbonobobonobo

libbonobouignome.gfdisk

libefslibefs2

bonobo.confbonobo.config

gconfpango.profilejava.libglom

perl.scriptssilex

gnoetrylibguppi

glibwww2guile.glade

guile.replgtktickersiobhan

glomglibmmgtkmmlibgdammgnomemmgtkmm.root

atkmmlibnotifymm

clutter.gtkmmcluttermm

gtkglarea..cluttermm_tutorial

librsvgmmmm.common

sigc.rootlibsigc..2

libpanelappletmmgrilomm

gtkmozembedmmgnomemm.website

rygel.gst.0.10.pluginslibgnomedbmm

pangommclutter.box2dmm

gtkmm_helloclutter.cairommgnomemm_hello

libgnomemmrygel.gst.0.10.media.enginegtkmm.documentation

libgnomeuimmgnome.vfsmm

libxml..gconfmm

goocanvasmmlibgnomecanvasmm

clutter.tutorialbakery

libglademmgo

presentmemprof

gdk.pixbuf.0eider

bookwormgtree

ApplicationManagercrux

narwhalgnome.mime.data

gnome.servicescorkboard

gnome.desktop.themesgnome.vfs.file.sel

audiofile.historicalgrpm

hyperbolaegg.list.boxgnome.blog

gobject.introspectiongsettings.desktop.schemas

magicdevgnome.vfs.extras

libbtctlgnome.user.share

nautilus.sendtototem.pl.parser

gnome.xcf.thumbnailernautilus.ideviceinfo

gmdnslastmile

gnome.lirc.propertiesbeefy

gnome.nds.thumbnailergnome.os

gnome.alsamixerveepncfontcarton

office.runnerdiscident.glib

qahoguf.viewwalk500

phonemgrlibbacon

acmegeocode.glib

libgtopgmf

gnome.objcmortadelo

gtkfilechoosernautilus.share

gtk.referencegitadmin.bin

orbit.perlglib.reference

pixbuf.engineshell.perf.web

gnorba.perlkanjipad

pango.weblibpcre

sfcorba.helper

baboongtkfe

monkey.bubblebonobo.extra

gtoplibgtop.backends

tempgnome.skelgdf.guile

gnome.debug.metaweb

guile.gobjecthalloween

gnome.docubonobo.tutorial

ORBit.martin.forkedgdf.test

debbugslibgtop.docu

libgtop.bindingsHtmlFormatweb.mirror

ggdbgdb.guile

libgtop.appsgtop2

libgtop.examplesgpda

gemgnome.devel

gnome.javagtkGL

gcolorsel2sketch

audionbeast.data

carnegieeears

gnome.coregnome.panel

gnome.libslibgnomeui

libgnomelibgnome1.compat

gjsg.printgnoom

luminocitygtk.booksplinter

ostreeprezilla

gdeck.oldAisleRiot2

CWordHelpergnome.druid

xdg.user.dirs.gtkgnome.colorsel

pythemeanders.the.mime

gdeckgreetergscript

gtkDPSgnoghurtmemdglade2c

language.bindingsezpaintmsm

gtk..plotgep

gconf.xsettingsxml.browser

gtk..enterprise.editionlibggc

local.export.daemongtk..draw

scratchpadGGADgdate

control.center.hackedsystem.tray.appletdesktop.vfs.module

guile.serversugar

gnome.desktop.oldgtkscan

desktop.file.validatorggcov

bigboarddesktop.data.model

tktext.portguppiguppi2

hippo.canvasonline.desktop

whiteboardstorage

yarrr.oldyarrr

gnome.ostree.integrationdocbook.dtdsvala.bootstrap

libmetatermlibgsystemostree.init

telegnomegnome.talos

java.gobject.introspection.exampleslinux.user.chroot

gnome.ostreejava.gobject.introspection

eggcupshotssh

net.rhythmboxwebkitgtk.tarball.releases

gnome.shellalacarte

extensions.webgnome.initial.setup

0.0 0.2 0.4 0.6 0.8 1.0

Cluster D

endrogram

hclust (*, "single")df3.dist

Height

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 18 / 23

Page 23: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Project clustering

Perl clustering

ggetontv

gegl.editgraph.gtk

chessclockgruler

givgtkimageviewer

im.perlgeadowim.euro

canna.extdicgppthtmlim.canna

gnome.u2psim.freewnn

gtkimageviewplgtkimageviewpygtkimageview

gpointing.device.settingsgtkieembed

cifradognome.scan

gnome.musicmcatalog

glade..gtk..addons

gtk.css.enginegopersist

gtkmozeditgtkglext

gtkglextmmpygtkglextaugustfreeduc

SashComponentsSashMoSashXB

gbrainymistelix

gnome.doc.commonporting.doc

driveloptimystic

hardware.monitormonster.masher

evolution.rssgnoduino

sarmayelp.xsl

gnome.doc.utilsyelp.tools

deskbar.appletgnome.dvb.daemon

gnome.mudgtetrinet

libxml2libxsltgoobox

quick.lounge.appletfile.rollergthumb

gdlmmuniquemm

gnome.scheduleasyncworker

gcmglideseed

libgtkmozembed.javalibgtk.javaglib.java

java.gnomelibgnome.java

libbonobo.javalibglade.java

libgconf.javalibgtkhtml.java

libgnomevfs.javalibvte.java

emerillonemerillon.pluginsgeoclue.properties

libchamplainperl.Champlain

perl.Gtk2.Champlainperl.Gtk2.SourceView2

perl.Gtk2.Uniquexdfs

prcs2librepo

libedsioxdelta

themeweasel

fast.user.switch.appletlibgnetwork

gnomechatlibgircclient

libgtcpsocketgnome.web.wppognomeweb.wp

gnome.web.wwwnews.test.www

giommpaperbox

atomixlibpreview

atlasweb.gtkorg

aortagcalendar

gnome.test.specsgnome.test.tool

gprocviewsystem.details

gperfmeterGSAPIShare

opengl.glibseed.examples

gnombagxtar

libipoddevicepodsleuth

hyenapdfmod

dogtail.testsevolution.gconf.tools

gnome.cpufreq.appletbuoh

libgxpsgnome.weather

libgnome.volume.controlkbdraw

libgnomekbdgswitchit_plugins

gswitchitlibgswitchit

yagircgnomeircyagirc.old

gphotogphoto2

gphotoweblibgnomera

libgpiocowbell

strongwindsnowy

search.partytasque

gnome.softwarelibguniqueapp

byzanzswfdec.gnome

rupertrceditrcedit2

libgeetklibgeexml

autofiggnome..

astrolabegnome.dom

libcrocomlviewnemiver

gevicegyrus

trackervala

cluttercogl

gnome.filernethack

gnome.recentvmx.manager

livecd.projectmicrotinder

buildgimp.pspi

geglmmgnoteniepce

PolicyKit.gnomegnome.mount

libzapojitgnome.online.accounts

gnome.photossolang

gnomeradionetspeed

api.webmess.desktop.entries

gnome.jabbergtk.web

granitelibIDL

evolution.gconf.ldap.backendorbitals

libgcardgamegconf.perl

gnome.session.managerggvghex

grilo.mediaserver2grilo

grilo.pluginsguadec.web

guadec2010.webplanet.webwiki.web

gabygnomefr.web

NetworkManagernetwork.manager.applet

evolution.groupwisegnome.video.arcade

mobile.broadband.provider.infonetwork.manager.openswan

network.manager.openvpnnetwork.manager.pptpnetwork.manager.vpnc

network.manager.openconnectevolution.exchangeevolution.mapi

evolution.activesyncevolution.ews

gnome.color.managergnome.packagekit

gnome.power.managerlibcm

sysprofgtkparasite

libnotifynotification.daemon

evolution.brainreadaddress.editor

evolution.monoembedgnome.build.oldmooonsooon

gtk..libsigc..

almanahhitori

folkslibgdata

eogthe.board

form.makergxsnmp2glib

gdk.pixbufgtk.

bonobo.docgobject.doc

gcmmlibart_lgplgill

gdomemod_virgule

evolutionevolution.data.server

gnome.commongtkhtml

gnome.printer.addcamel.imap4

alleyoopgnome.volume.manager

battfinkwebeyes

toolchain.testsnautilus.image.converter

vala.testslibgnome.media.profiles

gb.rdpgcab

i18n.webclutter.gstreamermm

libsoupmmbookmark.applet

gnome.menu.editornautilus.open.terminal

aravislasem

timelineresapplet

homelandnetapplet

marlintomboy

libsoupgimmiesoup

gimp.data.extrasgimp.freetype

gimp.gapgimp.plugins.unstable

gimp.plugin.templategfm

gimp.web.develgnome.media

poptnotifier

giftoxicgnome.ooqs

gftpgpaint

gdm3gnome.font

gofficelibgsf

gnome.printlibgnomeprint

libgnomeprintuibaobab.before.gnome.utils.merge.and.split

baobabgnome.clocks

geditgedit.latex

gnome.tweak.toolgitg

gtksourceviewgedit.code.assistance

gedit.collaborationgedit.pluginslibgit2.glib

bablhorizon

sourcerankclutter.box2d

pinpointliboobs

system.tools.backends.clonegigglelibepc

murrinegtk.engines

gtk.theme.engine.clearlooksdatesjana

art.webcontacts

monetturbine

gnome.braillelibgail.gnome

accercisercaribou

vtegnome.games

aisleriotgnome.terminal

epiphany.extensionsgucharmap

gnome.chessgcalctool

gnome.calculatorlightsoff

gnome.mahjonggquadrapassel

swell.foopgnome.sudoku

gnome.nibblesgnome.mines

iagnognome.klotskifour.in.a.row

talignome.tetravex

five.or.moregnome.robots

gnome.admingxsnmp

glade.legacygoocanvas

epiphany.monopyphany

eazel.themeseazel.tools

gnome.system.toolsximian.setup.tools

achtunggooseguppi3

libredcarpetred.carpet

rcdrug

network.manager.netbookrcd.modules

bonobo.drawGBookgns

helix.installrc.python.libs

open.carpetrcd.mp

printmangnome.video.effects

model.exampleslock.servicedconf.editor

gconf.dconf.bridgemuine.shell

gvdbdbusfslibinotify

buildjmodel

glimmergnome.file.selector

vicious.build.scriptspiggie

gnome.old.applet.adapterganimal

geedrgenius2

drgeodr.geniusgenius

gnopvicious.extensions

achtung.oldgrapevine

gobpong

jhbuildlibrary.web

gnome.themesweb.devel.2

gnome.keyringgcr

libcryptuiseahorse

libgnome.keyringlibsecret

seahorse.sharingseahorse.nautilusseahorse.plugins

aptivategdesklets.extrasgupnp.dlna

gtksourceviewmmlibvtemm

libicallibical.trashed

glightoffpygtksourceview

gnome3.webgnome.icon.theme

gnome.getting.started.docsgnome.icon.theme.symbolic

libsoundsnotibat

gnome.ncpcouchdb.glib

evolution.couchdbgnome.db.web

mergeantgnome.dblibgnomedb

gnome.doormanethertermdeskscribe

gnome.transfer.managerencompass.htmlview

gnome.vfs.proxy.cappletgnome.pmlibelysium

elysium.downloadencompassencompass.oldepittance

evolution.webcalgnome.office

libgda.bonobolibgnomeservice

gnome.sharinggnomepedia

evolution.xmltvgjobs

atomatognome.reset

gnome.backuplibgda.perlbonobo.supportgda.evolution

litespeedlibzvt

gtk.vncperl.Glibperl.Gtk2

glib.controllerperl.Gtk2.SourceViewperl.Gtk2.Recent

gtkuniqueperl.Clutter

json.glibpyclutter

uniqueperl.Gnome2.GConfperl.Gnome2.Print

clutter.gtkgnome.dictionaryperl.Gnome2.Notify

perl.Gtk2.TrayManagerperl.Cairo.GObject

perl.GStreamer.GConfperl.Gnome2.Canvasperl.Gtk2.Spell

perl.Gtk2.GladeXMLperl.ExtUtils.Depends

perl.Cairoperl.Glib.Object.Introspection

perl.Gnome2perl.GStreamer

perl.Gnome2.VFSperl.ExtUtils.PkgConfig

perl.Gnome2.Wnckperl.Gtk3

perl.Gnome2.Rsvgperl.Gnome2.Vte

gnome.perl.introspectionperl.Gtk2.MozEmbed

perl.GStreamer.Interfacesperl.Pango

perl.Gnome2.PanelAppletperl.Glib.IO

perl.Gnome2.Diaperl.Gtk2.TrayIcon

perl.Gtk2.GLExtperl.Gtk2.Html2

gernelgwhois

atkgail

at.spi2.coreat.spi2.atkpyatspi2

at.spigok

gnome.magjava.access.bridge

gnome.launch.boxjamboreegossip

devhelpplanner

libmrprojectmrproject

blamloudmouth

criawipssapwood

camoramapassepartout

gnome.pilotgnome.pilot.conduits

nautilusbug.buddy

dotsgconf.editor

gnome.pimammonite

eazel.hackingnautilus.mozilla

stringliste.conffnlib

bugzilla.buddygnome.vfs.monikersnautilus.locked.folder

evolution.scalixgnome.debuglibgnomecups

gnome.cups.managerdryad

evo.conversationevolution.caldav

nautilus.rcnautilus.vcs

nautilus.monogdf.gdb

ximian.utilsgnome.chess.old

gIDEanjuta2scaffold

gnome.buildanjuta.extras

gdlgnome.sopwithplain.gnome

atechreleng

libgcolorsel2doorman

gnome.tinderboxlibgnomefilesel

themusbugzilla218crackpipe

happybirthdaygnome.webbugmasters

gnome.subtitlesGtkRio500

gcadglib.networking

glom.postgresql.setupgegl.gtkgegl.qt

file_menu_appletlibgweather

nautilus.gtkhtmlgnomokuradioactive

panel..bonobo.media

bonobo.clipboardmonkeybeans

libcappletcontrol.center

control.center.plusgnome.utilsgdict

gnome.system.loggnome.documents

libgdtempo

gnome.screenshotsushi

gnome.font.viewergnome.themes.standard

accounts.dialoggnome.boxes

gupnp.toolsgupnp.av

gupnp.valamuine

monkey.mediagssdpgupnp

gnome.vfscontact.lookup.applet

devilspielibrest

postrtasks

libsocialwebsound.juicer

pygobjectpygtk

flowgnome.admin.tools

system.tools.backendsgazpacho

gnoetry.extragnome.chart

d.feetpygtk.web

gir.repositorypygi

pygiobonobo.python

pybankrelease.notes

pygoocanvasgnome.python

gnome.python.desktopgnome.python.extras

pygdamhonarc

gaellibglade

dia.newcanvasgnorpm

pygnomepyorbit

viewcvs.webblogs.web

jhmenufontilus

nautilus.rpmgfloppy

gnome.web.photognome.webkitdrwright

gnome.gecko.embedgtk.quartz.engine

gtk.mac.bundlergtk.mac.integration

gtk.osxvinagrevino

gnome.networkpgmarket

saneobjIDLpyIDL

lxrlibastro

ktxmp.kt

j5testergnome.mailcheck

fplanfoundation.web

gnome.foundationpessulus

gnome.appletslibgnomebase

metacitymutter

sabayongnome.menus

gnome.netstatusgnome.nettool

gturingimlibee

gnome.games.deprecatedgdmeel

glick2gnio

gvfsgio.standalonegnome.contacts

libwnckgnome.desktopgnome.session

totembugzilla.212

galwaygnome.guilepygme

gnomovisiontrackerg

libglasslibsecsh

libsshreefgnome.screensavernautilus.cd.burner

bugzilla.newlibgnomecanvas

libgtkttygnome.main.menu

libslabgnome.linuxconf

rp3libPropListfoocanvas

gnome.control.centergnome.bluetooth

gnome.settings.daemonmango

sysadmin.binat.poke

openofficebonobo.activation

oafgb

libole2linc

ORBit2bonobo.backup

libbonobobonobo

libbonobouignome.gfdisk

libefslibefs2

bonobo.confbonobo.config

gconfpango.profilejava.libglom

perl.scriptssilex

gnoetrylibguppi

glibwww2guile.glade

guile.replgtktickersiobhan

glomglibmmgtkmmlibgdammgnomemmgtkmm.root

atkmmlibnotifymm

clutter.gtkmmcluttermm

gtkglarea..cluttermm_tutorial

librsvgmmmm.common

sigc.rootlibsigc..2

libpanelappletmmgrilomm

gtkmozembedmmgnomemm.website

rygel.gst.0.10.pluginslibgnomedbmm

pangommclutter.box2dmm

gtkmm_helloclutter.cairommgnomemm_hello

libgnomemmrygel.gst.0.10.media.enginegtkmm.documentation

libgnomeuimmgnome.vfsmm

libxml..gconfmm

goocanvasmmlibgnomecanvasmm

clutter.tutorialbakery

libglademmgo

presentmemprof

gdk.pixbuf.0eider

bookwormgtree

ApplicationManagercrux

narwhalgnome.mime.data

gnome.servicescorkboard

gnome.desktop.themesgnome.vfs.file.sel

audiofile.historicalgrpm

hyperbolaegg.list.boxgnome.blog

gobject.introspectiongsettings.desktop.schemas

magicdevgnome.vfs.extras

libbtctlgnome.user.share

nautilus.sendtototem.pl.parser

gnome.xcf.thumbnailernautilus.ideviceinfo

gmdnslastmile

gnome.lirc.propertiesbeefy

gnome.nds.thumbnailergnome.os

gnome.alsamixerveepncfontcarton

office.runnerdiscident.glib

qahoguf.viewwalk500

phonemgrlibbacon

acmegeocode.glib

libgtopgmf

gnome.objcmortadelo

gtkfilechoosernautilus.share

gtk.referencegitadmin.bin

orbit.perlglib.reference

pixbuf.engineshell.perf.web

gnorba.perlkanjipad

pango.weblibpcre

sfcorba.helper

baboongtkfe

monkey.bubblebonobo.extra

gtoplibgtop.backends

tempgnome.skelgdf.guile

gnome.debug.metaweb

guile.gobjecthalloween

gnome.docubonobo.tutorial

ORBit.martin.forkedgdf.test

debbugslibgtop.docu

libgtop.bindingsHtmlFormatweb.mirror

ggdbgdb.guile

libgtop.appsgtop2

libgtop.examplesgpda

gemgnome.devel

gnome.javagtkGL

gcolorsel2sketch

audionbeast.data

carnegieeears

gnome.coregnome.panel

gnome.libslibgnomeui

libgnomelibgnome1.compat

gjsg.printgnoom

luminocitygtk.booksplinter

ostreeprezilla

gdeck.oldAisleRiot2

CWordHelpergnome.druid

xdg.user.dirs.gtkgnome.colorsel

pythemeanders.the.mime

gdeckgreetergscript

gtkDPSgnoghurtmemdglade2c

language.bindingsezpaintmsm

gtk..plotgep

gconf.xsettingsxml.browser

gtk..enterprise.editionlibggc

local.export.daemongtk..draw

scratchpadGGADgdate

control.center.hackedsystem.tray.appletdesktop.vfs.module

guile.serversugar

gnome.desktop.oldgtkscan

desktop.file.validatorggcov

bigboarddesktop.data.model

tktext.portguppiguppi2

hippo.canvasonline.desktop

whiteboardstorage

yarrr.oldyarrr

gnome.ostree.integrationdocbook.dtdsvala.bootstrap

libmetatermlibgsystemostree.init

telegnomegnome.talos

java.gobject.introspection.exampleslinux.user.chroot

gnome.ostreejava.gobject.introspection

eggcupshotssh

net.rhythmboxwebkitgtk.tarball.releases

gnome.shellalacarte

extensions.webgnome.initial.setup

0.0 0.2 0.4 0.6 0.8 1.0

Cluster D

endrogram

hclust (*, "single")df3.dist

Height

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 19 / 23

Page 24: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Project clustering

Language clustering

●●

●●

●●

●●

C

Java

Objective C

Python

Lisp

JS

ASP.Net

C/C++ HeaderC++

Perl

yacc

C#

IDL

HaskellObjective C++

lexAssembly

Visual Basic PHP

Ruby

Tcl/Tk

1e+05

1e+07

100 1000 10000Files

LOC

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 20 / 23

Page 25: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

1 Research context

2 Ecosystems

3 Gnome studies

4 R studies

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 21 / 23

Page 26: 130918   maelick claes - ecological studies of open source software ecosystems

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 historyVery strict policy: unmaintained or buggy packages are archived⇒ problems arises: dependency breaks, scientific studies reproducibility

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 22 / 23

Page 27: 130918   maelick claes - ecological studies of open source software ecosystems

Research context Ecosystems Gnome studies R studies

Dependency graphs

Maelick Claes (UMONS) Ecological Studies of Open Source Software Ecosystems 2013/09/18 23 / 23