|
|
|
|
TUTORIEL ALGO/METHODES |
|
|
|
Comment participer à un projet Open Source |
Licences, connaissances préalables, règles de communauté : les différents aspects à maîtriser pour pénétrer le cercle des développeurs d'un projet ouvert.
(01/04/2005) |
|
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.
|
Forum |
|
Réagissez
dans les forums
de JDN Développeurs
|
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. |
|
|
|
|
|
Quand achetez-vous le plus en ligne ? |
|
|
|
|
|
|
|
|