La gestion des connaissances dans les projets open

Transcription

La gestion des connaissances dans les projets open
UNIVERSITÉ DE LAUSANNE
ÉCOLE DES HAUTES ÉTUDES COMMERCIALES
La gestion des connaissances dans les projets open source
Mémoire présenté par Antoine Christen
en vue de l'obtention du
Diplôme postgrade en informatique et organisation
Année académique 2002-2003
devant le jury composé de :
Prof. Estier Thibault, directeur du mémoire
Lathoud Bertrand, expert
Table des Matières
1. INTRODUCTION ..............................................................................................................................................................3
1.1 LES ENJEUX DU KNOWLEDGE M ANAGEMENT ............................................................................................................ 3
Les deux dimensions de la connaissance et du KM..................................................................................................3
Les enjeux et les difficultés du KM en entreprise......................................................................................................4
1.2 LE KM DANS LES PROJETS OP EN SOURCE ................................................................................................................... 4
Définition de l’ « open source »...................................................................................................................................4
L’open source et le KM..................................................................................................................................................5
Problématique.................................................................................................................................................................7
2. ETUDES DE CAS ...............................................................................................................................................................7
2.1 PRESENTATION DE DEUX PROJETS OPEN SOURCE : ZOPE ET CELESTIA .................................................................. 7
Zope (Z Object Publishing Environment)...................................................................................................................7
Celestia.............................................................................................................................................................................8
2.2 STRUCTURE ET ORGANISATION DES DEUX PROJET S .................................................................................................. 9
1) Origine des deux projets...........................................................................................................................................9
2) Enjeux économiques................................................................................................................................................10
3) Communautés...........................................................................................................................................................11
4) Structure hiérarchique............................................................................................................................................11
5) Développeurs............................................................................................................................................................12
6) Degré de modularité du logiciel............................................................................................................................13
6) Stade de développement..........................................................................................................................................13
Synthèse..........................................................................................................................................................................14
2.3 LA GESTION DES CONNAISSANCES DANS LE PROJET ZOPE...................................................................................... 15
Deux tentatives pour expliciter, formaliser et organiser les connaissances :....................................................15
Une capitalisation souple des connaissances grâce au wiki et au système de gestion de contenu ................18
Le Bug Collector : succès du formalisme .................................................................................................................21
L’échange informel sur le canal irc...........................................................................................................................22
L’échange des connaissances « stocké » dans les mailing-lists...........................................................................22
2.4 LA GESTION DES CONNAISSANCES DANS LE PROJET CELESTIA.............................................................................. 26
Les forums : centre de la communauté Celestia......................................................................................................26
Réalisation de la documentation et organisation des ressources.........................................................................28
Pour faciliter l’échange des connaissances et lutter contre le « bruit ».............................................................28
2.5 SYNTHESE DES RESULTAT S ET COMMENTAIRES....................................................................................................... 29
3 CONCLUSION : ................................................................................................................................................................31
Les succès du KM en open source peut-il être étendu à d’autres domaines ?...................................................31
La théorie du KM permet-elle de comprendre ce succès ?....................................................................................32
BIBLIOGRAPHIE................................................................................................................................................................33
Livres et articles............................................................................................................................................................33
Sites internet mentionnés.............................................................................................................................................35
ANNEXES : ............................................................................................................................................................................37
Bref historique de l’open source................................................................................................................................37
L’open-source aujourd’hui.........................................................................................................................................38
8 questions à Chris Laurel, initiateur et "dictateur bénévole pour la vie" du projet Celestia........................40
Etude quantitative de trois listes de distribution de Zope (mois de juillet)........................................................42
Définitions des outils collaboratifs cités dans ce mémoire....................................................................................42
2
1. Introduction
Le sujet de notre étude est la gestion des connaissances dans les projets open source. Nous
donnerons d’abord une définition de la « gestion des connaissance » ou « Knowledge
Management » (KM) pour délimiter et structurer le domaine de notre étude. Après avoir
brièvement mis en évidence les enjeux du KM en entreprise, nous définirons les “projets open
source”. Nous verrons en quoi la gestion des connaissances peut poser problème a priori dans
l’open source, et l’intérêt d’une étude de cas dans ce contexte.
1.1 Les enjeux du Knowledge Management
Les deux dimensions de la connaissance et du KM
Qu’est-ce que le “Knowledge Management” ? Donner une définition de ces termes implique
déjà un certain choix sur la manière de considérer la connaissance et de la gérer 1 . On distingue
généralement deux catégories de connaissances, la connaissance « explicite » et la
connaissance « tacite ». Selon I.Nonaka (2000) :
« Explicit knowledge can be expressed in formal and systematic language and shared in the
form of data, scientific formulae, specifications, manuals and such like […] In contrast, tacit
knowledge is highly personal and hard to formalise. […] Tacit knowledge is deeply rooted in
action, procedures, routines, commitment, ideals, values and emotions. »
Ces deux types de connaissances se retrouvent dans les deux dimensions du KM souvent
relevées par la littérature 2 . Nous distinguerons:
- la capitalisation de connaissances explicites : cette approche implique des efforts pour
isoler et expliciter au maximum les connaissances selon un certain formalisme préétabli, ainsi que leur classement et leur stockage, souvent dans des bases de données.
Le but est de transformer ces connaissances en documents facilement accessibles et
directement utilisables par les collaborateurs.
- l’échange des connaissances tacites dans des interactions interpersonnelles : dans cette
optique, on ne cherche pas à « extraire » des connaissances en les séparant des
personnes qui les possèdent, mais on favorise au contraire les interactions entre les
collaborateurs de l’entreprise, afin que l’échange de connaissances puisse se faire
directement de personne à personne.
On voit que ces deux dimensions sont complémentaires, et que leur réussite dépendra en
grande partie du type de connaissance dont il s’agit. Une connaissance qui peut être explicitée
sous forme de formules, de manuels, etc. pourra être facilement capitalisée et gérée selon la
première approche. Par contre, une connaissance tacite difficile à expliciter, indissociable
d’une manière de faire, sera mieux communiquée dans l’interaction avec autrui. Cette
distinction est utile pour mettre en évidence les difficultés de nature différente auxquelles le
KM est souvent confronté et pour situer le KM dans les projets open source.
1
En d’autres termes, “How you define Knowledge determines how you manage it” (in “12 Principles of
Knowledge Management”, Verna Allee, 2001).
http://www.kmadvantage.com/docs/km_articles/12_Principles_of_Knowledge_Management.pdf.
2 Voir par exemple P.Bouvard (2002) qui parle de « deux versants » distincts, ou Morten T. et al. (1999) qui
présente ces deux dimensions sous forme de stratégies complémentaires du KM. Nous nous inspirons de ces
deux auteurs pour présenter ce qui suit.
3
Les enjeux et les difficultés du KM en entreprise
L’importance du KM est aujourd’hui largement reconnue. On peut citer par exemple les
résultats d’une étude conduite en l’an 2000 par KPMG auprès de 423 entreprises en Europe et
aux Etats-Unis 3 :
- « KM is an accepted part of the business agenda » : en effet, 80% des entreprises
interrogées possèdent ou envisagent un programme de KM
- « The benefits of KM are being realised » : la plupart des entreprises interrogées
pensent ainsi que le KM va jouer désormais un rôle significatif, notamment pour
obtenir un avantage concurrentiel (79%) et comme moteur de l’innovation (64%).
Toutefois, les résultats de l’étude montrent également que le KM n’a pas encore atteint ses
objectifs :
- « There are even greater benefits to be gained »
- « Organisations are failing to tackle KM’s real challenges »
Les auteurs font souvent débuter l’histoire du KM avec l’émergence des nouvelles
technologies de l’information, celles-ci permettant d’une part de codifier, filtrer, classer et
stocker les connaissances explicites, et d’autre part de faciliter les échanges directs entre les
collaborateurs indépendamment de leur lieu de travail. Mais cette courte histoire a déjà
rencontré plusieurs « générations » de KM : chacune ayant montré ses limites, on a tenté de
les dépasser par une nouvelle solution. Parmi les difficultés auxquelles le KM se trouve
confronté dans les entreprises, on peut citer par exemple :
- le manque de temps et de motivation pour partager ses connaissances
- le fait que le partage ne soit pas intégré à l’activité professionnelle
- la difficulté d’isoler les connaissances stratégiques parmi la quantité d’informations
disponibles
- la difficulté à repérer et expliciter les connaissances implicites
En d’autres termes, la technologie, bien que support indispensable à un programme de KM,
n’est pas le seul aspect à considérer. Il faut tenir compte de difficultés liées au facteur humain
et à la nature de la connaissance qui sont souvent à l’origine de l’échec du KM en entreprise.
Les auteurs soulignent ainsi le coût du KM, l’importance de certaines procédures, du rôle de
« directeur de connaissance », etc 4 . Qu’en est- il dans les projets open source ?
1.2 Le KM dans les projets open source
Définition de l’ « open source » 5
L’« open source » se base sur une idée simple : contrairement aux logiciels propriétaires, dont
le code est compilé en langage machine (qui ne peut donc plus être lu par l’utilisateur), il
3
Parlby D. (2000).
Par exemple : “KM is expensive. KM requires knowledge managers. Sharing and using K are often unnatural
acts. KM requires a knowledge contract” (4 principes parmi les « Ten Principles of Knowledge Management »,
Thomas H.Davenport, PhD, tiré de site web: www.mccombs.utexas.edu/kman/kmprin.htm )
5
Pour une introduction plus complète au phénomène open source, on se rapportera aux annexes : « Brève
histoire de l’open source » et « L’open source aujourd’hui ».
4
4
s’agit de fournir le code source du logiciel développé et d'autoriser sa modification. La licence
de type open source est bien une licence au sens propre : les produits open source ne sont
donc pas dans le domaine public et leur distribution doit se faire selon certaines règles. Sans
entrer dans les détails, notons que la définition officielle de l’open source 6 pose
principalement des garanties pour que l’ouverture du code et sa diffusion ne soient pas
contournées. Par exemple, les extraits suivants garantissent l'accès au code source 7 :
- "il doit être clairement indiqué par quel moyen il est possible d'obtenir le code source,
pour une somme qui ne doit pas excéder un coût raisonnable de reproduction"
- "un code source délibérément confus est interdit. Les formes intermédiaires de code
source, telles que celles résultant d'un pré-processeur ou d'un traducteur, sont
interdites."
Et pour garantir la diffusion maximale du code, la définition contient par exemple:
- "la licence ne doit pas être discriminative à l'encontre de personnes ou de groupes de
personnes"
- "la licence ne doit pas restreindre ni interdire l'usage du logiciel à un quelconque
domaine d'activité".
Ce principe d’ouverture a pour conséquence immédiate et recherchée la possibilité de
communiquer et de coopérer dans l’élaboration et le perfectionnement du code source. Dans
les faits, cette possibilité s’est concrétisée sous la forme de projets basés sur des plateformes
internet, regroupant autour du développement d’un logiciel ouvert une équipe de
développeurs et une communauté d’utilisateurs contribuant de près ou de loin à l’amélioration
du logiciel.
L’open source et le KM
Par le fait qu’ils reposent par essence sur la collaboration entre de nombreux participants, les
projets open source constituent un domaine privilégié pour étudier l’échange et la mise en
commun des connaissances. Mais il y a plus : le principe d’ouverture du code se retrouve au
niveau de la gestion de projet en général :
- toutes les communications à l’intérieur d’un projet open source ont lieu dans des
espaces publics. En d’autres termes, à partir d’une simple connexion internet, toute
personne peut accéder librement à l’ensemble des communications internes du projet,
présentées sous la forme de mails, messages dans des forums, pages internet
dynamiques (wiki,blogs), canaux de discussion (irc), etc 8 . (Cet accès facilite
évidemment l’étude du KM.)
- la participation à un projet est entièrement ouverte : toute personne peut rejoindre la
communauté, même sous couvert de l’anonymat, et n’importe quel participant peut
quitter un projet en cours 9 .
En ce qui concerne la gestion des connaissances selon ses deux dimensions, nous faisons
l’hypothèse que ce principe d’ouverture déployé à l’extrême pose a priori les difficultés
suivantes:
6
Cette définition donne les critères qu’une licence devrait respecter pour être qualifiée d’open source.
On trouvera la définition complète à l'adresse suivante: http://www.opensource.org/docs/definition.php Les
citations sont tirées de la version française disponible sur http://www.boson2x.org/article.php3?id_article=39
8
L’ensemble des outils collaboratifs cités dans ce travail sont définis dans les annexes.
9
A l’exception des projets auxquels participent des entreprises puisqu’une partie au moins des développeurs sont
sous contrat.
7
5
Dimension « Capitalisation des connaissances explicites »
Les participants aux projets open source :
- sont principalement motivés par la réalisation de fonctionnalités qui leur sont
directement utiles 10 , non par la réalisation de documentation qui est d’ailleurs souvent
présenté avec humour comme une « punition » dans le monde des hackers.
- ont un profil social, professionnel, linguistique et culturel variable, ce qui ne facilite
pas l’acceptation d’un formalisme commun.
- peuvent quitter un projet n’importe quand (il n’est pas nécessaire d’expliciter ses
connaissances ni de les transmettre à un éventuel successeur avant de partir).
L’effort pour expliciter ses connaissances, les organiser et les mettre à disposition selon un
formalisme préétabli a donc peu de chance d’être fourni. Les connaissances seront
probablement à découvrir sous forme de communications dispersées dans les forums, mailinglists ou autres outils utilisés. Or, l’afflux de participants aux profils divers risque de générer
beaucoup de « bruit » et d’empêcher l’accès à ces connaissances mal explicitées et
dispersées.
Dimension « Echange des connaissances tacites »
Les connaissances tacites peuvent-elles être échangées exclusivement par des moyens
informatiques ? Cette question est souvent posée par les auteurs dans la littérature sur le KM :
il existe en effet un apparent conflit entre le développement des outils informatiques pour
l’échange de connaissance, et l’observation que cet échange est en réalité profondément
dépendant d’une situation de « face-à-face »11 , principalement lorsque ces connaissances ne
peuvent pas être formalisées. L’échange des connaissances tacites et l’élaboration de
nouvelles connaissances semble en effet nécessiter bien plus qu’un simple échange
asynchrone de phrases écrites. Le face-à-face rend possible une communication riche où des
intonations, des gestes, des attitudes et le contexte commun contribuent à donner sens aux
mots échangés, et où la dynamique de la discussion (séquences, interruptions, etc.) joue un
rôle important dans la compréhension réciproque. Ainsi, selon Nonaka et al.(2000) : « Since
tacite knowledge is difficult to formalise and often time- and space- specific, tacit knowledge
can be acquired only through shared experience, such as spending time together or living in
the same environment. ». Citant Nonaka, P.Bouvard en conclut (2002, p.99) « Croire ainsi
que la technologie, quels qu’en soient le degré de sophistication et la puissance, peut
constituer le seul support du Knowledge Management est, selon nous, une utopie » (nous
soulignons).
La technologie est pourtant bel et bien le seul support des projets open source, qui n’existent
que « par » et « dans » les outils collaboratifs sur Internet (cvs, forum, mailing lists, etc.). La
dispersion géographique des participants rend d’ailleurs très souvent des réunions « en
personne » irréalisables. Comment la connaissance tacite peut-elle être échangée entre deux
personnes de culture différente, de langue maternelle différente, de profil socioprofessionnel
différent dans des canaux de communications différés et relativement étroits ? Il faut préciser
encore ici que l’anonymat est largement répandu dans les communautés open source
10
Voir par exemple la première leçon tirée du développement open source par E.S.Raymond (1998): “Every
good work of software starts by scratching a developer's personal itch.”
11
Cette obervation est à l’origine d’un projet de recherche de trois ans financée par le "US National Science
Foundation" dont le titre principal est : « Can Knowledge be Distributed ?»
(http://alexia.lis.uiuc.edu/~haythorn/DK_overview.html).
6
(volontaire ou de fait à cause du nombre de participants). Si l’on ne sait pas à qui l’on
s’adresse, comment éviter les malentendus ? Par exemple, comment répondre à la question de
quelqu’un dont on ne connaît pas le niveau de compétence ? Et dans ces conditions, comment
faire confiance à autrui ?
Problématique
Résumons les résultats obtenus jusqu’ici afin de formuler notre problématique :
-
le Knowledge Management est reconnu comme essentiel par la majorité des
entreprises. Comme moteur de l’innovation, il est également très important pour les
projets open source.
Pourtant :
- la technologie ne suffit pas à faire du KM : il faut tenir compte de facteurs
organisationnels et humains. Dans ce but, les auteurs recommandent la mise en place
de procédures qui garantissent la réussite du programme de KM. L’open source n’a
dans la majorité des cas pas de financement externe et l’afflux de participants aux
profils divers n’est a priori pas compatible avec la mise en place de procédures
strictes.
- certaines connaissances peuvent difficilement se transmettre à l’aide des nouvelles
technologies. L’open source repose exclusivement sur celles-ci.
Comment la gestion des connaissances, essentielle dans le développement en commun d’un
logiciel, peut-elle être menée à bien lorsqu’elle présente a priori de telles difficultés ? Quelles
conditions facilitent la capitalisation et l’échange des connaissances ? Quels outils sont mis à
profit ? Quels mécanismes formels et informels sont mis en œuvre ?
Pour tenter de répondre à ces questions, nous avons choisi d’étudier deux cas concrets de
projets open source de nature différente, mais qui partagent les caractéristiques principales
citées dans cette introduction :
- ce sont des projets open source au sens technique: dans les deux cas la licence du
logiciel est certifiée open source par l’Open source Initiative (OSI)
- chacun des deux logiciels a suscité l’intérêt d’une communauté d’utilisateurs réunie
autour de son développement
2. Etudes de cas
2.1 Présentation de deux projets open source : Zope et Celestia
Les deux projets choisis sont « Zope » (www.zope.org) et « Celestia »
(www.shatters.net/celestia). Commençons par présenter brièvement les logiciels développés et
le succès qu’ils rencontrent.
Zope (Z Object Publishing Environment)
7
Zope est un serveur d’applications permettant la réalisation de systèmes de gestion de contenu
ou CMS (Content Management System), de portails intranet et d’applications accessibles via
un navigateur internet. Zope ne s’adresse donc pas directement aux «end- users », mais se
présente plutôt comme un terrain sur lequel les applications vont être développées. Selon un
interview de Paul Everitt (co- fondateur de Zope Corporation) : «Zope is for developers who
create useful things for other audiences. »12
Le nombre de serveurs Zope visibles sur internet est un indice de son succès - ce nombre a
doublé au cours des 12 derniers mois :
Nombre de serveurs Zope*
23'164
25000
20000
15000
10000
5000
oc
t.0
3
jui
n.0
3
ao
ût.
03
av
r.0
3
fév
r.0
3
dé
c.0
2
oc
t.0
2
0
*selon http://www.netcraft.com/S urvey/Reports/
Notons enfin que dans son rôle de systèmes de gestion de contenu (CMS), Zope est présenté
comme le projet open source le plus mature (par rapport aux autres CMS) par le Gartner
Group (N. Drakos, 2002).
Celestia
Celestia est un simulateur spatial en trois dimensions qui permet de « naviguer » dans l’espace
et d’observer des phénomènes à différentes échelles depuis la position d’une ville sur terre
jusqu’à l’ensemble de notre galaxie. Les qualités graphiques exceptionnelles et des données
détaillées sur les corps célestes permettent au logiciel de s’adapter au niveau et à l’intérêt de
l’utilisateur. L’utilisation de scripts permet également de diriger automatiquement l’utilisateur
vers un phénomène particulier et d’afficher les commentaires adéquats. Celestia se prête donc
bien à un usage éducatif, ce que confirme l’intérêt de la Nasa pour Celestia dans le cadre de
son « Learning Technologies Project » : un mandat ponctuel a été récemment confié à
plusieurs membres du projet pour la réalisation de « leçons » fonctionnant avec Celestia et on
note l’existence d’un site de présentation du système solaire qui implique l’installation de
Celestia en local13 .
12
Interview réalisé par Daniel Chudnov (2001) (voir Bibliographie/références internet).
13 Une fois le logiciel installé, il suffit de cliquer sur les photos du site internet pour retrouver, dans Celestia, la
même vue. (http://learn.arc.nasa.gov/planets/)
8
Le guide de l’utilisateur souligne également le succès du logiciel : celui-ci aurait été
téléchargé plus d’un million de fois. On constate enfin que les commentaires des internautes
sur les sites de téléchargements gratuits, forums, weblogs privés, sites de news (p.ex.
Slashdot) sont souvent élogieux.
2.2 Structure et organisation des deux projets
Avant de nous intéresser aux principes et outils mis en œuvre pour gérer la connaissance dans
les deux projets, il est utile de présenter les principales caractéristiques de leur organisation.
C’est aussi l’occasion de mesurer le cas échéant les différences entre les deux projets et leurs
éventuelles originalités par rapport aux projets open source en général.
1) Origine des deux projets
Celestia :
Initiative d’un développeur de Seattle nommé Chris J. Laurel, le logiciel est proposé sur
internet dans sa version 1.0 en 2001. Le projet rallie rapidement des participants enthousiastes
et il est placé sous licence open source. La plateforme SourceForge 14 est mise à profit.
Comme l’explique C.J.Laurel lui- même 15 : “I did indeed start Celestia myself. I found out
about SourceForge within a month of the first public announcement of Celestia. I
immediately started a SourceForge project for Celestia and checked in all the source code to
the SourceForge CVS servers. Once that was done, allowing other developers to help out was
simply a matter of adding their SourceForge accounts to the developers' list.”
Pour comprendre la manière dont ce projet a pu accueillir de nouveaux développeurs, il est
utile d’expliquer ici brièvement le système « CVS » ou Concurrent Versions System utilisé
par Celestia et par la plupart des logiciels open source. Ce système permet de coordonner le
développement de plusieurs développeurs grâce au fonctionnement suivant : un lieu de
stockage central du code (appelé « repository ») contient sous forme d’arborescence
l’ensemble des fichiers sources du logiciel. En utilisant un logiciel de type CVS, un
développeur peut télécharger l’ensemble de ces fichiers sur son disque local. Le logiciel est
utilisé ensuite pour comparer régulièrement la version locale et la version centrale du code
source pour ne télécharger que les fichiers modifiés. Cet accès en lecture seule se combine
avec un accès en écriture, pour lesquels certains droits sont requis : une fois que le
développeur a modifié un fichier en local, il peut mettre sa modification à jour sur le
repository central (processus appelé « commit »). Un message associé, qui explique les
raisons de la modification, sera visible dans l’historique du code source central et l’ancienne
version du fichier modifié sera archivée.
Le chemin suivi par Celestia est celui que parcourent la plupart des projets open source qui
rencontrent un certain succès: un logiciel est développé en solitaire jusqu’à ce qu’il possède
certaines fonctionnalité de base, puis il est mis à disposition sur internet avec une licence open
source, et les développeurs intéressés commencent à rejoindre le projet grâce au système
14
SourceForge fournit gratuitement une plateforme pour les projets open source, avec des outils (cvs, mailinglist, forum, bug tracker, etc.). Le responsable d’un projet peut choisir parmi les outils mis à disposition ceux qu’il
veut utiliser.
15
Voir annexes: Questions à C.J.Laurel
9
CVS. L’organisation du projet s’adapte ensuite au succès rencontré. Comme nous allons le
voir, le cas du projet Zope est assez différent.
Zope 16 :
En 1998, Digital Creations (DC) réoriente son core-business : jusqu’ici, il s’agissait de vendre
des logiciels – désormais, DC donne à ses produits (regroupés sous le nom de Zope) une
licence open source et s’affirme comme société de consulting. La stratégie est la suivante : il
s’agit de susciter l’intérêt de la communauté open source – non seulement pour améliorer le
logiciel grâce à l’apport de nombreux développeurs, débuggeurs, etc. mais aussi dans le but de
faire de Zope un standard de fait dans le domaine des serveurs d’applications. DC pourra ainsi
se présenter comme le spécialiste de la plateforme et proposer aux futurs clients des solutions
basées sur ce standard.
Aujourd’hui on peut considérer que le pari de Digital Creations – rebaptisé en « Zope
Corporation » (ZC)17 - est réussi. Cette entreprise a pu acquérir de nombreux clients (p.ex. :
l’ « OTAN », la « Navy », la « Bank of America », etc.) et continue à contribuer au
développement de Zope.
2) Enjeux économiques
Comme on le constate avec l’exemple de Zope, l’open source n’est pas (seulement) un
phénomène gouverné par des idéalistes pour lesquels tout doit être « gratuit », mais c’est aussi
une opportunité que de nombreuses entreprises ont déjà tenté de saisir avec plus ou moins de
succès.
Selon la page d’accueil de la communauté Zope.org, des centaines d’entreprises contribuent
au développement de Zope. Ce sont principalement des sociétés de service qui se basent sur
Zope pour du conseil ou le développement de solutions. Au-delà des contributions au
développement de la plateforme, ces entreprises tentent de promouvoir Zope, par exemple en
Europe à travers la « Zope Europe Association » (soutenue financièrement par ZC et plusieurs
entreprises européennes).
Quelles sont les influences de la participation des entreprises à un projet open source ?
Mockus et al. (2001), qui ont étudié le projet Mozilla (créé à la suite de l’ouverture du code de
Netscape) font l’hypothèse suivante: le fait que certains développeurs soient sous contrat
pourrait expliquer l’existence d’un mode plus formel et industriel de développement, par
rapport à un projet open source classique. On peut aussi penser que l’apport financier rend
possible une organisation plus élaborée du projet – notamment pour gérer au mieux l’afflux
des nouveaux participants.
Les enjeux économiques liés au projet Celestia sont au contraire pratiquement inexistants.
Excepté le mandat ponctuel déjà cité, le forum met surtout en évidence le bénévolat des
participants (« we are all in for the fun of it, right ? »). Le projet n’a donc apparemment aucun
soutien financier régulier - ce qui conduit à certaines difficultés discutées de manière
récurrente dans les forums :
16
17
Sources: Interviews conduits par S.Litt (1999) et D.Chudnov (2001) (voir Bibliographie - références internet)
http://www.zope.com/News/PressReleases/DC2ZC
10
-
le serveur principal du projet est hébergé chez le développeur principal et sa connexion
internet est parfois saturée (ce qui rend la navigation dans les forums très lente).
la distribution du logiciel pose problème (limite de bande passante et d’espace de stockage
en ligne, coût pour réaliser un cdrom, etc.)
3) Communautés
Zope :
Selon le site Zope.org, des milliers de développeurs travaillent avec la plateforme Zope, soit
pour développer la plateforme de base (le serveur d’application) soit pour créer des
applications fonctionnant sur cette plateforme. Ces dernières pouvant être des projets open
source (p.ex. le système de gestion de contenu CMF-Plone) ou non (p.ex. Zope4Edu – un CMS
pour les universités ). Comme nous le verrons dans notre étude, le canal de communication le
plus utilisé par la communauté Zope est la mailing- list : des milliers de personnes sont
inscrites aux listes principales et, sur une période d’un mois, des centaines de participants
envoient effectivement un ou plusieurs messages.
La communauté Zope est donc immense, surtout si l’on considère qu’autour du site principal
Zope.org se sont développés d’autres regroupements autour d’intérêts plus spécifique 18 ou de
communauté linguistique différente.
Celestia :
Selon le « guide de l’utilisateur »19 , la communauté regroupe notamment « des artistes
graphiques, des développeurs programmeurs, des astronomes, des astrophysiciens, des
animateurs, des ingénieurs, des professeurs, des élèves […]. ». On peut évaluer la taille de
cette communauté d’après le nombre de personnes actives dans les forums, pour l’instant
unique canal de communication de la communauté (à l’exception d’une mailing- list utilisée
par les quelques développeurs). Sur environ 1000 personnes inscrites 20 , la moitié a
effectivement écrit un message au moins dans un des forums en ligne depuis janvier 2002. 21
Celestia est une communauté nettement plus petite que celle de Zope: si on note également la
présence de sites satellites consacrés à Celestia, ceux-ci ne sont souvent que des sites de
téléchargements.
4) Structure hiérarchique
Il semble que l’initiateur du projet Celestia, C.J.Laurel, puisse être qualifié de « dictateur
bénévole pour la vie ». Cette notion qualifie en open source les leaders reconnus de certains
projets. Par exemple, Linus Torvalds pour le noyau Linux ou Guido van Rossum pour le
langage Python22 . Du « dictateur », C.J.Laurel possède le pouvoir : il est responsable de la
18
p.ex. pour une application particulière, comme le montre l’exemple de l’importante communauté Plone
www.plone.org
19
Rédigé en anglais et traduit en français, celui-ci est disponible sur le site du projet.
20 Bien qu’il ne soit pas possible d’évaluer leur nombre, il faut aussi noter la présence de contributeurs
anonymes – il n’est pas nécessaire d’être inscrit pour poster un message.
21 Date de la migration des forums sur la plateforme actuelle (les anciens forums ne sont plus accessibles).
22 Traduction de « Benevolent Dictator for Life ». Voir par exemple:
http://www.wikipedia.org/wiki/Benevolent_Dictator_for_Life
11
mise sur pied des release officielle 23 , la licence du logiciel est à son nom et il héberge le
serveur principal du projet. Ce pouvoir est en fait relatif, puisque la licence open source du
logiciel autorise n’importe quel internaute à démarrer son propre projet en partant de la
dernière version du logiciel24 . Toutefois, le statut de Chris Laurel est bien reconnu par la
communauté et son avis est rarement discuté dans les forums et sur la liste consacrée au
développement. Il faut dire que Chris Laurel apparaît effectivement comme un dictateur
« bénévole », d’abord au sens propre mais aussi d’une manière plus large : il est dévoué à la
réussite du projet :
- il semble être le développeur le plus productif
- il contribue beaucoup aux forums (en terme de réponses aux questions posées).
- il demande l’avis des autres développeurs voire de la communauté (par exemple, le choix
d’un nouveau langage pour les scripts à été soumis à un vote sur le forum) et prend
souvent en compte les suggestions des membres de la communauté (mêmes s’ils ne sont
que périphériques).
La structure hiérarchique est donc rudimentaire dans le projet Celestia. Comme Chris Laurel
l’explique, la coordination repose sur les simples règles de la politesse 25 . L’accès à la CVS en
écriture et les droits d’administrateur dans les forums font une distinction de fait entre les
développeurs principaux et les participants périphériques.
Zope
Le développement de Zope ne dépend pas seulement des souhaits des membres actifs de la
communauté, mais aussi des demandes des clients de ZC – et celles-ci ne vont pas forcément
dans le même sens. Comme l’expliquait Paul Everitt en mars 2001: “[..]there are times where
the choice has to be made, and this almost always means the consulting customer wins”.
Aujourd’hui, l’accès en écriture au code via le CVS n’est toutefois plus l’apanage de Zope
Corporation : il a été ouvert à certains membres de la communauté dès l’automne 200126.
Malgré cette évolution, il semble que ZC dirige encore en grande partie la direction générale
prise par le projet.
5) Développeurs
Qui sont les développeurs principaux de Celestia ? D’après le guide de l’utilisateur et la page
du projet sur SourceForge, on peut citer Chris Laurel, Christophe Teyssier, Clint Weisbrod,
Bob Ippolito et Fridger Schrempp. Notons que la dispersion géographique des développeurs,
propre aux projets open source, est bien représentée ici : les lieux de domicile cités sont New
York, Seattle, Lyon et Hambourg (les autres ne sont pas précisés). En ce qui concerne la
programmation du logiciel, Mockus et al. (2001) font l’hypothèse que la gestion des
interdépendances a un degré de complexité tel qu’elle nécessite une petite équipe (moins de
15 personnes), surtout si les mécanismes de coordination à l’œuvre dans le projet sont
23 Comme le montre l’extrait suivant : « A new version is long overdue, but I'm not yet prepared to commit to a
date when it will be ready.” http://www.shatters.net/forum/viewtopic.php?t=3151
24
Ce phénomène qui apparaît parfois dans l’open source à la suite d’une divergence d’intérêt entre développeurs
et qui voit ainsi deux projets co-exister s’appelle le « forking ». Celestia représente plutôt le cas inverse : un
autre projet, Open Universe, a été abandonné par ses développeurs pour rejoindre le projet Celestia. Voir à ce
sujet la page d’accueil de http://www.openuniverse.org/
25
voir Questions à Chris Laurel (annexes)
26
Selon le site internet Zope.org: “In autumn 2001, Zope Corporation (ZC) begins the major step of opening the
Zope CVS repository to external contributions by trusted community members”
http://dev.zope.org/CVS/ContributorIntroduction
12
informels. Celestia ne dément pas cette hypothèse : une petite équipe de développeur se
coordonne principalement grâce à des communications informelles. Quant au projet Zope, où
le nombre total de développeurs est beaucoup plus nombreux, on constate effectivement que
le développement s’organise autour de modules, ce qui permet de répartir les développeurs en
petites équipes. Ceci est rendu possible par la modularité du logiciel.
6) Degré de modularité du logiciel
Qu’est-ce que la modularité ? Selon Baldwin et Clark: « [modularity is] a particular design
structure, in which parameters and tasks are interdependent within units (modules) and
independent across them »27 . Par le fait qu’elle diminue les interdépendances entre modules,
la modularité autorise une organisation plus spontanée et moins formelle du travail entre les
groupes chargés d’élaborer ces modules. Il faut noter toutefois qu’une modularité parfaite
n’est qu’un idéal à atteindre, et qu’en pratique on distingue différents degrés de modularité.
La modularité est grande dans les deux projets étudiés :
- Celestia est composé d’un noyau et d’ « add-ons » qui lui ajoutent des fonctionnalités. Il
en existe une centaine, par exemple pour observer d’autres galaxies, des exo planètes, des
engins spatiaux, des systèmes repris d’œuvres de fictions, etc. Dans de nombreux cas, la
réalisation de ces ajouts ne nécessitent pas de compétences en programmation, mais plutôt
des compétences de graphistes, d’astronome, etc. Le développement de Celestia est donc
l’investissement de nombreux contributeurs (et pas seulement des quelques développeurs
cités plus haut)
- Dans Zope, la modularité est garantie par la notion de « produits » qui viennent s’ajouter à
la plateforme Zope en lui ajoutant des fonctionnalités. Il existe au moins une centaine de
produits. Citons en guise d’exemple le Content Management FrameWork pour créer un
système de gestion de contenu – sur lequel vient se greffer « Plone », lui- même un produit
offrant une solution CMS clé en main.
6) Stade de développement
On peut distinguer différentes phases d’un projet open source en fonction de l’état du
délivrable. Zope et Celestia ont passé avec succès ce qu’on peut appeler la « phase initiale »,
celle qui s’achève avec une première version officielle du logiciel (en principe la 1.0), qui
offre peu de fonctionnalités mais représente un potentiel intéressant.
Nous faisons l’hypothèse que la maturité d’un projet peut être ensuite évaluée notamment à
l’aide des deux critères suivants:
- la facilité d’accès facilité pour le nouveau participant et l’utilisateur, notamment grâce à la
disponibilité des ressources nécessaires (téléchargement du logiciel, instructions et facilité
d’installation, manuel utilisateur, etc.)
- le déplacement de l’innovation au niveau des modules. Ce critère est mis en évidence par
Tuomi (2001) dans son étude du kernel linux : une fois que le kernel est entré dans sa
phase de maturité, l’innovation a été reportée au niveau des modules pour que l’interface
avec leur ressource commune reste stable.
27
Cité par Narduzzo et al. (2003)
13
Selon ces deux critères, Celestia peut être vu considéré comme au début de la phase de
maturité, avec l’apparition d’une documentation utilisateur et le développement de nombreux
modules (add-ons, scripts, textures, etc.). L’innovation n’est toutefois pas limitée au niveau du
noyau et les nouvelles versions nécessitent des légers remaniements dans l’installation des
modules.
Zope se trouve dans une phase de maturité avec sa version 2.x. Toutefois, une phase de
restructuration du noyau est prévue pour la version 3.x. Selon le site Zope.org, la première
étape est de créer « Zope 3 expérimental (Zope X3) » qui ne supporte pas les produits de Zope
2.x. Ensuite, il est prévu de réaliser Zope 3.0 qui permettra, à travers certains mécanismes de
conversion, d’utiliser le contenu et les produits développés avec Zope 2.x. Une telle
restructuration n’est pas exceptionnelle dans les projets open source matures - citons par
exemple le cas du projet Apache: les modules créés pour Apache 1.x ne fonctionnent en effet
pas sans autre avec la nouvelle version Apache 2.x.
Synthèse
Si les deux projets ont pour point commun une licence open source 28 et la présence d’une
communauté réunie autour du développement du logiciel, on voit qu’ils sont par ailleurs fort
différents (voir tableau ci-dessous). Il sera intéressant de voir si cette différence est sensible
dans la manière de gérer la connaissance dans les deux projets. Cela nous donne également
une idée de la diversité qui se cache derrière les termes de « projet open source ».
Zope
Produit à l’origine
propriétaire placé ensuite sous
licence open source
Enjeux économiques
De nombreuses entreprises
offrent des services de conseil
et de développement basé sur
Zope
Phase dans laquelle se Version 2.6.2 (phase de
trouve le projet (oct. 03)
maturité) et Version 3.x.y
(restructuration)
Communauté principale
Des milliers de développeurs
- une minorité contribuant au
développement de la
plateforme Zope et de ses
produits (les utilisateurs de
Zope sont aussi des
développeurs).
Sites et communautés De nombreux sites satellites,
satellites
noyaux parfois de
Origine du projet
Celestia
Développement individuel mis
sous licence open source dès la
version 1.0.
Peu d’enjeux économiques,
développeurs bénévoles.
Version 1.3.0 (début de la phase
de maturité)
Quelques développeurs, des
dizaines de personnes contribuant
sous forme d’add-ons (textures,
modèles, données, scripts, etc.) et
une communauté d’environ 500
personnes inscrites et actives dans
un forum.
Quelques sites satellites peu actifs
28
Sans entrer dans les détails, notons que Celestia possède une licence « GPL » (Gnu Public Licence) et Zope
une licence propre appelée Zope Public License (reconnue compatible avec la GPL selon
http://www.gnu.org/philosophy/license-list.html) qui contient certaines références à Zope Corporation. Toutes
deux sont en accord avec la définition de l’open source.
14
communautés Zope avec un
intérêt spécifique.
2.3 La gestion des connaissances dans le projet Zope29
Deux tentatives
connaissances :
pour
expliciter,
formaliser
et
organiser
les
La volonté de capitaliser des connaissances explicites est sensible sur le site Zope.org à
travers deux initiatives: le « Zope Documentation Project » et le « Fishbowl Process ».
Voyons- les en détail.
Le « Zope Documentation Project »
Le projet « Zope Documentation Project » (ZDP) est décrit de la manière suivante :
« a volunteer effort (RAH RAH!) to improve the documentation and other information
resources, at least initially a FAQ and howto's, for the Zope community” 30 .
La description de la liste de distribution consacrée à ce projet 31 exprime clairement ses
objectifs:
- diminuer la redondance des questions dans la liste de distribution principale (zope-user)
en créant et en organisant une FAQ
- améliorer l’accessibilité de Zope grâce à la documentation et des howtos
- développer des logiciels permettant de gérer la documentation générée par le projet.
En d’autres termes, le but est d’expliciter des connaissances (des réponses de base, des
manières de procéder) et de gérer leur organisation afin de les rendre facilement accessibles et
compréhensibles indépendamment des personnes qui les ont produites. Cette volonté se situe
bien dans la dimension du Knowledge Management que nous avons appelée la « capitalisation
des connaissances explicites ».
Si l’on s’intéresse maintenant à l’activité effectivement générée par ce projet, on note les
points suivants:
- la liste de distribution consacrée au projet ZDP est pour ainsi dire inactive : bien que 270
personnes soient inscrites, 7 messages seulement ont été envoyé s sur le mois de juillet (par
comparaison, sur la même période les autres listes ont souvent plusieurs centaines de
messages).
- le site dédié à ce projet 32 met aussi en évidence le manque d’intérêt manifesté par la
communauté pour sa mise en œuvre. On constate en effet que les documents les plus
récemment modifiés datent de plus d’une année - l’internaute est d’ailleurs averti dès la
29
Nous avons vu que le site principal de Zope était entouré de sites satellites parfois importants. Pour ne pas se
perdre dans cette diversité, nous limiterons le champ de cette étude au site principal du projet (Zope.org) et aux
outils qui y sont directement rattachés.
30
on perçoit dans l’humour du propos l’idée très répandue en open source selon laquelle la réalisation de la
documentation est une tâche peu motivante.
31
http://mail.zope.org/mailman/listinfo/zdp
32
http://zdp.zope.org/
15
page d’accueil: « This site has information about […] Zope. There is mostly outdated
information, which may still be of some value to some people. While this is not a
satisfying situation, nothing stops you from changing that. So, if someone feels like taking
over one of these projects, send a mail to the ZDP mailing list [email protected]. ».
Cette tentative pour formaliser, organiser et capitaliser certaines connaissances de base a donc
rencontré à première vue très peu de succès. Avant de nous intéresser à la documentation
effectivement disponible, étudions une seconde initiative présentée sur le site Zope.org et
visant à capitaliser des connaissances explicites.
Le « Fishbowl Process »
Qu’est-ce que le “Fishbowl Process” ? Expliquons d’abord le terme de « fishbowl ». Selon le
site Zope.org :
“The name "fishbowl" comes from the idea brought to prominence by Mozilla.org that there
are no internal conversations; rather, all communication, decisions, arguments, and progress is
visible as if everyone were working "in a fishbowl".”33
Ce terme explicite donc le principe fondamental selon lequel les communications doivent être
ouvertes, accessibles à tous. Nous avons vu dans l’introduction que ce principe est valable
pour la plupart des projets open source. Mais les détails du “Fishbowl Process” vont bien plus
loin que le simple respect de ce principe puisqu’il s’agit bel et bien d’un processus de
développement que les manager du projet tentent d’imposer : “The Fishbowl Process is the
way the community, including Digital Creations, will design and develop Zope.”
Ce processus exige que les projets de développements passent par certaines phases, chacune
d’entre elles étant découpées en étapes et impliquant un certain formalisme et des délivrables
- le Fishbowl Process facilite ainsi une certaine capitalisatio n des connaissances. Considérons
la première phase à titre d’exemple. Cette phase nommée « Inception » concerne la création
des propositions. Ses étapes ont été représentées par un membre de la communauté Zope dans
le schéma suivant:
33
Cette citation et la suivante sont tirées de http://dev.zope.org/DevHome/Projects/Fishbowl/Introduction.html .
Notons que lorsque le code source de Netscape a été ouvert et repris par la communauté open source sous le
projet Mozilla, celui-ci a eu des débuts difficiles. Parmi les raisons citées, un problème de culture de
développement. En effet, les développeurs de Netscape ne communiquaient pas uniquement dans le «
fishbowl ».
16
Fishbowl proposal state machine 34
Lors de l’étape de « Construction », une proposition doit inclure une description :
- du problème à résoudre
- de la solution proposée
- des risques encourus
- de l’étendue du projet
- des délivrable s envisagés.
Ensuite, l’initiateur du nouveau projet doit soumettre sa proposition à une double évaluation :
- un « editorial review » vérifie que le processus a bien été suivi lors de la formulation de la
proposition
- un « technical review » vérifie que la proposition est – d’un point de vue technique effectivement réalisable et cohérente avec la plateforme Zope.
Si la proposition est acceptée, le projet peut passer à la phase suivante (phase d’élaboration).
Dans le cas contraire, l’initiateur doit reprendre la « construction » de sa proposition.
Plusieurs états sont encore définis pour classer les propositions inactives :
- l’état « Defered » est celui d’une proposition qui a passé plus d’un mois dans le stade de
« Construction ». Après trois mois, il est éliminé de la liste des propositions.
- l’état «Awaiting resources » est celui d’une proposition acceptée mais que personne ne
développe actuellement (après trois mois, elle est considérée comme « Orphaned »).
34
tiré de http://dev.zope.org/Wikis/DevSite/Proposals/ProposalStates
17
Quel succès rencontre cette initiative ? En étudiant la page du site consacrée aux
propositions 35 , on constate qu’il est possible de ne pas respecter les stades décrits dans le
Fishbowl Process. En effet, l’édition de la page en question est autorisée pour n’importe quel
utilisateur enregistré sur le site Zope (de manière anonyme ou non), et cette édition ne se fait
pas dans un canevas prédéfinis 36 . Ainsi, sur la centaine de propositions listées sur la page, un
tiers de celles-ci ne correspondent à aucun état du Fishbowl Process (par exemple 16
propositions sont seulement marquées « New », certaines depuis plus de deux ans). Parmi, les
deux autres tiers qui portent effectivement un label appartenant au Fishbowl Process, on
constate la répartition suivante:
Etat
Nombre de propositions
Construction
18
Editorial review
15
Technical review
26
AwaitingResourcesState
14
(chiffres relevés début octobre 2003)
On constate qu’une majorité de propositions sont en cours de révision. D’où vient ce goulot
d’étranglement ? D’un manque d’intérêt de la part des réviseurs ? Les propositions ont-elles
été abandonnées ? On note en effet que certaines propositions attendent une révision depuis
plus de deux ans… Pourquoi ne sont-elles pas alors qualifiées de « Awaiting resources », ou
« Defered »?
Comme pour le projet de documentation, on voit qu’il est a priori difficile d’imposer à une
communauté open source l’explicitation et l’organisation des connaissances selon un certain
formalisme préétabli. Un des membres de la communauté Zope remarque ainsi:
"There are a lot of dead fish floating in the fishbowl"37
Toutefois, il ne faut pas s’arrêter à l’apparent échec des deux initiatives présentées jusqu’ici.
En effet, en parcourant le site Zope.org on remarque que :
- le développement de produits Zope est un véritable succès: des centaines de produits
ajoutant des fonctio nnalités à Zope sont disponibles.
- La documentation de Zope existe bel et bien : sous forme de manuels, de howtos, etc.
Nous avons constaté également qu’elle était à jour et de qualité.
Comment la documentation et les produits Zope ont-il pu se développer avec succès malgré
les difficultés d’organisation rencontrées ? Pour le comprendre, il semble que nous devions
nous intéresser de plus près à deux concepts mis en œuvre: le « wiki » et le «système de
gestion de contenu ».
Une capitalisation souple des connaissances grâce au wiki et au
système de gestion de contenu
Qu’est-ce qu’un « wiki » ? Il s’agit d’un concept pour la réalisation commune de documents
qui consiste à donner le droit à tout lecteur de modifier la page qu’il est en train de lire. Par
35
http://dev.zope.org/Wikis/DevSite/Proposals/FrontPage
L’édition de la page est rendu possible par le fa it qu’il s’agit d’un wiki. Nous en décrivons les principes plus
loin.
36
37
http://dev.zope.org/Wikis/DevSite/Proposals/ProposalStates
18
extension, on qualifie de wiki l’outil qui met en œuvre ce concept sur un site internet. Celuici possède souvent des fonctionnalités telles que :
- l’utilisation d’un code facilitant la mise en forme du contenu d’une page
- la création en partie automatisée de liens hypertextes entre les pages 38
- La possibilité de voir l’historique des modifications d’une page
On retrouve comme caractéristique principale des wikis le principe d’ouverture au fondement
de l’open source: les pages peuvent être éditées par l’interna ute, non seulement pour ajouter
des commentaires mais aussi pour modifier un texte préexistant afin de l’améliorer. Ainsi, au
lieu d’avoir un cumul de connaissances individuelles dont les plus anciennes sont obsolètes,
on a toujours un seul document mis à jour en commun 39 . Le wiki a d’ailleurs déjà montré son
utilité dans le domaine de la capitalisation des connaissances explicites, puisqu’une
encyclopédie basée sur l’utilisation de cet outil (http://www.wikipedia.org/) a regroupé en
moins de trois ans 160'000 articles en version anglaises (17'000 pour la version française).
Le concept de wiki est mis en œuvre sur une grande partie du site Zope.org de manière
combinée avec son système de gestion de contenu (CMS). Cela en fait un outil collaboratif
puissant, qui permet de donner différents droits à un utilisateur (celui-ci doit seulement
enregistrer un nom d’utilisateur et un mot de passe):
- le droit de modifier le texte d’autrui (voir figure 1) ou d’ajouter seulement des
commentaires
- le droit de créer du contenu dans son répertoire personnel
- le droit de publier directement ce contenu ou seulement de le soumettre à révision40
De nombreuses fonctionnalités sont également disponibles, outre celles propres au wiki déjà
citées ci-dessus, comme par exemple la possibilité de « défaire » une modification, d’afficher
ou non les commentaires des internautes (bouton on/off), etc.. Notons enfin qu’un projet en
cours a pour objectif de permettre l’envoi de mails pour signaler d’éventuels changements aux
personnes intéressées à la mise à jour d’une page particulière 41 .
38
Si deux mots sont accolés, avec une majuscule à chacun d’eux, le système crée automatiquement un lien vers
une page du même nom, en reprenant l’adresse relative de la page actuelle . Par exemple, si dans une page
http://www.serveur.com/wiki/FrontPage on écrit « NouvellePage », ces mots s’afficheront en tant que lien vers
http://www.serveur.com/wiki/NouvellePage. Si la page n’existe pas, un point d’interrogation apparaît à côté du
nom : en le cliquant on peut créer la page en question.
39
Comment prévenir des usages malveillants ? Les wikis reposent sur la bonne volonté de la plus grande partie
des utilisateurs, et sur le fait qu’il ne sert à rien de détruire une page, car celle -ci peut être facilement remise en
place grâce à l’archivage des anciennes versions d’une page.
40
Par exemple, n’importe quel internaute inscrit sur le site de Zope pourra créer une page de type « howto » pour
partager ses connaissances, mais celui-ci devra être validé (révisé et publié) avant d’apparaître dans la liste des
howto’s.
41
http://dev.zope.org/DevHome/Projects/Wikis/DevSite/Projects/FishbowlNotificationsForNo
w/FrontPage
19
Figure 1 : Exemple d’une page du site Zope de type wiki en mode normal (à gauche) et en
mode édition (à droite)
Ce système wiki-CMS est sans doute un élément clé dans l’émergence d’une documentation
de qualité et d’une explicitation des connaissances sur le site Zope.org. On trouve par
exemple :
- le « Zope Book », véritable bible de l’utilisateur de Zope, est régulièrement mis à jour. Il
est intéressant de noter que la cvs et le « bug tracker » de SourceForge, des outils prévus
pour le développement de logiciel, sont aussi utilisés pour la rédaction du « Zope Book »,
le suivi des modifications et le report de « bugs » - en l’occurrence des problèmes de sens
ou des fautes de syntaxes.
- les howtos : 200 « recettes » créées en partie par des internautes dans leur « répertoire
personnel » sur Zope.org sont regroupées automatiquement une fois validées par des
responsables du site et ainsi facilement accessibles.
- Les informations relatives aux projets en cours et les délivrables demandés dans le
Fishbowl Process se font également dans des pages de type wiki.
Les wikis peuvent donc être considérés comme la face souple du développement de Zope
(formalisé dans le « Fishbowl Process») et du Zope Documentation Project. Nous faisons
l’hypothèse qu’ils jouent un rôle important dans leur réussite : ils permettent en effet d’isoler
et d’organiser des connaissances explicites sans imposer de canevas précis et en facilitant la
participation de tous.
Le site Zope.org offre encore d’autres outils facilitant la gestion des connaissances au sein de
la communauté Zope. Nous allons en voir trois : le « bug collector », les listes de distribution
et le canal irc.
20
Le Bug Collector : succès du formalisme
Le Bug Collector concerne principalement le report de bugs rencontrés avec le logiciel et la
mise à disposition de patches pour résoudre ces problèmes. Pourquoi avoir isolé ce type
particulier de communications ? Ce n’est pas une originalité du projet Zope, un système
analogue souvent utilisé étant « Bugzilla », développé dans le cadre du projet Mozilla mais
utilisé dans d’autres projets open source. Le succès de ce genre d’outils complémentaires aux
mailing- lists s’explique sans doute par le fait :
- qu’il est possible de résumer les informations liées à un bug particulier sans perdre de
connaissances essentielles.
- qu’il est nécessaire d’être clair et précis pour parvenir à cerner l’origine d’un bug
Ainsi, un effort d’explicitation et de filtrage des informations est demandé à l’utilisateur du
Bug Collector :
« For those of you submitting collector issues, you're helping all Zope users - thank you.
When formulating your issue, please keep in mind the challenge facing the supporters. The
more you can do to include essential details and leave out irrelevant ones, the better the
supporter's chances for detecting the problem or understanding the desired feature.”
Et le report de bug se fait dans un canevas précis:
Par contre, on remarque que le système normalement prévu également pour la demande de
nouvelles fonctionnalités ou “features” est peu utilisé dans ce sens – peut-être parce que
celles-ci se discutent mieux dans des canaux de communication moins formels ?
21
L’échange informel sur le canal irc
Contrairement aux canevas imposés par le Bug Collector, le canal de discussion, basé sur le
protocole « Internet Relay Chat » (IRC), est un outil laissant la communication totalement
libre.
Il existe plusieurs canaux de discussion consacrés à Zope sur irc.zope.org (ou
irc.freenode.org). Dans le canal principal nommé simplement « zope », entre 50 et 100
personnes sont connectées simultanément, la plupart du temps silencieuses. Parmi celles-ci on
trouve apparemment tous les types d’utilisateurs, des principaux développeurs jusqu’aux
nouveaux venus ou « newbies ». Le fait que les personnes soient connectées en permanence
rend possible des réactions rapides et des conversations en temps réel ont lieu. Selon nos
observations et un développeur interrogé directement par ce biais, les discussions dans le
canal irc sont principalement de deux types :
- des conversations assez libres entre habitués qui développent sous Zope, par exemple pour
se coordonner dans certaines tâches en cours (voir figure 2), exprimer des opinions, etc.
- de l’aide aux débutants : la communication presque synchrone permet de guider
l’utilisateur pas à pas, celui-ci pouvant directement essayer les solutions proposées,
rapporter les messages d’erreurs, etc. 42
Notons aussi une utilisation du canal irc lors des « Bugdays », ces journées consacrées à la
résolution « intensive » de bugs relevés dans le Bug Collector. L’irc permet alors une
coordination rapide et précise entre les participants.
Figure 2 : un exemple d’échange informel dans le canal irc (octobre 03)
Comme le canal irc est en dehors du « Fishbowl » (puisque ce qui est échangé n’est pas
archivé et n’est donc pas accessible par l’ensemble de la communauté), ce n’est pas un lieu de
décision : celles-ci sont prises dans les mailing- lists.
L’échange des connaissances « stocké » dans les mailing-lists
Les mailing- lists sont le lieu privilégié de la communauté Zope. Il en existe une vingtaine
hébergées sur Zope.org. On peut les classer en quatre grandes catégories:
- les listes générales consacrées à l’utilisation et au développement de Zope
- les listes qui touchent à un domaine particulier de Zope ou à un produit particulier (p.ex. :
les ZPT, les liens aux bases de données relationnelles, l’internationalisation de zope, etc.)
42
A ce sujet, Il est intéressant de constater qu’un message permanent signale l’existence d’un wiki nommé «
Unofficial channel FAQ », mis en place par un habitué de canal irc pour y réduire la redondance des questions de
base. La FAQ donne aussi quelques principes pour poser les bonnes questions au bon endroit et dirige les
utilisateurs sur la documentation existante.
22
-
les listes qui concernent une communauté linguistique particulière (italienne, allemande,
russe)
les listes qui concernent des cas d’utilisation particuliers (Zcommerce)
Les communications dans les listes de diffusion accompagnent toutes les activités liées au
développement du projet Zope. Chaque jour, des centaines de messages s’échangent sur les
sujets les plus variés. Afin de ne pas nous perdre dans cette diversité, nous avons choisi
d’étudier trois des principales listes consacrées à zope :
- Zope-User qui s’adresse aux utilisateurs de Zope en général, y compris les débutants.
- Zope-Dev qui concernent les développeurs de Zope au sens large et les personnes
intéressées à son évolution
- Zope-Coders : une liste en principe réservée aux développeurs ayant des droits d’écriture
sur le code source central.
Nous avons étudié ces trois listes sur le mois de juillet 2003 43 en regroupant les mails par
« threads » (un thread est un ensemble de mails ayant un sujet commun – par exemple une
question et ses réponses) et par auteurs (toute personne ayant écrit un mail au moins durant le
mois). Nous commentons ici les principaux résultats44 .
Zope-user
Cette liste est le lieu d’échange de connaissances à propos de l’installation, la configuration et
l’utilisation de Zope (programmation de base). Sur plus de 300 personnes ayant écrit un
message en juillet, on constate la répartition suivante:
- en moyenne, chaque auteur a envoyé 4,4 mails
- un peu moins de la moitié des auteurs n’ont envoyé qu’un seul mail.
- une minorité (24 auteurs) ont envoyé plus de 10 mails.
Un grand nombre de personnes participent donc activement à la mailing- list, que ce soit pour
une utilisation ponctuelle ou régulière
Toujours sur le mois de juillet, la liste a reçu une quarantaine de mail par jour. Les messages
sont regroupés en plus de 500 threads, qui contienne en moyenne 2.4 messages, avec un
maximum de 17 messages pour un seul thread.
Nous avons porté une attention particulière aux messages isolés (les threads orphelins), car ils
pourraient mettre en évidence une faille des mailing- lists : étant donné la quantité de
messages qui s’échange nt, certains peuvent passer inaperçus. Dans la liste des utilisateurs de
Zope, environ 40% des threads n’ont qu’un seul message. Cela peut paraître important, mais il
faut tenir compte de plusieurs facteurs :
- certains mails ne reçoivent pas de réponse parce qu’il s’agit de messages système (un mail
n’a pas pu être délivré, un virus a été envoyé à la liste..).
- un nombre important de messages en rapport l'un avec l'autre ne sont pas organisés en
thread 45 . La création automatique de thread a donc ses limites et ce défaut peut rendre plus
difficile une recherche ultérieure.
43
Le nombre de messages échangés sur le mois de juillet est proche de la moyenne des douze mois précédents.
Les données détaillées sont résumées dans un tableau en annexes
45
si le sujet du message a été modifié par un des correspondant, le système ne parvient plus à le classer
correctement (par exemple lors de l’ajout du mot « solved » au début ou à la fin du sujet pour montrer qu’une
solution a été trouvée).
44
23
-
Enfin, même si la pratique est en principe déconseillée en open source, il faut tenir compte
du fait que certaines réponses n’ont peut-être pas été faites à la liste mais directement à
l’adresse privée du participant 46 .
Contrairement à ce que laissait penser notre étude quantitative, il n’y a donc finalement
qu’une petite minorité de questions qui ne trouvent pas de réponse. De plus, on constate que
la plupart des réponses sont envoyées le jour même ou dans les jours qui suivent une question.
Intéressons-nous maintenant aux autres threads. La grande majorité de ceux-ci commencent
par une question ou un problème précis. On peut distinguer deux grandes catégories.
- question sur un problème technique très spécifique, avec éventuellement la présence de
lignes de code ou d’un message d’erreur.
- question plus large sur les choix à faire face à une situation afin d’atteindre un certain
objectif.
Les réponses sont très variées, on observe la présence:
- de références (à un site web, à un autre thread, à un livre, à un terme à rechercher sur
internet)
- de connaissances explicitées en relation ou non avec une expérience personnelle racontée
- d’arguments pour justifier tel ou tel choix (d’après la situation du demandeur ou l’histoire
du projet)
- le cas échéant, d’une interprétation du message d’erreur fourni, ou d’explications à propos
de lignes de codes présentées
Le thread peut alors continuer par une demande supplémentaire, une description de la solution
finalement adoptée (envoyée parfois à la liste par le demandeur lui- même afin que sa solution
soit utile aux personnes qui rencontrent le même problème), un feed-back positif (souvent
sous la forme d’un remerciement) ou au contraire un constat d’échec, etc. Ce dernier mail
peut être précieux pour la suite, puisqu’il indique si la solution proposée à permis la résolution
du problème. Malheureusement il n’est pas systématique et souvent le doute persiste quant à
la réussite ou non d’une solution proposée.
Zope-Dev
Cette liste est mise en place pour les utilisateurs directement impliqués dans le développement
de Zope. On constate que la nature des communications est sensibleme nt différentes de celles
de la liste zope-user : l’asymétrie entre celui qui pose une question et celui qui connaît la
réponse est moins prononcée ici : les threads sont plus proches de conversations entre experts
qui se coordonnent, argumentent ou commentent différentes possibilités pour contourner un
problème que le développement rencontre en général. Cela explique peut-être en partie le fait
que les threads soient en moyenne légèrement plus long que dans la première liste.
Au-delà de la simple volonté de contourner une difficulté présente, le souci de cohérence par
rapport à la direction générale du développement et l’intérêt pour une solution “simple” et
“belle” semble prendre de l’importance. Par exemple, dans le plus long thread, le premier
message présent e une solution utilisée qui semble “Kinda yucky“ c’est-à-dire “un peu
dégoûtant” à son auteur. Ce dernier propose une amélioration du langage lui- même pour
46
“ It's the respondent's choice whether to reply privately — and if he does, it's usually because he thinks the
question is too ill-formed or obvious to be interesting to others.” (E.S.Raymond
http://www.catb.org/~esr/faqs/smart-questions.html#noprivate)
24
permettre une meilleure solution et demande des commentaires. La discussion qui s’en suit
implique le rappel de certains principes guidant le développement de ce langage et pas
seulement des réflexions sur la manière de résoudre le problème en question.
Cette liste, nettement moins active (cinq fois moins de messages que dans la liste zope-user)
permet aux développeurs d’échanger des opinions sans être submergés par les demandes
d’aide des utilisateurs. On note toutefois toujours la même proportion de threads orphelins,
dont la plupart sont du « bruit » (messages systèmes) ou des messages mal classés par le
système (réponses à un autre message)
Zope-Coders
La liste consacrée à l’accès au code via le CVS est utilisée par les développeurs qui possèdent
des droits en écriture sur le code source central. Ils s’en servent principalement pour se
coordonner, discuter de détails techniques du CVS, de batteries de test, etc. Le nombre de
personnes inscrites est ainsi beaucoup moins important (seulement 80 inscrits contre 1000 à
zope-dev et 3000 à zope-user). On constate par contre une plus grande activité des membres
inscrits (puisque 40% sont actifs dans le mois contre 6-10% dans les deux autres listes). De
plus, la plupart des inscrits reçoivent les messages un à un47 , ce qui permet une réaction plus
rapide. Enfin, la plupart des threads orphelin sont des message s qui ne demandent pas de
réponses.
Synthèse : le succès de deux principes simples : séparation des listes et
archivage
La séparation des listes semble avoir l’effet recherché : le nombre de personnes varie
fortement et les conversations sont de nature différente selon la liste utilisée.
Il faut noter aussi qu’un très grand nombre de participants reçoivent les mails sans participer
activement sur une période d’un mois – mais leur présence silencieuse n’interfère pas dans la
communication – celle-ci peut donc rester ouverte même lorsque la communauté est grande.
Les listes de distribution sont donc un moyen efficace pour partage des connaissances dans
des relations interpersonnelles. Mais grâce au simple stockage automatique de ces messages et
à la possibilité d’y accéder en les triant par date, par sujet, par thread et par une recherche par
mot-clé, une forme de capitalisation de connaissances (certes peu explicitées) joue également
un rôle important (voir figure 3). En effet, bien que l’effort de capitalisation soit pour ainsi
dire nul, les archives ont deux intérêts majeurs:
- elles permettent à un nouveau venu de se familiariser avec l’histoire du projet, l’origine de
ses choix, les difficultés fréquentes, le style de communication, en un mot la culture du
projet. Ce qui leur permet sans doute de s’intégrer et de contribuer plus rapidement.
- une personne confrontée à un problème peut retrouver (par une recherche par mot-clé) une
solution à son problème et l’appliquer à son propre cas 48
47
Les listes de disttibution proposent un autre mode qualifié de « digeste », qui consiste à n’envoyer qu’un mail
contenant tous les messages du jour.
48
Cette démarche peut être comparée à la technique du Case Base Reasoning.
25
Il est difficile de mesurer cette dimension silencieuse de l’échange des connaissances.
K.Lakhani et al.(2002) ont interrogé des participants au projet open source Apache et sont
parvenus à la conclusion suivante: « 98% on average, of the time spent at the help website by
an information provider is devoted to reading posted questions, and only 2% to provinding
answers »49 . Pourquoi passer autant de temps à lire les messages? Simplement dans le but
d’apprendre les problèmes rencontrés par les autres utilisateurs, afin de mieux maîtriser le
logiciel.
Figure 3 : la double utilité des listes de distribution: à gauche, les messages reçu
quotidiennement, à droite les messages stockés dans les archives sous forme de threads
(extraits de la liste zope-user, 21.10.03)
2.4 La gestion des connaissances dans le projet Celestia
Les forums : centre de la communauté Celestia
En visitant le site principal du projet Celestia www.shatters.net/celestia, on s’aperçoit
rapidement que l’organisation du projet est plus rudimentaire que celle de Zope. Comme
l’explique Chris Laurel, l’échange entre les développeurs se fait de manière informelle :
“There's not a lot of process in place for Celestia development. The number of active
developers is small enough that we've been able to get by without a lot of protocol, and basic
rules of politeness have sufficed.“50
Pour découvrir l’existence de la communauté réunie autour de Celestia, il faut s’intéresser au
contenu des forums. Ceux-ci reposent sur le logiciel open source « phpBB »
(http://www.phpbb.com/) dont nous verrons certaines fonctionnalité utile pour la gestion des
49
Si seulement 2% du temps est consacré à répondre, c’est que les réponses sont données seulement si elles sont
déjà connues et qu’elles n’impliquent donc pas des recherches.
50 Cette citation de Chris Laurel et les suivantes sont tirées des réponses à des questions envoyées par email. On
trouvera le questionnaire complet en annexe.
26
connaissances. La page d’accueil des forums donne quelques indications de leur succès :
23'000 messages ont été postés par des centaines d’internautes51 . On a donc en moyenne
depuis le début de ce forum (le premier message est daté du 30 janvier 2002) une quarantaine
de nouveaux messages chaque jour. C’est un trafic équivalent à la liste de distribution
principale de Zope (zope-user). A noter que sur les 1’000 utilisateurs enregistrés, seulement la
moitié ont effectivement posté des messages dans les forums, et 150 ont postés 10 messages
ou plus 52 . Notons aussi qu’il n’est pas nécessaire d’être enregistré pour poster des messages.
Figure 4 : la page d’accueil des forums de Celestia (29.10.03)
Contrairement à Zope, Celestia n’a pas de communautés satellites. La grande majorité des
communications sont échangées dans ces forums, qu’il s’agisse de l’utilisation ou du
développement du logiciel, de questions d’astronomie, de report de bugs ou encore de la
gestion du projet lui- même. C’est donc dans ceux-ci qu’on apprend les principes de
fonctionnement de la communauté et notamment les règles plus ou moins explicites pour
gérer les connaissances. Nous les avons regroupées en deux thèmes :
51
Chiffres relevés en septembre 2003 et ne concernant que le forum mis en place à partir de janvier 2002
(l’ancien forum, apparemment remplacé pour des raisons pratiques, n’est plus accessible)
52
Ces chiffres ont été arrondis pour faciliter leur lisibilité
27
Réalisation de la documentation et organisation des ressources
-
-
-
-
la documentation utilisateur est réalisée par les utilisateurs : cette règle a été
récemment explicitée dans une « FAQ » (postée dans le forum principal) : “The
authors of Celestia spend their time improving the software. Documentation is
provided by users »53 . (cette règle est explicitée par un non développeur). On constate
en effet que le guide de l’utilisateur a été réalisé par un enseignant qui utilise Celestia
dans ses cours et partage avec la communauté des leçons d’astronomie réalisées avec
Celestia.
la documentation du code source est réalisée par les nouveaux développeurs : en effet,
non seulement le manuel de l’utilisateur est laissé au soin de membres périphériques,
mais encore la documentation du code source lui- même, comme l’exprime ce
contributeur (un non développeur) : « I personally would rather have Chris (in
particular) working on implementation instead of documentation. [...] I think it might
be more efficient if some prospective new developer were to write up the
documentation as a way to learn the code, and then let the experienced developers
review it. Just my opinion. - Hank »54
la documentation pour le développement de modules est rythmée par les «release »
officielles : en effet, mise à part la question des « bugs », il existe une différence entre
des versions stables et bêta (nommées pre.x.) comme l’explique un des participants de
Celestia: « When a new official version is released, the official website is updated,
some examples and data for the new features are included in the distribution package,
some help for the development of new add-on is written etc. So development is
partially stopped and a new check of the situation is done.”55 Du point de vue de la
gestion des connaissances, la sortie d’une nouvelle version officielle permet donc une
mise à jour des connaissances capitalisées.
l’organisation et la mise à disposition des ressources, documents, etc. est faite en
grande partie par des participants périphériques, l’internaute ne trouvera pas sur la
page d’accueil l’ensemble des liens utiles et doit s’intéresser à des sites satellites. Les
« Celestia Coding Standards », c’est-à-dire les règles pour respecter le style de
programmation de Celestia sont ainsi mises en évidence sur le site d’un membre du
projet, non sur le site principal56 .
Pour faciliter l’échange des connaissances et lutter contre le « bruit »
-
-
enregistrement des utilisateurs : l’internaute peut s’enregistrer sur le forum si il veut
être reconnu par les autres – implicitement, c’est donc un moyen de jouer sur le
paramètre de « confiance »
séparation simple en divers forum selon certains thèmes : comme pour les listes de
distribution de Zope, cela permet d’isoler certains types de conversations. Notons que
trois nouveaux forums ont été créés au cours des derniers mois, et notamment un
forum « purgatoire » pour stocker les threads qui sont hors sujet. Un moyen pour
limiter le bruit suggéré par un utilisateur anonyme 57
53
http://www.shatters.net/forum/viewtopic.php?t=2291
http://www.shatters.net/forum/viewtopic.php?t=3174&start=15
55
Extrait de http://www.shatters.net/forum/viewtopic.php?t=3151
56
Voir par exemple http://www.lepp.cornell.edu/~seb/celestia/#1.0
57
“To Chris. I think that when the forums enlarges in terms of number of visitors a more strict control over the
forum themeselves is required. So because Y know that you have better things to do, please give the moderator
or administrator rights on the forums on Shatters.net to other contributor of celestia developing team, to garrison,
54
28
-
-
mise en place d’une FAQ visant à limiter la redondance des questions de base. Celle-ci
a été créée par « selden », un participant très actif dans le forum mais qui ne fait pas
partie des développeurs de Celestia.
mise a profit d’une fonctionnalité du forum: l’usage de «Sticky Posts » permet de
conserver des messages en haut de la page sans tenir compte du tri par date.
utilisation d’une liste hors du forum pour l’échange entre développeurs: la mailing- list
« developers » ne reçoit qu’un ou deux messages pour des questions techniques. C’est
peut-être une manière de se préserver du « bruit » qui rend cette discussion plus
difficile dans le forum très fréquenté. Selon Chris Laurel : “The discussion in the
mailing list is typically more technical than the forum discussion, and we tend to
spend a lot more time talking about implementation details there. Often times a new
feature idea will be suggested in the development forum, then discusson of how to
actually code it will occur on the mailing list”.
2.5 Synthèse des résultats et commentaires
Au moment de commenter les résultats de notre étude, un premier constat s’impose: c’est la
difficulté de maintenir en open source la distinction entre les deux dimensions de la gestion
des connaissances. En effet:
- toute communication est stockée et accessible ultérieurement sous forme de document (à
l’exception du canal irc)
- les connaissances capitalisées - même sous forme de manuels - facilitent la
communication entre personnes, par le fait que cette documentation est réalisée
conjointement, ou parce qu’elle autorise l’insertion de commentaires par l’internaute
anonyme (par exemple grâce au wiki) 58 .
L’échange interpersonnel est donc toujours possible, au même titre que l’accès direct aux
documents. L’open source semble ainsi garder le meilleur des deux grandes stratégies pour
gérer la connaissance. Mais comment les projets étudiés font- ils face aux difficultés
mentionnées dans l’introduction ? Rappelons que la capitalisation des connaissances
explicites d’une part, et la possibilité de communiquer des connaissances tacites d’autre part
semblaient compromises a priori par les principes de l’open source. Nous reprenons ici les
difficultés évoquées sous la forme synthétique de ces deux questions :
- l’échange de connaissances tacites peut- il se baser uniquement sur des outils
technologiques ?
- l’accessibilité des connaissances est-elle rendue difficile par la multiplicité des
communications non formalisées et le « bruit » générés par la communauté ?
Pour répondre à la première question notons tout d’abord que le plus souvent les
communications étudiées accompagnent une pratique (programmation, installation,
configuration ou utilisation du logiciel) qui donne finalement un contexte commun aux
participants et facilite la compréhension réciproque. Ensuite, nous avons constaté au cours de
notre étude que la plupart des discussions ont lieu de manière tout à fait informelle : aucune
structure n’est imposée. L’intérêt de privilégier la diversité sur le formalisme devient évident
lorsque l’on constate la richesse des échanges. Même si cette dimension dépasse le champ de
censor, lock or move the threads that goes out of control like this. [..] Best regards.Guest“
http://www.shatters.net/forum/viewtopic.php?t=2734&postdays=0&postorder=asc&start=15
58
L’évolution rapide des connaissances dans le domaine informatique explique sans doute en partie le choix de
cette approche.
29
notre étude, notons à titre d’hypothèse l’observation suivante: bien que la communication
perde une dimension personnelle (on ne sait pas toujours à qui on s’adresse), relationnelle (les
échanges sont souvent asynchrones) et comportementale (pas de langage non verbal), la
richesse des interactions humaines demeure. Même si l’on ne peut nier l’existence de
difficultés liées à la perte de ces dimensions, (d’autant plus lorsque des différences
socioculturelles ou linguistiques entrent en jeux), l’anglais peut jouer le rôle d’ultime
métalangage, permettant toujours de s’élever au-dessus d’une communication pour
communiquer à son sujet, pour préciser le sens d’une phrase, pour clarifier un point de vue,
etc.
Faut- il en conclure que la technologie suffit à gérer l’échange des connaissances? Ce serait
oublier le principe d’ouverture sur lequel se fonde l’open source et la culture du partage qui
l’accompagne 59 . Encore faut- il pouvoir canaliser cette volonté de communiquer. Et nous
revenons à notre seconde question : comment les projets open source étudiés parviennent- ils à
introduire un certain formalisme dans ces échanges pour permettre la capitalisation de
connaissances? Il est intéressant de constater que les deux projets étudiés sont à ce point de
vue dans deux phases différentes:
- dans Celestia, on constate une mise en place progressive de fonctionnalités et de
procédures de base pour exclure les messages hors sujet, les questions redondantes (par
une mise en évidence des réponses aux questions fréquentes, la création d’une première
documentation utilisateur, etc.), ainsi qu’un nombre croissant de forums séparant les
discussions selon des thèmes bien définis. Seule une liste de diffusion consacrée aux
questions techniques du développement a été mise à profit comme canal isolé de
communication.
- dans Zope, qui possède une communauté et une activité beaucoup plus importante, on
constate la mise en place d’outils différenciés selon le type de communications : du canal
irc au Bug Collector, l’échange se fait dans un medium dont le formalisme est plus ou
moins important. D’autre part des tentatives pour formaliser les connaissances existent, et
si elles ne sont pas toujours respectées à la lettre, on observe tout de même la réalisation
d’une documentation de qualité et le succès du développement des produits (le rôle joué
par les outils collaboratifs sophistiqués a déjà été souligné).
Grâce à la culture de l’open source, le KM semble donc se réduire à la mise en place
progressive d’outils et de fonctionnalités adéquats pour canaliser les communications d’une
communauté grandissante. Les procédures semblent ainsi garanties par les outils utilisés.
Comme l’explique G.F.Lanzara et al. (2003, p.7) : “Most of the organizational gear is
invisible in open-source software projects, being draped in the technical gear. In open-source
software projects a large quota of 'organization' and organizing is embodied in the technology.
Therefore, if one wants to search for organization, he/she’d better look inside the technology.”
L’existence de plateformes telle que SourceForge permettent aux intiateurs de projets open
source de mettre facilement et gratuitement en place certains de ces outils qui ont fait leur
preuve (cvs, forum, mailing- list, etc.).
59
Il faut signaler ici que l’importance du projet Zope lui a permis de s’étendre au-delà d’internet : l’organisation
de conférences et de groupes de rencontre, a rendu possible un certain partage de connaissances « en personne ».
P.ex. des rencontres sont organisées en Allemagne,
http://www.dzug.org/Members/jok/DZUGStuttgart_20031021, à Washington http://www.zpug.org/ , au
Minnesota http://www.zope.org/Members/tczpug/ , en Suisse http://zope.ch/index_html/News_Item.2003-0924.1155 etc.
30
3 Conclusion :
Les succès du KM en open source peut-il être étendu à d’autres
domaines ?
D’après notre étude, on peut considérer que le succès du Knowledge Management des projets
open source repose finalement sur deux principaux aspects :
- le principe d’ouverture - non seulement du code source ma is de toutes les communications
auxquelles tout le monde peut accéder et participer (notion de « Fishbowl » dans Zope)
- l’utilisation d’outils informatiques collaboratifs sur internet.
Cette manière de gérer la connaissance en open source peut-elle être étendue à d’autres
domaines ? Avant tout, il faut préciser une spécificité liée au domaine du développement de
logiciels : l’existence d’un code source auto documenté. Il semble d’ailleurs qu’il y ait dans
les deux projets une volonté de rendre ce code et son design le plus lisible possible : il existe
par exemple des standards pour écrire le code source de Celestia. D’autre part, un participant
exprime l’idée suivante dans le canal irc consacré à Zope : « I try to share what I learn […]
through source code ». Pour cela, des techniques d’évaluation de la complexité du code et des
principes pour le réécrire en simplifiant son design 60 sont connus des développeurs. On est
proche ici d’une idée de l’Extreme Programming (XP): si un code source a besoin de
beaucoup de documentation, c’est qu’il est trop complexe. Plutôt que de produire cette
documentation, il vaut donc mieux simplifier le code. De cette manière, le départ d’un
développeur 61 ne représentera pas une grande perte d’un point de vue de la gestion des
connaissances, le code source qu’il a développé représentant une connaissance explicitée à
l’extrême.
Ceci étant posé, l’échange des connaissances dans les projets open source ne concernent pas
seulement le code source, ce qui semble indiquer la possibilité de transposer effectivement les
principes de l’open source à d’autres domaines. On peut citer par exemple ces deux tentatives
du Massachusetts Institute of Technology (MIT) :
- le site http://opensource.mit.edu propose de reprendre l’esprit de l’open source pour
créer une communauté consacrée à l’étude de ce phénomène 62 . Nous avons pu la tester
dans le cadre de cette étude, en utilisant les articles mis à disposition et en participant
notamment à la liste de diffusion. Celle-ci est toutefois assez peu utilisée.
- le programme appelé « MIT Open Courseware »63 lancé en septembre 2002 consiste à
mettre à disposition sur internet le matériel de plus de 500 cours (exercices, notes de
cours, lectures, examens blancs, etc.). Celui-ci est accessible librement (il n’est même
pas nécessaire de s’enregistrer) afin que les facultés des autres universités et les
autodidactes puissent s’en inspirer ou les utiliser. Le matériel est placé sous différents
types de licence dont une reprend le principe du “copyleft” des licences open source :
60
Voir par exemple les principes défendus par Martin Fowler www.refactoring.com
En ce qui concerne Celestia, il faut noter à ce sujet que l’équipe de développeur est très stable. Comme
l’explique Chris Laurel: « Early in the life of Celestia, one developer left due to an apparent personality conflict.
[..] Other than that, no developers have left permanently. » (questionnaire en annexe).
62
Comme la page principale le précise: “In the spirit of free and open source software (F/OSS), we are
attempting to establish a community in which information will be freely exchanged, so that we may further the
understanding of open source and its implications outside the realm of software development. »
63
http://ocw.mit.edu/index.html
61
31
“The licensor permits others to distribute original or derivative works, but only under
a license identical to the one that governs the licensor's work.”64
La théorie du KM permet-elle de comprendre ce succès ?
Au-delà de ces deux initiatives, on constate d’une manière plus générale l’existence de
certaines approches du Knowledge Management compatibles avec la pratique de l’open
source. C’est le cas par exemple de la « distributed approach to Knowledge Management
(DKM) » présentée par M.Bonifacio et A.Molani65 . Selon cette perspective, il faut cesser de
considérer la connaissance comme une information explicitée, codifiée, pouvant être
transmise à une personne sous la forme d’un document. . La standardisation n’est dès lors plus
un but en soi. La connaissance doit être considérée sous l’angle de la diversité, et cette
diversité devient la base d’un programme de ge stion des connaissances : « DKM assumes a
perspective that views knowledge as a distributed matter that should be organized
accordingly : heterogeneity is an opportunity instead of a limit ». C’est bien ce que nous
avons constaté tout au long de notre étude : les moyens principaux de communication de Zope
et Celestia sont respectivement des listes de distribution et des forums dans lesquels des
milliers de messages s’échangent sans respecter aucun formalisme fixé a priori.
La notion de « community of practice » (CoP) a également été introduite par Etienne Wenger
pour exprimer l’idée selon laquelle la connaissance se partage au mieux dans des milieux
informels et liés à une pratique sociale. Pour cet auteur, gérer la connaissance revient à donner
à cette manière spontanée de partager la connaissance une place centrale. En parlant de ces
CoP, il écrit ainsi : “Organizations are already full of them. So what is new here? Why even
pay attention? Well, what is new is the need for organizations to become more intentional and
systematic about "managing" knowledge, and therefore the need to give these age-old
structures a new, central role in running a business.”66
En permettant à cette culture du partage informel de s’exprimer pleinement grâce à la mise en
place des outils adéquats, l’open source a su faire face à des conditions extrêmes qui sont de
plus en plus souvent celles des entreprises 67 .
64
http://ocw.mit.edu/OcwWeb/Global/terms -of-use.htm#ocw-cc
Voir p.ex. Bonifacio et al., 2003 d’où est tirée la citation suivante.
66
http://www.ewenger.com/ewthemes.html
67
En effet, comme l’exprime Diane Morello (2002): « The 21st-century enterprise is starting to take shape. The
enterprise will be agile, it will be virtual, it will be resilient. [...] Being virtual, it will have people working
seamlessly across time zones, distances, organizations and business boundaries. ».
65
32
Bibliographie
Livres et articles68
Bonifacio Matteo et al., The Richness of Diversity in Knowledge Creation: An
Interdisciplinary Overview, University of Trento, Italy, J.UCS - The Journal of Universal
Computer Science vol.9, 2003
http://www.jucs.org/jucs_9_6/the_richness_of_diversity/paper.pdf
Bouvard, P. et al., Le Knowledge Management Vade mecum, éditions ems management et
société, Collection Pratiques d’Entreprises, Colombelles, 2002
Drakos N., Is Open-Source Content Management a Viable Option?, Research Note, Gartner
Group, 2002.
*Edwards, Kasper, Epistemic Communities, Situated Learning and Open Source Software,
Technical University of Denmark, juillet 2001
*Faraj S. et al., The Web of Knowledge: An Investigation of Knowledge Exchange in
Networks of Practice, University of Maryland, Florida State University, 2001
Godfrey, Michael W. & Tu, Quiang, Evolution in Open Source Software: A Case Study,
Department
of
Computer
Science,
University
of
Waterloo,
2000
(http://plg.uwaterloo.ca/~migod/papers/icsm00.pdf)
**Kuwabara, Ko, Linux: A Bazaar at the Edge of Chaos, First Monday, volume 5, number 3
(March 2000)
*Krishnamurthy, Sandeep, Cave or Community? An Empirical Examination of 100 Mature
Open Source Projects, University of Washington, mai 2002
*Lakhani, Karim & von Hippel, Eric, How Open Source Software Works: Free User to
User Assistance, MIT Sloan School of Management, juin 2002
*Lanzara G.F. et al., The Knowledge Ecology of Open-Source Software Projects, Université
de Bologne, Preliminary Draft presented at the 19th EGOS Colloquium, Juillet 2003
*Madanmohan, T.R. & Siddhesh Navelkar, Roles and Knowledge Management in Online
Technology Communities: An Ethnography Study, Indian Institute of ManagementBangalore, juin 2002
Markus, M. Lynne et al., What Makes a Virtual Organization Work ?, Sloan Management
Review, Fall 2000, Vol.42 Issue 1, p.13
68 Les articles signalés par * et ** peuvent être téléchargés respectivement sur les sites :
http://opensource.mit.edu/online_papers.php et http://www.firstmonday.dk
33
Mockus, Audris & Roy T. Fielding & James Herbsleb, Two Case Studies of Open Source
Software
Development:
Apache
and
Mozilla,
Bell
Labs,
2001
(http://www.research.avayalabs.com/techreport/ALR-2002-003-paper.pdf)
Morello Diane , The Blueprint for the Resilient Virtual Organization, site du Gartner Group,
31 January 2002
Morten T. et al., What’s your strategy for managing knowledge? , Harvard Business Review,
March-April 1999
*Narduzzo, Alessandro & Alessandro Rossi, Modularity in Action: GNU/Linux and
Free/Open Source Software Development Model Unleashed, University of Bologna,
University of Trento, Mai 2003
Nonaka I. et al., SECI, Ba and Leadership: a Unified Model of Dynamic Knowledge
Creation, LRP long range planning vol.33, Elsevier Science Ltd 2000
*Nuvolari, Alessandro, Open Source Software Development: Some Historical Perspectives,
Eindhoven
University
of
Technology,
Janvier
2003
*Orlikowski, Wanda, Knowing in Practice: Enacting a Collective Capability in Distributed
Organizing, MIT Sloan School of Management, mai 2002
Parlby D., Knowledge Management Research Report 2000, KPMG Consulting, 2000.
**Raymond, Eric S., The Cathedral and the Bazaar, First Monday, Vol.3 No.3, March 1998
*Rothfuss, Gregor J, A Framework for Open Source Projects, University of Zurich,
novembre 2002
Schütt Peter, The post-Nonaka Knowledge Management, IBM Deutschland GmbH,
Stuttgart, Germany, J.UCS - The Journal of Universal Computer Science vol9, 2003
http://www.jucs.org/jucs_9_6/the_post_nonaka_knowledge/paper.pdf
**Tuomi, Ilkka, Internet, Innovation, and Open Source: Actors in the Network, First
Monday, volume 6, number 1 (January 2001)
*Zwang W. et al., Peripheral Members in Online Communities, Boston University, 2001
Meissonier R., Organisation virtuelle : conceptualisation, ingénierie et pratiques, Thèse de
Doctorat, IAE Aix-en-Provence, 2000.
(http://tel.ccsd.cnrs.fr/documents/archives0/00/00/25/16/tel-00002516-00/tel-00002516.pdf)
34
Sites internet mentionnés
Gestion des connaissances :
« Can Knowledge be Distributed ?», projet de recherche financé par le "US National Science
Foundation"
voir http://alexia.lis.uiuc.edu/~haythorn/DK_overview.html et
http://www3.isrl.uiuc.edu/~dlinderm/cilbuilder/out.php?cilid=78
« Ten Principles of Knowledge Management », Thomas H.Davenport, PhD,
www.mccombs.utexas.edu/kman/kmprin.htm
Open source en général :
Open source: Rebels at the gate By Mike Ricciuti Staff Writer, CNET News.com October 14,
2002 http://news.com.com/2009-1001-961354.html
Définition officielle de l’open source: the Open Source Definition, Version 1.9
http://www.opensource.org/docs/definition.php
en français: http://www.boson2x.org/article.php3?id_article=39
Licences compatibles avec la GNU General Public Licence (GPL)
http://www.gnu.org/philosophy/license- list.html
McKinlay, Extreme Programming and Open Source Software, 2000
www.advogato.org/article/202.html
The Rules and Practices of Extreme Programming
http://www.extremeprogramming.org/rules.html
Site de type "blog" consacté aux actualités relatives aux nouvelles technologies et à l'open
source
http://slashdot.org
Plateformes pour le développement de projets open-source
http://sourceforge.net
http://freshmeat.net
Projet Zope :
Homepage du projet
http://www.zope.org pour la communauté et http://dev.zope.org pour le développement
Site de la communauté francophone
www.zopera.org
Introduction to the Fishbowl Process
http://dev.zope.org/DevHome/Fishbowl/index.html/Introduction.html
35
Sur les étapes voir aussi:
http://dev.zope.org/Wikis/DevSite/Proposals/ProposalStates
An Interview with Paul Everitt and Ken Manheimer of Digital Creations, publishers of Zope,
March 2001, Daniel Chudnov, oss4lib
(http://www.serverwatch.com/news/article.php/10824_1123551_2)
Digital Creations, Steve Litt, June 1999 Troubleshooting Professional Magazine: More
Heroes, and a Trip to Linux Expo
http://www.troubleshooters.com/tpromag/199906/_digcreate.htm
Zope: sur la décision de devenir open-source:
http://www.zope.org/Members/paul/BusinessDecision
Zope : nombre de serveurs Zope visibles sur internet
http://www.netcraft.com/Survey/Reports/
Projet Celestia :
Homepage du projet
http://www.shatters.net/celestia
L'utilisation de Celestia par la nasa pour un site éducatif:
http://learn.arc.nasa.gov/planets/
Site du projet “Open Universe” abandonné au profit du projet Celestia:
http://www.openuniverse.org/
L'open-source appliqué à d'autres domaines :
Plateforme pour faciliter la création d'entreprises virtuelles
http://www.openadaptor.org/
Massachusetts Institute of Technology (MIT) :
Open Courseware http://ocw.mit.edu/index.html
Free/Open Source Research Community http://opensource.mit.edu
Une encyclopédie basée sur la philosophie et les outils de l'open-source
http://www.wikipedia.org/
36
Annexes :
Bref historique de l’open source
Avant 1980 : Dans les universités, les chercheurs qui développent des programmes
informatiques échangent librement leur code source. Cette manière de procéder facilite
l’apprentissage, l’amélioration du code et l’intégration de systèmes hétérogènes (Tuomi
2001).
Début des années 80 : AT&T commence à vendre des licences pour le système d’exploitation
Unix. Son code source ne peut plus être vu et modifié librement. De plus, l’industrie du
logiciel grandit aux Etats-Unis, s’accompagnant d’un durcissement de la protection légale sur
les programmes informatiques dont le coût de copie est pratiquement nul. Le copyright est
ambigu : d’un côté, en donnant des garanties à l’auteur d’un programme, il tend à faciliter
l’innovation et le développement. De l’autre, il dresse une nouvelle barrière entre les
développeurs.
1984 : En réaction à ces mesures qui rendent le code source inaccessible et afin de retrouver
les conditions de développement qu’il a connu auparavant, Richard M. Stallman, alors
programmeur au MIT, fonde la Free Software Foundation (FSF). Le but premier est de
construire un système d’exploitation (OS) libre qui servira de base au développement
d’autres logiciels libres. Par opposition à Unix, dont le code est désormais fermé, cet OS est
appelé GNU, acronyme récursif de « GNU is Not Unix ».
1989 : la FSF crée la GNU General Public Licence (GNU GPL ou plus simplement GPL) qui
retourne les armes du copyright contre lui en inventant un « copyleft » : le code d’un
programme protégé par ce type de licence sera toujours librement disponible et modifiable.
1991 : Alors qu’en sept ans beaucoup de programmes ont été développés pour le système
d’exploitation GNU, la FSF ne parvient toujours pas à obtenir une version fonctionnelle de
l’élément de base indispensable, le noyau (kernel). C’est dans ce contexte que Linus Torvald,
étudiant à l’Université d’Helsinki, va ouvrir de nouvelles perspectives en mettant à disposition
(sous licence GPL) son travail indépendant sur un OS libre. Sur cette base, un grand nombre
de développeurs participent au développement d’un nouveau noyau, baptisé « Linux »
(contraction de Linus et Unix). Le système d’exploitation dans son ensemble est renommé
GNU/Linux, bien qu’il soit plus souvent connu aujourd’hui sous le simple nom de Linux.
1994 : Sortie de (GNU/)Linux 1.0. Dans le développement open-source, la version 1.0 indique
la première version relativement stable et fonctionnelle (bien que très limitée) d’un logiciel.
La popularité de ce système d’exploitation libre continue à s’accroître.
1997-1998 : Le succès du mouvement open-source et son potentiel prometteur sont de mieux
en mieux reconnus :
- (mai 1997-fév 1998) Eric Raymond, programmeur engagé dans des projets open-source,
donne une conférence intitulée « The Cathedral and the Bazaar », dans laquelle il met en
opposition le modèle de développement traditionnel et celui, innovant et prometteur, de
l’open-source. Souvent vu comme le point de départ de l’étude du « phénomène » opensource, ce texte est beaucoup cité par les auteurs, souvent d’ailleurs pour nuancer ou
37
contredire les thèses avancées par E.Raymond. (P.ex. sur l’aspect novateur du mo uvement
open-source, sur la pertinence du modèle du « bazaar », etc.)
- (31 mars 1998) La mise à disposition du code source de Netscape Navigator (en réaction à
sa perte de parts de marché) est vue à la fois comme une opportunité et une mise à l’épreuve
de grande échelle pour le modèle de développement open-source par E.Raymond (1998).
C’est le début du projet Mozilla, basé sur ce code source.
- Les acteurs principaux du monde de l’informatique (IBM, HP, Sun Microsystems, Oracle,
…), tiennent compte de l’existence des logiciels libres dans leurs stratégies. Certains produits
open-source sont inclus et/ou supportés, le code de certains produits est ouvert et des
développeurs sont engagés pour participer à des projets open-source ciblés. En novembre
1998, deux mémos « confidentiels » (connus sous le nom de « Halloween documents »)
présentant la stratégie de Microsoft face aux logiciels libres sont diffusés sur internet et dans
la presse. Pour la communauté open-source, cela représente une certaine reconnaissance de la
part de l’ « ennemi » Microsoft: en effet, le logiciel libre y est vu comme un concurrent
sérieux.
L’open-source aujourd’hui
On peut illustrer le succès que rencontre le mouvement open-source aujourd’hui, à partir de
quelques exemples:
• Qualité des produits open-source :
La qualité des produits open-source est aujourd’hui largement reconnue et, même sans
véritable promotion, certains logiciels libres sont devenus des concurrents sérieux des
logiciels propriétaires. Apache a par exemple rapidement dominé le marché des serveurs web.
Il possède depuis quelques années plus de 50% des parts de marché 69 :
Parts de marché
69
Statistique sur plus de 40 millions de sites accessibles sur internet, tiré de
http://news.netcraft.com/archives/web_server_survey.html
38
•
Quantité de projets open-source
Le site SourceForge.net, dont le but est de fournir une plate-forme centralisée et un cadre
commun pour la gestion de projets open-source héberge plus de 60’000 projets open-source,
dont 9000 sont qualifiés de « stable » ou « mature ». Plus de 600'000 utilisateurs se sont
inscrits sur SourceForge.
•
Importance de la communauté open-source
Créé en 1997, le site Slashdot.org présente des informations liées à la technologie en général
et laisse une large place aux actualités de l’open-source. Comme les internautes sont autorisés
à publier des informations sur ce site (pour autant que l’article soit accepté), Slashdot est
utilisé par les manager de projets open-source qui désirent attirer de nouveaux participants.
Une large audience est en effet garantie : chaque « news » postée reçoit des centaines, voire
des milliers de commentaires de la part des interna utes. Lorsqu’un site est mis en évidence,
l’afflux de visiteur est parfois tellement important qu’il provoque un déni de service sur le site
en question (on dit alors d’un tel site qu’il est « slashdotted »).
•
Influence sur les entreprises
Les entreprises continuent à voir dans l’open-source un phénomène avec lequel il faut
désormais compter, parfois comme une menace, parfois comme une opportunité. Parmi de
nombreux autres, citons l’exemple de Novell, qui a annoncé cette année que Netware 7.0
fonctionnera sous Linux, et que les produits open-source Apache, MySql et Perl seront
intégrés.
•
Etude de l’open-source
Ce domaine semble également connaître un succès grandissant : par exemple, le site
opensource.mit.edu s’inspire de l’esprit open-source en proposant un espace pour mettre à
disposition des articles à propos du développement open-source et pour en discuter (dans des
listes de distribution). Ces trois dernières années, une centaines d’articles ont été mis sur le
site et des centaines de personnes se sont inscrites aux listes de distribution.
Malgré tous ces signes de succès, il faut noter toutefois que le grand public n’est souvent pas
conscient de l’existence même du mouvement open-source. Pour l’instant, les produits libres
ne rivalisent vraiment avec les logiciels propriétaires que dans les entreprises.
39
8 questions à Chris Laurel, initiateur et "dictateur bénévole pour la vie"
du projet Celestia
1) Je crois que vous avez commencé Celestia seul. Puis d’autres développeurs vous ont
rejoints et la communauté s’est agrandie. Comment avez-vous géré cette évolution ? Etait-ce
facile de permettre à d’autres personnes de contribuer au développement de Celestia ? Avezvous consacrer des efforts à organiser le projet en conséquence ?
I did indeed start Celestia myself. I found out about SourceForge within
a month of the first public announcement of Celestia. I immediately started a SourceForge
project for Celestia and checked in all the source code to the SourceForge CVS
servers. Once that was done, allowing other developers to help out was
simply a matter of adding their SourceForge accounts to the developers'
list. I can't say enough good things about SourceForge; in addition to
CVS for source code management, the developers also interact through a
SourceForge hosted mailing list.
The Celestia user community is centered around the phpBB-based forum on
shatters.net, a server I run from my house.
2) Maintenant que Celestia est un succès et que beaucoup de personnes contribuent au projet,
est-ce difficile de gérer la connaissance autour de celui-ci ? L’amélioration de la
communication dans le projet vous demande-t-elle par exemple beaucoup d’efforts? Avezvous mis en place des processus ou des outils dans ce but ?
There's not a lot of process in place for Celestia development. The
number of active developers is small enough that we've been able to get by
without a lot of protocol, and basic rules of politeness have sufficed.
In general, the developers make a point of posting to the developers list
about any changes. If it's a simple change, a posting is made after a
checkin to notify everyone of the change. If a change is more
substantial, there's usually some discussion on the developers list before
any code is committed to CVS.
3) Avez-vous ressenti des difficultés à partager vos connaissances avec les autres
développeurs, notamment par le fait que vous ne les connaissiez pas, ou que vous ne pouviez
pas communiquer en personne ?
The fact that I haven't gotten to actually meet the other developers has
not been a barrier to collaboration. Also, since I've exchanged a fair
amount of personal email with some of the other developers; getting to
know them--even if it's just via email--actually makes collaboration on
the development of Celestia easier.
4) La mailing-list est utilisée pour des sujets techniques, mais seuls quelques mails sont
envoyés chaque semaine. Quelle différence voyez-vous entre ce moyen de communication et le
forum “development” (qui reçoit environ 8 messages par jour)?
40
The discussion in the mailing list is typically more technical than the
forum discussion, and we tend to spend a lot more time talking about
implementation details there. Often times a new feature idea will be
suggested in the development forum, then discusson of how to actually code
it will occur on the mailing list.
5) Que pensez-vous du canal irc de Celestia, qui vient juste d’être ouvert mais qui ne reçoit
pour l’instant que de rare visites? Ce nouveau moyen de communication est-ce selon vous
utile?
Yes, I think there's a place for the IRC channel. I want to promote the
IRC channel on the main Celestia page--perhaps then we'll get a critical
mass of users there.
6) Avez-vous déjà fait face au départ d’un “core” développeur, et le cas échéant cela a-t-il
représenté une perte de connaissances au sujet de Celestia ?
Early in the life of Celestia, one developer left due to an apparent
personality conflict. He hadn't been working on Celestia too long,
however, so there was no great knowledge lost. Other than that, no
developers have left permanently.
7) La documentation du projet semble s’étoffer depuis peu. Pensez-vous que votre projet est
entre en ce moment dans une nouvelle phase plus mature ?
I think that it's maturing gradually; I haven't noticed any sort of phase
shift however.
8) A votre avis, que se passerait-il si vous n’aviez plus le temps de contribuer au projet vousmême (à cause d’un changement professionnel par exemple) ?
Well, I'd be very upset :) And, I think that the project would suffer a
great deal. But, I have no illusions that I'm irreplaceable--there's
enough interest in Celestia that someone (likely Christophe) would take
over leadership of the project.
41
Etude quantitative de trois listes de distribution de Zope (mois de juillet)
Point de vue : les threads (chiffres arrondis)
Nom de la
Nombre de Nombre de
liste
messages
threads
Zope(-User)
Zope-Dev
ZopeCoders70
1300
230
140
500
70
30
% de threads
orphelins
Moyenne de
msg par thread
Nb maximum
de msg pour
un thread
40%
40%
30%
2,4
3,5
4,4
17
49
21
Point de vue : les auteurs (chiffres arrondis)
Nom de la Nombre
Nombre
% de
liste
total
d’inscrits qui
membres
d’inscrits à reçoivent les
actifs
la liste
messages
durant le
individuellement mois
Zope3000
User
Zope-Dev 1000
Zope80
Coders
Nombre
d’auteurs
(actifs
durant le
mois)
% d’auteurs
actifs
n’ayant
envoyé
qu’un
message
% d’auteurs
actifs ayant
envoyé plus
de 10 mails
60%
10%
300
40%
10%
70%
90%
6%
40%
60
30
50%
40%
10%
Moins de
1%
Définitions des outils collaboratifs cités dans ce mémoire
Ces définitions proviennent de Wikipédia, l' « encyclopédie libre ». (http://fr.wikipedia.org/)
Blog
Abréviation de weblog, un blog est un site web qui constitue un journal en ligne tenu
généralement par une seule personne.
À l'origine il s'agissait de mettre des liens vers des pages web que l'auteur a jugé
intéressantes, accompagnés de commentaires concernant ces pages.
Par la suite on a aussi employé ce mot pour désigner un journal intime (pas vraiment
intime) ou à un journal de bord.
70
On a pas tenu compte des messages envoyés par « zope-tests » (les « CVS checkin messages ») dans ces
statistiques .
42
On retrouve donc à intervalles irréguliers les impressions et sentiments de l'auteur du
blog sur des sujets variés.
Un exemple de célèbre weblog, tenu par plusieurs personnes, est Slashdot, où chaque
article renvoie vers un article publié sur le web présentant une innovation
informatique.
Bugzilla
Bugzilla is a general-purpose computer bug-tracking tool developed by, and used by,
the Mozilla team.
Being web based and open source has made it the bug tracking tool of choice for many
open source projects, and quite a few commercial ones.
Bugzilla relies on an installed HTTP server (such as Apache ) and a database (usually
MySQL) to perform its work. Bugs can be submitted by anybody, and will be assigned
to a particular developer. Various status updates for each bug are allowed, together
with user notes and bug examples.
The notion of a bug in bugzilla is very general; for instance, it can be used to track
feature requests as well.
Concurrent Versions System (CVS)
The Concurrent Versions System (CVS) is a version control system: it keeps track of
all changes to a (software) project and allows several distant developers to collaborate.
It is popular in the free software world and is itself released under the GNU General
Public License.
Forum
Site internet d'échange de messages. Publication message par message, instantanée ou
différée, durable, par plusieurs auteurs. Dans certains forums à inscription, les
messages sont modifiables par leurs auteurs.
Internet Relay Chat (IRC)
L'Internet Relay Chat ou IRC est un protocole de communication sur Internet.
Il a été décrit initialement dans le RFC 1459 par J. Oikarinen et D. Reed, puis révisé
dans les RFC 2810 à 2813.
Le protocole de communication décrit un réseau réparti sur plusieurs serveurs qui,
connectés, forment un réseau. Ce protocole étant public, des clients existent sur toutes
les plates- formes.
Il existe différents réseaux, dont les plus connus sont IrcNET, EfNET, DalNET,
Undernet, FreeNode. Ces réseaux sont le plus souvent libres d'utilisation et gratuits.
Mailing lists
Les listes de diffusion (Mailing lists en Anglais) sont une utilisation spécifique du
courrier électronique qui permet la diffusion d'information à un grand nombre
d'utilisateurs possédant une adresse mèl. Un logiciel est installé sur un ordinateur qui
traite les courriels entrants (qu'il reçoit), et, selon leur contenu, soit effectue des
43
actions spécifiques, soit (cas général) distribue le message à toutes les personnes
abonnées à cette liste de diffusion.
Content Management System (CMS)
Le terme système de gestion de contenu est la traduction de l'anglais CMS (sigle de
Content Management System).
Les CMS ont les propriétés suivantes :
•
permettre à plusieurs individus de travailler sur un même
document,
•
fournir une chaîne de publication,
•
séparer les opérations de gestion de la forme et du
contenu,
•
permettre de publier (mettre en ligne le contenu),
•
structurer le contenu.
Le dernier point le distingue des logiciels de weblogs (blogues en jargeek) où les
nouvelles sont publiées sous formes de fils de discussions, souvent de manière
chronologique et avec un classement par thèmes. Le plus connu des sites sous ce
modèle est http://www.slashdot.org, ainsi ce type de systèmes est appelé parfois site à
la Slashdot.
Wiki
Un Wiki est un site web dynamique dont tout visiteur peut modifier les pages à
volonté .
Il s'agit d'un concept assez récent, bien que la technologie nécessaire existe depuis
plusieurs années. Le nom Wiki provient de l'hawaïen "WikiWiki" qui signifie vite.
Ward Cunningham, le créateur de Wiki, choisit ce nom pour former un diminutif à
partir de "WikiWikiWeb".
Le principe est simple : il s'agit d'un modèle coopératif de rédaction de documents.
Concrètement, n'importe quel visiteur a le droit de modifier la page qu'il est en train de
lire. Les modifications sont ensuite enregistrées et toutes les versions historiques
pourront être accessibles (comme dans un logiciel de gestion de versions). Ainsi, un
premier auteur va rédiger un article, un second va le compléter, puis un visiteur va
corriger une erreur qu'il aura remarquée en navigant sur le site.
Si Wiki est un concept, il existe de nombreux programmes le mettant en œuvre. Ces
programmes sont appelés des moteurs de Wiki. Chaque moteur pouvant être
personnalisé et installé sur un site web précis afin d'offrir les services d'un site Wiki.
44