Se lancer dans l’open source : un témoignage engageant

Classé dans : Libres Logiciels | 16
image_pdfimage_print

Comment participer à des projets open source et s’y sentir légitime ? La réponse habituelle un peu désinvolte consiste à dire : « il suffit de commencer à proposer ne serait-ce qu’un signalement de bug ou une correction mineure dans la documentation et hop ». En commençant par une contribution minime, on peut donc trouver sa place dans une équipe. Théoriquement, c’est exact.

Mais quand on est une jeune femme à peine sortie de ses études d’informatique et qu’on éprouve un peu d’appréhension au contact des contributeurs supposés expérimentés, rien n’est tout à fait simple.

Comme on le lira dans le témoignage de Shubheksha, il faut non seulement parvenir à surmonter son manque de confiance en soi, mais aussi avoir la chance de rencontrer sur son chemin des mentors qui vous accueillent avec bienveillance, vous guident et vous invitent à contribuer davantage encore.

Le parcours cahoteux d’une débutante dans le monde de l’open source

Article original paru dans Medium : A Beginner’s Very Bumpy Journey Through The World of Open Source

Par Shubheksha

Traduction :  Lyn, audionuma, goofy, Lumibd, Manguito,et un anonyme

shubhekshaAvez-vous atterri ici en recherchant des conseils sur la meilleure manière de contribuer à l’open source ? Il y a des milliers d’histoires de ce genre sur Internet, n’est-ce pas ?
Je suis sûre que vous en avez lu beaucoup à présent, car vous essayez de contribuer depuis un bon moment. Et vous avez toujours l’impression de ne pas avoir progressé.
Je connais ce sentiment. J’étais exactement dans la même situation il y a quelques semaines. Laissez-moi vous conter mon histoire.

Voilà à peu près deux ans que j’essaie de contribuer à l’open source.

Oui. Deux ans.

Et il y a bien une chose que je peux affirmer : c’est intimidant. C’est dur de commencer. Vous devez apprendre comment travailler sur un long code source. Vous devez apprendre et adopter les règles de style de code d’un projet.

Tout paraît confus. L’ordre des instructions, comment les différents modules interagissent entre eux, comment et pourquoi le code est organisé de la manière dont il l’est : tout cela constitue un grand labyrinthe.

Je ressens cela en permanence car je ne suis, après tout, qu’une amatrice qui essaie d’en apprendre autant qu’elle le peut.

J’ai donc choisi de suivre la voie la plus facile : la correction de fautes dans la documentation ou les commentaires, et la résolution de bugs triviaux où il était évident de trouver ce qui devait être modifié. Je ne voulais pas poser trop de questions ni essayer de comprendre l’ensemble du code.

Chaque fois que je voulais contribuer, j’allais sur github — ou un autre gestionnaire de bugs – et j’essayais de rechercher des problèmes étiquetés « facile », « débutant », « premier bug facile ». Après en avoir consulté des centaines, je trouvais quelque chose de suffisamment simple à traiter sans beaucoup d’aide extérieure.

Alors, cela a bien fonctionné jusqu’au moment où j’ai pris conscience que je pourrais mieux utiliser les compétences que j’étais en train de développer. J’avais appris tant de nouvelles choses, mais je ne voyais pas à quoi j’aurais pu les utiliser. Apprendre sans mettre en application, c’est bien peu gratifiant. J’étais bloquée sur un palier et je n’avançais plus du tout.

Alors, il est arrivé quelque chose qui m’a terriblement effrayée en tant que nouvelle contributrice qui essaie de naviguer dans le monde de l’open source. J’avais trouvé un bug qui avait l’air assez facile dans un grand projet renommé.

J’ai pensé qu’il valait mieux demander quelques éclaircissements avant de procéder à la moindre modification car je craignais de tout bousiller. J’ai donc envoyé un commentaire indiquant que j’étais une nouvelle contributrice, et demandant quelle serait la meilleure manière de modifier un bout de texte pour corriger le bug.

La réponse que je reçus fut :

« Si tu n’arrives pas à déterminer comment effectuer cette modification, c’est que tu n’es pas qualifiée pour effectuer cette modification. »

Cette réponse me laissa complètement décontenancée, et m’effraya davantage encore à l’idée de poser des questions lorsque je ne comprenais pas quelque chose à propos d’un projet.

Peut-être étais-je indésirable parce que je n’en savais pas assez ? Peut-être devais-je travailler davantage pour acquérir des compétences au lieu de poser des questions stupides et maladroites à des personnes expérimentées beaucoup trop occupées pour me répondre ?

C’est aussi à cette époque que ma recherche d’un mentor a commencé. J’ai pensé que si je connaissais quelqu’un avec qui je serais plus à l’aise pour poser des questions, les choses se passeraient bien et je pourrais me rendre plus utile.

J’ai donc écrit à de nombreuses personnes en leur demandant de m’aider à débuter, vu que je me sentais particulièrement intimidée par mes précédentes expériences. J’ai reçu beaucoup de réponses positives, pleines d’encouragements, mais je n’ai jamais exactement trouvé ce que je cherchais.

J’avais l’impression de buter contre un environnement clos dans le monde ouvert de l’open source.

Tout semblait suggérer que je n’avais qu’à m’y mettre et à ne pas avoir peur. Mais je n’étais pas prête à ce moment là.

Moi, fuyant le monde du logiciel open source

Ma découverte de Mozilla

Par une belle soirée, alors que je cherchais des bugs à corriger, j’ai atterri sur le projet de Mozilla qui vous aide à tester des extensions web. J’étais contente de voir qu’il y avait quelques problèmes étiquetés comme « premier bug facile » mais aucun d’entre eux n’était aussi simple que de corriger une petite coquille.

Bon sang, j’en suis tellement heureuse maintenant.

J’ai commencé à travailler sur l’un de ces bugs, mais j’ai vite compris qu’il me faudrait poser des questions si je voulais être capable de résoudre le problème. J’ai parcouru le code source. Après avoir compris les grandes lignes du problème, j’ai demandé plus d’informations. et voila ! J’ai été capable de résoudre le problème une fois que j’ai eu tous les détails nécessaires.

Maintenant que j’ai soumis trois pull requests [NDT : demandes de modification du code source] (l’une a été acceptée, les deux autres sont en passe de l’être), je suis heureuse d’avoir franchi le pas. Je suis contente de ne pas avoir hésité à poser des questions pertinentes, même si je risquais parfois d’avoir l’air de poser des questions stupides.

Ce n’est pas un problème de ne pas tout savoir et de progresser par étapes pour apprendre quelque chose de nouveau.

Les gens de Mozilla qui encadrent ces corrections m’ont beaucoup aidée et ont toujours été très positifs. Ils m’ont guidée du début à la fin, prenant le temps de m’expliquer les choses de façon à la fois simple et très détaillée. Et cela malgré le fait qu’ils n’auraient mis que quelques heures à corriger ces problèmes eux-mêmes au lieu de prendre le temps de me guider vers une solution de mon cru, dont la conception m’a pris plusieurs jours.

J’ai appris et découvert énormément de choses juste en travaillant sur ces trois problèmes basiques. Et je suis vraiment excitée à l’idée de travailler sur des problèmes encore plus difficiles et d’augmenter ma compréhension de ce sujet et mes connaissances.

l'insatiable vieux dino de Mozilla se goinfre de bugs
l’insatiable vieux dino de Mozilla se goinfre de bugs

Je ne peux pas les remercier assez pour cette expérience tellement positive et enrichissante, qui m’amène à installer Firefox localement et à parcourir les bugs sur Bugzilla un jour sur deux (je garde mes questions sur « Pourquoi » et « Comment » pour un billet plus long).

Je prévois de contribuer à Mozilla aussi régulièrement que possible. À chaque fois que j’ai posé une question pertinente, que ce soit sur IRC, Github ou Bugzilla, j’ai reçu des réponses très aimables.
Jusqu’à aujourd’hui, j’ai résolu trois problèmes dans web-ext, et j’ai eu un correctif accepté et intégré dans Firefox.

Mes contributions ont été remarquées par la communauté, et j’ai aussi été nommée dans le « Addons Contribution Recognition document » [NdT : la liste des contributeurs aux extensions de Mozilla].

En définitive, mes expériences de ces dernières semaines ont été vraiment merveilleuses. J’ai appris tellement de choses, petites et grandes, qu’aucun manuel de programmation n’aurait pu m’apprendre.
Voici mes conseils pour les développeurs débutants qui veulent contribuer à un projet open source :

Conseil n°1 : n’ayez pas peur de poser des questions

Je ne saurais trop insister sur ce point. J’ai perdu beaucoup de temps parce que je ne cessais de me censurer, et c’était ma plus importante inhibition.

Tout le monde a peur de paraître stupide. Mais ne laissez pas cette peur paralysante devenir une entrave à votre progression.

Il est normal de demander si vous ne comprenez pas quelque chose qui est en rapport avec le projet. Les développeurs du projet sont devenus des experts au fil des années. Ils peuvent vous aider très rapidement. Sinon vous risquez de perdre des heures le nez dans le code source à essayer de deviner quelque chose que vous n’êtes même pas censés savoir au départ.

Mais quand vous demandez des informations, vérifiez si elles ne sont pas déjà disponibles dans une documentation ou une recherche Google. Ainsi, vous prendrez garde à respecter le temps libre des développeurs du projet.

Conseil n°2 : c’est normal d’avoir des lacunes

On ne s’attend pas à ce que vous sachiez tout de A à Z lorsque vous commencez à contribuer à un projet. Le processus, c’est plutôt que vous appreniez et gagniez en compétence en résolvant des problèmes de plus en plus difficiles, et en vous familiarisant avec le projet et les outils qu’il utilise. Le temps nécessaire pour cela varie d’un projet à l’autre et d’une personne à l’autre.

Conseil n°3 : lancez-vous !

Ne perdez pas un temps considérable à choisir le projet idéal. Si vous connaissez un projet ou une organisation dont la communauté accueille amicalement les débutants, faites-en votre point de départ.

Trouvez un problème avec lequel vous êtes à l’aise, de préférence dans un langage que vous pratiquez déjà depuis un moment, et essayez d’imaginer ce qui a besoin d’être fait. Demandez des informations pertinentes afin de combler vos lacunes, et après, lancez-vous ! N’attendez pas.

Merci à tous ceux qui travaillent dans l’open source

Une dédicace spéciale à tous les contributeurs aux projets open source qui sont super réactifs et qui encouragent les nouveaux. Vous aidez les nouveaux venus à se frayer un chemin au milieu d’interminables lignes de code et les faites contribuer de manière peut-être limitée mais néanmoins significative. Vos efforts sont nécessaires et sincèrement appréciés.

En tant que débutante et développeuse junior, j’essaie juste de trouver mon chemin dans le vaste et formidable monde de l’informatique. Quelques minutes de votre temps, que ce soit pour me présenter une simple technique de débogage ou pour me montrer comment écrire correctement des tests logiciels, m’aideront, au fil du temps, à devenir une meilleure développeuse.

Vous avez l’expérience et j’ai l’envie insatiable d’apprendre autant que je peux.

Un grand merci à Guido, Kumur McMillan et Luca qui ont été de fabuleux mentors tout au long de ce parcours, ils m’ont suivie à chaque instant et ont répondu à mes diverses questions. J’ai vraiment apprécié le temps et les efforts que vous m’avez consacrés :)

Si vous êtes un nouveau venu qui peine à entrer dans le monde de l’open source, j’aimerais que vous me parliez de votre histoire et de votre expérience. Si je peux vous aider de quelque façon que ce soit, surtout n’hésitez pas à me contacter.

J’envisage de rendre compte de mon parcours chez les contributeurs de l’open source, donc si vous désirez que j’aborde un sujet en particulier, merci de laisser un commentaire.
Merci à Pawan Dubey et Quincy Larson pour m’avoir aidée à peaufiner cet article.

16 Réponses

  1. On n’est souvent sollicité à participer et, selon le contexte ou l’opportunité ; dirigé habilement vers ce que l’on sait faire le mieux.
    Pour ce qui des bugs, mon itinéraire s’est bloqué devant le toupet soudain de mes interlocuteurs qui peut se résumer ainsi : si vous n’êtes pas content, faîtes-le vous-même avec votre temps libre et votre argent (le code n’est pas ouvert, on n’a pas les sources , achetez-le , faîtes une donations , participez et rejoignez le monde libre des défendeurs de la vie privé de la crypto et des ours en peluche en péril).
    C’est aussi cela l’open source.
    Un autre toupet a consisté (kernel) aussi à me présenter queques lignes douteuses afin que je détecte ou clarifie ou purifie/réécrive quelques lignes sans aucunes contreparties ou explications..
    C’est aussi cela l’open source.
    On se sert suvent des utlisateurs comme testeurs/alpha et on livre des produits pas finis du tout parce qu’il faut bien avancer, livrer le produit et contribuer un petit peu sans régler quoique ce soit : le surplace et le sabotage , cela rapporte !.
    C’est aussi cela l’open source.
    Ce n’est donc pas tout rose.
    Des articles détaillants en pratique comment utiliser les outils présents sur firefox seraient utiles (à quoi cela sert, comment et quand s’en servir et pour quelles raisons et quels résultats).

  2. On dirait le témoignage d’une jeune pucelle avant sa première fois…c’est so cute ;)…faut arrêter le sentimentalisme…on se croirait dans 50 minutes inside 😉

    • Zut, j’avais bien aimé cet article… je dois être sentimentaliste… vite, vite, est-ce que quelqu’un ici est muni d’un pénis et peut m’aider ? Je suis sûr que ça va changer ma vision du monde !

      • Complètement d’accord avec Obny. D’ailleurs, y a-t-il un moyen de signaler la remarque à ce point sexiste de bobricard ?

        • Cette remarque est en effet sexiste mais jusqu’à présent nous n’avons jamais volontairement censuré un commentaire (l’automatisation de la détection-élimination de spam peut jouer de mauvais tours, mais c’est involontaire de notre part).

          De mon point de vue, la pénalité que nous infligeons à l’auteur du commentaire c’est de le laisser s’exposer publiquement au ridicule.

      • Pour vous rassurer, j’ai un pénis, je ne suis plus un ado et pourtant j’ai été touché par ce témoignage. N’ayant pas de compétence en dev (Vite, un projet libre en gw-basic !), ma seule participation au libre a été de corriger quelques fautes de traduction. Malgré tout, je dois admettre que beaucoup de libristes qui répondent à des questions, pas seulement sur la correction d’ailleurs, ont tendance à plus donner des réponses dans l’esprit RTFM que de l’aide (ne serait-ce qu’un lien vers une réponse…).

    • Ce qui est tout à fait normal, étant donné que la vision présentée ici est typiquement féminine.
      En somme, pour un homme, ce billet n’a pas vraiment de sens ou plutôt ne sert à rien, mais c’est un encouragement pour les femmes, donc c’est positif.
      Sans compter que ce billet ne s’applique pas qu’à l’Open Source, mais à tous les domaines scientifiques, où les filles révèlent toutes ce problème de manque de confiance en soi et de recherche d’une figure dominante (mentor ici).
      Au moins, elle, n’accuse pas les hommes de l’avoir bloquée, elle a insisté.

      • Même remarque que pour bobricard.
        Comme si le fait de manquer de confiance en entrant dans un domaine était « typiquement féminin ».

        J’ajouterais que si, elle fait remarquer (sans vraiment reprocher, certes) qu’on a rejeté son aide au départ. Elle n’a d’ailleurs pas précisé le genre de la personne concernée, et ça n’a affectivement aucune importance.

  3. Pourquoi “open source” ?? qui s’applique aux logiciels dont la licence respecte des critères précisément établis par l’Open Source Initiative ??
    et non “logiciel libre” ??
    “open source” différent de “logiciel libre”

    • Alexandre Vaudelin

      Je pense que c’est tout simplement parce qu’en anglais, “logiciel libre” se traduirait par “free software”, le problème étant que free veut à la fois dire gratuit et libre en anglais, donc il y aurait confusion. Du coup, je ne suis pas sûr que les anglophones fassent la différence (dans les mots en tout cas) entre logiciel libre et open source.

  4. le sujet est l’open source et non le logiciel libre lol (*jce)

  5. Ok, c’est vrai on ne peut plus parler de rien sous le règne Hollande. Les gaucho sont la nouvelle gestapo. Je vous laisse entre vous sur Framafiotte 😉

  6. Julien Delalande

    Bonjour, merci pour cette traduction qui ne peut que donner envie à tous de participer plus activement, ce dont j’aimerais bien.
    J’ai juste une suggestion de traduction : pourquoi garder l’anglicisme “open source” alors qu’en français “sources ouvertes” “coule” si bien… ?!
    En ajoutant selon le contexte l’approche, le monde des…
    On pourrait aussi le laisser au singulier comme dans “le code en source ouverte” , mais il me semble que le pluriel est plus fidèle à la pensée anglosaxonne. Plusieurs sources en somme !

  7. open-source veut dire “matières à travailler, contre rémunération, authorisées”
    source disponible rémunérée = open-source
    source disponible = free (libre et peut se monnayer)
    https://framapic.org/m7ullp4lJ6ve/JxTWqP2rOX8i.png = 42!

Laissez un commentaire