SlideShare une entreprise Scribd logo
1  sur  49
Understanding the Evolution of
Socio-technical Aspects in
Open Source Ecosystems:
An Empirical Analysis of GNOME
Mathieu Goeminne
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Écosystème naturel
Définitions
•Écologie
‣L’étude scientifique des
interactions qui déterminent la
distribution et l’abondance des
organismes
•Écosystème
‣Les composants physiques et
biologiques d’un environnement
considéré
‣Comprend tous les
organismes vivants et les
composants physiques
Exemple: la mare
• Grande biodiversité:
oiseaux, insectes, poissons,
roseaux, nénuphares, …
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Écosystème logiciel
Définitions
• Une collection de produits
logiciels qui ont un certain
niveau de relations.
(Messerschmitt & Szyperski 2003)
• Une collection de projects
logiciels qui sont développés
et qui évoluent ensemble dans
le même environnement.
(Lungu 2008)
Exemples
• Gnome
KDE
• Debian
Ubuntu
• CRAN
•Apache
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Comparaison
écosystème logiciel
contributeursprojets
utilisateurs
développeurs
catégorie
A
catégorie
B
catégorie
C
environnement: plateforme et outils
logiciels et matériels, médias sociaux, ...
écosystème naturel
espèces vivantes
végétaux
animaux
micro-
organismes
habitat: sol, roche, air,
eau, lumière, ...
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Problématique
Vision
traditionnelle
Projet 1
Projet 2
Projet 3
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Problématique
Vision
traditionnelle
Projet 1
Projet 2
Projet 3
Vision socio-technique
Projet 1
Projet 2
Projet 3
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Problématique
Aider les communautés
impliquées dans
l'évolution des
écosystèmes logiciels
Développer des outils
pour aider les
communautés à améliorer
leur manière de travailler
Comprendre comment les
communautés
interagissent et
collaborent
Tableaux de bord,
Rapports
automatiques, etc.
Analyse empirique (des
aspects socio-techniques)
des écosystèmes logiciels
Création de
modèles, analyse
des relations entre
différents
phénomènes
Collecte,
extraction, et post-
traitement des
écosystèmes
étudiés
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Problématique
Aider les communautés
impliquées dans
l'évolution des
écosystèmes logiciels
Développer des outils
pour aider les
communautés à améliorer
leur manière de travailler
Comprendre comment les
communautés
interagissent et
collaborent
Tableaux de bord,
Rapports
automatiques, etc.
Analyse empirique (des
aspects socio-techniques)
des écosystèmes logiciels
Création de
modèles, analyse
des relations entre
différents
phénomènes
Collecte,
extraction, et post-
traitement des
écosystèmes
étudiés
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Outils de traitement des données
Bug
tracker
Extraction
Base de données
Fusion des
identités
Détection de
l'activité
Calcul de métriques
Post-traitement des données
...
Visualisation ...
Application
Rapports
Analyse
statistique
Code
source
Mailing list ...
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Outils de traitement des données
Bug
tracker
Extraction
Base de données
Fusion des
identités
Détection de
l'activité
Calcul de métriques
Post-traitement des données
...
Visualisation ...
Application
Rapports
Analyse
statistique
Code
source
Mailing list ...
Université de Mons Mathieu Goeminne
Fusion des identités
Understanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
DépôtsContributeurs
john
John Smith
Dépôt de code source
Mailing list
Bug tracker
john <js@gmail.com>
john@doe.org
johnny
john
John, Doe
Doe, John
john.doe@gmail.com
john_doe@hotmail.com
jdoe@gmail.com
John W. Doe
Jane
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Fusion des identités
Comparaison de
l’efficacité de 4 techniques
de détection des identités
similaires.
Référence
Logiciel
Technique de détection
Solution de référence Solution
Comparaison
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Exemple de résultats
Bird
Bird étendu
Simple
Amélioré
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Exemple de résultats
Bird
Bird étendu
Simple
Amélioré
Rappel
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Exemple de résultats
Bird
Bird étendu
Simple
Amélioré
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Exemple de résultats
Bird
Bird étendu
Simple
Amélioré
Précision
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
• La détection des identités similaires est difficile et
demande du temps.
• L’algorithme le plus simple fournit de bons
résultats (pour certains paramètres)!
• Des changements manuels sont toujours
nécessaires pour éliminer les erreurs de
détection.
• Prendre en compte les spécificités des projets
considérés peut améliorer la qualité des résultats.
Fusion des identités
Conclusions
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Outils de traitement des données
Bug
tracker
Extraction
Base de données
Fusion des
identités
Détection de
l'activité
Calcul de métriques
Post-traitement des données
...
Visualisation ...
Application
Rapports
Analyse
statistique
Code
source
Mailing list ...
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Outils de traitement des données
Bug
tracker
Extraction
Base de données
Fusion des
identités
Détection de
l'activité
Calcul de métriques
Post-traitement des données
...
Visualisation ...
Application
Rapports
Analyse
statistique
Code
source
Mailing list ...
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Détection du type d’activité
Question générale:
«Dans un dépôt de code source, qui fait quoi?»
Image
Code
Documentation
Traduction
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Associer un type d’activité
à chaque fichier
Basé sur [Robles06]
/foo/bar.c
Fichiers Règles
...
...
.*.c -> CODE
CODE
Activité
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Études empiriques
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Études empiriques
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Études empiriques
Utilisée pour
atteindre nos
objectifs.
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
GNOME
• Environnement de bureau (principalement sous Linux).
• 16 ans d’activité.
• Plus de 5.000 contributeurs ayant réalisé plus de
1.300.000 modifications dans plus de 1.400 projets.
• Ecosystème Open Source: l’historique entier de ses
projets est disponible.
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOMEUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Études réalisées
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Une communauté inégale?
Principe de Pareto:
80% des conséquences
proviennent de 20% des
causes.
0.0 0.2 0.4 0.6 0.8 1.0
0.00.20.40.60.81.0
Cumulative percentage of contributors
Cumulativepercentageofworkload
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Une communauté inégale?
4 systèmes étudiés:
Brasero Evince Wine GNOME
4 mesures de l’activité:
# commits # e-mails # rapports
d’erreur
# changements
dans un rapport
d’erreur
Université de Mons
Une communauté inégale?
Brasero
Evince
Wine
Gnome
Understanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Mathieu Goeminne
Université de Mons
Une communauté inégale?
Brasero
Evince
Wine
Gnome
Principe de
Pareto vérifié
Understanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Mathieu Goeminne
Université de Mons
Une communauté inégale?
Brasero
Evince
Wine
Gnome
Principe de
Pareto non
vérifié
Understanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Mathieu Goeminne
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
GNOME: une communauté inégale?
Université de Mons Mathieu Goeminne
Évolution de l’inégalité des distributions
Commits envoyés
E-mails envoyés
Rapports d’erreur modifiés
•Importante inégalité
•Inégalité globalement
croissante
Understanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Brasero Evince Wine
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Une communauté inégale?
Conclusion
• Le principe de Pareto est vérifié pour les systèmes
logiciels étudiés.
• La plupart du travail est réalisé par un petit groupe
de contributeurs très actifs, sauf dans le cas de
l’envoi de rapports d’erreur.
• De nombreux contributeurs ne sont impliqués
qu’occasionnellement.
Université de Mons
• Étude de l’implication des développeurs de
GNOME.
• Basée sur les dépôts de code source des
projets de GNOME.
• Prend en compte les différentes sortes
d’activités réalisées dans ces dépôts.
Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Spécialisation du travail dans la communauté
des développeurs de GNOME
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Deux questions
• Comment le travail varie-t-il
d’un projet de GNOME à un
autre?
• Comment le travail varie-t-il
d’un contributeur de
GNOME à un autre?
➡Mesure de l’activité utilisée:
le nombre de modifications
effectuées sur les fichiers.
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Métriques
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Principaux résultats
La quantité de travail est distribuée log-normalement entre
les projets de GNOME.
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Principaux résultats
Les activités de programmation, de documentation pour le
développeur, de traduction et de création des binaires
représentent le plus de travail.
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Différents comportements entre les
contributeurs les plus actifs et les moins actifs
Contributeurs occasionnels Contributeurs réguliers
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Spécialisation du travail:
Conclusions
• La quantité de travail des projets suit une distribution log-normale.
• La quantité de travail est principalement concentrée dans les activités de
programmation, de documentation pour les développeurs, de traduction et
de construction des binaires.
• La programmation est l’activité qui représente la plus grande activité de
travail.
• La plupart des contributeurs sont traducteurs ou écrivent de la
documentation pour les développeurs.
• Les contributeurs se restreignent à quelques types d’activité et ne
s’impliquent que dans un faible nombre de projets.
• Les contributeurs occasionnels sont généralement des traducteurs, tandis
que les contributeurs réguliers sont généralement des programmeurs.
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Conclusion générale
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Objectifs atteints
• Création d’un framework
permettant l’analyse de
l’évolution des écosystèmes
Open Source.
• Études empiriques de
GNOME pour comprendre
les interactions socio-
techniques présentes dans les
écosystèmes Open Source.
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Principaux résultats
• Dans les projets Open Source, la quantité de travail est
inégalement distribuée entre les contributeurs.
• Les contributeurs de GNOME ne sont pas uniformes:
différentes quantités de travail, différents comportements,
etc. Ils forment des sous-communautés
hétérogènes.
• La programmation, la construction de binaires, la traduction
et la documentation pour développeurs sont les activités
concentrant le plus d’efforts et de contributeurs, bien que
leurs sous-communautés aient des comportements
différents.
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Travaux futurs
• Création d’outils dédiés aux sous-communautés de
contributeurs.
• Développer et promouvoir une nouvelle génération d’outils
qui rendent explicites les liens entre les entités impliquées
dans l’évolution des logiciels.
• Utilisation de nos connaissances pour détecter et éviter les
problèmes potentiels dans les écosystèmes Open Source. Ex:
encourager les contributeurs impliqués dans des types
d’activité moins populaires mais potentiellement critiques, tels
que la gestion des bases de données.
• …
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Merci
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Merci
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Merci…
… à tous!
Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME
Publications
Mathieu Goeminne and Tom Mens. Towards the Analysis of Evolution OSS Ecosystems. In Proceedings of BENEVOL ’09, pages 30-35.
December 2009.
Mathieu Goeminne and Tom Mens. A framework for analysing and visualising open source software ecosystems. In Proceedings of EVOL and
IWPSE, pages 42-47. ACM, 2010.
Tom Mens and Mathieu Goeminne. Analysing the evolution of social aspects of open source software ecosystems. In Proceedings of Workshop
on Software Ecosystems. 2011.
Tom Mens and Mathieu Goeminne. Analyse de l’évolution des aspects sociaux dans les projets open source. In Proceedings of the thirth
conference on Groupement De Recherche CNRS du Génie de la Programmation et du logiciel. June 2011.
Mathieu Goeminne and Tom Mens. A comparison of identity merge algorithms for software repositories. Science of Computer Programming,
(0):-, 2011.
Mathieu Goeminne and Tom Mens. Evidence for the Pareto Principle in Open Source Software Activity. CSMR 2011 Workshop on Software
Quality and Maintainability (SQM), volume 701. March 2011.
J.J. Pérez, R. Deshayes, M. Goeminne, and T. Mens. Seconda: Software ecosystem analysis dashboard. In Proceedings of CSMR ’12, pages
527-530. 2012.
Mathieu Goeminne and Tom Mens. Analysing ecosystems for open source software development communities. In Software Ecosystems.
Edward Elgar, april 2013.
B.Vasilescu,A. Serebrenik, M. Goeminne, and T. Mens. On the variation and specialisation of workload - A case study of the Gnome ecosystem
community. Empirical Software Engineering, pages 1-54, 2013.
M. Goeminne, M. Claes, and T. Mens. A historical dataset for the Gnome ecosystem. In Proceedings of MSR ’13, pages 225-228. 2013.

Contenu connexe

En vedette

Diffusion Vs Osmosis
Diffusion Vs OsmosisDiffusion Vs Osmosis
Diffusion Vs OsmosisNatasha Kaur
 
Visualizing Data Effectively
Visualizing Data EffectivelyVisualizing Data Effectively
Visualizing Data EffectivelyJon Hirst
 
26501308 Durood Shareef
26501308  Durood  Shareef26501308  Durood  Shareef
26501308 Durood ShareefSyeda Ali
 
Riskpro capital markets industry 2013
Riskpro capital markets industry 2013Riskpro capital markets industry 2013
Riskpro capital markets industry 2013Nidhi Gupta
 
Hamtramck mi roofing 888 778 0212
Hamtramck mi roofing 888 778   0212Hamtramck mi roofing 888 778   0212
Hamtramck mi roofing 888 778 0212hansons0588
 

En vedette (12)

Smart schools
Smart schoolsSmart schools
Smart schools
 
Diffusion Vs Osmosis
Diffusion Vs OsmosisDiffusion Vs Osmosis
Diffusion Vs Osmosis
 
Visualizing Data Effectively
Visualizing Data EffectivelyVisualizing Data Effectively
Visualizing Data Effectively
 
Photosynthesis
PhotosynthesisPhotosynthesis
Photosynthesis
 
26501308 Durood Shareef
26501308  Durood  Shareef26501308  Durood  Shareef
26501308 Durood Shareef
 
Hakekat pendidikan
Hakekat pendidikanHakekat pendidikan
Hakekat pendidikan
 
Public speaking
Public speakingPublic speaking
Public speaking
 
Group 8 pp
Group 8 ppGroup 8 pp
Group 8 pp
 
Riskpro capital markets industry 2013
Riskpro capital markets industry 2013Riskpro capital markets industry 2013
Riskpro capital markets industry 2013
 
Thai
ThaiThai
Thai
 
Hamtramck mi roofing 888 778 0212
Hamtramck mi roofing 888 778   0212Hamtramck mi roofing 888 778   0212
Hamtramck mi roofing 888 778 0212
 
2
22
2
 

Similaire à Understanding the Evolution of Socio-technical Aspects in Open Source Ecosystems: An Empirical Analysis of GNOME

Génération automatique de texte
Génération automatique de texteGénération automatique de texte
Génération automatique de texteEstelle Delpech
 
SecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsSecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsTom Mens
 
Introduction à l'ergonomie - Drupal Lyon
Introduction à l'ergonomie - Drupal LyonIntroduction à l'ergonomie - Drupal Lyon
Introduction à l'ergonomie - Drupal LyonOlivier Lorrain
 
L'analyse qualitative informatique pas cher
L'analyse qualitative informatique pas cherL'analyse qualitative informatique pas cher
L'analyse qualitative informatique pas cherHubert Maisonneuve
 
1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppthbadir
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!Alexandre Touret
 
Laboratoire de transmission numérique : Présentation du projet
Laboratoire de transmission numérique : Présentation du projetLaboratoire de transmission numérique : Présentation du projet
Laboratoire de transmission numérique : Présentation du projetECAM Brussels Engineering School
 
Captronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteeCaptronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteePatrick MOREAU
 
Séminaire février - OBM, nouvelle version 2.4
Séminaire février - OBM, nouvelle version 2.4 Séminaire février - OBM, nouvelle version 2.4
Séminaire février - OBM, nouvelle version 2.4 LINAGORA
 
Pl news letter_nov10
Pl news letter_nov10Pl news letter_nov10
Pl news letter_nov10robertpluss
 
Développer des codes de simulation numérique avec une équipe "non geek" à l'ULg
Développer des codes de simulation numérique avec une équipe "non geek" à l'ULgDévelopper des codes de simulation numérique avec une équipe "non geek" à l'ULg
Développer des codes de simulation numérique avec une équipe "non geek" à l'ULgRomain Boman
 
Logiciels libres en bibliothèque
Logiciels libres en bibliothèqueLogiciels libres en bibliothèque
Logiciels libres en bibliothèqueVincent Mabillot
 
Les outils de veille sur internet
Les outils de veille sur internetLes outils de veille sur internet
Les outils de veille sur internetAref Jdey
 
3 culture dunumerique-livrenumerique_cnfpt2011
3 culture dunumerique-livrenumerique_cnfpt20113 culture dunumerique-livrenumerique_cnfpt2011
3 culture dunumerique-livrenumerique_cnfpt2011Fleury Christine
 
Intégration continue
Intégration continueIntégration continue
Intégration continueJohan Moreau
 
Projet Scribo
Projet ScriboProjet Scribo
Projet ScriboXWiki
 
Cours projet web collaboratif - partie 1 : Introduction, version 2019
Cours projet web collaboratif - partie 1 : Introduction, version 2019Cours projet web collaboratif - partie 1 : Introduction, version 2019
Cours projet web collaboratif - partie 1 : Introduction, version 2019Eric Giraudin
 
Webinar SMILE : "L'Open Source, un accélérateur d'innovation pour les objets ...
Webinar SMILE : "L'Open Source, un accélérateur d'innovation pour les objets ...Webinar SMILE : "L'Open Source, un accélérateur d'innovation pour les objets ...
Webinar SMILE : "L'Open Source, un accélérateur d'innovation pour les objets ...Smile I.T is open
 

Similaire à Understanding the Evolution of Socio-technical Aspects in Open Source Ecosystems: An Empirical Analysis of GNOME (20)

Génération automatique de texte
Génération automatique de texteGénération automatique de texte
Génération automatique de texte
 
SecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsSecoHealth 2019 Research Achievements
SecoHealth 2019 Research Achievements
 
Introduction à l'ergonomie - Drupal Lyon
Introduction à l'ergonomie - Drupal LyonIntroduction à l'ergonomie - Drupal Lyon
Introduction à l'ergonomie - Drupal Lyon
 
L'analyse qualitative informatique pas cher
L'analyse qualitative informatique pas cherL'analyse qualitative informatique pas cher
L'analyse qualitative informatique pas cher
 
1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt
 
Plasticitérecherche2015 2
Plasticitérecherche2015 2Plasticitérecherche2015 2
Plasticitérecherche2015 2
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!
 
Laboratoire de transmission numérique : Présentation du projet
Laboratoire de transmission numérique : Présentation du projetLaboratoire de transmission numérique : Présentation du projet
Laboratoire de transmission numérique : Présentation du projet
 
Captronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteeCaptronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presentee
 
Séminaire février - OBM, nouvelle version 2.4
Séminaire février - OBM, nouvelle version 2.4 Séminaire février - OBM, nouvelle version 2.4
Séminaire février - OBM, nouvelle version 2.4
 
Pl news letter_nov10
Pl news letter_nov10Pl news letter_nov10
Pl news letter_nov10
 
Développer des codes de simulation numérique avec une équipe "non geek" à l'ULg
Développer des codes de simulation numérique avec une équipe "non geek" à l'ULgDévelopper des codes de simulation numérique avec une équipe "non geek" à l'ULg
Développer des codes de simulation numérique avec une équipe "non geek" à l'ULg
 
Logiciels libres en bibliothèque
Logiciels libres en bibliothèqueLogiciels libres en bibliothèque
Logiciels libres en bibliothèque
 
Les outils de veille sur internet
Les outils de veille sur internetLes outils de veille sur internet
Les outils de veille sur internet
 
Erms partagé
Erms partagéErms partagé
Erms partagé
 
3 culture dunumerique-livrenumerique_cnfpt2011
3 culture dunumerique-livrenumerique_cnfpt20113 culture dunumerique-livrenumerique_cnfpt2011
3 culture dunumerique-livrenumerique_cnfpt2011
 
Intégration continue
Intégration continueIntégration continue
Intégration continue
 
Projet Scribo
Projet ScriboProjet Scribo
Projet Scribo
 
Cours projet web collaboratif - partie 1 : Introduction, version 2019
Cours projet web collaboratif - partie 1 : Introduction, version 2019Cours projet web collaboratif - partie 1 : Introduction, version 2019
Cours projet web collaboratif - partie 1 : Introduction, version 2019
 
Webinar SMILE : "L'Open Source, un accélérateur d'innovation pour les objets ...
Webinar SMILE : "L'Open Source, un accélérateur d'innovation pour les objets ...Webinar SMILE : "L'Open Source, un accélérateur d'innovation pour les objets ...
Webinar SMILE : "L'Open Source, un accélérateur d'innovation pour les objets ...
 

Understanding the Evolution of Socio-technical Aspects in Open Source Ecosystems: An Empirical Analysis of GNOME

  • 1. Understanding the Evolution of Socio-technical Aspects in Open Source Ecosystems: An Empirical Analysis of GNOME Mathieu Goeminne
  • 2. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Écosystème naturel Définitions •Écologie ‣L’étude scientifique des interactions qui déterminent la distribution et l’abondance des organismes •Écosystème ‣Les composants physiques et biologiques d’un environnement considéré ‣Comprend tous les organismes vivants et les composants physiques Exemple: la mare • Grande biodiversité: oiseaux, insectes, poissons, roseaux, nénuphares, …
  • 3. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Écosystème logiciel Définitions • Une collection de produits logiciels qui ont un certain niveau de relations. (Messerschmitt & Szyperski 2003) • Une collection de projects logiciels qui sont développés et qui évoluent ensemble dans le même environnement. (Lungu 2008) Exemples • Gnome KDE • Debian Ubuntu • CRAN •Apache
  • 4. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Comparaison écosystème logiciel contributeursprojets utilisateurs développeurs catégorie A catégorie B catégorie C environnement: plateforme et outils logiciels et matériels, médias sociaux, ... écosystème naturel espèces vivantes végétaux animaux micro- organismes habitat: sol, roche, air, eau, lumière, ...
  • 5. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Problématique Vision traditionnelle Projet 1 Projet 2 Projet 3
  • 6. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Problématique Vision traditionnelle Projet 1 Projet 2 Projet 3 Vision socio-technique Projet 1 Projet 2 Projet 3
  • 7. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Problématique Aider les communautés impliquées dans l'évolution des écosystèmes logiciels Développer des outils pour aider les communautés à améliorer leur manière de travailler Comprendre comment les communautés interagissent et collaborent Tableaux de bord, Rapports automatiques, etc. Analyse empirique (des aspects socio-techniques) des écosystèmes logiciels Création de modèles, analyse des relations entre différents phénomènes Collecte, extraction, et post- traitement des écosystèmes étudiés
  • 8. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Problématique Aider les communautés impliquées dans l'évolution des écosystèmes logiciels Développer des outils pour aider les communautés à améliorer leur manière de travailler Comprendre comment les communautés interagissent et collaborent Tableaux de bord, Rapports automatiques, etc. Analyse empirique (des aspects socio-techniques) des écosystèmes logiciels Création de modèles, analyse des relations entre différents phénomènes Collecte, extraction, et post- traitement des écosystèmes étudiés
  • 9. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Outils de traitement des données Bug tracker Extraction Base de données Fusion des identités Détection de l'activité Calcul de métriques Post-traitement des données ... Visualisation ... Application Rapports Analyse statistique Code source Mailing list ...
  • 10. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Outils de traitement des données Bug tracker Extraction Base de données Fusion des identités Détection de l'activité Calcul de métriques Post-traitement des données ... Visualisation ... Application Rapports Analyse statistique Code source Mailing list ...
  • 11. Université de Mons Mathieu Goeminne Fusion des identités Understanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME DépôtsContributeurs john John Smith Dépôt de code source Mailing list Bug tracker john <js@gmail.com> john@doe.org johnny john John, Doe Doe, John john.doe@gmail.com john_doe@hotmail.com jdoe@gmail.com John W. Doe Jane
  • 12. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Fusion des identités Comparaison de l’efficacité de 4 techniques de détection des identités similaires. Référence Logiciel Technique de détection Solution de référence Solution Comparaison
  • 13. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Exemple de résultats Bird Bird étendu Simple Amélioré
  • 14. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Exemple de résultats Bird Bird étendu Simple Amélioré Rappel
  • 15. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Exemple de résultats Bird Bird étendu Simple Amélioré
  • 16. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Exemple de résultats Bird Bird étendu Simple Amélioré Précision
  • 17. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME • La détection des identités similaires est difficile et demande du temps. • L’algorithme le plus simple fournit de bons résultats (pour certains paramètres)! • Des changements manuels sont toujours nécessaires pour éliminer les erreurs de détection. • Prendre en compte les spécificités des projets considérés peut améliorer la qualité des résultats. Fusion des identités Conclusions
  • 18. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Outils de traitement des données Bug tracker Extraction Base de données Fusion des identités Détection de l'activité Calcul de métriques Post-traitement des données ... Visualisation ... Application Rapports Analyse statistique Code source Mailing list ...
  • 19. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Outils de traitement des données Bug tracker Extraction Base de données Fusion des identités Détection de l'activité Calcul de métriques Post-traitement des données ... Visualisation ... Application Rapports Analyse statistique Code source Mailing list ...
  • 20. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Détection du type d’activité Question générale: «Dans un dépôt de code source, qui fait quoi?» Image Code Documentation Traduction
  • 21. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Associer un type d’activité à chaque fichier Basé sur [Robles06] /foo/bar.c Fichiers Règles ... ... .*.c -> CODE CODE Activité
  • 22. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Études empiriques
  • 23. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Études empiriques
  • 24. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Études empiriques Utilisée pour atteindre nos objectifs.
  • 25. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME GNOME • Environnement de bureau (principalement sous Linux). • 16 ans d’activité. • Plus de 5.000 contributeurs ayant réalisé plus de 1.300.000 modifications dans plus de 1.400 projets. • Ecosystème Open Source: l’historique entier de ses projets est disponible.
  • 26. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOMEUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Études réalisées
  • 27. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Une communauté inégale? Principe de Pareto: 80% des conséquences proviennent de 20% des causes. 0.0 0.2 0.4 0.6 0.8 1.0 0.00.20.40.60.81.0 Cumulative percentage of contributors Cumulativepercentageofworkload
  • 28. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Une communauté inégale? 4 systèmes étudiés: Brasero Evince Wine GNOME 4 mesures de l’activité: # commits # e-mails # rapports d’erreur # changements dans un rapport d’erreur
  • 29. Université de Mons Une communauté inégale? Brasero Evince Wine Gnome Understanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Mathieu Goeminne
  • 30. Université de Mons Une communauté inégale? Brasero Evince Wine Gnome Principe de Pareto vérifié Understanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Mathieu Goeminne
  • 31. Université de Mons Une communauté inégale? Brasero Evince Wine Gnome Principe de Pareto non vérifié Understanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Mathieu Goeminne
  • 32. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME GNOME: une communauté inégale?
  • 33. Université de Mons Mathieu Goeminne Évolution de l’inégalité des distributions Commits envoyés E-mails envoyés Rapports d’erreur modifiés •Importante inégalité •Inégalité globalement croissante Understanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Brasero Evince Wine
  • 34. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Une communauté inégale? Conclusion • Le principe de Pareto est vérifié pour les systèmes logiciels étudiés. • La plupart du travail est réalisé par un petit groupe de contributeurs très actifs, sauf dans le cas de l’envoi de rapports d’erreur. • De nombreux contributeurs ne sont impliqués qu’occasionnellement.
  • 35. Université de Mons • Étude de l’implication des développeurs de GNOME. • Basée sur les dépôts de code source des projets de GNOME. • Prend en compte les différentes sortes d’activités réalisées dans ces dépôts. Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Spécialisation du travail dans la communauté des développeurs de GNOME
  • 36. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Deux questions • Comment le travail varie-t-il d’un projet de GNOME à un autre? • Comment le travail varie-t-il d’un contributeur de GNOME à un autre? ➡Mesure de l’activité utilisée: le nombre de modifications effectuées sur les fichiers.
  • 37. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Métriques
  • 38. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Principaux résultats La quantité de travail est distribuée log-normalement entre les projets de GNOME.
  • 39. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Principaux résultats Les activités de programmation, de documentation pour le développeur, de traduction et de création des binaires représentent le plus de travail.
  • 40. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Différents comportements entre les contributeurs les plus actifs et les moins actifs Contributeurs occasionnels Contributeurs réguliers
  • 41. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Spécialisation du travail: Conclusions • La quantité de travail des projets suit une distribution log-normale. • La quantité de travail est principalement concentrée dans les activités de programmation, de documentation pour les développeurs, de traduction et de construction des binaires. • La programmation est l’activité qui représente la plus grande activité de travail. • La plupart des contributeurs sont traducteurs ou écrivent de la documentation pour les développeurs. • Les contributeurs se restreignent à quelques types d’activité et ne s’impliquent que dans un faible nombre de projets. • Les contributeurs occasionnels sont généralement des traducteurs, tandis que les contributeurs réguliers sont généralement des programmeurs.
  • 42. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Conclusion générale
  • 43. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Objectifs atteints • Création d’un framework permettant l’analyse de l’évolution des écosystèmes Open Source. • Études empiriques de GNOME pour comprendre les interactions socio- techniques présentes dans les écosystèmes Open Source.
  • 44. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Principaux résultats • Dans les projets Open Source, la quantité de travail est inégalement distribuée entre les contributeurs. • Les contributeurs de GNOME ne sont pas uniformes: différentes quantités de travail, différents comportements, etc. Ils forment des sous-communautés hétérogènes. • La programmation, la construction de binaires, la traduction et la documentation pour développeurs sont les activités concentrant le plus d’efforts et de contributeurs, bien que leurs sous-communautés aient des comportements différents.
  • 45. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Travaux futurs • Création d’outils dédiés aux sous-communautés de contributeurs. • Développer et promouvoir une nouvelle génération d’outils qui rendent explicites les liens entre les entités impliquées dans l’évolution des logiciels. • Utilisation de nos connaissances pour détecter et éviter les problèmes potentiels dans les écosystèmes Open Source. Ex: encourager les contributeurs impliqués dans des types d’activité moins populaires mais potentiellement critiques, tels que la gestion des bases de données. • …
  • 46. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Merci
  • 47. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Merci
  • 48. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Merci… … à tous!
  • 49. Université de Mons Mathieu GoeminneUnderstanding the Evolution of Socio-technical Aspects in OSS: An analysis of GNOME Publications Mathieu Goeminne and Tom Mens. Towards the Analysis of Evolution OSS Ecosystems. In Proceedings of BENEVOL ’09, pages 30-35. December 2009. Mathieu Goeminne and Tom Mens. A framework for analysing and visualising open source software ecosystems. In Proceedings of EVOL and IWPSE, pages 42-47. ACM, 2010. Tom Mens and Mathieu Goeminne. Analysing the evolution of social aspects of open source software ecosystems. In Proceedings of Workshop on Software Ecosystems. 2011. Tom Mens and Mathieu Goeminne. Analyse de l’évolution des aspects sociaux dans les projets open source. In Proceedings of the thirth conference on Groupement De Recherche CNRS du Génie de la Programmation et du logiciel. June 2011. Mathieu Goeminne and Tom Mens. A comparison of identity merge algorithms for software repositories. Science of Computer Programming, (0):-, 2011. Mathieu Goeminne and Tom Mens. Evidence for the Pareto Principle in Open Source Software Activity. CSMR 2011 Workshop on Software Quality and Maintainability (SQM), volume 701. March 2011. J.J. Pérez, R. Deshayes, M. Goeminne, and T. Mens. Seconda: Software ecosystem analysis dashboard. In Proceedings of CSMR ’12, pages 527-530. 2012. Mathieu Goeminne and Tom Mens. Analysing ecosystems for open source software development communities. In Software Ecosystems. Edward Elgar, april 2013. B.Vasilescu,A. Serebrenik, M. Goeminne, and T. Mens. On the variation and specialisation of workload - A case study of the Gnome ecosystem community. Empirical Software Engineering, pages 1-54, 2013. M. Goeminne, M. Claes, and T. Mens. A historical dataset for the Gnome ecosystem. In Proceedings of MSR ’13, pages 225-228. 2013.