Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
1
Conservatoire National des Arts et MétiersUniversité René Descartes Paris 5
Université Victor Segalen Bordeaux 2Université Paris 8
MASTER SCIENCE DU TRAVAIL ET DE LA SOCIETEMention
ERGONOMIE
Spécialité : RECHERCHE
Les discussions en ligne en conception de logiciels libres :Analyse des traces d’un processus asynchrone
de conception à distance
Flore Barcellini
26/08/2005
TuteursFrançoise Détienne et Jean-Marie Burkhardt
2
« L'expression logiciel libre fait référence à la liberté pour les utilisateurs d'exécuter, decopier, de distribuer, d'étudier, de modifier et d'améliorer le logiciel. Plus précisément, ellefait référence à quatre types de liberté pour l'utilisateur du logiciel :
§ La liberté d'exécuter le programme, pour tous les usages (liberté 0).
§ La liberté d'étudier le fonctionnement du programme, et de l'adapter à vos besoins(liberté 1). Pour ceci l'accès au code source est une condition requise.
§ La liberté de redistribuer des copies, donc d'aider votre voisin, (liberté 2).
§ La liberté d'améliorer le programme et de publier vos améliorations pour en faire profitertoute la communauté (liberté 3). Pour ceci l'accès au code source est une conditionrequise. »
Définition du logiciel libre traduite de l’anglais disponible sur le site www.gnu.org
3
Remerciements
Je tiens à remercier Françoise Détienne et Jean-Marie Burkhardt d’avoir encadré ce travail de
recherche, de m’avoir fait confiance et toujours encouragée. Je remercie également Françoise
Détienne de m’avoir accueillie au sein de l’équipe Eiffel de l’INRIA ainsi que Pierre Falzon
qui m’a accueilli au Laboratoire d’Ergonomie du CNAM.
Ce travail est le fruit d’une collaboration internationale avec des chercheurs de l’Université de
Californie et du Palo Alto Research Center. Je tiens donc à remercier Warren Sack, Nicolas
Ducheneaut et Dilan Mahendran.
Une partie de ce travail de recherche a également été réalisée dans le cadre du projet TCAN-
CNRS Mediannote, je remercie donc l’ensemble des membres de ce projet (Manuel Zacklad,
Françoise Darses, Myriam Lewkowicz, Jean-François Boujut, Sylvie Guibert, Gaëlle Lortal et
Amalia Toridascu) pour les interactions constructives que nous avons pues avoir.
Durant cette année, j’ai partagé mon temps entre l’INRIA Rocquencourt et le CNAM. A
l’INRIA, je remercie Nathalie Gaudechoux pour sa bonne humeur et son efficacité, ainsi que
Willemien Visser pour sa gentillesse. Willemien, j’espère pouvoir un jour venir au cours de
yoga avec toi. Merci à Laurence Gagnière d’avoir égayé notre bureau de ses visites. Merci
également à Yann Landrin-Schweitzer d’être un des rares informaticien-matheux non-geek,
non-autiste. Merci aux membres du projet Scilab de m’avoir accepté lors du café du matin et
pour nos parties de rigolade. Enfin, j’envoie un remerciement tout particulier à Thierry
Février-Quesada pour sa gentillesse, son calme à tout épreuve et sa disponibilité même en ces
temps de rédaction de thèse. Au CNAM, je remercie l’ensemble des participants au repas de
« l’atelier ». J’adresse un grand merci à Sylvie Guibert, Vanina Mollo et Hélène Faye pour
leur écoute sans faille et leurs conseils. Bravo à Hélène d’avoir supporté sans mot dire, ou
presque, mes chansons dans notre bureau.
Cette année a également été marquée par les cours que j’ai suivis dans le cadre du Master
Recherche et du Master Professionnel d’Ergonomie. Merci à l’ensemble des enseignants des
ces Masters pour la qualité et la richesse de leurs enseignements. Je remercie également les
étudiants du Master Recherche « International » d’Ergonomie (Carine Desrosiers, Anne-Lise
4
Marchand, Osmane Kouidri, Jennifer Brown, Amelia Carla Sobrinho Bifano, Priyadarshini
Dasgupta et Sébastien Barjou) pour nos nombreuses discussions et pour m’avoir fait
découvrir la soupe de fraises du « Vin Sobre ». Je remercie également Ludivine Mas, Thérèse
Migan et Régine Janin pour avoir été mes « compagnes de galère » en TPB3. Merci à Régine,
ma binôme, pour sa disponibilité et sa constance même dans les moments difficiles. Merci
aux anges pour ces deux années en cours du soir au CNAM, et je compte bien réussir la
mission que vous m’avez confiée.
Enfin, un grand merci à mes relecteurs, et néanmoins mes plus grands amis, Lucie et Nicolas.
5
Sommaire
REMERCIEMENTS ..............................................................................................................................................3
SOMMAIRE ...........................................................................................................................................................5
LISTE DES TABLEAUX.......................................................................................................................................7
LISTE DES FIGURES...........................................................................................................................................9
LISTE DES ANNEXES........................................................................................................................................10
1 INTRODUCTION.......................................................................................................................................11
2 LA CONCEPTION DE LOGICIELS LIBRES .......................................................................................13
2.1 LE MOUVEMENT FLOSS ......................................................................................................................132.2 CARACTÉRISTIQUES DES DÉVELOPPEURS FLOSS ................................................................................142.3 RÈGLES DE FONCTIONNEMENT ET STRUCTURE SOCIALE DES PROJETS FLOSS .....................................162.4 CARACTÉRISTIQUES DE LA CONCEPTION FLOSS .................................................................................182.5 QUESTIONS DE RECHERCHE ..................................................................................................................19
3 CADRE THÉORIQUE...............................................................................................................................22
3.1 RAPPEL SUR LES CARACTÉRISTIQUES DES PROBLÈMES DE CONCEPTION ..............................................223.2 LA DIMENSION COLLECTIVE DE L’ACTIVITÉ DE CONCEPTION ...............................................................23
3.2.1 Les différentes modalités de la conception collective.....................................................................233.2.2 Les activités observées dans les situations de conception en co-présence.....................................233.2.3 Distance et dimension collective de l’activité de conception .........................................................24
Des conditions nécessaires au succès des échanges à distance ..................................................................................24Effets de la distance sur la dimension collective des activités de conception ............................................................25
3.3 DISCUSSIONS EN LIGNE : TRACES D’UNE ACTIVITÉ ASYNCHRONE DE CONCEPTION COLLECTIVE À
DISTANCE............................................................................................................................................................263.3.1 L’argumentation comme trace des activités de conception............................................................273.3.2 Les fils de discussions : le modèle classique d’analyse des discussions en ligne ..........................283.3.3 Les citations électroniques : une approche alternative pour tracer la logique de conception dansles discussions en ligne .................................................................................................................................293.3.4 Temporalité des discussions en ligne .............................................................................................30
3.4 RÔLES DANS UN PROCESSUS ASYNCHRONE DE CONCEPTION À DISTANCE ............................................31
4 MÉTHODOLOGIE ....................................................................................................................................32
4.1 SUJETS : LES MEMBRES DU PROJET PYTHON .........................................................................................324.2 CORPUS ................................................................................................................................................34
4.2.1 « Python Enhancement Proposal » : un processus de conception prescrit....................................344.2.2 Description du corpus.....................................................................................................................35
4.3 MÉTHODE D’ANALYSE .........................................................................................................................374.3.1 Analyse de l’organisation des messages électroniques ..................................................................39
En fonction du lien entre les messages .......................................................................................................................39En fonction du temps ..................................................................................................................................................41En fonction des rôles des participants......................................................................................................................... 41
4.3.2 Analyse du contenu des messages...................................................................................................42Thèmes de conception ................................................................................................................................................42Alternatives de conception.......................................................................................................................................... 44Activités de conception dans les citations électroniques et leur commentaires .........................................................44
5 RÉSULTATS...............................................................................................................................................47
6
5.1 CITATIONS ÉLECTRONIQUES ET REPRÉSENTATIONS DES DISCUSSIONS EN LIGNE ..................................475.1.1 Pratique des citations électroniques dans les discussions .............................................................475.1.2 Cohérence thématique et représentations des discussions.............................................................485.1.3 Position dans le graphe des discussions, structure et profondeur de citations..............................53
Positions particulières dans les graphes des discussions ............................................................................................53Lien entre la structure des messages et leur position dans les graphes de discussion ................................................53Lien entre la position des messages dans le graphe et la profondeur de citation .......................................................54
5.1.4 Schémas de discussion....................................................................................................................565.2 TEMPORALITÉ DES DISCUSSIONS EN LIGNE...........................................................................................57
5.2.1 Degré d’asynchronisme des discussions ........................................................................................575.2.2 Cohérence temporelle des discussions ...........................................................................................58
5.3 DYNAMIQUE DES DISCUSSIONS ET RÔLES DANS LE PROJET...................................................................615.3.1 Participation aux discussions en fonction du rôle..........................................................................615.3.2 Position dans les discussions et rôles dans le projet......................................................................63
5.4 ACTIVITÉS DANS LES DISCUSSIONS EN LIGNE .......................................................................................665.4.1 Alternatives de conception..............................................................................................................66
Lien entre le nombre d’alternatives de conception par message et sa position ..........................................................66Lien entre le nombre d’alternatives de conception par message et le rôle des participants .......................................66
5.4.2 Activités portées par les citations et les commentaires ..................................................................67Activités dans les commentaires.................................................................................................................................67Activités les plus citées...............................................................................................................................................69
5.4.3 Séquences d’activités ......................................................................................................................69
6 DISCUSSIONS ............................................................................................................................................71
6.1 COHÉRENCE ET DYNAMIQUE THÉMATIQUE DES DISCUSSIONS DE CONCEPTION EN LIGNE.....................716.1.1 Un usage généralisé et sélectif des citations électroniques dans les discussions de conception enligne 716.1.2 Une cohérence thématique des discussions mieux préservée grâce à l’utilisation des citationsélectroniques .................................................................................................................................................716.1.3 Des positions particulières dans les graphes des discussions en ligne ..........................................726.1.4 Des schémas de discussions spécifiques dans les discussions de conception en ligne. .................72
6.2 TEMPORALITÉ DES DISCUSSIONS EN LIGNE...........................................................................................736.3 INFLUENCE DES RÔLES DANS LE PROJET SUR LE PROCESSUS DE CONCEPTION ......................................73
6.3.1 Le chef de projet et le champion.....................................................................................................736.3.2 Les administrateurs et les développeurs.........................................................................................74
6.4 ACTIVITÉS DANS UN PROCESSUS ASYNCHRONE DE CONCEPTION À DISTANCE......................................756.4.1 Effets de la distance et de l’asynchronisme sur la dimension collective des activités de conception
756.4.2 Séquences d’activité dans les discussions de conception en ligne .................................................76
6.5 IMPLICATIONS POUR LES OUTILS D’ANALYSE DES DISCUSSIONS EN LIGNE ...........................................76
7 LIMITES ET PERSPECTIVES ................................................................................................................77
7.1 LIMITES DU TRAVAIL DE RECHERCHE ...................................................................................................777.2 PERSPECTIVES ......................................................................................................................................78
BIBLIOGRAPHIE ...............................................................................................................................................79
ANNEXES .............................................................................................................................................................85
RÉSUMÉ .............................................................................................................................................................104
ABSTRACT.........................................................................................................................................................105
7
Liste des tableaux
Tableau 1 : Pourcentage des trois structures de messages dans les discussions (PEP 279 etPEP 285)...........................................................................................................................47
Tableau 2 : Délais d’apparition de 50 % et 75% des premières citations pour les discussionsPEP 279 et PEP 285 (1ères parties) ..................................................................................57
Tableau 3 : Distribution des participants en fonction de leur rôle dans les discussions PEP279 et PEP 285 (1ères parties)...........................................................................................61
Tableau 4 : Distribution des messages envoyés en fonction du rôle dans les discussions PEP279 et PEP 285 (1ères parties)...........................................................................................62
Tableau 5: Distribution des activités dans les commentaires PEP 279 et PEP 285 (1èresparties)..............................................................................................................................67
Tableau 6 : Extrait du tableau de codage des discussions en ligne .........................................91Tableau 7 : Distribution des positions dans le graphe de la discussion en fonction de la
structure des messages pour le PEP 279 (1ère partie) .....................................................92Tableau 8 : Taux de liaison entre la position dans le graphe de la discussion et la structure
des messages pour le PEP 279 (1ère partie) .....................................................................92Tableau 9 : Distributions des positions dans le graphe de la discussion en fonction de la
structure des messages pour le PEP 285 (1ère partie) ......................................................92Tableau 10 : Taux de liaison entre la position dans le graphe de la discussion et la structure
des messages pour le PEP 285 (1ère partie) .....................................................................92Tableau 11 : Distributions des positions dans le graphe de la discussion en fonction du rôle
pour le PEP 279 (1ère partie)............................................................................................94Tableau 12 : Taux de liaison entre la position dans le graphe et le rôle pour le PEP 279 (1ère
partie) ...............................................................................................................................94Tableau 13 : Distribution des positions dans le graphe de la discussion en fonction du rôle
pour le PEP 285 (1ère partie)............................................................................................95Tableau 14 : Taux de liaison entre la position dans le graphe et le rôle pour le PEP 285 (1ère
partie) ...............................................................................................................................95Tableau 15 : Distribution de la structure des messages en fonction des rôles pour le PEP 279
(1ère partie)........................................................................................................................96Tableau 16 : Taux de liaison entre la structure des messages et les rôles ...............................96pour le PEP 279 (1ère partie)....................................................................................................96Tableau 17 : Distribution de la structure des messages en fonction des rôles pour le PEP 285
(1ère partie)........................................................................................................................97Tableau 18: Taux de liaison entre la structure des messages et les rôles pour le PEP 285 (1ère
partie) ...............................................................................................................................97Tableau 19 : Distributions de l’activité des citations en fonction de l’activité des
commentaires qui les suivent pour la discussion PEP 279 (1ère partie)...........................98Tableau 20 : Taux de liaison entre les activités des citations et les activités des commentaires
pour le PEP 279 (1ère partie)............................................................................................98Tableau 21 Distributions de l’activité des citations en fonction de l’activité des commentaires
qui les suivent pour la discussion PEP 285(1ère partie) ...................................................98Tableau 22 : Taux de liaison entre les activités des citations et les activités des commentaires
pour le PEP 285 (1ère partie)............................................................................................99
8
Tableau 23 : Distribution du nombre d’alternatives abordées par un message en fonction desa position dans le graphe de la discussion PEP 279 (1ère partie) ...............................101
Tableau 24 : Taux de liaison entre les messages proposant des alternatives et de leur positiondans le graphe de la discussion PEP 279 (1ère partie) ...................................................101
Tableau 25 : Distribution du nombre d’alternatives abordées par un message en fonction durôle dans le projet pour le PEP 279 (1ère partie) ...........................................................101
Tableau 26 : Taux de liaison entre les messages proposant des alternatives et le rôle dans leprojet pour le PEP 279 (1ère partie) ...............................................................................101
Tableau 27 : Distribution du nombre d’alternatives abordées par un message et de sastructure pour lePEP 279 (1ère partie) ...........................................................................102
Tableau 28 : Taux de liaison entre les messages proposant des alternatives et leur structurepour le PEP 279 (1ère partie)..........................................................................................102
Tableau 29 : Distribution des activités dans les commentaires en fonction du rôle pour lePEP 279 (1ère partie) ......................................................................................................103
Tableau 30 : Taux de liaison entre les activités dans les commentaires en fonction du rôlepour le PEP 279 (1ère partie)..........................................................................................103
9
Liste des figures
Figure 1 : Structure sociale du projet Python. Extrait de Mahendran (2002) .........................33Figure 2: Distribution du processus de conception PEP dans les espaces d’activité ..............35Figure 3 : Exemple d’en-tête de message, de citation électronique et de commentaire...........39Figure 4 : Exemple de message « Texte » .................................................................................39Figure 5: Exemple de message « une citation » ou «1-c » ......................................................40Figure 6 : Exemple de message « multi-citation » ou «M-c » provenant du même message ...40Figure 7: Exemple de message « multi-citation» ou «M-c » provenant de messages différents
..........................................................................................................................................40Figure 8: Organisation des messages à partir du lien de « réponse à » PEP 279 (1ère partie)49Figure 9: Organisation des messages à partir du lien de « réponse à » PEP 285 (1ère partie)
..........................................................................................................................................50Figure 10: Organisation des messages à partir du lien de citation PEP 279 (1ère partie).......51Figure 11: Organisation des messages à partir du lien de citation PEP 285 (1ère partie).......52Figure 12: Profondeur des citations dans la discussion PEP 279 (1ère partie)........................55Figure 13: Profondeur des citations dans la discussion PEP 285 (1ère partie)........................55Figure 14: Représentation temporelle de la discussion PEP 279 (1ère partie) ..........................58Figure 15: Représentation temporelle de la discussion PEP 285 (1ère partie).........................61Figure 16: Position dans le graphe de la discussion en fonction du rôle des participants ......64PEP 279 (1ère partie) ................................................................................................................64Figure 17: Position dans le graphe de la discussion en fonction du rôle des participants ......65PEP 285 (1ère partie) ................................................................................................................65Figure 18 : Extrait de la page Internet du site Python (www.python.org) ...............................87Figure 19 : Le site Sourceforge (www.sourceforge.net) ...........................................................87Figure 20 : Distribution du processus de conception FLOSS dans les espaces d’activité .......88Figure 21 : Extrait d’un fil de discussion de la liste Python-Dev (www.gname.org) ...............90Figure 22 : Extrait d’un fil de discussion de la liste Python-Dev (www.python.org) ..............90Figure 23 : Graphe des attractions entre la position dans le graphe et la structure des
messages pour les PEP 279 et PEP 285 (1ères parties) ....................................................93Figure 24 : Graphe des attractions entre la position dans le graphe et le rôle dans le projet
pour le PEP 279 (1ère partie)............................................................................................94Figure 25 : Graphe des attractions entre la position dans le graphe et le rôle pour le PEP
285 (1ère partie).................................................................................................................95Figure 26 : Graphe des attractions entre la structure des messages et le rôle dans le projet
pour le PEP 279 (1ère partie) ............................................................................................96Figure 27 : Graphe des attractions entre la structure des messages et le rôle dans le projet
pour le PEP 285(1ère partie).............................................................................................97Figure 28 : Graphes d’attraction entre les activités des citations et les activités des
commentaires pour les PEP 285 et PEP 279 (1ères partie).............................................100
10
Liste des annexes
Annexe 1 Outils et modes de communications des développeurs FLOSS...............................86Annexe 2 Exemples de fils de discussion.................................................................................90Annexe 3 Extrait du tableau de codage ....................................................................................91Annexe 4 Lien entre la structure et la position dans la discussion ...........................................92Annexe 5 Lien entre le rôle et la position dans la discussion...................................................94Annexe 6 Lien entre le rôle et la structure des messages .........................................................96Annexe 7 Lien entre les activités contenues dans les citations et les activités contenues dans
les commentaires ..............................................................................................................98Annexe 8 Lien avec les alternatives de conception................................................................101Annexe 9 Lien entre le rôle et l’activité dans les commentaires ............................................103
11
1 Introduction
Grâce au progrès des technologies de communication et à l’essor de l’Internet, il est de plus
en plus courant aujourd’hui de voir des équipes de concepteurs (de logiciels, d’automobiles,
de bâtiments…) travailler ensemble alors qu’ils se trouvent sur des sites ou dans des pays
différents. Notre travail de recherche porte sur une de ces situations de conception à distance:
la conception de logiciels libres ou FLOSS pour « Free Libre Open Source Software ».
Un FLOSS est un logiciel qui peut être exécuté, distribué, copié ou encore amélioré,
librement, par son utilisateur et ce grâce à une licence d’utilisation spécifique. Les
concepteurs de logiciels FLOSS travaillent dans des lieux séparés géographiquement, ne se
rencontrent que rarement et coordonnent leur activité en utilisant essentiellement les messages
électroniques. Une grande partie de la conception FLOSS a donc lieu lors des discussions en
ligne entre concepteurs (Mockus, Fielding, et Herbsleb, 2002). La conception FLOSS prend
de plus en plus d’ampleur dans le monde informatique : on dénombre des milliers de projets
FLOSS, et des millions d’utilisateurs de ces logiciels. Les plus connus sont, par exemple,
Linux1, Mozilla2 ou encore Python sur lequel porte notre étude.
L’objectif de notre travail est de comprendre et de modéliser la dynamique de la conception
FLOSS. D’une part parce qu’il s’agit d’un mode émergeant de conception logicielle, dont le
modèle de développement n’est pas stabilisé (Scacchi, 2001). D’autre part, parce qu’il s’agit
d’un cas paradigmatique de conception médiatisée, à distance, en mode asynchrone. Ce mode
de conception est encore peu étudié et son processus pose encore de nombreuses questions.
Des travaux portant sur la conception à distance en général (Olson et Olson, 2000 ;
Vacherand-Revel, 2002) mais également sur la conception de FLOSS (Ripoche et Sansonnet,
à paraître, Gasser, Scacchi, Ripoche, et Penne, 2003 ; Scacchi, 2001) soulignent, en effet, que
les outils proposés à l’heure actuelle sont encore peu adaptés à l’activité des concepteurs. Un
enjeu majeur de l’étude de ces situations en ergonomie est alors de proposer des moyens de
les instrumenter (Darses, Détienne et Visser, 2004 ; Darses, 2004 ; Trognon, 2002). A plus
long terme, nous cherchons donc à proposer des recommandations pour le développement
d’outils permettant d’extraire des informations pertinentes - pour la conception - des archives
1 Système d’exploitation concurrent de Windows ou Mac OS qui représente aujourd’hui 17% du marché dessystèmes d’exploitation aux Etats-Unis (Smets-Solanes et Faucon, 2000)2 Navigateur Internet
12
des discussions en ligne. Ces outils pourraient servir de base pour retracer la logique de
conception d’un FLOSS (Moran, et Carroll, 1996) ou pour construire une mémoire
organisationnelle des projets FLOSS (Falzon, Sauvagnac, et Leblond 2000).
Notre étude porte plus précisément sur le projet Python (langage de programmation). Il
s’inscrit dans une collaboration internationale menée avec des chercheurs de l’Université de
Californie et du Palo Alto Research Center. Dans une communication issue de cette
collaboration (Sack, Détienne, Burkhardt, Barcellini, Ducheneaut, et Mahendran, 2004), nous
avons proposé de considérer que cette activité de conception est distribuée dans trois espaces
sur Internet : un espace de discussion (forums, listes de diffusion d’un projet FLOSS), un
espace de documentation (site Internet d’un projet, divers documents en ligne, guide
d’utilisation du FLOSS) et un espace d’implémentation (code du FLOSS et ses différentes
versions disponibles sur une plateforme Internet de gestion de projet). Le travail
éthnométhodologique de Mahendran (2002) a identifié la structure sociale du projet, et a
illustré la façon dont le pouvoir est distribué dans ces trois espaces. Le travail de thèse de
Ducheneaut (2003) a mis en évidence l’évolution des concepteurs d’une position périphérique
à une position centrale dans le projet, à travers leurs actions dans deux de ces espaces :
l’espace de discussion et l’espace d’implémentation. Notre approche porte sur l’analyse de
l’espace de discussion. Dans cet espace, nous allons étudier les discussions en ligne entre des
concepteurs experts de Python- ou développeurs- engagés dans un processus particulier de
conception, appelé Python Enhancement Proposal ou PEP, qui se propose de définir et de
spécifier les évolutions du langage. Ce processus est analogue à des processus déjà étudié
dans des cas de réunions de conception en face-à-face comme les « Technical Review
Meeting »3 (d’Astous, Détienne, Robillard et Visser, 2004) ou le « Request for Comment »
(RFC). Les messages électroniques entre développeurs Python sont accessibles publiquement
et archivées en ligne et constituent ainsi des traces du processus de conception.
Dans ce mémoire, nous commencerons par définir le contexte de notre étude en présentant
différentes caractéristiques de la conception de FLOSS. Puis, nous poserons le cadre
théorique sur lequel nous nous appuyions pour analyser le processus de conception
asynchrone et distant qui nous intéresse. Nous présenterons ensuite la méthode d’analyse que
nous avons développée ainsi que les résultats obtenus. Enfin, nous discuterons ces résultats
avant de finir en ouvrant d’autres perspectives de ce travail de recherche.
3 Ces réunions de revue de projet sont des étapes prescrites dans le processus de conception de logiciels
13
2 La conception de logiciels libres
La conception de logiciels libres ou FLOSS est de plus en plus répandue dans le monde
informatique et tend à s’imposer comme le nouveau paradigme de conception logicielle. Cette
section a pour objectif de présenter les caractéristiques de cette forme de conception. Nous
commencerons par rappeler l’historique du mouvement fondateur des FLOSS. Nous
présenterons les caractéristiques des opérateurs impliqués dans la conception de FLOSS ainsi
que les règles de fonctionnement des projets FLOSS. Nous nous concentrerons ensuite sur les
caractéristiques de ce mode de conception. Enfin, nous conclurons cette section en présentant
les questions que pose, à l’ergonomie, cette nouvelle forme de conception.
2.1 Le mouvement FLOSS
Le mouvement Free software est né au début des années 80 sous l’impulsion de Richard
Stallman, chercheur en Intelligence Artificielle au Massachussets Institute of Technology
(MIT). Depuis le début des années 70, les chercheurs et ingénieurs du MIT, et plus
généralement la communauté des hackers4 avaient pour habitude de partager le code source
des programmes qu’ils développaient. En 1975 deux étudiants, Bill Gates et Paul Allen5
rompirent cette tradition et instaurèrent un modèle fondé sur le paiement de royalties et sur la
vente de logiciels protégés par une licence interdisant la copie entre utilisateurs (Smet-Solanes
et Faucon, 1999) : le modèle de logiciels dit propriétaires était né. De son côté, Stallman
(Stallman, 2002) pensait qu’un programme informatique (ou le code de ce programme) devait
rester librement copiable et modifiable, afin d’éviter que l’essentiel du contrôle de l’industrie
informatique ne se retrouve entre les mains d’un petit nombre de personnes. Il définit alors le
concept de logiciels libres (définition complète à l’adresse www.gnu.org) et créa le projet
GNU (pour « GNU is Not Unix6 ») dont l’objectif était de développer un système
d’exploitation libre.
Le mouvement Free Software pris véritablement son essor dans le début des années 90 grâce
à la conjonction de deux facteurs : le développement par Linus Torvalds en 1990 du premier
système d’exploitation7 libre, Linux; et surtout grâce à l’émergence d’Internet et des
4 Ou vrais programmeurs, qui ont la passion de la programmation.5 Co-fondateurs de Microsoft6 Système d’exploitation créé dans le début des années 707 Système d’exploitation : logiciel organisant le travail de base d’un ordinateur, type Windows© ou MacOS©
14
technologies de l’information et de la communication qui ont permis à des centaines de
développeurs de participer à la conception de Linux en communiquant via le web. La
diffusion et l’usage des logiciels libres sont donc indissociables du développement de
l’Internet (Raymond, 1999a ; Smets-Solanes et Faucon, 1999).
En 1997, le mouvement Free Software connu un renversement. Un groupe de personnes
influentes du mouvement était préoccupé par le fait que la Free Software Foundation (FSF)
diffusait un message non marchand qui, selon eux, nuisait à la diffusion des logiciels libres.
Ils décidèrent donc de créer un nouveau modèle de logiciels libres, l’Open Source Software
(OSS) (Raymond, 1999a). La définition complète de l’OSS est disponible à l’adresse
www.opensource.org. Les OSS sont également soutenus par une organisation l’Open Source
Initiative ou OSI.
C’est ainsi que l’on parle désormais du mouvement « Free Libre Open Source Software » ou
FLOSS qui est composé de deux branches l’une plus radicale dominée par la FSF et l’autre
dominée par l’OSI.
Actuellement, il existe des projets FLOSS de grande ampleur, impliquant plusieurs dizaines
voir des centaines de développeurs, comme Linux, Apache, Debian ou le projet Python, qui
nous intéresse ici, même si la majorité des projets FLOSS reste relativement confidentielle et
n’implique parfois qu’un seul développeur. Notre travail, qui s’intéresse à la dimension
collective des activités de conception, portera sur les projets FLOSS de grande ampleur.
2.2 Caractéristiques des développeurs FLOSS
Plusieurs enquêtes menées au sein de différents projets FLOSS (enquête FLOSS et BCG)8, et
reprises par Coris et Lung (2004) nous permettent d’obtenir un profil des développeurs
FLOSS :
§ Ce sont quasi-exclusivement des hommes (plus de 98% d’après les enquêtes), âgés de
moins de trente ans, ne vivant pas maritalement (60% selon FLOSS) et sans enfant
(83% selon FLOSS) ;
§ Ils sont éparpillés dans le monde, avec toutefois une prédilection pour l’Amérique du
Nord et l’Europe (en particulier la France, l’Allemagne et la Grande-Bretagne) ;
8 http://www.infonomics.nl/FLOSS et http://www.osdn.com/bcg/bcg/bcghackersurvey.html
15
§ Les développeurs ont un niveau d’études supérieur ou égal à la licence et une activité
professionnelle liée aux technologies de l’information ;
§ La majorité des développeurs participent aux projets FLOSS en parallèle de leur
activité principale et n’ont pas forcément de rémunérations associées à cette
participation. Certains membres peuvent néanmoins être rémunérés par les fondations
qui soutiennent les projets FLOSS ;
§ Ils partagent une connaissance commune des langages de programmation actuels (C,
C++, Java...); par exemple 90 % des développeurs maîtrisent le langage C.
D’autres études (Hertel, Niedner, & Hermann, 2003; Lakhani et Von Hippel, 2003), mais
également l’idéologie du mouvement FLOSS (Raymond, 1999b), mettent en avant plusieurs
points forts expliquant la motivation des développeurs à s’engager dans un projet FLOSS :
§ De nombreux développeurs travailleraient en premier lieu pour l’honneur et la
renommée9 acquis auprès de leurs pairs au sein d’un projet FLOSS, à travers la
qualité du code informatique qu’ils proposent aux autres membres du projet.
§ D’autres sources de motivation sont néanmoins mises en avant :
o la stimulation intellectuelle liée à l’écriture du code informatique;
o le perfectionnement ou l’acquisition de nouvelles compétences ;
o le fait qu’ils bénéficient directement de leur travail de développement (ce
point est à relier au fait que les développeurs FLOSS sont utilisateurs de
l’artefact qu’ils développent) ;
o l’adhésion à l’idéologique au mouvement FLOSS et à la croyance que les
logiciels doivent être libres et Open Source.
9 reputation en anglais
16
2.3 Règles de fonctionnement et structure sociale des projets FLOSS
Les théoriciens du mouvement FLOSS (Raymond, 1999b) mais également des études
scientifiques (Bonaccorsi et Rossi, 2003; Scacchi, 2001, Elliott, & Scacchi, à paraître; Dalle,
& Jullien, 2003 ; Conein, 2004a ; Cohendet, Créplet, et Dupouët, 2003) affirment que la clé
de voûte du succès des projets FLOSS est leur structuration en communauté. A notre
connaissance, ce terme est peu utilisé en ergonomie et mérite donc d’être précisé.
On considère que les membres de projet FLOSS constituent des communautés « online » au
sens de Souza, et Preece (2004), c'est-à-dire :
§ qu’il s’agit, d’une part, d’un groupe de personnes qui se connectent ensemble à
Internet avec un but précis - développer un logiciel;
§ et que, d’autre part, ce groupe est gouverné par des normes et principes propres,
ceux du mouvement FLOSS (Elliott et Scacchi, à paraître; Stewart et Gosain, à
paraître). Par exemple, les concepteurs FLOSS croient que les logiciels doivent
être libres. Ils croient également à la supériorité du mode de développement
FLOSS.
Cohendet, et al. (2003) et Conein (2004a) ajoutent que les communautés FLOSS peuvent être
vues comme des communautés épistémiques car l’objectif des concepteurs est de produire et
de construire des connaissances sur le logiciel ou le langage développé. Il ne s’agit pas
seulement pour le concepteur d’augmenter ses compétences individuelles, mais aussi
d’atteindre un objectif « méta » de production de connaissances. Ces auteurs ajoutent que ces
communautés sont régulées sur la base d’une évaluation par les pairs : c’est cette évaluation
qui assure l’évolution et la pérennité de la communauté.
D’autres études (Gacek et Arief, 2004; Mahendran, 2002 ; Crowston et Howison, 2005 ;
Jensen et Scacchi, 2005) mettent en avant que ces communautés sont des communautés
méritocratiques, parfois extrêmement hiérarchisées pour les projets de grande taille. De façon
générale, un projet FLOSS de grande taille implique différents types de membres qui ont tous
pour point commun d’être des utilisateurs du logiciel :
§ la plupart des projets FLOSS est le fruit de la volonté d’une seule personne,
communément appelée le « benevolent dictator » du projet; comme Linux Torvalds
pour Linux ou Guido Van Rossum pour Python ;
17
§ il y a le noyau central de développeurs ou “core team” qui prennent des décisions
concernant l’évolution du code source du logiciel ;
§ d’autres membres, appelés co-développeurs, participent à l’évolution du logiciel, et
peuvent modifier le code ;
§ enfin, il y a le groupe des utilisateurs :
o certains utilisateurs sont dits actifs car ils participent à l’évolution du projet en
signalant des dysfonctionnements ou en émettant de nouvelles idées pour faire
évoluer le projet, mais ils ne participent pas eux-mêmes au développement;
o les autres sont dits passifs car ils se contentent d’utiliser le FLOSS.
Il est possible d’évoluer dans un projet: un nouvel arrivant peut devenir développeur, mais
pour cela il doit « faire ses preuves » auprès des développeurs (Ducheneaut, 2003; Conein,
2004b; Mahendran, 2002 ; Jensen et al., 2005). Les membres d’un projet doivent démontrer
leurs compétences techniques dans la maîtrise du logiciel. Ils doivent se tenir au courant de ce
qui s’est fait dans le projet pour ne pas « polluer » les listes de diffusion avec des questions
déjà posées, au risque de se faire reprendre violemment par les autres membres et de ne pas
pouvoir être reconnu dans le projet. Mais ils doivent également être actif dans le projet en
n’hésitant pas à initier et entretenir des discussions en ligne.
Plusieurs études (Manhendran, 2002; Jensen et Scacchi, 2005) montrent que ces membres ont
différents rôles dans un projet FLOSS. Certains rôles sont explicites, ils correspondent à des
statuts officiels, comme celui du chef de projet ou des développeurs de la « core team » qui se
voient assignés la gestion de certaines parties du projet. D’autres sont implicites : par exemple
dans les listes de diffusion des projets certains membres répondent de façon préférentielle aux
questions posées. Le rôle des membres du projet est déterminé non seulement par leur
compétence technique mais également par leur capacité à se faire reconnaître par les autres
membres en participant et initiant des discussions notamment.
18
2.4 Caractéristiques de la conception FLOSS
L’ampleur prise par la conception FLOSS est relativement récente, son modèle de
développement n’est pas encore stabilisé et il est encore difficile de faire la part des choses
entre l’idéologie, les valeurs du mouvement FLOSS (Elliott et Scacchi, à paraître, Stewart et
Gosain, à paraître) et la réalité du processus de conception. Plusieurs études (Scacchi, 2001 ;
Gasser, et al., 2003 ; Mockus et al, 2002; Sack et al., 2004) commencent néanmoins à
apparaître et permettent de préciser certaines caractéristiques de la conception FLOSS, en
particulier pour les projets de grande ampleur:
§ La conception de FLOSS est effectuée par un grand nombre de développeurs;
§ elle se déroule quasi-exclusivement à distance et de manière asynchrone car les
concepteurs ne se trouvent pas, en même temps, dans un même lieu pour concevoir le
logiciel;
§ elle est essentiellement médiatisée par des outils tels que la messagerie électronique,
les forums de discussions, les listes de diffusion, et les plateformes de travail
coopératifs10.
§ le processus de conception est distribué dans au moins trois espaces sur Internet : un
espace de discussion (forums, listes de diffusion), un espace de documentation (sites
Internet des projets, documentations en ligne, différentes versions des documents
relatifs au projet) et un espace d’implémentation (code source et ces différentes
versions et outils de versionnement associés ou Concurrent Versions Systems). (Pour
de plus amples informations le lecteur pourra se référer à l’annexe 1).
§ L’organisation de la conception est variable en fonction de la taille des projets.
o Pour les projets de petite taille :
§ il n’y a pas d’attribution des tâches dans un projet, chacun prend en
charge la tâche qu’il souhaite ;
§ Il n’y a pas de planification du projet, de cahiers des charges ou de liste
de livrables;
10 Système de gestion pour le développement collaboratif sur Internet. Le système communément utilisé estSourceForge (cf annexe 1)
19
o Pour les projets plus importants:
§ il y a une répartition des tâches au sein du projet ;
§ il semble nécessaire de mettre en place des processus prescrits de
conception, comme c’est le cas pour le processus PEP du projet
Python.
2.5 Questions de recherche
Si certaines des caractéristiques de la conception FLOSS sont bien identifiées, celle-ci pose
encore de nombreuses questions à divers champs d’étude (sociologie, informatique,
économie, psychologie…) et en particulier à l’ergonomie.
En adoptant une approche physiologique et même sociale de l’activité, on pourrait s’intéresser
aux conditions de travail et aux effets sur la santé de la conception FLOSS. En effet, certaines
études (Hertel et al., 2003) mentionnent que les développeurs ont un fort taux de « burn-out »
et qu’ils exercent souvent plusieurs activités en parallèle. Des entretiens préliminaires que
nous avons menés auprès de concepteurs FLOSS mettent en avant des horaires de travail
atypiques(Barthe, Gadbois, Prunier-Poulmaire et Quéinnec, 2004), souvent le soir et à leur
domicile. Se pose alors la question de l’articulation de la vie au travail et de la vie hors travail
des concepteurs FLOSS et des conséquences sur leur santé physique et mentale (Falzon et
Sauvagnac, 2004) ainsi que des conséquences sur leur vie sociale.
Si l’on s’intéressait à la dimension individuelle de l’activité de conception de FLOSS, on
pourrait, par exemple, s’interroger sur les stratégies que met en place le concepteur pour gérer
la quantité de données potentiellement à sa disposition en ligne, pour traiter les discussions en
ligne, et sur les buts qu’il poursuit en participant à des projets de conception.
Notre approche se centre, elle, sur l’analyse de la dimension collective de l’activité de
conception de FLOSS. En particulier, nous cherchons à comprendre la dynamique de ce
processus de conception à distance et asynchrone, ce qui n’a pas été encore étudiée, à notre
connaissance. En outre, l’étude des situations de conception à distance et asynchrone est une
question de recherche plus générale en ergonomie.
20
Par dynamique du processus de conception, nous entendons :
§ l’émergence des thèmes et/ou problèmes de conception au cours des discussions:
Ø comment ces thèmes émergent-ils et sont articulés les uns avec les autres dans
les discussions en ligne?
Ø Quel est le degré d’asynchronisme des échanges autour de ces thèmes dans les
discussions en ligne?
§ La nature et l’enchaînement des activités qui permettent aux concepteurs d’élaborer
puis de converger vers une solution de conception:
Ø ces activités, et leurs enchaînements, sont-ils différents des activités mises en
évidence dans d’autres cadres spatio-temporels de conception (dans des
réunions en face à face etc..) ?
§ l’influence des rôles, mis en évidence dans les projets FLOSS, sur le processus de
conception de FLOSS dans les discussions en ligne :
Ø Quels sont les rôles que tiennent effectivement les membres du projet dans le
processus de conception?
L’analyse du processus de conception FLOSS ne va pas sans poser des problèmes
méthodologiques :
§ D’une part se pose la question de l’articulation des messages constituant les
discussions en ligne en fonction des thèmes abordés, et donc de la représentation de
ces discussions en ligne.
§ D’autre part, l’analyse du travail collectif est nécessairement reliée à l’analyse des
communications que s’échangent les concepteurs pour se coordonner, obtenir des
informations, et contrôler la pertinence de leurs buts et de leurs actions (Falzon et
Navarro, 1993). De nombreux auteurs admettent que ces activités sont apparentes à
travers le processus argumentatif et l’alternance des tours de paroles entre concepteurs
dans des réunions en face à face. Dans le cas de la conception FLOSS, les
communications entre concepteurs ont lieu en ligne, il ne s’agit pas de verbalisation
21
mais de textes écrits, de messages électroniques. Se pose alors la question de l’accès
au processus argumentatif dans des discussions en ligne entre développeurs.
À partir de cette analyse du processus de conception FLOSS, nous souhaitons également
proposer une représentation de cette dynamique de conception qui pourrait alors servir de
base pour le développement d’outils permettant de préserver la mémoire de projets (Falzon et
al., 2000). Ce point s’inscrit dans la problématique plus large d’instrumentation des activités
de conception et de travail à distance en ergonomie, mais il nous semble particulièrement
crucial dans le cas des projets FLOSS. En effet, à l’heure actuelle, les discussions en ligne,
ainsi qu’un grand nombre d’informations relatives au projet sont archivés sur Internet, il y a
donc une quantité de données très importantes qui sont potentiellement disponibles pour les
concepteurs ou les nouveaux arrivants d’un projet. Il semble difficile que ces données brutes
puissent constituer telles quelles une mémoire de projet, ne serait-ce que par l’investissement
temporel que demanderait l’assimilation de ces informations. Ce point a été souligné dans
plusieurs études des projets FLOSS et par les concepteurs FLOSS eux-mêmes dans les
discussions en ligne ou dans les entretiens que nous avons réalisés.
22
3 Cadre théorique
Pour comprendre la dynamique de la conception FLOSS, nous nous réfèrerons, dans un
premier temps, à l’état de l’art actuel sur la dimension collective des activités de conception.
Nous nous interrogerons ensuite sur la méthodologie à employer pour analyser les activités de
conception dans le cas d’échanges médiatisés, asynchrones et à distance entre concepteurs ; et
sur les représentations des discussions en ligne sur lesquelles nous pourrions nous appuyer.
Enfin, nous verrons comment la notion de rôle est appréhendée dans les études de conception
collective et dans les discussions en ligne.
3.1 Rappel sur les caractéristiques des problèmes de conception
En ergonomie cognitive, l’activité de conception est considérée comme une activité de
résolution de problèmes (Darses et Falzon, 1996). Cette activité peut concerner des artefacts
concrets ou des dispositifs symboliques abstraits (comme un langage de programmation, cas
qui nous intéresse ici). Dans tous les cas, les problèmes de conception ont des caractéristiques
spécifiques :
§ l’état initial des problèmes a de nombreux degrés de liberté, il est incomplet et
ambiguë et n’est donc pas suffisant pour définir précisément la solution ;
§ les concepteurs doivent faire avec les différentes contraintes imposées lors de la
conception, et les différentes représentations de l’artefact à concevoir ;
§ il y a un ensemble de solutions possibles et c’est aux concepteurs d’opérer un
compromis pour trouver la solution acceptable dans cet ensemble ; cette élaboration de
la solution passe par des mouvements opportunistes de génération et d’évaluation des
solutions (Visser, Darses et Détienne, 2004).
Pour résoudre ces problèmes, les concepteurs sont donc amenés à mettre en commun leurs
compétences au sein de collectifs de travail.
23
3.2 La dimension collective de l’activité de conception
3.2.1 Les différentes modalités de la conception collectiveLes concepteurs engagés dans une activité commune de conception peuvent interagir suivant
différentes modalités :
§ Il y a tout d’abord les réunions de conception où tous les concepteurs se trouvent dans
un même espace, en même temps. Il s’agit de réunions de conception en co-présence
en mode synchrone ;
§ Les échanges entre concepteurs peuvent également avoir lieu à distance :
o en mode synchrone – tous les concepteurs sont présents « en même temps »
lors d’une vidéoconférence par exemple ;
o ou en mode asynchrone à travers les courriers électroniques par exemple, les
plateformes d’échanges de documents, les forums de discussions.
Il y a encore peu d’études sur les situations de conception à distance en mode asynchrone qui
nous intéressent ici. Par contre, de nombreuses études ont analysé et décrit la dimension
collective des activités de conception en co-présence. Un certain nombre a porté
spécifiquement sur la conception de logiciels, celles qui nous intéressent se sont focalisées sur
les réunions de « brainstorming » ou de revue de projet ou « Technical Review Meeting »
dans lesquelles on discute des spécifications du logiciel (d’Astous, Détienne, Robillard, &
Visser, 2001 ; d’Astous, Détienne, Visser, et Robillard, 2004 ; Herbsleb, Klein, Olson,
Bruner, Olson, & Harding, 1995 ; Olson, Olson, Carter, et Storrosten, 1992). D’autres études
portent sur les échanges à distance en général (Olson et Olson, 2000 ; Navarro et Sikorsky,
2002), parfois dans le cas de réunions de conception synchrones à distance (Olson et Olson,
2000 ; Détienne, Boujut, et Hohmann, 2004 ; Vacherand-Revel, 2002).
3.2.2 Les activités observées dans les situations de conception en co-présenceUn premier type d’activité concerne la définition des propriétés de l’objet en cours de
conception ou sa spécification. Elles incluent la construction du problème, l’élaboration de la
solution, l’identification de solutions alternatives et leur évaluation par les concepteurs. À
travers l’analyse du processus argumentatif entre concepteurs, d’Astous et al. (2004) ont
décrit certains enchaînements typiques dans l’articulation des activités entre concepteur. Une
24
activité « d’élaboration – proposition » de solutions est généralement suivie soit par son
évaluation, soit par le développement de solutions alternatives. Dans le deuxième cas, la
proposition d’une alternative de solution est souvent l’indicateur d’une évaluation négative
implicite de la solution initialement proposée.
Le deuxième type d’activité concerne celle dite de synchronisation cognitive. Elle vise la
construction d’un référentiel commun par les concepteurs (de Terssac, et Chabaud, 1990,
Darses et Falzon, 1996 ; Karsenty, 1996). Le référentiel commun désigne ici la représentation
partagée de « l’état » actuel de la solution, mais aussi des procédures mises en place par le
collectif, ou encore des règles techniques. Ce type d’activité est très prégnant dans les
réunions de conception dans la mesure où il représente un tiers du temps de discussion entre
concepteurs (d’Astous et al., 2004 ; Olson et al. 1992). Par ailleurs, d’Astous et al. (2004)
montrent que cette activité constitue un pré requis à l’activité d’évaluation.
Enfin, la gestion du collectif – appelé également synchronisation opératoire - (Darses et
Falzon, 1996) est le dernier type d’activités décrit par les études. Il concerne la coordination
du processus de conception (par opposition à l’objet en cours de conception lui-même) :
gestion du projet (par exemple : allocation et planification des tâches), gestion des réunions
(par exemple : mise à l’ordre du jour ou report des sujets de discussions).
3.2.3 Distance et dimension collective de l’activité de conceptionComme nous le disions en introduction, la conception à distance -et plus généralement le
travail à distance - tendent à se généraliser. En changeant les supports et les modalités de la
coopération, la distance pose de nombreuses questions et plusieurs études se sont donc
intéressées à ses effets sur l’activité. (Olson et Olson, 2000 ; Détienne, Boujut et Hohmann,
2004, Vacherand-Revel, 2002 ; Navarro et Sikorsky, 2002 ; Karsenty, 1997 cité dans Navarro
et Sikorsky, 2002).
Des conditions nécessaires au succès des échanges à distanceOlson et Olson (2000) montrent, dans un article au titre explicite « Distance Matters », que
pour que des échanges réalisés à distance en mode synchrone soient efficaces, les concepteurs
doivent partager un référentiel commun solide. Il leur permet alors de maintenir la qualité de
leurs communications à travers des médias de communications « pauvres » disponibles
actuellement.
25
Ces médias sont qualifiés de pauvres par opposition à la richesse des réunions en co-présence.
En effet, celles-ci :
§ permettent d’avoir un retour rapide et de pouvoir corriger de manière quasi-
instantanée les incompréhensions et les désaccords entre les participants;
§ sont soutenues par plusieurs canaux de communication (visuel, auditif…). Ces canaux
peuvent être utilisés pour transmettre des messages complexes, et favorisent la
redondance entre les informations transmises ;
§ constituent un contexte de travail local et partagé qui favorise une meilleure
compréhension des activités de chacun ;
§ facilitent la « co-référence » (par exemple, pour faire référence à quelqu’un on peut
aisément le désigner du doigt) ;
§ favorisent les échanges opportunistes.
Ces auteurs notent néanmoins que les échanges à distance en mode synchrone qu’ils ont
étudiés, peuvent également être efficaces dans le cas où la tâche à réaliser est une tâche
routinière qui ne nécessité pas des échanges fréquents et complexes entre participants.
Il semble donc que la résolution d’un problème de conception (qui n’est pas une tâche
routinière si l’on considère qu’il s’agit d’une tâche de résolution de problème) ne puisse pas
être réalisée facilement à travers des échanges à distance en mode synchrone, si les
participants ne partagent pas un référentiel commun. En effet, les technologies ne permettent
pas encore aux concepteurs de construire un référentiel commun et ne soutiennent que très
peu les caractéristiques essentielles de la conception en co-présence (Olson et Olson, 2000 ;
Darses, et al., 2004 ; Darses, 2004). Les résultats de ces études ne font que souligner le besoin
de développement d’instrumentations adaptées aux situations de conception à distance car,
dans tous les cas, ce ne sont pas celles-ci qui posent problème en elles-mêmes, mais plutôt des
limitations technologiques qui pourront certainement être dépassées à l’avenir.
Effets de la distance sur la dimension collective des activités de conceptionEn ce qui concerne les effets de la distance sur la dimension collective des activités de
conception réalisée de façon synchrone, Détienne et al. (2004) montrent que les activités de
synchronisation cognitive sont toujours prédominantes. De plus, dans des situations
26
d’apprentissage à distance, il a été montré qu’experts et novices explicitaient plus lors de leur
échanges, ce qui favorisent l’apprentissage du novice (Karsenty, 1997 d’après Navarro et
Sikorski, 2002). Par contre, de nouvelles activités apparaissent, comme celles de gestion de
l’interaction à travers le média (gestion des tours de parole, gestion des ressources
matérielles…), et ont également une place importante. Vacherand-Revel (2002) montrent que
ces activités de gestion de l’interaction entraînent des modifications du contenu des échanges
entre concepteurs: une plus grande part étant alors faite à l’explicitation même des actions
élémentaires.
Peu d’études ont analysé finement la dimension collective des activités de conception
réalisées en mode asynchrone que nous nous proposons de mettre en évidence dans le cas de
la conception de FLOSS. Quelques études, cependant, ont analysé les échanges ayant lieu en
mode asynchrone à travers le courrier électronique ou les forums de discussions. Martin
(2002) montre par exemple que les forums électroniques sont particulièrement adaptés dans
des contextes d’activités où les échanges sont courts mais qu’ils ne peuvent pas soutenir des
activités où les débats et l’argumentation sont importants. Par contre, Conein (2004b)
montrent, dans le cas de la conception FLOSS, que les messages électroniques des listes de
diffusion sont des lieux d’échanges de savoir et de construction de connaissances.
3.3 Discussions en ligne : traces d’une activité asynchrone de conceptioncollective à distance
Nous avons souligné que l’analyse de la conception FLOSS pose des questions
méthodologiques (représentation des discussions et analyse du processus argumentatif)
auxquelles nous nous proposons de répondre dans cette section. Nous commencerons par
réaliser un bref état de l’art des méthodes d’analyse utilisées en ergonomie pour mettre en
évidence le processus argumentatif lors des échanges entre concepteurs. Nous nous
appuierons ensuite sur des travaux du champ de la communication médiatisée pour présenter
l’approche méthodologique que nous avons développée pour représenter, et analyser les
discussions en ligne.
27
3.3.1 L’argumentation comme trace des activités de conceptionPlusieurs méthodes d’analyse du processus de conception sont basées sur l’étude de
l’argumentation et des tours de paroles entre concepteurs (Olson et al., 1992 ; Herblseb et al.,
1995, D’astous et al., 2001, 2004 ; Martin, Détienne et Lavigne, 2004 ; Darses, Détienne,
Falzon et Visser, 2001). Elles permettent de mettre en évidence les activités de conception,
leur enchaînement, et les contraintes auxquelles font appel les concepteurs dans leur activité.
Ces méthodes sont inspirées des travaux du champ du « design rationale » (Buckingham
Shum et Hammond, 1994 ; Moran et Carroll, 1996). Elles peuvent également servir de base
pour la constitution d’outils permettant de retracer la logique de conception et la mémoire des
projets (Falzon et al., 2000 ; Conklin et Burgess-Yakemovic, 1991). Elles nous semblent donc
adapter aux objectifs de notre travail.
Tracer la logique de conception, c’est établir une représentation du raisonnement sous-tendant
la conception de l’artefact ;
§ À partir du processus de prise de décision et de la représentation « QOC » pour
« Questions Options Critères ». Une question ou un thème de conception est un
problème ou un aspect de la conception. Une option – ou alternative- est une
proposition ou une solution sur un aspect de l’artefact conçu. Un critère est une raison
ou un argument qui permet d’évaluer une solution. Cette représentation permet de
décrire l’espace des solutions proposées ainsi que les critères de leur évaluation.
o En décrivant l’histoire du processus de conception pour aider à la prise de décision au
cours du processus de conception.
Dans la perspective de comprendre la dynamique de conception de FLOSS, et de tracer sa
logique de conception, il est donc essentiel d’élaborer une méthodologie d’analyse du
processus argumentatif ayant lieu dans les discussions en ligne. Pour cela, il nous faut
articuler : les messages électroniques –qui constituent la base des échanges entre concepteurs-
les uns avec les autres ; et leur contenu - qui porte les échanges argumentés entre concepteurs.
Il nous faut donc trouver un lien – un fil conducteur- qui nous permette de suivre le
déroulement des discussions en ligne. Le lien communément utilisé est le lien de « réponse
à » entre les messages qui est la base de l’organisation classique des discussions.
28
Dans les sections suivantes, nous montrerons pourquoi ce lien ne nous semble pas pertinent
pour notre analyse et nous proposerons une approche alternative basée sur l’analyse des
citations électroniques.
3.3.2 Les fils de discussions : le modèle classique d’analyse des discussions enligne
Plusieurs études (Venolia et Neustaedter, 2003 ; Popolov, Callaghan et Luker, 2000)
considèrent que la cohérence des discussions en ligne est déterminée par le « threading » ou
fils de discussion - c'est-à-dire par le lien de « réponse à » qui relie les messages électroniques
entre eux (tel message répond à tel autre message).
La plupart des outils d’organisation et d’analyse des discussions en ligne, de mêmes que les
outils de gestion de courriers électroniques, sont conçus suivant cette approche11. Par
exemple, Threading Chat (Smith, Cadiz et Burgkmair, 2000) permet d’attacher sa
contribution à un « chat » comme une réponse aux autres contributions, la discussion revient
alors à un arbre plutôt qu’une simple succession de messages. Dans Loom (Donath,
Karahalios, Viegas, 1999), chaque message est placé sur une grille en deux dimensions, le
temps est présenté sur un axe horizontal, et la représentation est finalisée par des lignes reliant
des messages se répondant. Netscan (Smith et Fiore, 2001) propose plusieurs formes de
visualisation pour les newsgroups et liste de diffusion, dont une représentation basée sur une
organisation des messages en fils de discussion mais également suivant le temps.
Ces représentations sont utiles pour analyser les échanges entre proposants et répondants dans
une discussion (Conein, 2004b ; Akrich et Méadel, 2003). Elles sont pertinentes pour obtenir
une image de la centralité de certains participants au sein de communautés (Ducheneaut,
2003), un participant étant central quand il a tendance à recevoir beaucoup de réponses à ses
contributions. Par contre, il n’est pas clair que l’approche basée sur les fils de discussions soit
pertinente pour maintenir la cohérence des thèmes de conception, pour analyser le
raisonnement des concepteurs, et servir ainsi de base pour des outils de mémoire de projets.
En effet, Herring (1999) montre que les échanges réalisés à travers plusieurs types d’outils de
communications asynchrones (chat, forums ou messages électroniques) sont moins cohérents
que dans des échanges en face-à-face : les réponses sont non seulement séparées des messages
11 Elle est également déterminé par des considérations techniques puisque suivant les standards de l’Internet(RFC 822)l’en-tête du message contient le lien de « réponse à ».
29
auxquels elles répondent, mais il y a également une disparition progressive des thèmes de
discussions et des redondances dans la même discussion. Dans le modèle classique
d’organisation des discussions en fils, il y a une violation des principes de linguistique
pragmatique de pertinence et de proximité12. Cela contribue à créer une confusion potentielle
pour les utilisateurs.
3.3.3 Les citations électroniques : une approche alternative pour tracer lalogique de conception dans les discussions en ligne
Eklundh et Macdonald (1994) ont montré que la citation électronique, c’est-à-dire la reprise
d’une partie (ou de plusieurs) du message auquel on fait référence dans son propre message,
est une pratique courante dans les discussions en ligne. Ils considèrent que la citation
électronique est un mécanisme permettant de préserver le contexte dans une discussion. Leurs
résultats montrent que les utilisateurs des listes de discussions ont le sentiment que
l’utilisation de la citation électronique améliore la qualité des échanges dans les discussions
en ligne.
Par la suite, Eklundh et Rodriguez (2004) ont distingué plusieurs types de pratiques
permettant de faire référence à des messages dans des discussions en ligne autour de
document :
§ Il y a tout d’abord des références explicites : le numéro identifiant du message (qui
n’est pas utilisé en pratique), l’auteur du message, le sujet du message, ou la citation
électronique. Dans ce cas, elle est vue comme une stratégie linguistique utilisée par les
participants pour relier un commentaire à une contribution précédente.
§ Il y a ensuite des références implicites : ce sont des références déictiques ou
anaphoriques à un précédent message (par exemple « comme tu l’as mentionné »), des
séquences conversationnelles (mouvement de questions ou de réponses), des
références aux thèmes abordés ;
§ Et enfin des références externes à d’autres documents par exemple, ou à des
expériences antérieures du groupe.
12 Adjacency et relevance en anglais
30
Selon Herring (1999), l’utilisation de la citation électronique recrée l’illusion de la proximité
entre deux tours de paroles dans un seul message ; elle permet de maintenir le contexte et peut
donc être utilisée pour retracer l’histoire et la cohérence d’une discussion.
Bien que ces études aient été effectuées dans d’autres champs que celui de la conception, il
nous semble intéressant de considérer l’analyse des citations électroniques comme une
approche alternative à l’analyse des discussions en fil. Cette analyse nous paraît pertinente
pour retracer la cohérence d’une discussion, en particulier en ce qui concerne les thèmes de
conception, et le processus argumentatif entre concepteurs. A notre connaissance, seuls deux
outils utilisent les citations électroniques à l’heure actuelle : Conversation Map (Sack, 2000)
et un outil inspiré du précédent Zest (Yee, 2002).
3.3.4 Temporalité des discussions en ligneLes études sur les discussions en ligne du champ de la communication médiatisée ont analysé
des discussions de types forums ouverts ou chat, cependant peu se sont intéressées au lien
entre la temporalité et le contenu des activités de ces discussions. Par exemple, Herring
(1999) a, toutefois, mis en évidence que les thèmes de discussion sont soumis à une
décroissance rapide avec le temps dans les discussions en ligne. D’une part, les auteurs
affirment que la discussion s’étiole au cours du temps en sous-chaînes correspondant à des
digressions thématiques. D’autre part, ces digressions tendent à diluer le thème global de la
discussion.
Des propriétés spécifiques des discussions pourraient découler du fait qu’en conception de
FLOSS, les activités sont encadrées et finalisées par la conception, il ne s’agit pas de
discussions ouvertes. C’est à partir de cette hypothèse que nous proposons une analyse de la
temporalité des discussions en ligne, et en particulier de caractériser le degré d’asynchronisme
du traitement des thèmes de conception en ligne.
31
3.4 Rôles dans un processus asynchrone de conception à distance
Nous nous proposons d’étudier l’influence des rôles mis en évidence dans les projets FLOSS
sur le processus de conception. Or, peu d’études ont analysé le processus de conception du
point de vue des rôles. Dameron (2002) a analysé l’évolution des relations qu’entretiennent
les membres d’équipes « projet» de conception. Elle montre qu’il existe une différenciation
des membres du groupe et l’émergence de rôle au sein du collectif, comme celui de « leader »
par exemple. Baker, Détienne, Lund et Séjourné (à paraître) distinguent le rôle prescrit du rôle
effectif dans le projet. Le rôle prescrit correspond au rôle statutaire souvent hiérarchique. Les
auteurs proposent d’opposer à ces rôles prescrits, les rôles que les concepteurs tiennent
effectivement dans le projet ou rôle effectif. Ces rôles émergent à travers les échanges et
l’argumentation entre concepteurs.
Dans les discussions en ligne, les rôles des participants se construisent à partir de leur
participation à la discussion (fréquence d’envoi et longueur des messages), du contenu des
messages, mais également du statut des participants (Alkrich et Méadel, 2003 ; Cassell,
Huffaker et Ferriman, 2005 ; Conein, 2004b ; Mahendran, 2002 ; Martin, 2002).
Dans le cas de la conception FLOSS, on peut alors se demander si des rôles effectifs émergent
des échanges et quels sont leurs correspondances avec les rôles prescrits –ou statuts officiels-
mis en évidence dans les projets FLOSS.
32
4 Méthodologie
Nous avons analysé deux discussions en ligne entre les développeurs du projet Python. Ces
discussions sont des traces d’un processus de conception particulier appelé « Python
Enhancement Proposal » ou PEP. Dans cette section, nous présenterons tout d’abord
l’organisation générale du projet Python et ses différents membres. Nous nous concentrerons
ensuite sur le processus PEP ainsi que sur les corpus que nous avons sélectionnés. Enfin, nous
détaillerons la méthodologie que nous avons employée pour analyser ces corpus.
4.1 Sujets : les membres du projet Python
Comme de façon générale dans les communautés FLOSS, la majorité des membres du projet
sont des hommes, vivant en Amérique du Nord et en Europe, avec également un groupe actif
en Nouvelle-Zélande et en Australie.
Mahendran (2002) a mis en évidence que la structure sociale de Python est très centralisée et
pyramidale (figure 1). Il a identifié 5 positions dans la structure sociale du projet :
§ Le chef du projet dont le surnom est BDFL (« Benevolent Dictator For Life ») : il
s’agit du créateur du projet. À l’époque des discussions analysées (2002), il
travaillait dans une société proposant un outil de gestion Internet basé sur Python,
appelé ZOPE. Il partageait la moitié de son temps à travailler pour Python et l’autre
moitié pour ZOPE. Mahendran rapporte que le chef de projet exerce une autorité
prégnante sur les décisions de conception « at the end, it is his decision. »
(Mahendran, 2002 p.19) et que la plupart des membres du projet respectent cette
autorité.
§ Les administrateurs ou « core team »: six personnes (à l’époque de notre
analyse) dont quatre travaillent dans le même lieu que le chef de projet. Ces
administrateurs ont plus de pouvoir que les autres développeurs en ce qui concerne
la prise de décision et les modifications du code logiciel : ils maintiennent à jour la
base du code du langage Python, la documentation, et sont en charge des PEPs et
des sites Internet publics du projet.
33
§ Les « développeurs » : plusieurs dizaines de personnes13, membres de la liste de
diffusion Python-Dev où sont discutées les évolutions du langage Python. Le chef de
projet est seul à décider de l’intégration d’un nouveau développeur, lequel a dû au
préalable faire ses preuves. Ils n’ont pas de statut officiel ni de tâche prescrite, mais
sont à l’origine de nombreuses discussions dans d’autres listes de diffusion du
projet.
§ Les utilisateurs « avancés » de Python (« advanced ») : ils ont une expérience de la
programmation Python, et peuvent soutenir les nouveaux arrivants dans le projet en
répondant aux questions dans les discussions en lignes par exemple. Ils n’ont pas de
tâches assignées, mais on attend d’eux qu’ils connaissent parfaitement la
documentation de Python et les thèmes discutés dans les archives des listes.
§ Les nouveaux arrivants (« newbies ») dans le projet, ce sont des nouveaux
utilisateurs de python et donc nouveaux arrivants sur les listes.
Figure 1 : Structure sociale du projet Python. Extrait de Mahendran (2002)
13 Il n’ya pas de chiffre officiel concernant concernant le nombre de développeurs Python.
34
4.2 Corpus
Les corpus sur lesquels nous avons travaillés sont extraits de la liste de diffusion « Python-
Dev » et n’impliquent donc que le chef de projet, les membres de la « core team » et les
développeurs. Ils sont composés de discussions autour de deux PEPs particuliers que nous
avons sélectionnés.
4.2.1 « Python Enhancement Proposal » : un processus de conception prescritUn PEP est un processus prescrit de conception. Il encadre la façon dont doit être proposée
une nouvelle idée pour Python, sa mise en discussion dans la communauté et la
documentation des décisions de conception qui s’y rapportent. Le processus PEP, son
écriture, sa critique et son implémentation de sa proposition, se rapprochent de deux processus
de conception de logiciels utilisés dans des projets plus traditionnels : le « Request for
Comment » (RFC) et les réunions de revue de projets. Les RFCs sont utilisés depuis de
nombreuses années pour définir les standards d’Internet (particulièrement par l’« Internet
Engineering Task Force »). Les réunions de revue de projets sont des étapes prescrites dans le
processus de conception et développement de logiciels dans de nombreuses institutions tant
publiques que privées (D’Astous et al., 2004).
Le PEP proprement dit est le document (dans ses différentes versions) qui décrit l’idée
proposée pour l’évolution du langage Python. C’est ce document formel qui est discuté par la
communauté. Ils existent plusieurs types de PEPs, nous nous intéressons ici aux PEPs
proposant des nouvelles fonctions (d’autres PEPs portent sur les procédures et l’organisation
de la communauté.); ces PEPs doivent contenir de brèves spécifications techniques de la
fonction, sa justification et les caractéristiques de l’implémentation du code correspondant.
Le processus PEP correspond à un ensemble d’activités distribuées dans les trois espaces
d’activités de la conception FLOSS (Sack et al., 2004) : l’espace de discussion, l’espace de
documentation, et l’espace d’implémentation (figure 2 et annexe 1).
Une fois qu’un premier brouillon de PEP a été accepté par les responsables des PEPs ( un
administrateur et un développeur), l’auteur du PEP appelé le « Champion » se charge de le
faire discuter par la communauté à travers les différentes listes de diffusion du projet. Les
traces du processus, les informations concernant le PEP et son statut (accepté, rejeté, différé)
sont donc réparties à travers les espaces de discussion et de documentation. Le PEP est
déclaré « accepté » si, d’une part, un consensus favorable émerge au sein de la communauté,
35
et, d’autre part, que le chef de projet valide cet accord. La nouvelle fonctionnalité proposée
par le PEP peut alors être implémentée. Ce nouveau code (et ses différentes versions) est
intégré dans l’espace d’implémentation du projet. La description prescrite de l’ensemble du
processus est disponible à l’adresse www.python.org/peps.
Figure 2: Distribution du processus de conception PEP dans les espaces d’activité
4.2.2 Description du corpusL’ensemble des discussions autour des PEP est archivé sur le Web, et est accessible
publiquement. Jusqu’à présent, 161 PEPs ont été discutés dans le projet Python : 28 sont des
PEPs d’information sur le processus en lui-même (appelés aussi Méta-PEP) et 133 sont des
PEPs relatifs à de nouvelles fonctionnalités du langage. Parmi ceux-ci, 53 PEPs ont été
acceptés et 51 implémentés, 26 PEPs ont été différés, rejetés ou abandonnés, 2 PEPs sont
« vides » (uniquement au stade de résumé). Enfin 52 PEPs sont « ouverts » et en cours de
discussion.
36
Nous avons sélectionné les discussions en ligne autour de 2 PEP distincts - le PEP 279 et le
PEP 285. Les messages composant les corpus sont intégralement en anglais, mais les
participants ne sont pas tous de langue anglaise.
Le PEP 279 se compose de deux discussions :
§ la première partie comporte 71 messages envoyés par 21 développeurs différents entre
le 28 mars et le 8 avril 2002, soit 3600 lignes de texte ;
§ la seconde comporte 58 messages envoyés par 29 auteurs entre le 24 et le 27 avril
2002, soit 2800 lignes de texte.
Le PEP 285 se compose également de deux discussions :
§ la première comporte 95 messages envoyés par 22 auteurs entre le 29 mars et le 5 avril
2002, soit 3500 lignes de texte ;
§ la seconde comporte 24 messages envoyés par 10 auteurs entre le 3 et le 9 avril 2002,
soit 2000 lignes de texte.
En pratique, nous n’avons codé que les deux premières parties des discussions qui portent la
plus grande partie du processus de conception (à la fin de ces premières parties une décision
de conception est arrêtée).
Le choix de ces 2 PEP s’est opéré suivant plusieurs critères. Pour pouvoir les comparer nous
avons choisi :
§ deux discussions qui se sont déroulées à la même époque (du 28 mars 2002 au 27 avril
2002). On admet alors que le projet avait la même structure durant les deux
discussions ;
§ des statuts de PEPs identiques : ils ont été acceptés et implémentés ce qui nous permet
d’accéder aux traces de l’ensemble des discussions qui ont eu lieu.
37
Par contre, ces PEPs diffèrent de par la position sociale de leurs champions et les thèmes de
conception qu’ils abordent :
§ le PEP 279 a été proposé par un développeur alors que le PEP 285 a été proposé par le
chef de projet. Ceci nous permettra de comparer l’influence du statut du Champion sur
le processus PEP, puisque c’est le champion qui est responsable du processus de
discussion autour de son PEP.
§ Le PEP 279 propose d'introduire une nouvelle fonctionnalité pour Python. Cette
fonction associe un index à un objet, cet index est un entier positif. Chaque objet de la
liste peut donc être retrouvé à partir de son index. Le PEP fait également deux
propositions concernant une technique appelée « générateur ».
§ Le PEP 285 propose, d'une part, l'introduction d’un nouveau type booléen, appelé
bool, qui a pour valeur « vrai » ou « faux », et d'autre part d'implémenter ce type dans
les fonctions qui le requièrent (c'est à dire les fonctions qui utilisent les valeurs 0 et 1
pour signifier faux ou vrai, ces fonctions devront donc utiliser « faux » ou « vrai » à la
place de « 0 » ou « 1 ». Ce PEP implique des problèmes de compatibilité avec des
fonctions déjà existantes. Il est donc plus controversé que le précédent.
4.3 Méthode d’analyse
Nous avons utilisé une méthodologie impliquant sur différents niveaux d’analyse :
§ Une analyse de l’organisation des messages électroniques, en tant qu’unité de base de
contribution à la discussion pour un participant :
o En fonction du lien reliant les messages entre eux (citation électronique/
réponse à). Cette analyse a pour objectif d’obtenir deux représentations des
discussions et de tester l’hypothèse de pertinence de l’utilisation des citations
électroniques pour représenter les discussions en ligne ;
o En fonction du temps, de façon à préciser le caractère asynchrone des
discussions, et la cohérence temporelle –le regroupement plus ou moins
synchrone des messages abordant un même thème ;
38
o En fonction du rôle des participants à la discussion, l’objectif de cette analyse
est d’obtenir une représentation de « qui cite qui » dans la discussion pour
appréhender l’influence des rôles dans le processus de conception.
§ Et une analyse du contenu des messages, plus précisément :
o des thèmes de conception abordés par un message de façon à caractériser
l’émergence et l’organisation de ces thèmes entre eux ;
o des alternatives de conception proposées pour ces thèmes si elles existent ;
o des activités de conception portées par les citations électroniques et les
commentaires qui leur sont associés (en tant qu’unité de base de
l’argumentation);
Certains des résultats de nos analyses seront traités statistiquement, nous calculerons en
particulier le taux de liaison et la force de la relation existant entre plusieurs des variables
analysées (Corroyer et Wolff, 2003).
En parallèle de ces analyses, nous avons réalisé des entretiens ouverts avec des concepteurs
FLOSS évoluant dans la sphère de Python (à notre connaissance il n’y a pas de membres de la
liste Python-Dev en France).
La méthode de codage, que nous avons utilisée, présente les limites classiques du traitement
manuel de corpus comme les difficultés de compréhension du langage opératif des
développeurs Python, l’importance de l’implicite dans les discussions en ligne, ou l’aspect
subjectif du codage. Nous avons pu limiter certaines de ces difficultés méthodologiques en
nous avons appuyant sur nos propres notions de programmation pour éclairer les échanges
ente concepteurs. Nous avons également mené des entretiens ouverts avec des utilisateurs de
Python mais également d’autres langages de programmation.
Les sections suivantes présentent de manière détaillée les différents niveaux d’analyse que
nous venons d’évoquer.14
14 En annexe 3, vous pourrez trouver un extrait du tableau de codage que nous avons utilisé.
39
4.3.1 Analyse de l’organisation des messages électroniquesEn pratique, chaque message est archivé en ligne sous forme de fils de discussions. Nous
avons dans un premier temps récupéré l’ensemble des messages aux adresses
www.python.org ou www.gname.org. Nous leur avons ensuite attribué un numéro arbitraire
de façon à les manipuler plus facilement. En annexe 2, vous pourrez trouver deux exemples
de fils de discussions.
Les messages électroniques se présentent de la façon suivante (Figure 3). Notons que les
citations sont signalées par le symbole « > ».
[Python-Dev] Re: PEP 285: Adding a bool typeFrom:xxxSat, 30 Mar 2002 08:28:09 +0100Previous message: [Python-Dev] PEP 285: Adding a bool type
> 1) Should this PEP be accepted at all.
I can do without it, but wouldn't mind it, as long as bools don't gettoo strict (like point 4, below). IMHO, Python's traditional conceptof truth is much better than a Pascal-like concept of truth.
Figure 3 : Exemple d’en-tête de message, de citation électronique et de commentaire
En fonction du lien entre les messagesÀ partir des informations contenues dans l’en-tête de chaque message, nous avons
directement accès à l’information du lien de « réponse à » entre les messages.
Dans le corps du message, nous pouvons repérer les parties de messages qui sont citées. Nous
pouvons alors rechercher à quels autres messages elles font référence.
Nous avons ainsi identifié plusieurs structures de messages correspondant à des pratiques de
citations différentes :
§ Les messages « textes » qui ne comportent pas de citations ; ci-dessous l’extrait d’un
message proposant une solution alternative au choix du nom de la fonction du PEP
279.
From :…Subject :…
My current fave is 'indexer'. Something which creates an index.
--da
Figure 4 : Exemple de message « Texte »
Citation
Commentaire
AuteurSujet traité
DateMessage auquelcelui-ci répond
40
§ Les messages comportant une citation appelés « 1-c ». Parmi ceux-ci on distinguera
messages qui reprennent l’ensemble d’un message - ce qui est l’option par défaut de
beaucoup de messagerie, de ceux qui ne reprennent qu’une partie du message.
xxx writes:> So now I'd like to choose between enumerate() and indexer(). Any> closing arguments?
"indexer" is the name of the built-in full-text indexer, right? ;-)
-yyy
--yyyPythonLabs at Zope Corporation
Figure 5: Exemple de message « une citation » ou «1-c »
§ Les messages « M-c » comportant de multiples citations provenant d’un ou plusieurs
messages.
After some more thinking about the name, I have two contenders left:enumerate() and indexer().
Let me explain why I reject the others:
> iterindexed()-- five syllables is a mouthfull
Indeed.
> index() -- nice verb but could be confused the .index() method
Indeed.
Figure 6 : Exemple de message « multi-citation » ou «M-c » provenant du même message
[GvR] > I like the idea of having some way to iterate over a sequence and[GvR] > its index set in parallel. It's fine for this to be a builtin.[RDH] Great![RDH] > I like itercount() or enumerate(). The reason is that this[RDH] > function can work with any iterable including those that[RDH] > do not have numeric indices (such as dictionaries).[RDH] > Counting or enumeration is what is really happening.>[GvR] I don't like either of those, you don't seem to like iterindexed(), so[GvR] we'll have to think more about a name.
[Just] I quite like the name enumerate. Hate itercount. I'm neutral onindexed.
(…)Done!Though my tastes are a little different, iterindexed() works just fine.
Figure 7: Exemple de message « multi-citation» ou «M-c » provenant de messages différents
Citation
Commentaire
Citation 1 message 1
Commentaire
Citation 2 message 1
Commentaire
Citationmessage 1
Citationmessage 2
Citationmessage 3
Citationmessage 4
Commentaire
41
Par ailleurs, nous distinguons les citations directes (un message reprend une partie d’un autre
message) des citations indirectes (un message reprend une partie d’un message qui contient
déjà une citation comme dans l’exemple des citations M-C).
En fonction du tempsNous pouvons extraire la date et l’heure de réception du message par le serveur qui gère la
liste de diffusion (cette heure correspond à l’heure à laquelle le message est visible par
l’ensemble des membres de la liste). À partir de cette heure nous pouvons atteindre deux
niveaux d’analyse de la temporalité de la discussion sont exploités :
§ Le premier concerne la quantification du délai s’écoulant entre l’envoi d’un message
et sa 1ère, 2ème ou nième citations (directes) dans le corps d’un autre message. Nous
pouvons alors calculer la « réactivité » des participants en faisant la différence entre
l’heure d’envoi du message source (celui qui va être cité) et l’heure à laquelle il est
cité. Ce délai nous permet alors de juger du degré d’asynchronisme de la discussion.
§ Le second est l’ordonnancement temporel complet des messages les uns par rapport
aux autres, à l’intérieur de la discussion. Cette représentation permet d’avoir une vue
de la cohérence temporelle de la discussion en couplant cette représentation avec
celle des thèmes de la discussion.
En fonction des rôles des participantsDans les discussions autour des PEPs de la liste Python-Dev, nous avons distingué :
§ Le chef de projet ou CP;
§ Le Champion du PEP (celui qui est en charge de faire discuter sa proposition de
PEP dans la liste Python-Dev ;
§ Les administrateurs du projet « admin » ;
§ Les développeurs « dev ».
Nous avons ensuite caractérisé le degré de participation à la discussion, en séparant la
population des développeurs et des administrateurs en fonction du nombre médian de
messages envoyés dans une discussion. On appellera « admin.+ » et « dev+ » les
administrateurs et développeurs qui enverront un nombre de messages supérieur à la
42
médiane ; les autres seront appelés « admin-« et « dev-». On obtient ainsi six rôles dans la
discussion : le chef de projet (CP), le champion (C), les administrateurs et développeurs
participants beaucoup (admin+ et dev +), les administrateurs et développeurs participants peu
(admin- et dev -).
4.3.2 Analyse du contenu des messages
Thèmes de conceptionNous appelons thème de conception une question ou un problème de conception relatif à un
aspect de la conception (Olson et al., 1992).
Nous avons identifié cinq thèmes (noté T1 à T5) de conception dans la discussion PEP 279 :
§ T1 : quel nom donner à la fonction discutée dans le PEP 279 ? ci-dessous des extraits
du premier message de la discussion, écrit par le chef de projet ;
I like the idea of having some way to iterate over a sequence andits index set in parallel. It's fine for this to be a builtin.I don't like the name "indexed"; adjectives do not make goodfunction names. Maybe iterindexed()?
§ T2 : quelle syntaxe adopter pour cette fonction ? :
I don't like the start and stop arguments. If I saw code like this
(…)Very confusing. I propose to remove the start/stop arguments, *or*change the spec to: (…)
§ T3 : utilité de la technique des « generator comprehension » ;
Generator comprehensions
I don't think it's worth the trouble. I expect it will take a lot of work to hack it into the code generator:(…)
§ T4 : utilité de la technique des « generator exception passing »;
Generator exception passing
This is where the PEP seems weakest. There's no real motivation (…)
43
§ T5 : thème orthogonal correspondant au problème de « name binding » et au statut des
« names spaces » (c’est-à-dire deux autres problèmes techniques), initié par une phrase
écrite par un administrateur :
N ames always live in the local, global or builtin namespaces.
Dans la discussion autour du PEP 285, les développeurs abordent six thèmes :
§ T1 : thème concernant la fonction booléenne proposée par le PEP : son intérêt et ses
conséquences pour le langage, ci-dessous des extraits du message envoyé par le chef
de projet pour initier la discussion ;
Should this PEP be accepted at all ?.
§ T2 : thème concernant une fonction particulière « str », en lien avec la fonction
proposée, le statut de la variable (entière ou booléenne) retournée par cette fonction, et
les conséquences avec ce que les développeurs appellent la « backward compatibility »
du langage ou l’existant:
Should str(True) return "True" or "1": "1" might reduce backwards compatibility problems, but looksstrange to me (…) ?
§ T3 : thème concernant le nom de la constante que va retourner la nouvelle fonction
proposée par le PEP et sa correspondance avec les noms déjà existants dans les autres
langages, pour le même type de fonctions:
Should the constants be called 'True' and 'False' (corresponding to None) or 'true' and 'false' (as in C++,Javaand C99) (…) ?
§ T4 : thème concernant une évolution à plus long terme du langage (la suppression des
opérations non booléennes sur les « bools ») :
Should we strive to eliminate non-Boolean operations on bools in the future, (…) ?
44
§ T5 : thème concernant une fonctionnalité particulière de Python et le statut de la
variable qu’il doit retourner (un entier ou un booléen) :
Should operator.truth(x) return an int or a bool.
§ T6 : thème concernant le statut d’une relation d’héritage entre deux fonctionnalités :
Should we eventually remove the inheritance relationship between int and bool
Alternatives de conceptionSuivant le thème de conception, des alternatives ou solutions de conception peuvent être
proposées par les développeurs. Pour la discussion PEP 279, le thème T1 (choix du nom
d’une fonction) a donné lieu à 23 alternatives de conception, le thème T2 à 8 alternatives, le
thème T5 à 3. Par contre, la discussion autour du PEP 285 n’a donné lieu qu’à très peu de
propositions (3). Les thèmes abordés dans cette discussion sont en effet des thèmes
« fermés » : on demande aux développeurs de prendre position sur certain thème (comme
l’acceptation même du PEP 285, T1) ou d’évaluer des alternatives établies (T3, T5, T6).
Activités de conception dans les citations électroniques et leur commentairesLes blocs de citations électroniques et les blocs de commentaires ont été catégorisés selon un
schéma de codage inspiré par de précédents travaux (d’Astous et al., 2004 ; Détienne et al.,
2005 ; Olson et al., 1992 ; Darses et al., 2001). Il distingue les activités suivantes :
o Proposition : un développeur propose un nouveau thème de conception ou génère une
nouvelle alternative de solution sur un thème de conception émis auparavant. Les
expressions utilisées pour identifier des activités de propositions sont « How
about… ? » « Why not… ? », et les verbes comme « to propose » ou « to add ».
I'd like to add (nom_fonction):
How about doing it both ways… ?
i'd like to introduce(nom_fonction)
45
o Évaluation : accord ou désaccord d’un développeur, portant sur une proposition de
solution ou sur une autre activité. Nous avons codé cette activité sur la base de la
présence de verbes comme « to like », « to agree », « to prefer » ; ou des expressions
comme « yes » , « no », « It does (not) », « Indeed », « of course », « great », « sure »,
« +1 » ou « -1 » qui sont des façons de donner sont accord ou son désaccord en ligne.
The more complexity is suggested, the more I like my simplest variant.
-1. It looks like a noun to me.Now, that's a great idea
o Coordination du groupe : remise à plus tard de tâches, actions à réaliser, modération
de la discussion :
I think that #3 probably fits better in the new PEP you were gonna write for #4.
I don't encourage you to write itOkay, let's defer this one until
When you send xxx your update to the PEPreflecting this, he can mark it Accepted.
o Synthèse : activité qui consiste à faire un bilan de ce qui a été discuté précédemment
dans la discussion, souvent associée à une énumération.
Okay, here's what we have so far : (enumération)Executive summary : (énumération)
o Clarification : explicitation ou demande de précision autour d’une assertion qui n’a
pas été comprise;
What was wrong with … ?
Maybe a more generous dictionary would help ?
I don't see the obscurity.
As I said earlier in the msg, (…) I had inmind above
Is this about the example below?
46
o Décision explicite concernant un thème ou sous-thème de la discussion : en pratique
seul le chef de projet a le pouvoir décisionnel; les exemples ci-dessous sont donc tirés
de messages qu’il a envoyé (il y cite de précédents messages et confirment la décision
qui a été prise).
If the only way to get you to stop asking for this is a -1 from me,I'll give it a -1
>gen comprehensions --> rejected
Good.
> 3. gen exception passing --> deferred, needs case building
OK (or you could give up now while you're ahead :-).
o Autres activités : humour, par exemple.
Yeah, if I left Python's design to Ping, it would become quite theclever hack
47
5 Résultats
5.1 Citations électroniques et représentations des discussions en ligne
Dans cette première section, nous commencerons par présenter les résultats de la
caractérisation des discussions en fonction des pratiques de citations. Nous proposerons
ensuite de premières représentations des discussions en ligne alliant l’analyse thématique des
messages et l’analyse des pratiques de citations. Nous comparerons cette représentation à
celle plus classique des fils de discussions de façon à tester notre hypothèse de pertinence des
citations électroniques pour maintenir la cohérence thématique des discussions en ligne. Nous
présenterons enfin les schémas de discussions que nous avons mis en évidence à partir de
l’analyse de ces représentations.
5.1.1 Pratique des citations électroniques dans les discussionsAu préalable de nos analyses, nous avons vérifié que la pratique de citations était bien une
pratique généralisée dans nos corpus. Le tableau 1 présente le pourcentage de chacune des
structures de messages dans les discussions (partie 1 et partie 2) autour du PEP 279 et du PEP
285.
Structures du message dans la discussion PEP 279 PEP 285Texte seul
(pas de citation)8% (11/127) 4% (5 /119)
1 citation suivie ou précédée d’uncommentaire
69% (87/127) 71% (85/119)
Citations multiples séparées 23% (29/127) 25% (71/119)
Tableau 1 : Pourcentage des trois structures de messages dans les discussions(PEP 279 et PEP 285)
On peut noter que la distribution, en fonction de la structure du message, est identique dans
les deux discussions15 et que la pratique de citations électroniques est généralisée dans les
deux discussions, puisque 91% des messages pour les discussions PEP 279, et 96% des
messages pour les discussions PEP 285 comporte au moins une citations électronique. De
plus, on peut noter que les développeurs ont un usage sélectif de la citation puisque tous les
messages contenant une citation ne citent pas l’ensemble du message. Ce point nous laisse
penser que le contenu de ce qui est cité a été sélectionné par les développeurs, et qu’il ne
15 _2 =2.278, ddl=2, p=.32
48
s’agit pas seulement de l’utilisation de la fonction par défaut d’insertion des citations
électroniques des outils de messageries. Ce contenu est donc potentiellement porteur
d’informations pertinentes pour les développeurs.
5.1.2 Cohérence thématique et représentations des discussionsNous rappelons qu’une des nos hypothèses de travail est que l’organisation classique des
messages, basée sur le lien de « réponse à » ne permet pas de maintenir la cohérence
thématique des discussion en ligne. Nous considérons que la cohérence thématique est
maintenue dans une discussion si :
§ tous les messages traitant d’un PEP sont reliés les uns aux autres dans une même
représentation ; en particulier des messages « clé » pour comprendre le déroulement de
la discussion, et du processus de conception ;
§ et dans cette représentation, les messages traitant d’un même thème de conception sont
reliés les uns aux autres.
En combinant l’analyse thématique avec l’analyse des pratiques de citations dans les
discussions, nous en avons construit des représentations en reliant les messages les uns aux
autres par un lien de citation et en distinguant ces messages en fonction du thème qu’ils
abordent. Nous allons comparer cette représentation à celle obtenue en reliant les messages
les uns aux autres par le lien de « réponse à ».
Les figures suivantes présentent ces deux formes de représentations pour les premières parties
des discussions. Chaque message est représenté par un symbole (cercle ou rectangle) et un
code couleur correspondant au(x) thème(s) abordé(s) par le message. Les messages sont reliés
entre eux par des flèches qui représentent :
§ soit le lien de « réponse à » : le message répond à un message unique auquel il est relié
par la flèche ; la discussion est alors représenté sous forme d’arbre.
§ soit le lien de « citation » : le message cite directement le message auquel il est relié ;
la discussion est alors représenté par un graphe puisque un message peut reprendre des
parties de plusieurs autres messages. Notons que, dans cette représentation, nous
avons du faire appel au lien de « réponse à » pour relier les messages « texte » (qui ne
49
citent aucun autre message) ; en pratique cela concerne 3 messages pour la première
partie de la discussion PEP 279 et un message pour celle du PEP 285.
Concernant l’organisation des messages en fonction des « réponses à » (figure 8 et 9), on peut
noter que certains messages ne sont pas reliés au fil de la discussion (messages 4 et 68 pour le
PEP 279, messages 30, 58, 113, 25 et 26 pour le PEP 285). D’un point de vue technique, ces
messages non reliés ne répondent à aucun autre message et constituent donc les premiers
messages d’autres fils de discussions. Il y a un fil principal commençant par le message 0 et
des fils secondaires, la discussion est donc scindée en plusieurs parties disjointes.
Par ailleurs, pour la discussion PEP 279 (figure 8), les messages concernant le thème 1 (cercle
bleu) sont traités dans les 3 fils de la discussion et ne sont donc pas regroupés les uns avec les
autres. De plus, si l’on regarde maintenant le contenu des messages hors fils principaux, on
peut se rendre compte que ces messages sont centraux dans la discussion. C’est le cas, par
exemple, du message 4 de la discussion PEP 279. Il s’agit d’un message envoyé par le chef de
projet qui y fait un bilan des alternatives discutées et de leur évaluation et appelle un nouveau
débat.
Figure 8: Organisation des messages à partir du lien de « réponse à » PEP 279 (1ère partie)
50
Dans la discussion PEP 285 (figure 9), le thèmes 1 (cercle bleu), les thèmes 1-4 (thème 1 et 4
discuté dans un même message, carré orange) et le thème 6 (triangle rouge) sont également
traités dans plusieurs fils de la discussion. Le thème 2 est traité dans un seul fil (celui
commençant par le message 0) mais les messages abordant ce thème ne sont pas regroupés les
uns avec les autres.
Figure 9: Organisation des messages à partir du lien de « réponse à » PEP 285 (1ère partie)
Dans la représentation des messages basée sur le lien de citation (figures 10 et 11), ces
problèmes sont évités :
Pour la discussion PEP 279 (figure 10) :
§ les messages autour du thème 1 sont regroupés les uns aux autres ;
§ les messages 4 et 68 sont reliés au corps de la discussion. Les messages qui n’étaient
pas reliés aux fils principaux de la discussion dans les figures 8 et 9 le sont ici ;
51
§ les messages 27, 40 et 46 sont des messages textes reliés par le lien de « réponse à ».
On peut noter que ces messages ne sont pas centraux dans la discussion et ne sont pas
cité, à l’exception du message 40 qui porte sur la dérive thématique et ne concerne
pas directement la discussion autour du PEP.
Figure 10: Organisation des messages à partir du lien de citation PEP 279 (1ère partie)
Pour la discussion PEP 285 (figure 11) :
§ Tous les messages traitants du thème 1 sont regroupés, à l’exception des messages 37-
39-40 qui se trouvent dans la zone du thème 5. Le message 37 est en fait un message
d’un développeur qui n’a pas suivi la discussion et qui reprend donc le thème 1.
§ Tous les messages traitant du thème 1 allié au thème 4 (carré orange) sont reliés, ainsi
que ceux traitant du thème 6.
§ Seuls les messages du thème 2 (4 messages sur 95) ne sont pas regroupés ensemble.
Or, ces messages arrivent en fin de discussion alors que la décision concernant le PEP
a été annoncée.
52
§ Seul le message 32 a été relié au graphe par le lien de « réponse à ».
Figure 11: Organisation des messages à partir du lien de citation PEP 285 (1ère partie)
Sur la base de ces résultats, nous pouvons donc dire que la cohérence thématique est mieux
préservée par une organisation des messages basée sur les citations électroniques. Ceci est en
accord l’hypothèse de la pertinence de l’utilisation des citations électroniques pour représenter
les discussions et servir de base à la constitution d’outils de mémoire de projet. Nous avons
donc choisi de conserver cette forme de représentation dans la suite de nos analyses.
53
5.1.3 Position dans le graphe des discussions, structure et profondeur decitations
Positions particulières dans les graphes des discussionsUne analyse formelle des graphes de discussions (figure 10 et 11) nous conduit à distinguer
trois positions particulières des messages dans le graphe:
§ Il y a des messages qui initient des branches dans la discussion : le message envoyé
par le participant est cité par plus d’un message. On appellera ces messages des
messages « début de branche »;
§ Des messages qui semblent clore une partie de la discussion car ils ne sont pas cités.
On les appelle « message de clôture »;
§ Les autres messages sont dits « linéaires » ils ne sont cités que par un seul autre
message ;
Avant même de s’intéresser au contenu des messages, une première question est de
caractériser le lien existant entre ces positions particulières et des critères de forme comme la
structure des messages ou leur « profondeur de citation ». On appelle profondeur de citation le
pas entre la position d’un message source dans le graphe et la position du message portant sa
dernière citation, directe ou indirecte (par exemple les messages qui ne sont cités directement
que par un seul message ont une profondeur de citations de 1, ceux qui sont cités une fois
directement et une fois indirectement ont profondeur de citation de 2, etc..).
Lien entre la structure des messages et leur position dans les graphes de discussionLe calcul des taux de liaison entre la position dans le graphe et la structure des messages
(annexe 4) nous permet de mettre en évidence qu’il existe une relation intermédiaire (V2
Cramer=0.04816 pour les deux discussions) entre ces variables. En particulier, on trouve que
les débuts de branche sont occupés préférentiellement par les messages Multi-Citations « M-
C » (les plus complexes du point de vue des pratiques de citations) et les messages textes. En
pratique, il y a peu de messages textes dans les 1ères parties des discussions (3/71 pour PEP
279 et 2/95 pour PEP 285) et les 1ers messages des discussions sont de fait des débuts de
16 Le V2 de Cramer ou coefficient de contingence est un indicateur qui permet de caractériser la force de laliaison entre deux variables (liaison négligeable si V2 est compris entre 0 et 0.04 ; liaison intermédiaire si V2 eestcompris entre 0.04 et 0.16, liaison forte au dessus)
54
branche. Les fins de branches sont eux occupés par les messages à une citation (1-C) et les
messages textes.
Lien entre la position des messages dans le graphe et la profondeur de citationNous avons complété les représentations des discussions du point de vue des pratiques de
citations en y visualisant les messages qui ont donc une profondeur de citation supérieure à 1.
En pratique, on a représenté des ensembles de messages citant directement et indirectement
un message source. Ces ensembles correspondent aux zones grisées des figures 12 et 13
suivantes.
Pour la discussion PEP 279 (figure 12) :
§ quasiment tous les messages, abordant le thème 1, et situés en début de branches ont :
une profondeur de citations supérieure ou égale à 2 ; et ils sont cités par plus de deux
messages. Seuls les messages 26 et 54 font exception.
§ dans les parties de la discussion autour des thèmes 4 et 5, on retrouve également la
présence des messages à profondeur de citations en début de branche (à l’exception
des messages 64, 39 et 42).
§ on note également qu’il y a trois messages linéaires à profondeur de citations
supérieure à 2 (32, 35, 38). Ces messages correspondent en fait à des échanges entre
des administrateurs et des développeurs du projet.
Pour la discussion autour de PEP 285 (figure 13), on retrouve également des messages à
profondeurs de citation supérieures à 2 en début de branche mais dans une moindre mesure.
En particulier des messages cités par plus de deux messages (message 49, 57 et 60) ne sont
pas cités profondément dans la discussion. Notons toutefois que ces messages sont situés en
fin de discussion.
En première conclusion, on peut donc dire que les messages de début de branche sont de
façon préférentielle des messages Multi-Citations ou des messages textes. Les messages de
clôture sont eux des messages à une citation. Par ailleurs, les messages de début de branche
sont cités plus profondément dans les graphes des discussions. On note toutefois qu’il existe
des patterns linéaires impliquant des profondeurs de citations supérieures à 2.
55
Figure 12: Profondeur des citations dans la discussion PEP 279 (1ère partie)
Figure 13: Profondeur des citations dans la discussion PEP 285 (1ère partie)
56
5.1.4 Schémas de discussionSi l’on reprend les figures 10 et 11, on peut visualiser la différenciation des thèmes de
conception au cours de la discussion, et l’apparition des schémas de discussion particuliers.
Pour la discussion PEP 279 (figure 10) :
§ les premiers messages sont des messages « multi-thèmes » (en noir).
§ des messages spécialisés, mono-thème, apparaissent ensuite au fil de la discussion :
o le thème prédominant est le thème 1 qui porte sur le problème fondamental du
PEP : le choix du nom de la fonction proposée. Ce thème va donner lieu à 23
propositions d’alternatives de solutions. A la fin de cette discussion un nom
sera choisi par le chef de projet17.
o le thème 2 est abordé brièvement au début de la discussion, le chef de projet
décide rapidement de la solution a adopté (la syntaxe de la fonction proposée).
o Le thème 3 ne donne pas lieu à des messages spécifiques car le chef de projet
est opposé aux propositions qui sont faites sur ce thème. Il décide rapidement
de le rejeter.
o Le thème 4 est lui aussi différé par le chef de projet mais donne quand même
lieu à un débat entre lui, les concepteurs et le champion du PEP. Le chef de
projet considère que ce thème devrait donner lieu à un autre PEP. Il est donc
différé..
o On peut également noter l’apparition du T5 (la dérive thématique) qui émerge
des discussions autour du thème 4. Cette dérive n’a pas de lien directe avec le
PEP mais porte sur une question plus générale du langage. Cette dérive
thématique est arrêtée par le chef de projet (message 50) qui signifie aux
développeurs que ce thème de discussion n’a pas lieu d’être dans la discussion
autour du PEP 279. La discussion autour de T5 est donc déplacée dans un
autre fil de discussion.
17 Le chef de projer reviendra sur ce choix ce qui donner lieu à la 2nde partie de la discussion PEP 279
57
Pour la discussion PEP 285 (figure 11) :
§ le début du graphe est occupé par des messages « multi-thèmes ».
§ on observe également une spécialisation de messages devenant mono-thèmes (T1, T2,
T4, T5, T6), avec une plus grande importance faite au thème 1.
§ le thème 1 est présent tout au long de la discussion dans des messages bi-thèmes (T1-
T2, T1-T5, T1-T4). Le thème 1 est en fait un « méta- thème » qui traite des
implications possibles de l’acceptation du PEP sur d’autres aspects de Python (en
particulier sur le thème 2, le thème 4 et le thème 5). Ce thème a déjà donné lieu à des
discussions antérieures dans le projet (fait mentionné dans certains des messages), il
s’agit d’un thème controversé mais qui est « soutenu » par le chef de projet. En
pratique ce thème va être validé par le chef de projet, le PEP 285 est accepté à la fin
de la discussion.
Ces résultats permettent de mettre en évidence un schéma de discussion commun aux deux
PEPs : des premiers messages multi-thèmes au début de la discussion, puis une spécialisation
des messages autour d’un thème de conception particulier, ou de deux dans le cas de la
présence du méta-thème de la discussion PEP 285.
5.2 Temporalité des discussions en ligne
Un aspect de la dynamique des discussions est sa dimension temporelle. Nous avons donc
cherché à caractériser le degré d’asynchronisme des discussions et l’ordonnancement
temporel- ou la cohérence temporel- des thèmes de conception les uns par rapport au autre.
5.2.1 Degré d’asynchronisme des discussionsNous avons caractérisé le degré d’asynchronisme des discussions en calculant le délai entre
les moments auxquels les messages sont reçus sur le serveur gérant la liste, et ceux auxquels
ils sont cités. Ces résultats sont présentés dans le tableau ci-dessous.
Pourcentage de citations apparues PEP 279 PEP 28525% des 1ères citations 20 mins 15 mins
50% des 1ères citations 1h 2h16
75% des 1ères citations 5h 7h33
Tableau 2 : Délais d’apparition de 50 % et 75% des premières citations pour les discussionsPEP 279 et PEP 285 (1ères parties)
58
Au vu de ces résultats, il semble qu’il y ait en fait un faible degré d’asynchronisme entre les
messages se citant, puisque que la moitié des 1ères citations d’un message apparaissent dans
l’heure qui suit (PEP 279) ou dans les deux heures qui suivent (PEP 285) ; et 75% des
citations dans la demi journée. Cela signifie que les citations des messages arrivent
relativement rapidement compte tenu du caractère distribué de la communauté Python.
5.2.2 Cohérence temporelle des discussionsNous avons représenté l’organisation thématique et temporelle des deux discussions sur la
base de la représentation en fonction du lien de citation (figure 14 et 15). Chaque message est
représenté par un cercle et un code couleur symbolisant le thème qu’il aborde. Les sous-
ensembles de messages relatifs aux mêmes thèmes ont été encadrés en pointillés. Les
messages sont disposés relativement à une échelle de temps : nous avons fait apparaître les
dates d’envoi des messages, les jours étant distingués les uns des autres par une ligne
discontinue en trait pointillé. Nous avons regroupé les messages séparés par moins que la
médiane des délais d’apparition de la moitié des 1ères et 2èmes citations (zone grisée).
Figure 14: Représentation temporelle de la discussion PEP 279 (1ère partie)
59
Pour le PEP 279 (figure 14) :
§ Trois zones correspondent à des périodes assez courtes de la discussion. Pour chacune,
la clôture de la discussion est assurée par le chef de projet :
o Le thème 2 (T2) est traité assez rapidement (1er jour). C’est le chef de
projet (auteur du message numéro 2) qui arrête la discussion autour de ce
thème.
o Le thème 4 (T4) est circonscrit autour de 2 jours. Nous avons vu que sa
discussion est différée sur décision du chef de projet. Cependant, à partir de
ce thème, la dérive thématique (T5) émerge près de 5 jours après.
o La discussion autour de cette dérive thématique (T5) est circonscrite autour
de 2 jours. En pratique, c’est le chef de projet (message 50) qui met fin à la
discussion. Les messages 33 et 53 qui arrivent après le message 50 sont
écrits par un participant de Nouvelle-Zélande (12h de décalage avec la côte
est des USA où se trouve le chef de projet et la « core team »). Il n’est
donc pas toujours au fait de tout ce qui s’est dit dans la discussion et
répond de façon décaler à certain message.
§ Au contraire, la discussion autour de T1 –le thème central du PEP- s’étale sur 6 jours.
La discussion est en fait relancée par le chef de projet et le champion, la communauté
n’étant pas encore arrivée à un consensus sur le thème abordé. Ces relances auraient
donc pour objectif de faire converger la communauté vers une décision.
§ L’analyse des ensembles de messages « quasi-synchrones » (ensemble des messages
dans la zone grisée) permet de mettre en évidence une réactivité intra-thématique qui
est cohérente avec l’hypothèse que certaines phases de la discussion ont un faible
degré d’asynchronisme. On voit également apparaître des regroupements temporels de
messages « inter-thématiques ». Ils traduisent en fait les stratégies de réponses
groupées de certains développeurs. Ces auteurs répondent en cascade aux messages de
la discussion.
60
Pour la discussion autour de PEP 285 (figure 15), on retrouve une dynamique temporelle de la
discussion analogue :
§ des thèmes sont traités de manières circonscrites dans le temps:
o T6 est abordé sur une journée.
o T4 en association avec T1 sur deux jours. C’est le chef de projet qui clôt la
discussion (message 116 et 117).
o T5 sur 3 jours. Le chef de projet clôt également la discussion par le
message 106 en signalant au passage que le fil de discussion commence à
devenir trop long. En traitant du thème 5, les développeurs ont en effet fait
apparaître des problèmes plus généraux du langage et s’éloignent du thème
de la discussion.
§ Le thème 1 – qui est abordé par le plus grand nombre de messages- lui est traité
pendant 7 jours, le chef de projet n’effectue des relances que les premiers jours. Les
développeurs se saisissent ensuite de la discussion et le chef de projet intervient à
nouveau à la fin de la discussion (message 65, 64,66). Il fait part de sa décision en
envoyant un message initiant un autre fils de discussion (la 2nde partie de la discussion
PEP 285), c’est pourquoi des messages continuent à arriver même après que la
décision a été prise.
§ On retrouve également des regroupements temporels de messages intra et inter-
thématiques.
L’analyse temporelle des deux discussions nous permet donc de constater que le processus de
conception peut s’étaler sur plusieurs jours suivant les thèmes de conception et l’implication
du chef de projet ou du champion dans la discussion. On note tout de même des
regroupements temporels (message distant de moins d’une heure) de message qui traduisent
des moments de quasi-synchronisme de la conception. Ces quasi-synchronismes peuvent être
intra-thématiques, et correspondre à des moments de réactivité de plusieurs concepteurs sur
un thème particulier.
61
Figure 15: Représentation temporelle de la discussion PEP 285 (1ère partie)
5.3 Dynamique des discussions et rôles dans le projet
5.3.1 Participation aux discussions en fonction du rôleLe tableau 3 ci-dessous présente la distribution du nombre de participants suivant les rôles
dans le projet. Le tableau 4 nous donne le pourcentage de messages envoyés en fonction du
rôle.
Rôle PEP 279 PEP 285
CP 1 1
Admin + 3 3
Admin - 2 2
Dev + (dont Champion pour PEP 279) 6 8
Dev - 9 8
Tableau 3 : Distribution des participants en fonction de leur rôle dans les discussions PEP 279et PEP 285 (1ères parties)
62
Rôle PEP 279 PEP 285CP 18%(13/71) 20%(19/95)
Admin + 24%(17/71) 8%(8/95)
Admin - 3%(2/71) 3%(3/95)
Dev +(pour PEP 279 dont 10/71 (14%) Champion) 41%(29/71) 56%(56/95)
Dev - 14%(10/71) 13%(13/95)
Tableau 4 : Distribution des messages envoyés en fonction du rôle dans les discussions PEP279 et PEP 285 (1ères parties)
Rappelons que le champion du PEP 279 est un développeur ( participant beaucoup) alors qu’il
s’agit du chef de projet pour le PEP 285.
L’analyse des données de ces tableaux nous permet de constater que la distribution des
participants en fonction des rôles est similaire dans les deux discussions18. La distribution du
pourcentage de messages envoyés en fonction du rôle des participants est, elle, différente19
Dans les deux discussions, on note toutefois une forte implication du chef de projet qui envoie
près de 20% des messages à lui seul ; ainsi qu’une forte implication du champion pour PEP
279 (14% des messages envoyés). Ces implications du champion et du chef de projet
correspondent à leur rôle prescrit puisque le champion est en charge de faire discuter son PEP
par la communauté, et que le chef de projet est le garant du projet, et prend les décisions
finales.
La principale différence entre les deux discussions est une plus faible participation des
administrateurs (en particulier les admin+) et au contraire une plus forte participation des
développeurs dans la discussion autour du PEP 285. Une première interprétation de la plus
faible participation des administrateurs tient au fait que le chef de projet est le champion de ce
PEP. Les administrateurs lui feraient confiance pour gérer le déroulement de la discussion.
Par ailleurs le PEP 285 a de plus forte implication pour le langage que le thème 279, on peut
imaginer que cela motive alors les développeurs à plus intervenir dans la discussion.
18 _2=.246, ddl=4, p=.99319 _2=10,882, ddl=4, p<.03
63
5.3.2 Position dans les discussions et rôles dans le projetNous avons complété l’analyse ci-dessus en visualisant la position des participants dans les
discussions (figures 15 et 16). Chaque rôle est représenté par un symbole particulier : un rond
pour le CP, une étoile pour le Champion ; des triangles pour les administrateurs, de
différentes couleurs en fonction de leur degré de participation ; et des rectangles de différentes
couleurs également pour les développeurs.
Pour la discussion PEP 279 (figure 16), on peut voir que la position des participants dans le
graphe n’est pas la même suivant leur rôle. Il semble que le CP et le Champion aient tendance
à initier les branches concernant les thèmes relatifs aux PEPs (partie haute du graphe et
message 62 à 38). Par contre, ils n’interviennent pas du tout lors de la dérive thématique sauf
quand le chef de projet l’arrête (message 50). Le calcul des taux de liaison entre le rôle et la
position dans le graphe des discussion montre qu’il existe une relation de force intermédiaire
entre ces variables (V2 de Cramer= 0.06 pour PEP 279) (cf. annexe 5).
En combinant ce résultat des avec l’analyse de la figure 16 pour PEP 279, on peut dire que :
§ le champion et les administrateurs participant beaucoup se retrouvent
préférentiellement au début des branches. On retrouve également le chef de projet en
début de branche mais dans une moindre mesure.
§ Dans les positions linéaires, on note que l’on retrouve les développeurs. Dans le
thème 4 et la dérive thématique, on remarque cependant qu’il y a une alternance de
développeurs et d’administrateurs (qui correspondent aux messages profondément
cités que nous avons mis en évidence plus faut) mais que le champion et le chef de
projet sont absents. Ceci peut traduire une complémentarité dans les rôles du projet,
les administrateurs prenant le relais du chef de projet quand celui-ci ne peut pas, ou ne
veut pas, intervenir dans la discussion.
§ Enfin, on note que c’est le chef de projet qui clôt les branches de façon préférentielle,
viennent ensuite les développeurs participant beaucoup (dev+). En pratique, les
messages envoyés par le chef de projet qui terminent des branches sont des messages
qui mettent fin à un débat (comme le message 50 portant sur la dérive thématique) ou
le message 2 dans lequel le CP décide d’abandonner la discussion autour du thème 2.
64
Par ailleurs, le champion du PEP 279 est la source de la plus grande partie des citations (40
citations proviennent de messages écrits par le Champion soit 23%), il est suivi de près par
les développeurs participant beaucoup (37 citations soit 21%), les administrateurs participant
beaucoup (37 citations soit 21%) et le chef de projet (36 blocs soit 21%). Les développeurs
participant peu ne sont cités que dans 12% des cas, et 2% pour les administrateurs participant
peu, ce qui était prévisible compte tenu de leur plus faible participation à la discussion.
Pour la discussion PEP 285 (figure 17), on trouve également une relation intermédiaire entre
la position dans le graphe et le rôle dans le projet (V2 de Cramer= 0.13 pour PEP 285)
§ Le chef de projet reste très présent (19% des messages) et il tend à initier les branches.
§ Les administrateurs participant beaucoup (admin+) sont uniquement présents dans la
partie de la discussion autour du « méta-thème » et ils ont tendance à clore la
discussion. Ceci peut également traduire une complémentarité des rôles entre chef de
projet et administrateurs.
§ Les développeurs participants peu ont tendance à initier les branches.
Figure 16: Position dans le graphe de la discussion en fonction du rôle des participantsPEP 279 (1ère partie)
65
Figure 17: Position dans le graphe de la discussion en fonction du rôle des participantsPEP 285 (1ère partie)
Les différences observées entre ces deux discussions peuvent, là aussi, être reliée aux deux
problématiques de conception distinctes des discussions, et aux rôles différents des champions
(chef de projet ou développeurs) qui peuvent induisent des comportements différents chez les
administrateurs et les développeurs. On notera toutefois des positions préférentielles dans le
graphe suivant le rôle: des champions (donc du chef de projet dans PEP 285) en début de
branche, dans les deux discussions ; du chef de projet et/ou des administrateurs en message de
clôture ce qui peut traduire une complémentarité de leur rôle au sein du projet.20
20 Nous avons croisés la structure des messages avec le rôle des participants (les taux de liaison et graphed’attraction sont présentés en annexe 6). Pour la discussion PEP 279, on trouve une relation intermédiaire (V2 deCramer = 0.07) entre ces variables. En particulier, le Chef de Projet a tendance à envoyer les messages textes etles messages comportant de multiples citations (M-C).
66
5.4 Activités dans les discussions en ligne
Les résultats précédents ont porté sur une analyse « macroscopique » des messages. Nous
allons maintenant présenter les résultats de l’analyse du contenu des ces messages en terme :
d’alternatives de conception proposées et d’activités de conception. Nous pourrons ainsi
éclairer une de nos questions de recherche qui portent sur l’effet de la distance et de
l’asynchronisme sur les activités de conception.
5.4.1 Alternatives de conceptionNous avons caractérisé les taux de liaison existant entre le nombre d’alternatives de
conception abordées dans un message et plusieurs des variables qui nous intéressent pour
caractériser la dynamique de la conception FLOSS (position dans le graphe de la discussion,
rôle dans la discussion et structure des messages). En pratique, nous avons calculé ces taux de
liaison sur la première discussion de PEP 279 dans laquelle 34 alternatives de conception sont
abordées (23 alternatives pour T1, 8 pour T2, 3 pour T5). La discussion du PEP 285 portant
sur la validité des thèmes de conception proposés n’ayant pas donné lieu à des propositions
d’alternatives. Nous avons séparé les messages en deux populations fonction du nombre
médian d’alternatives abordées dans un message (soit 1). (cf. annexe 8).
Lien entre le nombre d’alternatives de conception par message et sa positionL’analyse des taux de liaison entre la position dans le graphe et le nombre d’alternatives de
conception abordée21 montre qu’il y a une relation forte entre ces variables (V2 de
Cramer=0.18). En particulier, les débuts de branche sont occupés par des messages proposant
plusieurs alternatives de conception et les fins de branche sont occupées par des messages ne
proposant qu’une ou pas d’alternative de solution.
Lien entre le nombre d’alternatives de conception par message et le rôle des participantsLe calcul du taux de liaison entre le rôle dans le projet et le nombre d’alternatives de
conception traitées par message dans la discussion autour de PEP 279 montre une relation
intermédiaire entre ces deux variables (V2 de Cramer=0.13). Dans cette discussion, ce sont le
chef de projet, le champion et les développeurs participant peu qui traitent le plus
d’alternatives de conception dans leur message. Ce résultat confirme l’importance du chef de
projet et du Champion dans la discussion. La présence des développeurs participant peu est
21 Pour la discussion PEP 279 dans laquelle des alternatives de conception sont proposées
67
intéressante car elle suggère qu’une faible participation n’est pas un indicateur de la
pertinence d’un message du point de vue de la conception : des participants périphériques
peuvent apporter au processus de conception. Même si ce résultat ne porte que sur la
discussion PEP 285, on peut les rapprocher également du résultat du 5.3.2 qui montre que les
développeurs participant peu sont présent en début de branche dans la discussion PEP 85.
En synthétisant les résultats du 5.1.3 et du 5.3.2 pour la discussion PEP 279, on peut donc dire
que les messages situés en début de branche :
§ sont préférentiellement envoyés par le chef de projet, le champion ou les
administrateurs (participants beaucoup) ;
§ sont plutôt des messages multi-citations, plus complexes et plus riches du point de
vue des citations ;
§ ont une profondeur de citations plus importante ;
§ sont porteurs d’un plus grand nombre d’alternatives de conception.
Ces messages pourraient donc être intéressants dans la perspective de la création d’outils
permettant de retracer la logique de conception FLOSS.
5.4.2 Activités portées par les citations et les commentaires
Activités dans les commentairesLe tableau 5 présente la distribution des activités dans les commentaires. Les activités dans les
commentaires correspondent aux activités des concepteurs qui répondent à une citation.
Activité dans les commentaires PEP 279 PEP 285Proposition 12% (26/218) 4% (7/190)
Evaluation 57% (124/218) 47% (89/190)
Clarification 13% (28/218) 39%(74/190)
Coordination 3% (6/218) 7% (14/190)
Synthèse 5% (11/218) 0% (0/190)
Décision 6% (14/218) 0% (0/190)
Autres 4% (9/218) 3% (6/190)
Tableau 5: Distribution des activités dans les commentaires PEP 279 et PEP 285 (1ères parties)
68
Pour les discussions PEP 285 et PEP 279, les activités qui apparaissent le plus fréquemment
dans les commentaires sont l’évaluation positive et l’évaluation négative. Ainsi 57% des
commentaires pour PEP 279, et 47% pour PEP 285 contiennent une activité d’évaluation.
Cela signifie que l’activité d’évaluation est la principale activité reliée à la pratique de citation
électronique, et que c’est la principale activité des participants aux deux discussions.
Par contre, l’activité de clarification est plus importante dans la discussion PEP 285,
puisqu’elle représente 39% des commentaires des participants. La prégnance de l’activité de
clarification dans la discussion PEP 285 peut être rapproché de la nature du thème
principalement discuté – le « méta-thème »- qui a des implications fortes sur le langage et qui
nécessite donc de nombreuses explicitations entre concepteurs, certains faisant par exemple
référence au « manuel d’apprentissage» de Python. On observe d’autres différences entre les
deux distributions : en ce qui concerne l’activité de proposition ; mais également les activités
de synthèse et de décision qui n’apparaissent pas dans la discussion PEP 285. Dans cette
dernière, peu d’alternatives de conception sont proposées car il s’agit de thèmes de conception
« fermés » : on demande aux concepteurs de choisir entre des alternatives de conception déjà
établies ou de se prononcer sur la validité du PEP. De plus les concepteurs explicitent
beaucoup dans la discussion, ce qui rend l’activité de synthèse plus complexe et plus coûteuse
en temps pour le chef de projet-champion. Un concepteur lui fait d’ailleurs une demande en
ce sens et le chef de projet le renvoie vers la consultation d’une discussion antérieure où ce
PEP a été « pré-discuté ». La décision concernant ce PEP n’apparaît pas clairement dans cette
discussion mais elle est explicite dans la 2ème partie de la discussion. 22 Notons que même si il
y a peu de décisions pour le PEP 279, il s’agit de décisions explicites du chef de projet, ce qui
est différent des réunions en co-présence ou peut de décisions explicites sont prises (des
décisions sont prises mais de manière implicite).
22 Nous avons cherché à savoir si il y avait en lien entre le rôle des participants et les activités portées par leurscommentaires. Il y a une relation négligeable entre le rôle et les activités portées par les commentaires (V2 deCramer=0.02) (annexe 9). Notons toutefois que le chef de projet est le seul a prendre des décisions explicitesdans la discussion et que le Champion est celui qui a le plus tendance à faire des synthèses. La aussi ces résultatscorrespondent aux rôles prescrits de ces deux participants.
69
Activités les plus citéesLe tableau 6 récapitule la distribution des activités les plus citées dans les discussions PEP
279 et PEP 285. On constate que dans les activités les plus citées sont différentes dans les
deux discussions. Pour la discussion autour de PEP 279, les activités les plus citées sont :
l’activité de synthèse (28% des blocs cités) et l’activité d’évaluation (38%). Dans la
discussion autour de PEP 285, ce sont les activités de clarification (49%) qui sont le plus
cités.
La forte proportion de citations de l’activité de synthèse semble indiquer que cette activité est
importante dans les discussions (car il y a peu de synthèses qui sont faites 11 commentaires
sur 218). La forte proportion des activités d’évaluation et de clarification était prévisible car
ce sont les activités les plus fréquentes dans les commentaires faits par les développeurs.
Activité dans les citations PEP 279 PEP 285Proposition 18% (31/177) 25% (45/182)
Evaluation 38% (68/177) 22% (40/182)
Clarification 17% (10/177) 49%(89/182)
Coordination 1% (1/177) 4% (8/182)
Synthèse 28% (49/177) 0% (0/182)
Décision 2% (3/177) 0% (0/182)
Autres 5% (8/177) 0% (0/182)
Tableau 6: Distribution des activités dans les citations PEP 279 et PEP 285 (1ères parties)
5.4.3 Séquences d’activitésNous appelons « séquence d’activité » la succession de l’activité de la citation électronique et
l’activité du commentaire qui la suit. Nous rappelons que l’on considère que cette succession
se rapproche de celle des tours de paroles dans une réunion de conception en co-présence.
Nous avons cherché à caractériser les séquences d’activité de conception dans les discussions
en ligne. Il apparaît une relation forte entre le type d’activité de la citation et le type d’activité
du commentaire (V2 de Cramer= 0.69 pour PEP 285 et 0.23 pour PEP 279) (annexe 7).
70
En particulier, l’analyse des taux de liaisons suggère les séquences suivantes d’activités:
§ Une activité d’évaluation tend à être suivi par une autre activité d’évaluation. Par
exemple, une évaluation positive dans une citation peut être suivi par une
évaluation négative, ce qui traduit des divergences entre développeurs, ou par une
évaluation positive ce qui traduit des convergences entre développeurs;
§ Une proposition est suivie par des activités d’évaluation ou d’autres propositions ;
ce dernier résultat peut-être interprété en terme de désaccord implicite entre
concepteurs.
§ Une activité de coordination dans une citation tend à être suivie d’un commentaire
contenant une activité de coordination ;
§ Les activités de clarification tendent à être suivies d’autres clarifications; ses
séquences d’activité caractérisent la construction d’un référentiel commun entre
concepteurs.
§ une activité de décision tend a être suivi d’une activité de coordination ce qui peut
correspondre à une allocation des tâches une fois qu’une décision a été prise. On
trouve également la séquence « Décision-Proposition » qui peut s’expliquer par le
fait que certaines propositions, tardives, sont émises par des participants distants
géographiquement. Ce résultat est à relativiser par rapport au faible nombre de
décisions dans le corpus.
§ L’activité de synthèse est elle suivie d’activité de propositions, ce qui peut être là
aussi interprété comme un désaccord implicite avec ce qui a été proposé. Elle peut
être également suivi par des évaluations positives. Cela traduit également le fait
que l’activité de synthèse peut être considérée comme un moteur de la conception.
71
6 Discussions
6.1 Cohérence et dynamique thématique des discussions de conception enligne
6.1.1 Un usage généralisé et sélectif des citations électroniques dans lesdiscussions de conception en ligne
Dans les deux discussions en ligne entre concepteurs experts que nous avons analysées, nous
avons pu vérifier que les concepteurs font un usage généralisé de la citation électronique (plus
de 90% des messages comportent au moins une citation électronique dans les discussions
analysées). Cet usage reste néanmoins sélectif : les concepteurs sélectionnent des citations
potentiellement porteuses d’informations pertinentes pour la conception (environ 70% des
messages ne comportant qu’une citation ne reprennent qu’un partie du message cité) et
peuvent composer des messages complexes comportant des citations sélectionnées dans
plusieurs messages (environ 20% des messages). Ces résultats étendent ceux mis en évidence
dans le champ de la communication médiatisée (Eklundh et al ., 1994 ; Herring, 1999 ;
Eklundh et al., 2004) qui montre que l’usage de la citation électronique est répandu dans les
discussions en ligne « ouvertes ». Nous montrons ici que l’usage des citations électroniques
est également généralisé dans les discussions de projet de conception. Dans la suite de cette
discussion, nous montrerons qu’il existe toutefois des différences entre les discussions en
ligne ouvertes et les discussions de conception.
6.1.2 Une cohérence thématique des discussions mieux préservée grâce àl’utilisation des citations électroniques
Nous avons montré que dans la représentation « classique » en fils de discussions -dans
laquelle les messages sont relié les uns aux autres par le lien technique de « réponse à »- les
discussions pouvaient être scindées en plusieurs fils. Des messages traitant du même thème ne
sont alors pas regroupés les uns avec les autres. Bien plus, des messages centraux dans le
processus de conception (comme ceux du chef de projet) ne se trouvent pas reliés au corps de
la discussion. Dans une représentation dans laquelle les messages sont reliés au message
qu’ils citent directement, ces problèmes sont évités : les messages abordant le même thème
sont regroupés, les messages clés pour la conception se retrouvent reliés au reste de la
discussion. Ce résultat confirme l’hypothèse de la pertinence de l’usage de la citation
électronique pour représenter des discussions en ligne, ces représentations représentant mieux
72
la cohérence de la discussion que les représentations classiques. Ce résultat constitue ainsi une
approche prometteuse qui pourra être intégrée dans les futurs outils d’analyse et de
représentation des discussions en ligne qui utilisent pour la plupart le lien de « réponse à »
(Barcellini, Détienne, Burkhardt, Sack, 2005a).
6.1.3 Des positions particulières dans les graphes des discussions en ligneL’analyse des représentations des discussions en ligne, nous a permis de mettre en évidence
des positions particulières dans les graphes des discussions, en particulier les messages en
débuts de branche :
§ qui sont occupés de façon préférentielle par des messages Multi-Citations ou des
messages textes ;
§ dont les citations sont reprises plus loin dans la discussions ;
§ qui sont porteuses de plus d’alternatives de conception (pour PEP 279).
Ces messages sont donc porteurs d’informations importantes pour la conception. Ce sont donc
des messages centraux qu’il sera intéressant de mettre en valeur dans la perspective de la
création d’outils permettant de constituer une mémoire des projets FLOSS (Falzon et al.,
2000).
6.1.4 Des schémas de discussions spécifiques dans les discussions de conceptionen ligne.
Nous avons mis en évidence qu’il existe un schéma commun aux deux discussions PEPs : les
premiers messages de la discussion abordent plusieurs thèmes qui sont ceux proposés
initialement par les documents PEP. Les messages deviennent ensuite « mono-thèmes » en se
spécialisant ensuite autour d’un thème de conception particulier. Ces thèmes sont alors
discutés spécifiquement et l’on statut sur leur devenir. On notera toutefois deux variantes à ce
schéma : la première concernant la présence d’un « méta-thème » dans la discussion PEP
285 ; la seconde concernant la présence d’une dérive thématique dans la discussion PEP 279.
Ces schémas de discussion mettent en évidence qu‘il y a une forte focalisation thématique
dans les discussions de conception en ligne. Ce résultat est différent de ceux du champ de la
communication médiatisée qui montrent que les thèmes ont tendance à disparaître dans des
discussions en ligne plus ouvertes (Herring, 1999).
73
6.2 Temporalité des discussions en ligne
Nous avons montré que le traitement des thèmes de conception pouvait s’étaler sur une
période plus ou moins longue suivant leurs caractères centrauxou non au regard du PEP
discuté (Barcellini, Détienne, Burkhadrt, Sack, à paraître-b). Mais, même sur une période de
plusieurs jours, les thèmes de conception ne disparaissent pas du fait des relances et de la
focalisation des discussions. Ce résultat est la aussi différent de ceux portant sur les
discussions ouvertes qui voient une disparition des thèmes avec le temps (Herring, 1999).
Dans ces discussions sur plusieurs jours autour de même thème, on note toutefois des
regroupements temporels de message (message distant de moins d’une heure) qui traduisent
des moments de quasi-synchronisme de la conception. Les développeurs échangent alors sur
un thème quasiment en même temps. Pour expliquer ces moments de quasi-synchronismes
nous pouvons évoquer les règles sociales fortes mises en évidence dans les communautés
FLOSS (Conein, 2004b, Cohendet et al., 2003 ; Elliott et al., à paraître ; Stewart et Gosain, à
paraître). Par exemple, un concepteur souhaitant intervenir sur un thème ne peut le faire de
manière trop décalée – au niveau du contenu en tout cas- au risque de se faire reprendre par le
chef de projet. Ces règles pourraient également avoir un effet sur le moment auquel un
concepteur doit faire une intervention dans la discussion. Elles feraient alors penser aux règles
de linguistique pragmatique, de proximité, et de pertinence des interventions lors des
échanges en face à face.
6.3 Influence des rôles dans le projet sur le processus de conception
6.3.1 Le chef de projet et le championDans les deux discussions que nous avons analysées, le chef de projet est particulièrement
impliqué : il envoie près de 20% des messages à lui seul. Dans la discussion PEP 279, il y a
également une forte implication du champion pour PEP 279 (14% des messages envoyés).
Les messages envoyés par le champion et/ou le chef de projet se retrouvent préférentiellement
en début de branche. Le chef de projet a également tendance à envoyer des messages multi-
citations, plus riche et plus complexe du point de vue des citations. Enfin, il a tendance à
envoyer les messages de clôture des discussions (on a vu qu’il mettait fin à la dérive
thématique par exemple) et c’est lui qui prend les décisions finales. Le champion quant à lui
effectue de nombreuses activités de synthèse (dans la discussion PEP 279) qui semblent
favoriser le processus de conception.
74
Cette prégnance du champion et du chef de projet correspond en fait à leur rôle prescrit
puisque le champion est en charge de faire discuté son PEP par la communauté et que le chef
de projet est le garant du processus de conception. L’importance du chef de projet confirme
également les résultats de Mahendran (2002) qui montrent que celui-ci exerce une autorité de
fer sur la communauté. D’une façon générale, cet encadrement de la conception FLOSS, tant
par le chef de projet que par des processus prescrits, peut être questionné au regard des
valeurs véhiculées par l’idéologie du mouvement, comme la métaphore de « Bazar » employé
par Raymond (1999b) pour caractériser la conception de FLOSS, par opposition à la
conception logicielle traditionnelle et « figée ». Ce résultat confirme également ceux de
Mockus et al. (2002) qui montrent que les projets FLOSS de grande ampleur ont besoin d’être
encadré pour évoluer et rester viable.
6.3.2 Les administrateurs et les développeursOn va vu que dans la discussion 279 les administrateurs ont tendance à initier les branches. Ils
sont également présents dans les échanges avec les développeurs dans la dérive thématique,
alors que le champion et le chef de projet n’interviennent plus. Pour la discussion du PEP 285,
les administrateurs participant beaucoup sont moins présents que dans celle du PEP 279 et
uniquement dans la partie de la discussion autour du « méta-thème ». Mais dans cette
discussion, ils ont tendance à clore la discussion, comme le chef de projet dans la discussion
PEP 279. Ces points suggèrent une complémentarité des rôles entre le chef de projet et les
administrateurs, ceux-ci relayant le chef de projet suivant les thèmes abordés (dans la
discussion PEP 285 le « méta-thème » étant jugé plus important que ces thèmes
périphériques). Ce résultat va, une nouvelle fois, dans le sens de l’étude de Mahendran (2002)
qui mentionne la répartition du pouvoir, entre administrateurs et chef de projet.
Dans la discussion PEP 279, les développeurs se retrouvent plutôt dans des positions linéaires
on assiste également à des échanges entre développeurs et administrateurs en particuliers dans
la dérive thématique. Cela signifie que même si la discussion est encadrée par le chef de
projet, le champion ou les administrateurs la discussion n’est pas pour autant « fermée ». Les
développeurs apportent à la conception comme le prouve leur message, qui traitent de plus
d’alternatives de conception ; et leur position en début de branche des graphes.
75
6.4 Activités dans un processus asynchrone de conception à distance
6.4.1 Effets de la distance et de l’asynchronisme sur la dimension collective desactivités de conception
Les activités d’évaluation des alternatives de conception et de leur critères et l’activité de
clarification sont les deux activités les plus prégnantes dans des réunions de conception en
–co-présence (Olson et al., 1992 ; d’Astous et al., 2004). Dans les discussions asynchrones et
à distance entre concepteurs, nous avons montré que la prégnance des activités d’évaluation
était encore plus importante, les activités d’évaluation constituant plus de 50% des activités
des concepteurs (Barcellini, Détienne, Burkhardt, Sack, à paraître -a ). L’activité de
clarification est elle aussi présente dans les discussions en ligne, mais elle semble encadrée
par le chef de projet qui n’hésite pas à différer des explications entre concepteurs et à les
renvoyer vers d’autres fils de discussion. Ces clarifications sont en effet des explicitations
écrites donc longues et coûteuses en place dans les discussions en ligne, le chef de projet peut
chercher à trouver un équilibre entre les clarifications, qui sont nécessaires à la résolution des
problèmes de conception PEP, et les autres. Ceci suggère qu’il existe des sous-espaces
particuliers dans l’espace de discussion d’un projet : des sous-espaces destinés aux
discussions focalisées autour de thème de conception précis et d’autres destinés à la
construction d’un référentiel commun entre les concepteurs dont on a vu qu’il était un pré-
requis indispensable au succès de la conception à distance (Olson et al., 2000). Les
concepteurs peuvent également élaborer ce référentiel commun lors des conférences
internationales FLOSS.
Dans les discussions, nous avons également relevé peu de synchronisation opératoire ou
coordination. Ce résultat peut être expliqué par le fait que les discussions en ligne que nous
avons étudiées sont dédiées à des PEPs particuliers et ne sont pas le lieu pour évoquer la
répartition des tâches qui peut être réalisé via des échanges privés.
Enfin, notons que si l’activité de décision est peu présente dans la discussion, il s’agit en
général de décisions explicites. Ceci est une différence majeure avec les réunions de
conception en co-présence dans lesquelles des décisions sont bien prises mais de manières
implicites (Marty et Darses, 2001).
76
6.4.2 Séquences d’activité dans les discussions de conception en ligneEn ce qui concerne les séquences d’activité entre concepteurs en mode asynchrone et à
distance, nous avons retrouvé celles mises en évidence dans les réunions en co-présence
(d’Astous et al., 2004, 2001). En particulier, les séquences « évaluation-évaluation »
traduisant des divergences ou des convergences entre développeurs. Les séquences
« proposition-évaluation » qui traduisent le mouvement de « génération –évaluation de
solutions » décrit dans la littérature (Visser et al., 2004). Ou encore les séquences de
« clarification-clarification » qui sont présentes, en particulier, dans la dérive thématique de la
discussions PEP 279 et le « méta-thème » de la discussion PEP 285, et qui visent à se
construire une représentation commune du problème en évoquant des règles générales de
programmation ou des règles spécifiques à Python.
6.5 Implications pour les outils d’analyse des discussions en ligne
Plusieurs études mettent en avant le besoin d’outils permettant de constituer des mémoires de
projet FLOSS (Scacchi, 2001 ; Gasser et al., 2003) et pour le moment peu d’outils
satisfaisants sont disponibles (Ripoche et al., à paraître ; Sack, 2000 ; Yee, 2002). Ce travail
de recherche a permis de montrer que l’utilisation des citations électroniques est une approche
prometteuse pour constituer la base de tels outils, ainsi que des outils de visualisation des
discussions en ligne d’une manière générale.
En effet, les citations électroniques permettent de relier les messages électroniques entre eux
en maintenant la cohérence des thèmes de conception ; elles sont analogues aux tours de
paroles entre concepteurs dans les réunions en co-présence, et leur analyse permet donc de
faire ressortir la logique de conception contenue dans les discussions en ligne.
Dans cette perspective, nous avons montré que certains messages pouvaient être plus
importants –plus pertinents et plus informatifs pour la conception- parmi la quantité de
messages générés par les discussions de conception en ligne :
§ Les messages du chef de projet ou du champion du PEP ;
§ Les messages situés en début de branche dont on a montré qu’ils sont cités plus
profondément dans la discussion, qu’ils sont plus riches puisqu’ils comportent
plusieurs citations et commentaires, et traitent de plus d’alternatives de conception.
77
7 Limites et perspectives
7.1 Limites du travail de recherche
Nous avons analysé manuellement deux corpus de discussions en ligne entre concepteurs.
Pour valider nos premiers résultats, cette analyse devra être renouvelée sur d’autres PEPs.
Dans cette perspective, un outil d’analyse inspiré de Conversation Map (Sack, 2002) qui
permettra d’extraire automatiquement les citations des discussions en ligne et de reconstruire
le graphe des discussions, est en cours de développement. Ces analyses supplémentaires nous
permettraient ainsi de préciser l’importance relative des activités de conception dans les
discussions en ligne. Nous pourrions confirmer ainsi le rôle effectif des administrateurs et des
développeurs dans les discussions en ligne, ou l’intérêt de l’activité de synthèse dans les
discussions en ligne.
Par ailleurs, notre méthode d’analyse prend en compte les activités –ou les prédicats- des
discussions. Cette méthode pourrait être étendue en codant plus finement les arguments
présent dans les discussions, en nous inspirant de la méthode COMET (Darses et al., 2001).,
Elle nous permettrait, en particulier, de préciser les critères qui se trouvent derrière l’activité
d’évaluation plus présente dans les discussions en ligne entre concepteurs. Nous pourrions
alors reconstruire des graphes de « design rationale » sous forme de « Question Options
Critères », et intégrer ces graphes dans les outils permettant de tracer la logique de
conception.
Enfin, les discussions que nous avons analysées sont issues d’une communauté de
concepteurs particulière : dans laquelle le chef de projet est extrêmement présent ; et qui
dispose d’un processus prescrit de conception. A notre connaissance, aucun autre travail n’a
étudié des projets de conception du point de vue de la dynamique du processus de conception,
il nous est alors difficile de mettre nos résultats en perspectives et de tirer une description
générale du processus de conception FLOSS.
78
7.2 Perspectives
L’approche basée sur l’analyse des citations électroniques nous semble prometteuse pour
constituer des outils de visualisations et de mémoire de projet. En ce sens, elle a reçu un avis
favorable des concepteurs FLOSS que nous avons rencontrés lors l’atelier Python des 5èmes
Rencontres Mondiales du Logiciels Libres où nous avons présenté ce travail de recherche
(Barcellini, Détienne, Burkhardt, Sack, 2005b). Nous avons montré que certains messages
pouvaient être pertinents pour la conception. Il serait intéressant de tester cette hypothèse en
confrontant des développeurs Python à des outils de visualisations et aux graphes de « design
rationale » obtenus grâce à l’analyse des citations électroniques.
Par ailleurs, nous souhaitons étendre notre étude à l’analyse d’autres éléments de l’espace de
discussion du projet (d’autres listes), mais également les lieux de rencontres entre concepteurs
comme les conférences internationales ayant trait à Python (Rencontres Mondiales du logiciel
libre, EuroPython etc…). Ceci nous permettra d’aller voir en amont et de préciser : ce qui
conduit à la création d’un PEP – qui peut être vu comme un processus d’innovation- ; et
comment les utilisateurs sont impliqués dans ce processus.
79
Bibliographie
Akrich, M., et Méadel, C. (2003). Mise au point d’une méthode permettant de caractériser lanature des collectifs par les cercles de discussion électronique. Le cas de la santé. Rapportintermédaire du Programme “Société de l’information”, Centre de sociologie de l’innovation,Ecole des Mines de Paris.
Baker, M., Détienne, F., Lund, K., et Séjourné, A. (à paraître). Analyse épistémique etargumentative de la conception collective en architecture: étude des profils interactifs. In F.Détienne et V. Traverso (Eds) Méthodologies d’analyse de situations coopératives deconception: corpus MOSAÏC. Nancy: PUN.
Barcellini, F., Détienne, F., Burkhardt, J.M., and Sack, W. (2005a). A study of onlinediscussions in an Open-Source community: reconstructing thematic coherence andargumentation from quotation practices. In P. Van Den Besselaar, G. De Michelis, J. Preece,and C. Simone (Eds.), Communities and Technologies 2005 (pp 301-320). Dortmund, TheNetherlands: Springer.
Barcellini, F., Détienne, F., Burkhardt, J.M, and Sack, W. (2005b). Analyse des discussions enligne entre conception de logiciels libres: le cas de Python. 5èmes Rencontres mondiales dulogiciel libre. Dijon, France, 5-9 juillet.
Barcellini, F, Détienne, F., and Burkhardt, J.M. (à paraître, a). Les discussions en ligne dansla conception de logiciels libres: dynamique et temporalité de l’activité. Communicationacceptée, EPIQUE’05, Toulouse, France, 26-29 septembre 2005.
Barcellini, F, Détienne, F., Burkhardt, J.M., and Sack, W. (à paraître, b). Thematic coherenceand quotation practices in OSS design-oriented online discussions. Accepted communicationGROUP’05, Sanibel Island, Florida, USA, 06-11 November 2005.
Barthe, B., Gadbois, Ch., Prunier-Poulmaire, S., et Quéinnec, Y. (2004). Travailler enhoraires atypiques. In P. Falzon (Ed), Ergonomie (pp 129-144). Paris, France : PresseUniversitaire de France.
Bonaccorsi, A., and Rossi, C. (2003). Why Open Source Software can succeed? ResearchPolicy, 32, 1243-1258.
Buckingham Shum, S., and Hammond, N. (1994). Argumentation-based design rationale:what use at what cost? International Journal of Human-Computer Studies, 40, 603-652.
Cassell, J., Huffaker, D., Tversky, D., and Ferriman, K.(2005). How to win a world election :Emergent leadership in an International Online Community. In P. Van den Besselaar, G. deMichelis, J.Preece and C. Simone (Eds), Communities and technologies 2005. Dortmund, TheNetherlands: Springer.
80
Concklin, E. J., and Burgess Yakemovic, K. C. (1991). A Process-Oriented Approach toDesign Rationale. Human-computer Interaction, 6, 357-391.
Cohendet, P., Créplet, F., and Dupouët, O. (2003). Innovation organisationnelle,communautés de pratique et communautés épistémiques : le cas de linux. Revue Française deGestion, 29(146), 99-121.
Conein, B (2004a). Communautés épistémiques et réseaux cognitifs : coopération et cognitiondistribuée [page web] http://www.freescape.eu.org/biblio/rubrique.php3?id_rubrique=13,[référence du 20 juin 2005].
Conein, B (2004b) - Relations de conseils et expertises collective : comment les expertschoisissent-ils leurs destinataires dans les listes de discussions ? - Recherches sociologique[revue en ligne], 2004 /3, 1-13 [référence du 20 juin 2005].
Coris M., et Lung, Y.(2004). Les communautés virtuelles : la coordination sans la proximité? Réflexion sur les fondements de la coopération au sein des communautés du logiciel libre.Communication aux Quatrièmes journées de la proximité, Marseille, 17-18 juin.
Corroyer, D., Wolff, M. (2003). L’analyse statistique des données en psychologie : conceptset méthodes de base. Paris, France : Armand Colin.
Crowston, K., and Howison, J. (2005). The social structure of free and open source softwaredevelopement. – First Monday [revue en ligne], 10(2),http://www.firstmonday.org/issues/issue10_2/crowston [référence du 06 juillet 2005].
Darses, F., Falzon, P. (1996). La conception collective : une approche de l’ergonomiecognitive. In G. de Terssac et E. Friedberg (Eds). Coopération et Conception (pp. 123-135).Toulouse : Octarès.
Darses, F., Détienne, F., Falzon, P., et Visser, W. (2001). A method for analysing collectivedesign processes. Rapport de recherche n° 4258, INRIA, septembre 2001.
Darses, F., Détienne, F., et Visser, W. (2004). Les activités de conception et leur assistance. InP. Falzon (Ed), Ergonomie (pp 545-563). Paris, France : Presse Universitaire de France.
Darses, F. (2004). Processus psychologiques de résolution collective des problèmes deconception : contribution de la psychologie ergonomique. Habilitation à Diriger desRecherches, Université Paris 5, France, décembre 2004.
d’Astous, P., Détienne, F., Robillard, P. N., and Visser, W. (2001). Quantitativemeasurements of the influence of participants roles during peer review meetings. EmpiricalSoftware Engineering, 6, 143-159.
d’Astous, P., Détienne, F., Visser, W., and Robillard, P. N. (2004). Changing our view ondesign evaluation meetings methodology: a study of software technical evaluation meetings.Design Studies, 25, 625-655.
81
Dalle, J-M., and Jullien, N. (2003). « Libre » software : turning fads into institutions ?Research Policy, 32,
Dameron, S. (2002). La dynamique relationnelle au sein d’équipes de conception. Le TravailHumain, 65(4), 339-361.
de Souza Sieckenius, C., and Preece, J. (2004). A framework for analysing and understandingonline communities. Interacting with computer, 16, 579-610.
de Terssac, G., et Chabaud, C. (1990). Référentiel opératif commun et fiabilité. In J. Leplat &G. de Terssac (Eds.), Les facteurs humains de la fiabilité dans les systèmes complexes.Toulouse: Octarès.
Détienne, F., Boujut, J-F., and Hohmann, B. (2004). Characterization of Collaborative Designand Interaction Management Activities in a Distant Engineering Design Situation. In F.Darses, R.. Dieng, C. Simone, M. Zaklad (Eds), Cooperative Systems design (pp 83-98).Amsterdam, The Netherlands : IOS Press.
Détienne, F., Martin, G., and Lavigne, E. (2004).Viewpoints in co-design: a field study inconcurrent engineering. Design Studies, 26, 215-241.
DiBona, C., Ockman, S., and Stone, M. (Eds). (1999). Open Sources: Voices from the OpenSource Revolution. Sebastol, CA, USA: O’Reilly and Associates Inc.
Donath, J., Karahalios, K., and Viegas, F. (1999). Visualizing Conversations. In Proceedingsof HICSS 32 (9p.). Maui Island, Hawaï, USA, January 5-8 1999.
Ducheneaut, N. (2003). The reproduction of open source software community. Ph.D. thesis,University of California, Berkeley, USA.
Eklundh, K.S, and Macdonald, C. (1994). The use of quoting to preserve context in electronicmail dialogues. IEEE Transactions on Professional communication, 37(4), 197-202.
Eklundh, K. S., and Rodriguez, H. (2004). Coherence and interactivity in text-based groupdiscussions around web documents. In Proceedings of the 37th Hawaii internationalconference on Systems Sciences (10 p.). Big Island, Hawaï, January 5-8 2004.
Elliott, M., and Scacchi,W. (in press). Mobilization of Software Developers: The FreeSoftware Movement. Information, Technology and People.
Falzon, P., Navarro, C. (1993). Travail collectif et dialogues coopératifs. Communicationsprésentée au colloque “Recherche pour l’Ergonomie”. Toulouse, 17-18 novembre 1993.
Falzon, P., Sauvagnac C., Leblond, R. (2000). La mémoire organisationnellle: reconstrcutiondu passé, construction du futur. In J. Charlet, M. Zacklad, G. Kassel et D. Bourrigault (Eds)Ingénierie des connaissances: évolution récentes et nouveaux défis (pp 442-450), Paris,France: Eyrolles.
82
Falzon, P., Sauvagnac, C. (2004). Charge de travail et stress. . In P. Falzon (Ed), Ergonomie(pp 175-190). Paris, France : Presse Universitaire de France.
Gacek, C., & Arief, B. (2004). The Many Meanings of Open Source. IEEE Software, 21, 34-40.
Gasser, L., Scacchi, W., Ripoche, G., and Penne, B. (2003). Understanding ContinuousDesign in F/OSS project. Communication at 16th International Conference on SoftwareEngineering & its Applications (ICSSEA-03), Paris, France, December 2003.
Herbsleb, J. D., Klein, H., Olson, G. M., Brunner, H., Olson, J. S., and Harding, J. (1995).Object-oriented analysis and design in software project teams. Human-Computer Interaction,10, 249-292.
Herring, S. (1999). Interactional Coherence in CMC. In Proceedings of the 32nd HawaiiConference on system sciences(13 p.). Maui Island, Hawaï, USA, 5-8 January 1999.
Hertel, G., Niedner, S., and Herrmann, S. (2003). Motivation of software developers in OpenSource projects : an Internet-based survey of contributors to the Linux kernel. Researchpolicy, 32, 1159-1177.
Jensen, C., and Scacchi, W. (2005). Modeling and role migration processes in OSSD projects.In Proceedings of the 5th workshop on Software Process Simulation and Modeling (9 p.). St.Louis, MO, USA, May 14-15 2005.
Karsenty, L. (1996). An empirical evaluation of design rationale documents. In M.J. Tauber,V. Belloti, R. Jeffries, J.D. Mackinlay & J. Nielsen (Eds). CHI'96 conference proceedings (pp150-156). Upper Lake, NJ, USA : Addison -Wesley.
Karsenty, L. (1997). Coopération, dialogue, et contexte partagé: comprendre des demandesd’aides en situation de co-présence ou à distance. In P. Falzon et L. Karsenty (Eds), Dialogueet coopération (pp79-101), Rapport d’étude auprès du PRC Sciences cognitives, Paris:CNAM.
Lakhani, K. R., and Von Hippel, E. (2003). How open source software works : « free » user-to-user assistance. Research Policy, 32, 923-943.
Mahendran, D. (2002). Serpents and Primitives: An ethnographic excursion into an OpenSource community. Master’s Thesis, School of Information Management and Systems,University of California at Berkeley.
Martin, F. (2002). Les forums électroniques: activités de communication ou de production?.In E. Engrand, S. Lambolez, A. Trognon (Eds), Communications en situation de travail àdistance (pp.183-193). Nancy, France : Presse Universitaire de Nancy, collection langage-cognition-interaction.
Marty, I., et Darses, F. (2001). Traçabilite des décisions et gestion des contraintes dans ungrand projet urbain : position du problème et enjeux pour la maitrise d'ouvrage ?. Actes de laConférence Internationale SELF 2001, Montréal ACE, Canada, 3-5 octobre.
83
Mockus, A., Fielding, R.T., & Herbsleb, J. (2002). Two Case Studies of Open SourceSoftware Development: Apache and Mozilla. ACM Transactions on Software Engineeringand Methodology, 11(3), 309-346.
Moran, T. P., and Carroll, J. M. (1996). Design rationale: concepts, techniques and uses.Mahwah, NJ: Lawrence Erlbaum Associates.
Navarro, C., et Sikorski, S. (2002). Evolution des moyens de communication et modificationde l’intercation dans le travail. In E. Engrand, S. Lambolez, A. Trognon (Eds),Communications en situation de travail à distance (pp.219-243). Nancy, France : PresseUniversitaire de Nancy, collection langage-cognition-interaction.
Olson, G.M., Olson, J.S., Carter, M. R., and Storrosten, M. (1992). Small Group DesignMeetings: An Analysis of Collaboration. Human-Computer Interaction, 7, 347-374.
Olson, G. M., and Olson, J. S. (2000). Distance Matters. Human-Computer Interaction, 15,139-178.
Popolov, D., Callaghan, M., and Luker, P. (2000). Conversation space: visualizing multi-threaded conversation. In proceedings of the working conference on Advanced VisualInterface AVI 2000 (pp 246-249), Palermo, Italy.
Raymond, E. S. (1999a) A brief story of hackerdom [page web]http://www.oreilly.com/catalog/opensources/book/raymond.html [ référence du 20 juin 2005].
Raymond, E. S. (1999b) The cathedral and the bazaar [page web]http://www.tuxedo.org/esr/writings/cathedral-bazaar/ [20 juin 2005].
Ripoche, G., and Sansonnet, J-P. (à paraître). Experiences in utomating the analysis oflinguistic interactions for the study of distributed collective. Journal of CSCW.
Sack, W. (2000). Conversation Map: A content-based Usenet newsgroup browser. InProceedings of IUI 2000 (pp 233-240). New York, USA : ACM Press.
Sack, W, Détienne F, Burkhardt, J.M., Barcellini F, Ducheneaut, N, and Mahendran D.(2004).. A Methodological Framework for Socio-Cognitive Analyses of Collaborative Designof Open Source Software. Paper presented at the Distributed Collective Practices workshop inCSCW’04. November 6-10, Chicago, US.
Scacchi, W. (2001). Understanding the requirements for developing Open Source SoftwareSystems. IEE Proceedings--Software, 149(1), 24-39
Smets-Solanes, J.P., et Faucon, B.(1999). Logiciels libres : liberté, égalité, business. Paris,France : Edispher.
Smith, M., Cadiz, J. J., and Burkhalter, B. (2000). Conversation Trees and Threaded Chat. Inproceedings of CSCW 2000 (pp. 97–105), Philadelphia, Pennesylvania, USA, december 2-62000.
84
Smith, M., and Fiore, A.T. (2001). Visualization Components for Persistent Conversations. InProceedings. of CHI 2001 (pp. 136–143). Seattle, Washington, USA, April 20-25 2001.
Stallman, R. M. (2002). Free Software, Free Society: Selected Essays of Richard M. Stallman.Boston, MA, USA : GNU Press.
Stewart, K. J., and Gosain S. (à paraître) The impact of ideology on effectiveness in OpenSource software development teams. MIS Quarterly.
Trognon, A. (2002) Dialogues et polylogues dans le travail à distance. In E. Engrand, S.Lambolez, A. Trognon (Eds), Communications en situation de travail à distance (pp.9-11).Nancy, France : Presse Universitaire de Nancy, collection langage-cognition-interaction.
Vacherand-Revel, J. (2002). Les registres d’activités du travail coopératif médiatisé et distantde coconception de documents scientifiques. In E. Engrand, S. Lambolez, A. Trognon (Eds),Communications en situation de travail à distance (pp.245-265). Nancy, France : PresseUniversitaire de Nancy, collection langage-cognition-interaction.
Venolia, G., and Neustaedter, C. (2003). Understanding sequence and reply relationshipswithin email conversations : a mixed-model visualization. In proceedings of CHI 2003 (8 p),Florida, USA, April 5-10 2001.
Viégas, F. B., and Smith, M. (2004). Newsgroup Crowds and AuthorLines: Visualizing theActivity of Individuals in Conversational Cyberspaces. In Proceedings of the 37th HawaiiConference on System Sciences (10p.). Big Island, Hawaï, January 5-8 2004.
Visser, W., Darses, F., et Détienne, F. (2004). Approches théoriques pour une ergonomiecognitive de la conception. In J-M. Hoc et F. Darses (Eds) ; Psychologie ergonomique :tendances actuelles (pp 97-118). Paris, France : Presse Universitaire de France, collection Letravail humain.
Yee, K-P. (2002). Zest: discussion mapping for mailing lists. Demonstration paper at CSCW2002 (4p.). New Orleans, Louisana, USA. November 16-20 2002.
85
Annexes
86
Annexe 1 Outils et modes de communications des développeursFLOSS
Scacchi (Scacchi, 2001) a comparé le fonctionnement de plusieurs communautés Open
Source. Il a ainsi pu caractériser certains des outils utilisés par les concepteurs.
§ Les scénarios d’usage du logiciel sont explicités à travers des pages Internet,
contenant des captures d’écran, des séquences de navigation. Ils permettent aux
développeurs de partager et de faire évoluer une représentation commune du
fonctionnement de l’artefact.
§ Le guide d’utilisation formel de l’artefact est disponible en ligne, il est enrichi des
questions les plus fréquentes « Frequently Asked Questions » des utilisateurs.
§ Il existe plusieurs types de documents auxquels les développeurs ou les utilisateurs
peuvent se référer : des articles techniques ou scientifiques, des livres, mais
également les sites Internet de chaque projet. A titre d’exemple, la figure 18
présente une copie d’écran du site du projet Python.
§ Les membres des projets FLOSS ont accès via Internet à des plateformes qui gèrent
les évolutions, les différentes versions d’un code source (« Concurrent Version
System » ou CVS). Le système le plus célèbre est SoureForge (figure 19).
§ Les membres d’un projet FLOSS utilisent les messages électroniques, les bulletins
de rapport de bogues pour détecter les dysfonctionnements des logiciels, les
appréhender et les corriger. Ils sont tous archivés et accessible librement en ligne et
constituent ainsi une base de données immense de traces du processus de
conception.
87
Figure 18 : Extrait de la page Internet du site Python (www.python.org)
Figure 19 : Le site Sourceforge (www.sourceforge.net)
88
À partir de l’étude du projet Python, nous avons montré (Sack et al., 2004) que le processus
de conception d’un logiciel FLOSS est, en fait, distribué dans au moins trois espaces
d’activité sur Internet (figure 19): un espace de discussion (forums, liste de diffusion…), un
espace de documentation (archives des discussions en ligne et des propositions de conception)
et un espace d’implémentation (contenant les différentes versions « Concurrent Versions
System » ou CVS, du code).
Figure 20 : Distribution du processus de conception FLOSS dans les espaces d’activité
L’espace de discussion se compose de plusieurs listes de discussions et « newsgroups». Ces
groupes sont en général doublés par des listes de discussion pour les participants qui n’ont pas
d’accès à des serveurs de news ou qui préfèrent recevoir des messages électroniques. Ces
listes portent sur des sujets spécifiques. Par exemple, la liste comp.lang.python porte sur
l’usage de Python comme langage de programmation mais pas sur le développement du
langage en tant que tel, la liste Debian.user.french étudiée par Conein (2004a) concerne les
discussions entre utilisateurs français de Debian, qui est une forme de distribution de Linux.
89
L’espace de discussion peut également contenir d’autres listes de discussion « special interest
group » autour de sujets pointus. Les archives des discussions en ligne sont stockées sur
Internet, les messages étant reliés les uns aux autres suivant le principe de fils de discussions
ou « threading » basé sur le lien de réponse entre les messages. Elles peuvent être visualisées
à partir du sujet contenu dans leur en-tête, de l’auteur du message, de la date ou du fils de
discussions.
Dans l’espace de documentation, on trouve les sites officiels des projets, les différentes
versions de certains processus de conception (comme les PEP de Python sur lesquels nous
avons centré notre recherche), les publications relatives aux projets mentionnés par Scacchi
(2003), mais également les bulletins de rapport de bogues. Une personne souhaitant intégrer le
projet doit être au courant de tout ce qui s’est fait auparavant, au risque, si il pose des
questions triviales, de se voir rejeter par la communauté (Mahendran, 2002 ; Conein, 2004b).
Dans l’espace d’implémentation sont effectuées les modifications concrètes du code source du
logiciel sur la base des « Concurrent Version System » ou CVS qui sont stockées sur les
plateformes Internet hébergeant les projets. Ces CVS sont utilisées pour gérer les
changements dans le code source. La version à jour de chaque entité composant le code
source, ainsi que tous les changements qu’il a subis, constituent ces CVS.
90
Annexe 2 Exemples de fils de discussion
Figure 21 : Extrait d’un fil de discussion de la liste Python-Dev (www.gname.org)
Figure 22 : Extrait d’un fil de discussion de la liste Python-Dev (www.python.org)
91
Annexe 3 Extrait du tableau de codage
mail auteur date heure Struct. Source Positiondans legraphe
rôle bloc cité blocajouté
activité Theme nbalternativestraitées dans
lescommentaire
s0 guido vr 28/3 21:55 Texte PEP 279 b cp b0_1 accord MT 8
propproppropprop
desaccodesaccoclarif
1 aahz 28/3 22:06 1-C 0 l hp-d b0_1_1 prop T2 1b1_1 prop
2 guido vr 28/3 22:22 1-C 1 c cp b1_1 prop T2 1b2_1 desacco
22 raymond h
29/3 6:35 M-C 0 b c b0_1_2 accord MT 13
b22_1 accordb0_1_3 desacco
propprop
b22_2 propb0_1_4 desacco
b22_3 accordb0_1_1_1 propb22_4 prop
b0_1_1_2 propb22_5 accord
synthèse
propb0_1_5 desacco
rb22_6 prop ou
régulation
b0_1_6 desaccob22_7 propou
regulation
b0_1_7 clarifb22_8 clarif
b0_1_8 desaccord
b22_9 désaccord
Tableau 6 : Extrait du tableau de codage des discussions en ligne
92
Annexe 4 Lien entre la structure et la position dans la discussion
Structure Linéaire Début Clôture TotalTexte 0 2 2 4
1-C 14 8 19 41
M-C 10 10 6 26
Total 24 20 27 71
Tableau 7 : Distribution des positions dans le graphe de la discussion en fonction de lastructure des messages
pour le PEP 279 (1ère partie)
Structure Linéaire Début ClôtureTexte -1,00 0,78 0,311-C 0,01 -0,31 0,22
M-C 0,14 0,37 -0,39
Tableau 8 : Taux de liaison entre la position dans le graphe de la discussion et la structuredes messages pour le PEP 279 (1ère partie)
On trouve un V2 de Cramer=0.048 ce qui caractérise une relation intermédiaire entre la
structure et la position dans le graphe.
Structure Linéaire Début Clôture TotalTexte 0 2 0 2
1-C 24 13 31 68M-C 10 8 7 25Total 34 23 38 95
Tableau 9 : Distributions des positions dans le graphe de la discussion en fonction de lastructure des messages pour le PEP 285 (1ère partie)
Structure Linéaire Début ClôtureTexte -1,00 3,13 -1,001-C -0,01 -0,21 0,14M-C 0,12 0,32 -0,30
Tableau 10 : Taux de liaison entre la position dans le graphe de la discussion et la structuredes messages pour le PEP 285 (1ère partie)
On trouve un V2 de Cramer=0.05 ce qui caractérise une relation intermédiaire entre la
structure et la position dans le graphe.
93
Figure 23 : Graphe des attractions entre la position dans le graphe et la structure desmessages pour les PEP 279 et PEP 285 (1ères parties)
Début
Clôture
Linéaire Texte
1-C
M-C
94
Annexe 5 Lien entre le rôle et la position dans la discussion
Rôle Linéaire Début ClôtureCP 2 4 7
Champion 3 4 3
Admin+ 4 8 5
Admin- 0 0 2
Dev+ 8 2 9
Dev- 7 2 1
Total 24 20 27
Tableau 11 : Distributions des positions dans le graphe de la discussion en fonction du rôlepour le PEP 279 (1ère partie)
Rôle Linéaire Début ClôtureCP -0,54 0,09 0,42Champion -0,11 0,42 -0,21Admin+ -0,30 0,67 -0,23Admin- -1,00 -1,00 1,63
Dev+ 0,25 -0,63 0,25
Dev- 1,07 -0,29 -0,74
Tableau 12 : Taux de liaison entre la position dans le graphe et le rôle pour le PEP 279 (1ère partie)
Figure 24 : Graphe des attractions entre la position dans le graphe et le rôle dans le projetpour le PEP 279 (1ère partie)
Les flèches pleines correspondent aux attractions pour la position « Début », les pointillés
pour la position « linéaire » et les points pour la position « clôture ».
Champion
Admin+
CP
Admin-
Dev +
Dev -
Début
Linéaire
Clôture
95
On trouve un V2 de Cramer=0.06 ce qui caractérise une relation intermédiaire entre le rôle et
la position dans le graphe.
Rôle Linéaire Début Clôture TotalCP 7 6 6 19
Admin+ 2 0 6 8
Admin- 1 1 1 3
Dev+ 21 10 22 53
Dev- 3 6 3 12
Total 34 23 38 95
Tableau 13 : Distribution des positions dans le graphe de la discussion en fonction du rôle pour le PEP 285 (1ère partie)
Rôle Linéaire Début ClôtureCP 0,03 0,30 -0,21
Admin+ -0,30 -1,00 0,88
Admin- -0,07 0,38 -0,17
Dev+ 0,11 -0,22 0,04
Dev- -0,30 1,07 -0,38Tableau 14 : Taux de liaison entre la position dans le graphe et le rôle
pour le PEP 285 (1ère partie)
Figure 25 : Graphe des attractions entre la position dans le graphe et le rôle pour le PEP 285 (1ère partie)
On trouve un V2 de Cramer=0.13 ce qui caractérise une relation intermédiaire entre le rôle et
la position dans le graphe.
Admin+
CP
Admin-
Dev +
Dev -
Début
Linéaire
Clôture
96
Annexe 6 Lien entre le rôle et la structure des messages
Rôle Texte 1-C M-C TotalCP 1 5 7 13
Champion 0 6 4 10
Admin+ 2 8 7 17
Admin- 0 2 0 2
Dev- 1 9 6 16
Dev+ 0 11 2 13
Total 4 41 26 71
Tableau 15 : Distribution de la structure des messages en fonction des rôles pour le PEP 279(1ère partie)
Rôle Texte 1-C M-CCP 0,37 -0,33 0,47
Champion -1,00 0,04 0,09Admin+ 1,09 -0,19 0,12Admin- -1,00 0,73 -1,00Dev+ 0,11 -0,03 0,02Dev- -1,00 0,47 -0,58
Tableau 16 : Taux de liaison entre la structure des messages et les rôlespour le PEP 279 (1ère partie)
Figure 26 : Graphe des attractions entre la structure des messages et le rôle dans le projetpour le PEP 279 (1ère partie)
On trouve un V2 de Cramer=0.02 ce qui caractérise une relation faible entre la structure et le
rôle.
Champion
Admin+
CP
Admin-
Dev +
Dev -
Texte
1-C
M-C
97
Rôle Texte 1-C M-C TotalCP 1 11 7 19
Admin+ 0 7 1 8
Admin- 0 2 1 3
Dev+ 1 40 12 53
Dev- 0 8 4 12 Total 2 68 25 95
Tableau 17 : Distribution de la structure des messages en fonction des rôles pour le PEP 285(1ère partie)
Rôle Texte 1-C M-CCP 1,50 -0,19 0,40
Admin+ -1,00 0,22 -0,53
Admin- -1,00 -0,07 0,27Dev+ -0,10 0,05 -0,14Dev- -1,00 -0,07 0,27
Tableau 18: Taux de liaison entre la structure des messages et les rôlespour le PEP 285 (1ère partie)
Figure 27 : Graphe des attractions entre la structure des messages et le rôle dans le projetpour le PEP 285(1ère partie)
On trouve un V2 de Cramer=0.07 ce qui caractérise une relation intermédiaire entre la
structure et le rôle.
Admin+
CP
Admin-
Dev +
Dev -
Texte
1-C
M-C
98
Annexe 7 Lien entre les activités contenues dans les citations et lesactivités contenues dans les commentaires
Activités citations Prop Eval+ Eval- Déc. Synth. Coord. Clarif. Autres Total
Activités commentaires Proposition 4 5 6 2 7 0 1 1 26Désaccord ou Evaluation- 11 15 2 0 4 0 0 2 34Accord ou Evaluation- 10 9 2 0 12 0 1 0 34Décision 8 0 2 0 4 0 0 0 14Synthèse 0 1 2 0 2 0 0 0 5Coordination 1 0 0 1 0 1 0 0 3Clarification 1 5 1 0 0 0 7 0 14
Autres 0 1 0 0 0 0 0 6 7Total 35 36 15 3 29 1 9 9 137
Tableau 19 : Distributions de l’activité des citations en fonction de l’activité descommentaires qui les suivent pour la discussion PEP 279 (1ère partie)
Activités citations Prop Eval+ Eval- Déc. Synth. Coord. Clarif. Autres
Activities commentaires Proposition -0,40 -0,27 1,11 2,51 0,27 -1,00 -0,41 -0,41Désaccord ou Evaluation- 0,27 0,68 -0,46 -1,00 -0,44 -1,00 -1,00 -0,10Accord ou Evaluation+ 0,15 0,01 -0,46 -1,00 0,67 -1,00 -0,55 -1,00Décision 1,24 -1,00 0,30 -1,00 0,35 -1,00 -1,00 -1,00Synthèse -1,00 -0,24 2,65 -1,00 0,89 -1,00 -1,00 -1,00Coordination 0,30 -1,00 -1,00 14,22 -1,00 44,67 -1,00 -1,00Clarification -0,72 0,36 -0,35 -1,00 -1,00 -1,00 6,61 -1,00
Autres -1,00 -0,46 -1,00 -1,00 -1,00 -1,00 -1,00 12,05
Tableau 20 : Taux de liaison entre les activités des citations et les activités des commentairespour le PEP 279 (1ère partie)
On trouve un V2 de Cramer=0.23 ce qui caractérise une relation forte entre les activités des
citations et les activités de commentaires.
Activité citation Clarif Coord Eval+ Eval- Prop Autres TotalActivité commentaireClarif 45 2 1 12 0 0 60Coord 3 4 0 0 0 0 7Eval- 22 0 4 7 16 0 49Eval+ 9 0 4 6 16 0 35Prop 1 0 0 1 2 0 4Autres 2 2 0 0 0 0 4
Total 82 8 9 26 34 0 159
Tableau 21 Distributions de l’activité des citations en fonction de l’activité des commentairesqui les suivent pour la discussion PEP 285(1ère partie)
99
Activités citations Clarif. Coord. Eval+ Eval- Prop AutresActivité commentairesClarif. 0,45 -0,34 -0,71 0,22 -1,00 0,00Coord. -0,17 10,36 -1,00 -1,00 -1,00 0,00Eval- -0,13 -1,00 0,44 -0,13 0,53 0,00Eval+ -0,50 -1,00 1,02 0,05 1,14 0,00Prop -0,52 -1,00 -1,00 0,53 1,34 0,00Autres -0,03 8,94 -1,00 -1,00 -1,00 0,00Tableau 22 : Taux de liaison entre les activités des citations et les activités des commentaires
pour le PEP 285 (1ère partie)
On trouve V2 de Cramer=0.69 ce qui caractérise une relation forte entre les activités des
citations et les activités des commentaires.
Eval+
Prop
Eval-
Dec
Synth.
Prop
Eval+
Eval-Clarif
Coord.
Autres
100
Figure 28 : Graphes d’attraction entre les activités des citations et les activités descommentaires pour les PEP 285 et PEP 279 (1ères partie)
Eval+
Prop
Eval-
Dec
Synth.
Dec.
Synth.
Clarif
Coord.
Autres
Clarif
Coord.
Autres
101
Annexe 8 Lien avec les alternatives de conception
PositionNbre alternativesproposées <=1
Nbre alternatives proposées >1Total
Début debranche 5 9 14
Linéaire 10 7 17
Fin de branche 23 4 27
Total 38 20 58
Tableau 23 : Distribution du nombre d’alternatives abordées par un message en fonction desa position dans le graphe de la discussion PEP 279 (1ère partie)
Position Nbre alternative <=1 Nbre alternative>1Début debranche -0,45 0,86
Linéaire -0,10 0,19
Fin de branche 0,30 -0,57
Tableau 24 : Taux de liaison entre les messages proposant des alternatives et de leur positiondans le graphe de la discussion PEP 279 (1ère partie)
Les valeurs surlignées en gras indiquent les attractions existantes entre ces variables. On note
que les débuts de branches sont plutôt occupés par des messages proposant plusieurs
alternatives et que les fins de branche sont occupées par des messages proposant peu
d’alternatives. La relation entre ces variables est forte (V2 de Cramer=0.18)
RôleNbre alternativesproposées <=1
Nbre alternativesproposées >1 Total
CP 6 6 12
C 5 5 10
Admin+ 9 3 12
Admin- 2 0 2
Dev+ 11 1 12
Dev- 6 4 10
39 19 58
Tableau 25 : Distribution du nombre d’alternatives abordées par un message en fonction durôle dans le projet pour le PEP 279 (1ère partie)
Rôle Nbre alternative <=1 Nbre alternative>1
CP -0,26 0,53
C -0,26 0,53
Admin+ 0,12 -0,24
Admin- 0,49 -1,00
Dev+ 0,36 -0,75
Dev- -0,11 0,22
Tableau 26 : Taux de liaison entre les messages proposant des alternatives et le rôle dans leprojet pour le PEP 279 (1ère partie)
102
Les messages envoyés par le Chef de projet et le champion semblent donc abordés plus
d’alternatives de conception, de même que ceux envoyés par les dev- mais dans une moindre
mesure. Les messages n’abordant que peuv d’alternative de conception ont tendance à être
envoyés par les admin- et les dev+. On trouve une relation intermédiaire entre ces variables
V2 de Cramer=0.13).
Structure Nbre alternative <=1 Nbre alternative>1 Total
M-C 12 8 20
1-C 25 11 36
Texte 1 1 2
Total 38 20 58
Tableau 27 : Distribution du nombre d’alternatives abordées par un message et de sastructure pour lePEP 279 (1ère partie)
Structure Nbre alternative <=1 Nbre alternative>1
M-C -0,08 0,16
1-C 0,06 -0,11
Texte -0,24 0,45
Tableau 28 : Taux de liaison entre les messages proposant des alternatives et leur structurepour le PEP 279 (1ère partie)
La liaison entre le nombre d’alternatives abordées dans un message et sa structure est
négligeable V2 de Cramer=0.012
103
Annexe 9 Lien entre le rôle et l’activité dans les commentaires
Activités dans lescommentaires Admin+ CP Admin- Dev+ Champion Dev-
Total
Proposition 10 2 0 5 5 4 26
Désaccord ou Eval- 32 10 0 8 5 3 58
Accord ou eval+ 27 10 2 10 13 4 66
Décision 7 6 0 0 1 0 14
Synthèse 5 2 0 1 3 0 11
Coordination 3 1 0 0 1 1 6
Clarification 14 5 0 5 1 3 28
Autres 5 1 0 0 3 0 9
Total 103 37 2 29 32 15 218
Tableau 29 : Distribution des activités dans les commentaires en fonction du rôlepour le PEP 279 (1ère partie)
Activités dans lescommentaires Admin+ CP Admin- Dev+ Champion Dev-Proposition -0,19 -0,55 -1,00 0,45 0,31 1,24Désaccord ou Eval- 0,17 0,02 -1,00 0,04 -0,41 -0,25Accord ou eval+ -0,13 -0,11 2,30 0,14 0,34 -0,12Décision 0,06 1,53 -1,00 -1,00 -0,51 -1,00Synthèse -0,04 0,07 -1,00 -0,32 0,86 -1,00Coordination 0,06 -0,02 -1,00 -1,00 0,14 1,42Clarification 0,06 0,05 -1,00 0,34 -0,76 0,56Autres 0,18 -0,35 -1,00 -1,00 1,27 -1,00
Tableau 30 : Taux de liaison entre les activités dans les commentaires en fonction du rôlepour le PEP 279 (1ère partie)
On trouve une relation négligeable entre les activités des commentaires et les rôles des
participants (V2 de Cramer=0.02). On notera tout de même que le CP est le seul à prendre des
décisions et que le Champion est celui qui contribue le plus à l’activité de synthèse.
Sur la base de ce résultat nous n’avons pas calculé le taux de liaison entre le rôle et les
activités dans les commentaires pour la discussion PEP 285.
104
Résumé
Notre travail de recherche porte sur l’étude de discussions en ligne entre des concepteurs
experts d’un projet de logiciels libres particulier : Python. Cette forme de conception a pour
caractéristique d’être réalisée à distance et de manière asynchrone : une grande partie de la
conception a lieu en ligne via l’échange de messages électroniques entre concepteurs. C’est
sur ces discussions en ligne que nous centrons ce travail qui a deux objectifs : d’une part de
comprendre et de modéliser la dynamique du processus de conception de logiciels libres ;
d’autre part de proposer des recommandations pour le développement d’outils de mémoires
de projets de conception de logiciels libres, basés sur la représentation des discussions.
Nous avons développé une méthodologie d’analyse basée sur l’étude des citations
électroniques, pratique généralisée qui permet de maintenir le contexte dans les discussions en
ligne. Alors que l’approche dominante actuellement pour représenter les discussions en ligne
est basée sur les liens de type « réponse à » (fils de discussion), nous avons montré qu‘une
approche alternative, basée sur les citations électroniques, est particulièrement prometteuse
pour représenter les regroupements des thèmes ou problèmes de conception discutés
(cohérence thématique), et peut ainsi servir de base à des outils permettant de retracer la
logique de conception. Nous avons également montré que les discussions de conception en
ligne, à la différence des forums « ouverts », sont focalisées autour de thèmes de conception
spécifiques et qu’elles sont encadrées par certains membres du projet, notamment le chef de
projet. Par ailleurs, l’analyse des citations nous a permis de mettre en évidence que : l’activité
d’évaluation est plus prégnante en conception distante et asynchrone qu’en co-présence ; et
que, si l’activité de clarification est présente dans ces discussions, elle semble encadrée par le
chef de projet. Enfin, nous avons mis en évidence des messages « clé » dans les discussions
en ligne - selon leur position dans le graphe de citation et leur structure- qui pourraient servir
de base à la constitution d’outils de mémoires de projets.
Mots-clés : conception distante et asynchrone, logiciels libres, FLOSS, citations
électroniques, Python
105
Abstract
This paper presents an analysis of online discussions in an Open Source Software design
(OSSD) project: Python. OSSD is as a case of distant and asynchronous design involving a
large number of developers and a large part of the design occurs in mailing-list exchanges.
The objective of our work is twofold : first we want to understand and model the dynamics of
OSS design that take place in mailing list exchanges; second we aim to provide specifications
for OSS design-rationale tools.
Our methodology is based on quoting analysis as a mechanism used to maintain the discursive
context in online discussions. We show that a quotation-based representation of online
discussions maintains a better design thematic coherence than a thread-based representation
and that this approach is promising for developing OSS design-rationale tools.
Our analysis reveals also that OSS online discussions are focused and framed by specific
members of the project, especially the project leader. We outlined that: evaluation activity is
much more important in this case of distant and asynchronous design than is traditional face-
to-face design; and clarification activity is still present but seems to be framed by the project
leader. Finally, we show that we can select messages which are more informative on the
design activity (in terms of the design alternatives they cover), on the basis of their position in
the quotation graph and of their structure, and which could become the basis of OSS design-
rationale tools.
Keywords : distant and asynchronous design, Open Source Software, quoting, Python.