Créer une communauté de développement


Comment créer et faire vivre une communauté de développement d'un logiciel

Sur cette page nous vous donnons un certain nombre de conseils, à titre indicatif, pour vous aider dans l'animation d'une communauté autour d'un logiciel.

Donner envie

Pour attirer d'autres développeurs et donner envie à différents types de contributeur de vous rejoindre, vous devez soigner la page de présentation de votre projet. Il vous faut :
- dire l'utilité sociale du projet et ce en quoi il apporte une valeur ajoutée sociale;
- dire l'intérêt informatique du projet, c'est-à-dire ce en quoi il représente un défi technologique.

Amorcer le travail collaboratif

Une communauté de logiciel libre fonctionne grâce aux travaux collaboratifs de tous ses membres et une répartition des tâches bien définie. Vous devez :
- annoncer la road-map du développement pour que tout le monde comprenne la direction du logiciel et que chacun sache comment il peut être utile au projet ;
- définir les rôles de chacun en utilisant différents statuts ;
- définir les tâches en fonction des compétences et des attentes de tout le monde ;
- être vous-même très actif pour servir de locomotive au début ;
- être très ouvert aux propositions des membres pour ne pas passer pour un despote, accepter de nouvelles propositions extérieures permet d'augmenter l'adhésion au projet ;
- partir de l'existant plutôt que de pages blanches. Il est plus facile de retravailler du code qui existe déjà que de créer de nouvelles fonctionnalités de toutes pièces ;
- accepter les nouveaux venus avec bonne humeur et gentillesse ("do not bite them" :-) ). Ces derniers, par définition, n'ont pas l'expérience des anciens, et nous sommes tous passés par là. En conséquence :

  • allez à leur rencontre sur le journal des nouveaux utilisateurs. Et souhaitez leur la bienvenue !
  • donnez rapidement les conseils pratiques simples ;
  • n'oubliez pas que le fait de pénétrer pour la première fois dans une communauté organisée fait ressentir les critiques (et les compliments) de manière plus intense. De plus, ils ne comprennent pas nécessairement que votre communauté possède ses propres valeurs et ses propres règles de fonctionnement : ils interprètent la situation par rapport à ce qu'ils connaissent, ce qui peut conduire à des incompréhensions. Aidez-les à dépasser ces barrières.
  • Enfin, présumez que les nouveaux veulent aider votre projet, laissez-leur une chance !

Respecter une gouvernance ouverte

Une communauté repose sur l'adhésion volontaire de plusieurs contributeurs, c'est pourquoi vous devez :
- clairement expliciter la gouvernance du projet (les différents rôles, leurs modalités d'attribution et de changement, les modalités de modification de la gouvernance elle-même)
- respecter à la lettre le principe de transparence - pas de décisions prises à huis clos et entre initiés
- discuter, discuter, toujours discuter - accepter la critique, solliciter les avis, justifier les choix
- régler les conflits de façon ouverte, mesurée et toujours justifiée. Votre objectif doit être d'obtenir un consensus. Votre communauté de doit pas s'épuiser en polémiques. En effet, vous n'êtes pas ici sur un forum de discussion. Tout le monde essaie d'arriver à un consensus sur ce que le logiciel doit faire.

Reconnaître le travail des membres de la communauté

Les motivations à rejoindre une communauté de logiciels libres sont diverses, mais la reconnaissance de son travail par ses pairs est une gratification nécessaire à la bonne cohésion du groupe. Pour cela, il faut :
- mettre en valeur le travail réalisé par les membres, les compliments sont toujours plus bénéfiques que les critiques (même constructives);
- avoir une page de présentation des membres décrivant leurs compétences, leurs motivations ...
- toujours reconnaître la paternité d'un travail, il ne faut surtout pas s'approprier le travail réalisé par quelqu'un d'autre (sous peine de défection voire de poursuite judiciaire)
- déléguer avec confiance les tâches à faire, plus vous déléguerez les tâches, plus les contributeurs auront le sentiment d'utilité et d'appartenance à la communauté.
- laisser les membres présenter le projet dans les conférences, la presse, etc. Vous réalisez un travail collectif. Même si vous êtes le porteur du projet vous n'êtes pas le seul à le faire vivre et à le connaitre.

Faire vivre la communauté

En tant que chef de projet, vous devez animer votre communauté et faire preuves d'initiatives :
- organiser des rencontres virtuelles (en chat IRC par exemple) ou bien réelles. Il n'existe pas de meilleur moyen de souder une communauté que de discuter du projet autour d'une bière ;)
- relancer, relancer, toujours relancer
- souligner les réalisations et les avancées permet de remotiver ses troupes en permanence.
- mettre régulièrement à jour la road-map, pour donner de nouveaux objectifs.

Communiquer fort pour faire venir de nouveaux contributeurs

Vous aurez toujours besoin de plus en plus de monde pour améliorer votre logiciel c'est pourquoi vous devez vous faire connaitre. Vous pouvez parler de votre projet dans tous les cercles qui touchent de près ou de loin votre domaine au travers des listes de discussions ou différents sites Internet.