Comment participer à un projet Open Source

Nombreux sont les développeurs qui souhaiteraient devenir contributeur d’un projet Open Source, et ce pour des raisons très variées : intérêt pour un projet donné, envie de travailler plus librement, désir d’une reconnaissance communautaire…

Le problème ? Au fur et à mesure que l’on s’approche du coeur du projet, celui-ci est (paradoxalement) de moins en moins ouvert : seuls quelques privilégiés ont accès à la racine du projet, et ceux qui voudraient participer activement se voient le plus souvent redirigés vers des tâches moins importantes.

En abordant le monde de l’Open Source, il faut garder certaines idées en tête : ce monde, qui se veut ouvert et public, reste réservé à une certaine élite quand il s’agit de la production d’outils de qualité, c’est-à-dire capable de rivaliser avec des solutions commerciales. Le degré d’ouverture d’un projet est généralement inversement proportionnel au succès de celui-ci : plus un projet est populaire, moins un nouveau venu aura de chance d’y faire ce qu’il souhaite. À l’inverse, donc, un jeune projet est relativement plus souple dans l’acceptation de nouveaux collaborateurs.

Nous allons ici lister quelques-uns des points à considérer pour construire son entrée dans le monde semi-ouvert du développement Open Source.

Connaître le monde de l’Open-Source
Aborder le développement Open Source ne peut pas se faire sur un coup de tête. Sans tomber dans l’extrémisme philosophique, il vaut mieux toucher les eaux du logiciel libre en sachant à quoi s’attendre, à commencer par la vision qu’en donnent les leaders d’opinion. La lecture de certains articles, comme The Cathedral and The Bazaar ou The Open Source Definition peuvent aider à se faire une idée de ce type de développement autre que « j’ai juste envie de programmer avec d’autres personnes que mes collègues ».

Au delà des considérations philosophiques liées au mouvement Open Source, il peut être très utile de comprendre les systèmes de licence disponibles, en particulier la licence utilisée par le projet visé. Les règles régissant le développement libre peuvent effectivement diverger de manière très réelle d’une licence à l’autre, et il est nécessaire d’y voir plus qu’un fichier stipulant que quiconque peut faire ce qu’il veut du code source fournis. Tous les projets ne fonctionnent pas en vertu de la GPL : la liste des licences possibles est vaste, et certains projets peuvent même faire appel à plusieurs licences selon les utilisations…

Un projet Open Source ne consiste pas seulement en un joyeux groupement de développeurs utopistes : chaque projet tente par sa licence de réguler tant le code source (dans sa provenance comme son utilisation) que la distribution du logiciel et/ou de son code, les règles qui s’appliquent pour les projets dérivés potentiels, la paternité du code…

Connaître le projet
Cela peut sembler une évidence, mais il ne faut pas se proposer d’aider un projet à mûrir par seul amour de celui-ci. Les collaborateurs d’un projet Open Source doivent non seulement être des utilisateurs avancés, mais également avoir déjà fouillé dans les sources (disponibles publiquement), et avoir « tripatouillé le code » pour le réviser.

Un projet Open Source pêche le plus souvent par sa documentation, et savoir quelle fonction fait quoi peut devenir une tâche très laborieuse, d’autant que les contributeurs n’ont que peu de temps pour répondre aux questions d’un nouveau venu. Avant même d’imaginer pouvoir participer officiellement à un projet ouvert, il faudra avoir, de son côté et à l’aide des ressources disponibles, avoir fait « ses devoirs » et connaître le source de bout en bout, voire de savoir où il pêche et où il pourrait être amélioré.

L’intérêt du projet pour vous réside dans votre connaissance de celui-ci, et votre capacité opérationnelle face à un problème, tout autant que vos connaissances existantes en matière de développement. Votre intérêt tout comme celui du projet résident donc dans votre auto-éducation.

Connaître la communauté
Plus qu’une liste de fichiers sources, un projet ouvert se définit grâce à la communauté qu’il parvient à réunir. Utilisateurs et développeurs font réellement le projet, chaque groupe dépendant en quelque sorte de l’autre pour avancer. Sans utilisateurs, les développeurs disposent de moins de suggestions et de rapports de bugs ; sans développeurs, les utilisateurs n’ont plus de mises à jour, et le projet risque la mort (en fonction de la licence qui régit le code).

Un projet Open Source s’approche donc également par la communauté : inutile d’écrire aux développeurs pour avoir une place à leur côté, il vaudra mieux s’inscrire sur la mailing-list du projet pour se faire connaître, et accepter, par les membres de la communauté. Pour pousser la volonté un peu plus loin, une personne cherchant à intégrer l’équipe de développeurs d’un projet Open Source prouvera sa valeur de membre potentiel en répondant aux questions des utilisateurs et en faisant montre de sa capacité à réagir à leurs attentes. Un développeur est autant au service de son projet qu’il l’est à celui des utilisateurs.

Commencer petit
Si vous ne l’avez pas compris à la lecture de cet article, l’humilité est de rigueur lorsque l’on souhaite participer activement à l’évolution d’un projet donné. La meilleure approche reste donc de se mettre au service de la communauté, et d’évoluer ensuite.

Selon les projets, les possibilités peuvent être nombreuses, toujours en partant de ce qu’il manque au projet (où à ses utilisateurs, ce qui revient au même) : assistance via un forum/une mailing-list, rédaction d’une documentation complète et à jour, envoi de rapports de bugs (idéalement avec proposition d’une solution), création d’extension/de plug-ins…

Le tout est de chercher activement (et publiquement) à améliorer le projet. Rien ne peut garantir que cela aidera le candidat à intégrer le cercle des développeurs principaux, mais c’est certainement un point en plus en sa faveur lorsqu’une telle ouverture se présentera ,vive la collaboration 🙂

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s