Artefact and community design: dynamic of an open and continuous design process in an Open Source Software Community
Conception de l'artefact, conception du collectif: dynamique d'un processus de conception ouvert et continu dans une communauté de développement de logiciels libres
Résumé
This research deals with Open Source Software (OSS) Design, seen as a new form of work organization based on : a design process open to users voluntary participation; a continuous design process; an distribution of the design process into three activity spaces over the Internet (discussion, documentation et implementation spaces).
The methodological contribution of this research deals with contextual analyses of a Python language formal design process: Python Enhancement Proposal (PEP). PEP processes are analyzed according a synchronic dimension (PEP-discussion focused) and a diachronic dimension (PEP evolution in the three interaction spaces) These analyses combined to interviews with project actors leads us to select contextual design data in the three activity spaces. We adopt an original methodology coupling structural analyses of usage and design oriented mailing-lists (e.g. visualization of discussions) with content analyses (e.g. collaborative design activities), and finally analyzing modifications in the documentation and implementation spaces.
Regarding the artefact design organization, we outline the specialization of the usage et design oriented mailing-lists, in terms of steps of the design process and activities. We make clear links between actions in the mailing-lists (discussion space) and actions in the two other spaces. Online design discussions are focused and marked by quasi-synchronic interactions, highlighting implicit rules framing discussions. After all, collaborative activities distribution and pattern are similar to the ones revealed in other studies dealing with face-to-face design meeting.
Regarding the design community organization, we show that the Python design community is constituted by local design networks combining users from various application domains around a core group of developers. In this community, participation is based on effective roles performed by participants more than their statuses (users vs. developers). Cognitive roles (generation-evaluation, clarification) and epistemic roles (knowledge sharing) are performed by all participants, users included. However, specific profiles (roles combination) occur to appear. Project leader and champion (the one who propose the new functionality with a PEP) have an animator profile characterized by a coordination role, a central interactive role (interaction management) in discussions, and sometimes a socio-relational role (interpersonal relations). Boundary spanners profiles, mediating usage and design, appear to be key participants for the design process performance. Their interactive role is based on cross-participation between design and usage mailing-lists, and a central position in discussions. Their epistemic role is based on knowledge sharing about design application domains. They also support the champion in defending his proposition.
These results may found specification of tools enhancing participation to OSS projects, going beyond various barriers (e.g. temporal cost to take part in a project) and supporting construction and preservation of project awareness (design process and social awareness).
The methodological contribution of this research deals with contextual analyses of a Python language formal design process: Python Enhancement Proposal (PEP). PEP processes are analyzed according a synchronic dimension (PEP-discussion focused) and a diachronic dimension (PEP evolution in the three interaction spaces) These analyses combined to interviews with project actors leads us to select contextual design data in the three activity spaces. We adopt an original methodology coupling structural analyses of usage and design oriented mailing-lists (e.g. visualization of discussions) with content analyses (e.g. collaborative design activities), and finally analyzing modifications in the documentation and implementation spaces.
Regarding the artefact design organization, we outline the specialization of the usage et design oriented mailing-lists, in terms of steps of the design process and activities. We make clear links between actions in the mailing-lists (discussion space) and actions in the two other spaces. Online design discussions are focused and marked by quasi-synchronic interactions, highlighting implicit rules framing discussions. After all, collaborative activities distribution and pattern are similar to the ones revealed in other studies dealing with face-to-face design meeting.
Regarding the design community organization, we show that the Python design community is constituted by local design networks combining users from various application domains around a core group of developers. In this community, participation is based on effective roles performed by participants more than their statuses (users vs. developers). Cognitive roles (generation-evaluation, clarification) and epistemic roles (knowledge sharing) are performed by all participants, users included. However, specific profiles (roles combination) occur to appear. Project leader and champion (the one who propose the new functionality with a PEP) have an animator profile characterized by a coordination role, a central interactive role (interaction management) in discussions, and sometimes a socio-relational role (interpersonal relations). Boundary spanners profiles, mediating usage and design, appear to be key participants for the design process performance. Their interactive role is based on cross-participation between design and usage mailing-lists, and a central position in discussions. Their epistemic role is based on knowledge sharing about design application domains. They also support the champion in defending his proposition.
These results may found specification of tools enhancing participation to OSS projects, going beyond various barriers (e.g. temporal cost to take part in a project) and supporting construction and preservation of project awareness (design process and social awareness).
Ce travail de recherche porte sur la conception de Logiciels libres et Open Source (LOS), vue comme une nouvelle forme d'organisation du travail basée sur : des collectifs communautaires ouverts à la participation volontaire d'utilisateurs ; un processus de conception continu ; une distribution de la conception dans trois espaces d'activité sur Internet (espaces de discussion, de documentation et d'implémentation).
L'apport méthodologique de ce travail consiste à analyser des traces contextuelles d'un processus de conception du projet Python, le Python Enhancement Proposal (PEP), et ceci dans des perspectives synchronique (centrée sur des discussions en ligne PEPs) et diachronique (centrée sur l'évolution d'une proposition PEP dans les trois espaces d'activité). Nous avons adopté une méthodologie originale combinant des analyses structurelles des listes de discussion du projet, l'une orientée usage et l'autre orientée conception (p.ex. représentation des discussions) à des analyses de contenu de ces listes (p.ex. activités collaboratives de conception), ainsi que des analyses des traces des espaces de documentation et d'implémentation et des entretiens.
Concernant l'organisation de la conception de l'artefact dans les trois espaces d'activité, nous montrons que la liste orientée usage et la liste orientée conception sont spécialisées, en termes de phases du processus de conception et d'activités qui y ont lieu. De même, nous montrons les relations qui lient les actions dans les listes (espace de discussion) avec les actions dans les deux autres espaces d'activités (implémentation, documentation). Les discussions de conception sont focalisées et marquées par des moments d'échange quasi-synchrones, traduisant la présence de règles implicites encadrant les discussions. Enfin, la répartition des activités collaboratives de conception et des séquences d'activités est similaire à celle mise en évidence dans d'autres études concernant les réunions de conception en face à face.
Concernant ce qui constitue le collectif de conception, nous montrons que la communauté des concepteurs de Python est constituée de réseaux de conception locaux associant des membres provenant de diverses communautés d'utilisateurs, autour d'un noyau dur de développeurs. Dans ce collectif de conception, la participation est basée sur les rôles effectivement tenus par les participants, plus que sur leurs statuts (utilisateurs vs. développeurs). Notre analyse montre que les rôles cognitifs (génération-évaluation de solutions de conception) et épistémiques (clarification) sont pris en charge par l'ensemble des participants, y compris les utilisateurs. Des profils de participants spécifiques apparaissent néanmoins. Le chef de projet et les personnes proposant les nouvelles fonctionnalités (les champions) ont un profil d'animateur du processus de conception, caractérisé par un rôle de coordination, par un rôle interactif (gestion de l'interaction) central dans les discussions, et parfois par un rôle socio-relationnel (relations interpersonnelles). Des profils d'acteurs d'interface, articulant usage et conception, apparaissent comme des participants clés pour la performance du processus de conception. Ils se caractérisent par un rôle interactif basé sur la participation croisée, entre les listes orientées usage et conception, et une position centrale dans les discussions. Ils ont également un rôle épistémique basé sur des apports de connaissances spécifiques quant aux domaines d'application de la conception, et enfin un rôle de soutien du champion de la proposition.
Ces résultats peuvent fonder la spécification d'outils permettant de favoriser la participation aux projets LOS, en dépassant diverses barrières (p.ex. coût temporel d'intégration dans un projet) et en soutenant la construction et le maintien de la conscience du projet (conscience du processus de conception et conscience sociale).
L'apport méthodologique de ce travail consiste à analyser des traces contextuelles d'un processus de conception du projet Python, le Python Enhancement Proposal (PEP), et ceci dans des perspectives synchronique (centrée sur des discussions en ligne PEPs) et diachronique (centrée sur l'évolution d'une proposition PEP dans les trois espaces d'activité). Nous avons adopté une méthodologie originale combinant des analyses structurelles des listes de discussion du projet, l'une orientée usage et l'autre orientée conception (p.ex. représentation des discussions) à des analyses de contenu de ces listes (p.ex. activités collaboratives de conception), ainsi que des analyses des traces des espaces de documentation et d'implémentation et des entretiens.
Concernant l'organisation de la conception de l'artefact dans les trois espaces d'activité, nous montrons que la liste orientée usage et la liste orientée conception sont spécialisées, en termes de phases du processus de conception et d'activités qui y ont lieu. De même, nous montrons les relations qui lient les actions dans les listes (espace de discussion) avec les actions dans les deux autres espaces d'activités (implémentation, documentation). Les discussions de conception sont focalisées et marquées par des moments d'échange quasi-synchrones, traduisant la présence de règles implicites encadrant les discussions. Enfin, la répartition des activités collaboratives de conception et des séquences d'activités est similaire à celle mise en évidence dans d'autres études concernant les réunions de conception en face à face.
Concernant ce qui constitue le collectif de conception, nous montrons que la communauté des concepteurs de Python est constituée de réseaux de conception locaux associant des membres provenant de diverses communautés d'utilisateurs, autour d'un noyau dur de développeurs. Dans ce collectif de conception, la participation est basée sur les rôles effectivement tenus par les participants, plus que sur leurs statuts (utilisateurs vs. développeurs). Notre analyse montre que les rôles cognitifs (génération-évaluation de solutions de conception) et épistémiques (clarification) sont pris en charge par l'ensemble des participants, y compris les utilisateurs. Des profils de participants spécifiques apparaissent néanmoins. Le chef de projet et les personnes proposant les nouvelles fonctionnalités (les champions) ont un profil d'animateur du processus de conception, caractérisé par un rôle de coordination, par un rôle interactif (gestion de l'interaction) central dans les discussions, et parfois par un rôle socio-relationnel (relations interpersonnelles). Des profils d'acteurs d'interface, articulant usage et conception, apparaissent comme des participants clés pour la performance du processus de conception. Ils se caractérisent par un rôle interactif basé sur la participation croisée, entre les listes orientées usage et conception, et une position centrale dans les discussions. Ils ont également un rôle épistémique basé sur des apports de connaissances spécifiques quant aux domaines d'application de la conception, et enfin un rôle de soutien du champion de la proposition.
Ces résultats peuvent fonder la spécification d'outils permettant de favoriser la participation aux projets LOS, en dépassant diverses barrières (p.ex. coût temporel d'intégration dans un projet) et en soutenant la construction et le maintien de la conscience du projet (conscience du processus de conception et conscience sociale).
Fichier principal
These-Barcellini.pdf (1.55 Mo)
Télécharger le fichier
these-Annexes-barcellini.pdf (661.6 Ko)
Télécharger le fichier
Format | Autre |
---|