Slides presented during the public defense of the Mathieu Goeminne's PhD dissertation "Understanding the Evolution of Socio-technical Aspects in Open Source Ecosystems: An Empirical Analysis of GNOME".
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.