2017-2019
Vers une méthodologie et analyse socio-technique
interdisciplinaire de la santé des écosystèmes logiciels
University of Mons
Université Laval
Polytechnique
Montréal
www.secohealth.org
@secohealth
2017-2019
Et nos collaborateurs …
- K. Carillo (Toulouse BS)
- B. Negoita (HEC Montreal)
- J. Gonzalez-Barahona,
G. Robles (URJC Madrid)
- A. Serebrenik (Eindhoven U.
Technology)
- M. T. Valente (UFMG, Brazil)
SOCIO- TECHNIQUE
Un écosystème logiciel est ...
X
Best
Practices
Best
Practices
Practices
Best
3. Recommandations et
conseils pour éviter de futurs
problèmes de santé dans les
écosystèmes logiciels
1. Déterminer les indicateurs
des problèmes de santé
(logiciel)
2. Prédire l'impact et la
propagation des
problèmes de santé
time
• Bugs
• Problèmes de sécurité
• Problèmes de dépendance logicielle
• Logiciels abandonnés ou dépassés
• Redondance (code dupliqué)
• Licences incompatibles
• ...
Technical
• Manque de communication
• Manque de collaboration
• Conflits sociaux
• Abandon des contributeurs
• Diversité insuffisante
• ...
Problèmes de santé
Nos réalisations
Réalisations 2017
Activités
Linux Foundation Open Source summit
(Prague)
Research visit, URJC
(Madrid)
Présentations
MADSESE Research Seminar
(Madrid)
SIGOPEN pre-ICIS workshop
(Seoul)
Octobre Novembre
Présentations
BENEVOL Research Seminar
(Antwerp)
Décembre
Présentations
CSER Fall
workshop (Toronto)
Invited talk, GSoC
Mentor Summit
(Sunnyvale)
Réalisations 2018
Présentations
CHAOSSCon + GrimoireCon
(Bruxelles)
FNRS Science Club
(Bruxelles)
Janvier Février
Activités
Press release on Daily Science
Présentations
Invited Talk @ Delft University of
Technology (Delft)
Activités
SoHeal workshop organization
(Göteborg)
Présentations
MSR conference (Göteborg) x 3
AIM conference (Montréal)
Publications
ICSR conference (Madrid)
Avril
Mai
Présentations
ICSME conference
(Madrid)
Septembre
Activités
OpenStack summit (Berlin)
Présentations
DrupalCamp (Ghent)
Mars
Juin Août
Activités
Google Summer of Code (GSoC)
mentor
Juillet
Octobre Novembre Décembre
Présentations
BENEVOL research seminar
(Delft)
Pre-ICIS AIM workshop
(San Francisco) x 2
Présentations
Linux Foundation OSS summit
(San Diego)
Réalisations 2019
Activités
SoHeal workshop organisation
(Montréal)
Présentations
SoHeal workshop
(Montréal)
Invited talk @ Concordia University
(Montréal)
SEMotion international workshop
CSER Spring workshop
(Montréal)
Publications
Trans. Softw. Eng. journal
Mai
Présentations
Linux Plumbers
(Lisbon, Portugal)
Publications
ESEM conference
(Porto de Galinhas, Brasil)
SeptembreAoût OctobreJuilletJuin
MarsJanvier
Activités
IEEE Software Special Issue,
Guest editor
Présentations
CHAOSSCon + GrimoireCon
(Bruxelles)
InfoPole Cluster TIC
(Bruxelles)
Publications
IEEE Software Special Issue
Emp. Softw. Eng. journal
Février
Activités
Open Source
Leadership
Summit (Half
Moon Bay)
Présentations
Open Source
Leadership
Summit (Half
Moon Bay)
Présentations
Invited Talk @
Événement
public
numériQc
(Québec)
Avril
Implication active
• Josianne Marsan (Université Laval)
• membre du Governing Board
• Google Summer of Code mentor
• Eleni Constantinou et Tom Mens (UMONS)
• Participation active à CHAOSSCon 2018 et 2019
• Organisation de SoHeal 2018 et 2019 avec participation des membres de CHAOSS
• Armstrong Foundjem (Polytechnique Montréal)
• “core contributor” de métriques pour le groupe de travail “evolution”
https://chaoss.community
CHAOSS développe des métriques, des méthodologies et des logiciels
pour mesurer et améliorer la santé, la transparence et la durabilité des
projets open source.
Associé à International Conference on Software Engineering
• SoHeal 2019, Montréal, Canada, mai 2019
• SoHeal 2018, Gothenburg, Suède, mai 2018
https://soheal.github.io
SoHeal encourage la collaboration entre le monde universitaire et l'industrie.
L'atelier vise à :
• sensibiliser les développeurs et chefs d’équipe aux problèmes de santé logicielle
• familiariser les acteurs industriels avec les avancées scientifiques
• relier les deux communautés afin de faire progresser l’état de l’art et l'état de la
pratique en matière de santé logicielle.
Nos réalisations:
International Workshops on Software Health
Les problèmes de santé et leurs causes
Questions de recherche
• Quels sont les problèmes de santé des
écosystèmes logiciels ou de leurs
composants?
• Quelles sont les causes de ces
problèmes?
Méthodologie
• Entrevues auprès de 10 experts des
écosystèmes ouverts (open source)
• Analyse de contenu
• Analyse des causes profondes (root
cause analysis)
“Towards solving social and technical problems in
open source software ecosystems: Using cause-
and-effect analysis to disentangle the causes of
complex problems”
DOI: 10.1109/MS.2018.2874323
Résultats
Les problèmes de santé et leurs causes
Ceci nous a mené à étudier
l’abandon des contributeurs
Ceci nous a mené à étudier
l’implication corporative
dans les écosystèmes
Ceci nous a mené à étudier
l’accueil de nouveaux
contributeurs par le processus
de développement collaboratif
• Des composants logiciels non maintenus sont une
menace potentiel pour l'écosystème.
• Les composantes deviennent désuètes lorsqu'elles
sont abandonnées par leurs contributeurs.
L’abandon des contributeurs
Nous avons étudié
- les facteurs qui rendent les contributeurs plus susceptibles d'abandonner
l'écosystème
- la motivation des développeurs à sauver des composants abandonnés
Pour rester actif dans l’écosystème, l'interaction sociale est au
moins aussi pertinente que les contributions techniques.
La principale motivation pour sauver des composants
abandonnés est que les développeurs les utilisent et en
dependent.
Truck factor
Le processus de développement collaboratif
Questions de recherche
• Le développement collaboratif est-ce un processus répandu?
• Quelles sont les meilleures pratiques de ce processus?
• Ce processus facilite-t-il l’accueil de nouveaux contributeurs?
• Ce processus augmente-t-il la qualité du produit logiciel?
Quelques chiffres
• Depuis 2010
• 63 projets logiciels
• 681 entreprises
• 192 pays
• > 20 millions lignes de code
• >100,000 contributeurs
Un écosystème open source
pour le “cloud computing”
chercheur
16 participants:
5 Foundation Members
11 Technical Members
Entrevues et
codage
manuel
Sur base des données historiques
provenant
• des dépôts de code source
• du système de révision collaborative
du code
• du système de suivi de problèmes et
des tâches
Analyse quantitative
Méthodologie: Approche Mixte
Analyse qualitative
Le processus de développement collaboratif
L’implication des entreprises dans
les projets logiciels open source
Question de recherche :
Comment la relation de collaboration entre les entreprises
impliquées dans un écosystème de logiciel libre et les
communautés fondatrices de projets formant cet écosystème peut-
elle passer d'un état "harmonieux" à un état "conflictuel" au point
d'avoir un impact négatif sur la santé de l'écosystème?
Étude en cours de réalisation (P. Marois, J. Marsan, T. Mens & M. Templier)
Méthodologie :
• Recrutement de participants à l’Open Source Summit Europe 2017 (Prague, République Tchèque)
et l’Open Source Leadership Summit 2019 (Half Moon Bay, SF, États-Unis)
§ Collecte de données : entrevues en profondeur avec 18
contributeurs d’expérience pour une durée moyenne de 43,5
minutes par entrevue
§ Transcription des entrevues et codification avec le logiciel NVivo
§ Utilisation du raisonnement par analogie et métaphore (Berger-
Douce & Durieux-Nguyen, 2002) de l‘entreprise en tant
qu'organisme et de l'écosystème logiciel en tant qu'écosystème
naturel
Parlez-moi des cas dans
lesquels les relations entre
les communautés de
logiciels open source et les
entreprises impliquées
dans leurs projets logiciels
open source sont passées
d'harmonieuses à
conflictuelles…
Questions?

SecoHealth 2019 Research Achievements

  • 1.
    2017-2019 Vers une méthodologieet analyse socio-technique interdisciplinaire de la santé des écosystèmes logiciels
  • 2.
    University of Mons UniversitéLaval Polytechnique Montréal www.secohealth.org @secohealth 2017-2019 Et nos collaborateurs … - K. Carillo (Toulouse BS) - B. Negoita (HEC Montreal) - J. Gonzalez-Barahona, G. Robles (URJC Madrid) - A. Serebrenik (Eindhoven U. Technology) - M. T. Valente (UFMG, Brazil)
  • 4.
  • 5.
    Best Practices Best Practices Practices Best 3. Recommandations et conseilspour éviter de futurs problèmes de santé dans les écosystèmes logiciels 1. Déterminer les indicateurs des problèmes de santé (logiciel) 2. Prédire l'impact et la propagation des problèmes de santé time
  • 6.
    • Bugs • Problèmesde sécurité • Problèmes de dépendance logicielle • Logiciels abandonnés ou dépassés • Redondance (code dupliqué) • Licences incompatibles • ... Technical • Manque de communication • Manque de collaboration • Conflits sociaux • Abandon des contributeurs • Diversité insuffisante • ... Problèmes de santé
  • 7.
  • 8.
    Réalisations 2017 Activités Linux FoundationOpen Source summit (Prague) Research visit, URJC (Madrid) Présentations MADSESE Research Seminar (Madrid) SIGOPEN pre-ICIS workshop (Seoul) Octobre Novembre Présentations BENEVOL Research Seminar (Antwerp) Décembre
  • 9.
    Présentations CSER Fall workshop (Toronto) Invitedtalk, GSoC Mentor Summit (Sunnyvale) Réalisations 2018 Présentations CHAOSSCon + GrimoireCon (Bruxelles) FNRS Science Club (Bruxelles) Janvier Février Activités Press release on Daily Science Présentations Invited Talk @ Delft University of Technology (Delft) Activités SoHeal workshop organization (Göteborg) Présentations MSR conference (Göteborg) x 3 AIM conference (Montréal) Publications ICSR conference (Madrid) Avril Mai Présentations ICSME conference (Madrid) Septembre Activités OpenStack summit (Berlin) Présentations DrupalCamp (Ghent) Mars Juin Août Activités Google Summer of Code (GSoC) mentor Juillet Octobre Novembre Décembre Présentations BENEVOL research seminar (Delft) Pre-ICIS AIM workshop (San Francisco) x 2
  • 10.
    Présentations Linux Foundation OSSsummit (San Diego) Réalisations 2019 Activités SoHeal workshop organisation (Montréal) Présentations SoHeal workshop (Montréal) Invited talk @ Concordia University (Montréal) SEMotion international workshop CSER Spring workshop (Montréal) Publications Trans. Softw. Eng. journal Mai Présentations Linux Plumbers (Lisbon, Portugal) Publications ESEM conference (Porto de Galinhas, Brasil) SeptembreAoût OctobreJuilletJuin MarsJanvier Activités IEEE Software Special Issue, Guest editor Présentations CHAOSSCon + GrimoireCon (Bruxelles) InfoPole Cluster TIC (Bruxelles) Publications IEEE Software Special Issue Emp. Softw. Eng. journal Février Activités Open Source Leadership Summit (Half Moon Bay) Présentations Open Source Leadership Summit (Half Moon Bay) Présentations Invited Talk @ Événement public numériQc (Québec) Avril
  • 11.
    Implication active • JosianneMarsan (Université Laval) • membre du Governing Board • Google Summer of Code mentor • Eleni Constantinou et Tom Mens (UMONS) • Participation active à CHAOSSCon 2018 et 2019 • Organisation de SoHeal 2018 et 2019 avec participation des membres de CHAOSS • Armstrong Foundjem (Polytechnique Montréal) • “core contributor” de métriques pour le groupe de travail “evolution” https://chaoss.community CHAOSS développe des métriques, des méthodologies et des logiciels pour mesurer et améliorer la santé, la transparence et la durabilité des projets open source.
  • 12.
    Associé à InternationalConference on Software Engineering • SoHeal 2019, Montréal, Canada, mai 2019 • SoHeal 2018, Gothenburg, Suède, mai 2018 https://soheal.github.io SoHeal encourage la collaboration entre le monde universitaire et l'industrie. L'atelier vise à : • sensibiliser les développeurs et chefs d’équipe aux problèmes de santé logicielle • familiariser les acteurs industriels avec les avancées scientifiques • relier les deux communautés afin de faire progresser l’état de l’art et l'état de la pratique en matière de santé logicielle. Nos réalisations: International Workshops on Software Health
  • 13.
    Les problèmes desanté et leurs causes Questions de recherche • Quels sont les problèmes de santé des écosystèmes logiciels ou de leurs composants? • Quelles sont les causes de ces problèmes? Méthodologie • Entrevues auprès de 10 experts des écosystèmes ouverts (open source) • Analyse de contenu • Analyse des causes profondes (root cause analysis) “Towards solving social and technical problems in open source software ecosystems: Using cause- and-effect analysis to disentangle the causes of complex problems” DOI: 10.1109/MS.2018.2874323
  • 14.
    Résultats Les problèmes desanté et leurs causes
  • 15.
    Ceci nous amené à étudier l’abandon des contributeurs Ceci nous a mené à étudier l’implication corporative dans les écosystèmes Ceci nous a mené à étudier l’accueil de nouveaux contributeurs par le processus de développement collaboratif
  • 16.
    • Des composantslogiciels non maintenus sont une menace potentiel pour l'écosystème. • Les composantes deviennent désuètes lorsqu'elles sont abandonnées par leurs contributeurs. L’abandon des contributeurs Nous avons étudié - les facteurs qui rendent les contributeurs plus susceptibles d'abandonner l'écosystème - la motivation des développeurs à sauver des composants abandonnés Pour rester actif dans l’écosystème, l'interaction sociale est au moins aussi pertinente que les contributions techniques. La principale motivation pour sauver des composants abandonnés est que les développeurs les utilisent et en dependent. Truck factor
  • 17.
    Le processus dedéveloppement collaboratif Questions de recherche • Le développement collaboratif est-ce un processus répandu? • Quelles sont les meilleures pratiques de ce processus? • Ce processus facilite-t-il l’accueil de nouveaux contributeurs? • Ce processus augmente-t-il la qualité du produit logiciel? Quelques chiffres • Depuis 2010 • 63 projets logiciels • 681 entreprises • 192 pays • > 20 millions lignes de code • >100,000 contributeurs Un écosystème open source pour le “cloud computing”
  • 18.
    chercheur 16 participants: 5 FoundationMembers 11 Technical Members Entrevues et codage manuel Sur base des données historiques provenant • des dépôts de code source • du système de révision collaborative du code • du système de suivi de problèmes et des tâches Analyse quantitative Méthodologie: Approche Mixte Analyse qualitative Le processus de développement collaboratif
  • 19.
    L’implication des entreprisesdans les projets logiciels open source Question de recherche : Comment la relation de collaboration entre les entreprises impliquées dans un écosystème de logiciel libre et les communautés fondatrices de projets formant cet écosystème peut- elle passer d'un état "harmonieux" à un état "conflictuel" au point d'avoir un impact négatif sur la santé de l'écosystème? Étude en cours de réalisation (P. Marois, J. Marsan, T. Mens & M. Templier) Méthodologie : • Recrutement de participants à l’Open Source Summit Europe 2017 (Prague, République Tchèque) et l’Open Source Leadership Summit 2019 (Half Moon Bay, SF, États-Unis) § Collecte de données : entrevues en profondeur avec 18 contributeurs d’expérience pour une durée moyenne de 43,5 minutes par entrevue § Transcription des entrevues et codification avec le logiciel NVivo § Utilisation du raisonnement par analogie et métaphore (Berger- Douce & Durieux-Nguyen, 2002) de l‘entreprise en tant qu'organisme et de l'écosystème logiciel en tant qu'écosystème naturel Parlez-moi des cas dans lesquels les relations entre les communautés de logiciels open source et les entreprises impliquées dans leurs projets logiciels open source sont passées d'harmonieuses à conflictuelles…
  • 20.