Temps de lecture 9 min
« Beaucoup d’utilisateurs étaient vraiment sympathiques, ils me remerciaient et m’encourageaient ! À chaque fois, cela ensoleillait toute ma journée… »
Ainsi s’exprime Laurent Cohen dans ce court mais enthousiaste témoignage d’un développeur de logiciel libre[1].
Et puis, loin de moi l’idée d’idéaliser les choses[2], mais pas une fois il n’est question d’argent. Parce qu’il est clair que, quand bien même de nombreux projets libres aient fortement besoin de soutiens financiers, ce n’est ni une fin en soi ni la principale source de motivation. La vérité est ailleurs, n’en déplaisent à certains…
Que signifie être un développeur Open Source ? Une histoire vécue de l’intérieur
What does it mean to be an Open Source author ? A story from the inside
Laurent Cohen – 23 juin 2008 – JPPF Blog
J’entends parler tous les jours des projets Open Source, du modèle économique de l’Open Source, de ce que cela signifie en terme de liberté, de choix, de risques, d’investissements, etc. Ce dont je n’entends pas souvent parler, c’est à quoi ressemble la vie de ceux qui contribuent réellement et vouent une partie de leur vie à l’Open Source.
Je ne prétends pas comprendre comment cela se passe pour la plupart des contributeurs ou dire qu’il y a des modèles à suivre. Mais je crois sincèrement qu’il y a des histoires qui valent le coup d’être racontées. Voici la mienne, je vous laisse l’apprécier… ou pas :)
Tout d’abord, le projet s’appelle JPPF (Java Parallel Processing Framework) et c’est tout ce que j’en dirai. Cet article ne parle pas du projet lui-même, mais de ce qui lui est particulier et des conséquences que cela a sur la vie de gens, y compris la mienne.
La Génèse
Il était une fois un geek, avec une idée et un bout de code. Il se disait, « Hé, ça a l’air chouette, pourquoi est-ce que je ne mettrais pas ça à disposition des autres librement/gratuitement ? » (NdT : toujours la même ambigüité sur le mot « free », je vous laisse choisir !)
C’est une de ces idées farfelues qui vous viennent l’esprit sans raison.
Ainsi, le projet était né, et dûment enregistré sur Sourceforge. Cela semblait déjà fort passionnant à l’époque, et vous savez quoi ? Après trois ans de travail parfois harassant, c’est plus passionnant que jamais.
Le travail en solitaire
Longtemps, il n’y eut qu’un seul gars dessus, travaillant seul, faisant ce qu’il avait envie de faire, un électron libre qui n’avait qu’une vague idée de son objectif et une vision bien à lui de ce qu’était le temps libre.
C’était une époque où les heures étaient longues, les réveils matinaux, les couchers tardifs, les weekends qui passaient sans que je m’en aperçoive, les cigarettes et les cafés nombreux. Mais depuis j’ai élargi mon horizon, et je bois aussi du thé au jasmin.
Enfin voilà, c’était moi. J’adorais coder, j’aime toujours ça et j’aimerai toujours.
De 0 à plus d’1 utilisateur
Puis vint l’époque du codage, de la mise à disposition, du codage, de la mise à disposition. Le projet prenait un peu d’ampleur, et une petite communauté commençait à l’utiliser. Il était beaucoup question de « mais pourquoi ça ne marche pas dans ce cas-là ? », « pourquoi n’y a-t-il pas cette fonctionnalité ? » ou « comment pourrais-je faire ceci et cela ? » etc. Vous voyez le genre…
Et là je me suis dit : « Mon dieu, il va falloir interagir avec d’autres gars ! Comment m’y prendre ? »
Ce fut le début d’une période (brève, heureusement) d’intense introspection existentielle. Quel était le but de ce projet ? Pourquoi l’avais-je mis en Open Source ? Je résolvais le problème en décidant unilatéralement qu’il serait libre, pour tous ceux qui seraient suffisamment intéressés pour s’y pencher dessus. J’ai aussi décidé qu’il serait de ma responsabilité d’aider ces braves gens à utiliser ce projet, et tant qu’à faire, que ce soit une expérience positive pour eux.
Des utilisateurs qui participent
J’ai donc commencé à communiquer avec les autres, et j’ai vraiment été bluffé. Ces gens sont formidables ! Je ne peux pas vous dire à quel point ils ont été importants pour le projet. Voici, brièvement, en quoi :
- Ils viennent de tous les coins de la planète, c’est cool non ? J’ai eu des questions, des commentaires et des critiques des cinq continents ;
- Chaque question posée correspondait à une fonctionnalité potentielle, et est souvent devenue une fonctionnalité réelle ;
- Chaque bug découvert a participé à l’amélioration du projet ;
- La plupart des demandes d’éclaircissement sont devenues des rubriques de la documentation ;
- Beaucoup d’utilisateurs étaient vraiment sympathiques, ils me remerciaient et m’encourageaient ! À chaque fois, cela ensoleillait toute ma journée.
Très chers utilisateurs, vous êtes l’unique raison pour laquelle ce projet existe encore. Si ce projet a eu une importance quelconque dans votre vie, n’ayez aucun doute qu’il en a eu une énorme dans la mienne. Je vous aime.
D’un gars à une équipe
Un autre des effets merveilleux de l’interaction avec les utilisateurs, c’est que certains sautèrent le pas et passèrent de contributeur à membre actif. Je n’étais plus seul sur scène. Je n’étais plus libre de faire tout ce que je voulais et était responsable, non seulement envers moi-même, mais aussi envers chaque membre de l’équipe. Cela a généré du travail supplémentaire : nous avons du mettre en place quelques procédures, partager des idées sur l’architecture, la conception et l’implémentation, la montée en compétence des nouveaux venus etc.
Presque immédiatement, le flot d’idées a influencé ce qu’il était possible de faire avec le projet, pas seulement dans le futur, mais ici et maintenant. Le projet grossissait, en même temps que la vision que nous en avions. En conséquence, l’équipe s’est agrandie, ce qui a généré son lot de problèmes et de questions…
La question du leadership
La notion d’équipe et de communauté est intimement liée à celle du leadership. Qu’est-ce qu’un meneur ? Voici la définition que j’ai employée : « un meneur, c’est quelqu’un qui est capable de pousser les gens à agir en les faisant adhérer à une idée, de telle façon qu’ils seront touchés, émus et inspirés par cette idée ».
Avec cette définition, je dois honnêtement avouer que j’ai connu de nombreux succès mais aussi beaucoup d’échecs. Il y a deux échecs que je n’ai pas encore surmontés :
- J’ai échoué à garder une équipe motivée et inspirée. À l’heure actuelle je suis le seul contributeur actif et je n’ai pas entendu parler des autres depuis des mois. Quelle qu’en soit la raison, je dois l’accepter. Chaque membre de l’équipe aura toujours sa place au sein du projet, et je vous remercie les gars pour tout ce que vous avez fait, je vous remercie mille fois ;
- J’ai échoué à trouver un autre meneur pour le projet. Ou est-ce juste que je n’ai pas réussi à me mettre suffisamment de coté ? En tout cas, je trouve ça effrayant de penser que le projet pourrait tout simplement s’arrêter, si je faisais un accident cérébral, par exemple, qui détruirait mon dernier (et unique) neurone restant.
Présenter une vitrine au monde
Ce projet est hebergé et vit sur le net. Cela veut dire qu’il doit y avoir un site web pour le présenter, expliquer ce qu’il fait, le documenter, aider les utilisateurs etc. Et aussi, pour attirer de nouveaux utilisateurs et fidéliser ceux qui le sont, ce site doit être sexy, confortable et facile à parcourir.
Je suis un développeur, et franchement… pas un concepteur de site web ! Oui, je connais le HTML, CSS et un peu de PHP. Oui, j’ai développé mes propres templates pour les pages qui rendent la maintenance du site plus facile. Mais comment cela ce fait-il que les différentes versions du site que j’ai pu faire aient toujours été nulles, moches, ennuyeuses voire plus souvent les trois en à la fois ? Bah… Je n’ai définitivement pas de talent artistique, et j’ai besoin d’une aide professionnelle dans ce domaine.
Je n’ai pas eu à chercher très loin : ma sœur est conceptrice graphique de profession et en quelques heures elle m’a conçu un site à des années lumière de ce que j’aurais pu faire en plusieurs semaines (voire mois, voire années… je n’ai tout simplement pas ce talent). Isa : merci pour ta générosité et pour avoir partagé ton talent !
Promotion, marketing, relations publiques, publication
Ok ! Le projet est vivant, il a un beau site web, beaucoup de documentations et des forums d’aide. Mais à quoi bon, si personne n’est au courant ?
C’est là que le concept de promotion d’un projet entre en jeu. Comment est-ce que cela marche ? Je ne pense pas que cela soit un secret : on doit savoir quel contenu les rédacteurs aiment lire. Cela prend du temps, il faut faire des essais, des erreurs, trouver les bons canaux de communication, et parfois … être courageux et audacieux. Vous ne saurez jamais si la grande nouvelle sur votre projet peut être publiée, tant que vous ne l’aurez pas soumise à ceux dont le métier est de publier ce genre de chose.
Voici quelques-uns des canaux de communications avec lesquels j’ai eu du succès :
- Les magazines en ligne ;
- Les blogs ;
- Les sites qui traitent de technologie ;
- Les web-séminaires ;
- Les présentations que j’ai effectuées moi même.
Je ne saurais trop insister sur combien ce travail de promotion permet à un projet de décoller et de faire la différence, et ce à tous les niveaux.
Très chers éditeurs en ligne et journalistes, merci pour le travail épatant que vous faites en écrivant sur les gens, la technologie et l’Open Source. Je vous aime également.
Remerciements
Je tiens à remercier :
- Toi, très cher lecteur, de m’avoir lu jusqu’ici ;
- Tous ceux qui travaillent ou contribuent aux logiciels Open Source. Garder la flamme vivante !
- Tous ceux qui utilisent l’Open Source. Sans vous les gars, il n’y aurait rien à utiliser.
Restez à l’écoute…
Zebulon Zabir
Belle histoire. On a envie de prendre un café (ou un thé au jasmin !) avec le gars. On a aussi envie de partir créer un logiciel libre si on le pouvait.
Quant à la photo de chats, elle est trop trop mignonne !
samuel
Les agressions de la société sont partout (publicité, corruption, hierarchie sociale, …) mais les agresseurs se dissimulent.
La réaction et la résistance à ces agressions est tout aussi discrète, humble et anonyme…
C’est une forme de guerre de fourmis silencieuses…
Ptigrouick
Il n’est ici pas question de guerre. Simplement d’une petite fourmi qui déplace des montagnes 🙂
Kether
Pas de doute, c’est aussi pour ça qu’on aime l’open source. Faute de mieux ( @Zebulon : oui, on aimerait bien savoir coder aussi ;-), j’envoie régulièrement des remerciements et des encouragements aux équipes qui mettent ainsi à disposition des autres le fruit de leur savoir et de leur imagination : comme au premier jour, je continue de rester bluffé par la démarche.
jp willm
Si Laurent Cohen et toutes ces fourmis codeuses savaient comme on les envie de savoir coder pour le libre.
J’explique et installe du libre où je peux et donne gratuitement des cours et des conférences dans les médiathèques du coin.
Jamais l’idée ne me serait venue de jouer au prof. Aller faire des conférences et former les nouveaux c’est avant tout pour remercier ceux qui nous procurent tous ces outils !
ymai
Bonjour
Une petite note discordante, peut-être?
Je suis enseignant et je développe un logiciel à destination des éducateurs dans les écoles.
Les personnes qui l’ont vu fonctionner se sont souvent montrées extrêmement intéressées.
J’ai été invité à en montrer le fonctionnement devant un pannel de directions d’école et j’ai pu organiser une "Install Party" à laquelle pas moins de 40 établissements avaient envoyé un ou deux représentants.
J’ai profité de cette occasion pour glisser un mot indiquant que j’apprécierais toute collaboration pour le développement de ce logiciel libre et téléchargeable gratuitement, voire un petit défraiement sous forme, sans doute, de périodes hors de la classe pour travailler à ce développement. Si 40 écoles (au moins) sont montrent de l’intérêt, il suffit qu’elles s’entendent pour m’offrir un petit quelque chose chacune (c’est administrativement possible dans nos contrées). Le coût serait donc extrêmement réduit.
Conclusions à ce jour:
Je sais que le logiciel est utilisé dans 3 établissements au moins. J’ai donné un coup de main pour l’installation dans deux établissements.
Un établissement n’avait même pas souhaité m’informer de l’utilisation du produit. Je ne l’ai appris que par indiscrétion.
Au niveau de la coopération au développement, j’ai un très bon contact avec une personne, mais qui n’est pas développeuse, dans une école (signalement de bugs, conseils, souhaits,…).
J’ai aussi profité de la rédaction d’un manuel d’installation et d’utilisation que je n’ai jamais eu le temps de rédiger. Ce manuel est encore à compléter mais devra être revu en profondeur pour la prochaine version.
Pendant quelques temps, j’ai eu un contact avec un prof d’un Collège français qui tentait de développer quelque chose autour de mon produit (une sorte de fork). Mais je n’ai plus de nouvelles.
Au niveau défraiement, j’ai reçu un panier sympa de différents produits équitables Oxfam. Ce qui m’a fait très plaisir. Réellement.
Fin de la rubrique défraiement.
Pour l’heure, je jouis donc d’un capital de sympathie extraordinaire et d’un énorme sac contenant les souhaits d’améliorations et d’ajout de fonctionnalités pour la prochaine version.
En fait, tout cela ressemble un peu à l’histoire du développement interrompu de KompoZer dont l’auteur n’a pas pu rentabiliser l’énorme quantité de travail réalisée, ni même trouver de vrais co-developpeurs.
Il jouit toutefois d’un profond respect de la communauté et a souvent reçu des marques de sympathie pour l’excellent travail réalisé.
Reste la satisfaction de savoir que le travail déjà réalise est apprécié et l’impression qu’il ne faudra jamais espérer rentabiliser les centaines d’heures passées devant le clavier. Mais, avec le soutien moral de la Communauté.
Un peu comme si les remerciements -souvent très chaleureux- étaient suffisants pour payer le logiciel libre.
Allez, je m’en retourne coder… Dans deux mois, c’est la rentrée.
philnext
Quelques remarques :
=Le codage ne représente qu’une partie d’un projet, donc les remarques ‘je participerais volontiers mais je ne sais pas coder…’ c’est soit de la méconnaissance de ce qu’est un projet soit de la mauvaise foi.
=Toute ‘rétribution’ ou ‘défraiement’ ou ‘rentabilisation’ d’un projet Open Source est aléatoire doit être considéré comme tel et ne doit pas être le moteur de la création/contribution au projet.
stef
Bonjour,
je débute en programmation (j’ai choisi Ruby, mais je suis aussi intéressé par Java (et Python), et ça me passionne (ça ne fait que 3 ans que j’ai un ordinateur, je suis parti de zéro – quasiment – et apprend tout seul)), effectivement j’aimerais en savoir d’avantage pour créer des programmes, dans cette optique "free".
Et je trépigne d’impatience, j’ai hate d’arriver à un niveau de connaissance suffisant; en attendant je suis interpellé par ta remarque Philnext:
"Le codage ne représente qu’une partie d’un projet, donc les remarques ‘je participerais volontiers mais je ne sais pas coder"…
Comment peut-on participer à un projet?
bclerc
Bonjour,
On peut participer à un projet, sans coder, en testant le logiciel et rapportant précisément les bugs, en aidant à la confection du site ou de tutoriels, en faisant connaitre ce logiciel sur des listes de diffusion proches de sa sphère d’influence …