Practical Programming
contribution opensource

Open Source: Comment y contribuer pour progresser ?

Jamais l’opensource n’a été aussi en vogue que ces dernières années. Non seulement de grandes boites tech telles que Facebook, Airbnb, Microsoft ou Google se sont mises à activement rendre disponible des librairies en opensource, contribuer à l’opensource est également devenu un facteur différenciant lors des entretiens d’embauche.

Qu’est-ce que l’opensource et pourquoi devrais-je m’en soucier?

En tant que développeur en début de carrière, les compétences que vous cherchez à apprendre sont les bonnes pratiques de programmation. Pour cela vous comptez sur votre employeur et vos collègues. Vous espérez pouvoir avoir des formations et que les développeurs senior de votre équipe puissent passer du temps avec vous pour progresser.

Sauf que le plus dur pour un développeur qui débute sa carrière c’est justement de trouver ce premier emploi. De plus, rien ne garanti qu’après l’avoir trouvé vous serez dans un environnement propice à l’apprentissage.

Contribuer à des projets opensource est un excellent moyen d’engranger cette première expérience et d’avoir l’attention de développeurs seniors pour vous accompagner.

Contribuer à l’opensource pour progresser

Se familiariser à des best practices

Pour qu’un projet opensource ait une chance de germer, il a besoin d’être compréhensible et être “developer friendly”. En effet, si le ou les créateurs espèrent pouvoir voir leur librairie adoptée et enrichie par la communauté, ils doivent s’assurer que l’environnement est propice aux contributions extérieures. C’est pourquoi, les projets opensource rassemblent souvent les bonnes pratiques de développement.

La couverture de test est souvent très bonne et vous ne pourrez pas rajouter une fonctionnalité à un code open source sans avoir rédigé les tests automatisés qui couvrent cette feature.

Votre code sera revu par les contributeurs du projet et si votre code ne respecte pas les standards fixés par les fondateurs du projet, il ne passer pas la review.

Avoir les feedbacks de développeurs seniors

C’est lors de cette revue de code que vous apprendrez le plus. En effet, il y a peu de chances que votre contribution soit bonne du premier coup. En revanche, les contributeurs de projets open sources sont le plus souvent bienveillant. S’ils voient un nouveau contributeur, même débutant, qui souhaite s’investir dans leur projet, ils passeront du temps à vous former et à vous expliquer les notions qui vous manquent.

Avoir une histoire hors du commun à raconter en entretien d’embauche

Certaines boites tech font de la contribution opensource une obligation pour rejoindre l’entreprise. En pratique c’est encore très peu le cas en France. En revanche, c’est un excellent point différenciant que vous pourrez aborder lors de l’entretien.

Imaginez un développeur qui a eu 3 ans d’expérience dans un centre de service où il n’a pas respecté les bonnes pratiques de tests et de clean code. De l’autre côté, un développeur débutant, issu d’un bootcamp de reconversion qui a passé plusieurs mois à contribuer à un projet opensource assez populaire dans la communauté. Je peux vous garantir que votre profil va être pris avec autant de sérieux que le candidat avec trois ans d’expérience

Trouver le temps

Ne pas avoir le temps est simplement ne pas avoir assez envie. Si vous êtes en recherche d’un poste de développeur, contribuer à un projet opensource est une habitude à prendre qui peut payer beaucoup plus que développer votre projet perso.

De plus, vous tirerez les bénéfices de la contribution opensource qu’en multipliant les contributions. C’est en voyant votre investissement sur un projet que les contributeurs vont s’investir en vous, pour vous aider à produire une contribution de qualité.

D’autant plus que les contributions opensource sont publiquement affiché sur votre github. Ces commits sont analysés par les recruteurs et par la core teams des développeurs de projets opensource.

Trouver le projet

Contribuer à l’opensource ne se fait pas en soupoudranat du code dans différents projets. Il est plus efficace de vous investir dans un projet et de s’y tenir. Rien ne vous empêche d’ajouter un second projet ou de changer de projet de coeur si vous trouvez un peu plus tard un projet qui vous paraît plus motivant.

Pour trouver le premier projet où contribuer, Google est votre ami. Plusieurs sites ou repo githubs répertorient les projets JavaScript ou NodeJS qui sont ouverts aux contributions de débutants.

Au fur et à mesure que vous ferez des recherches sur les projets, n’hésitez pas à regarder sur github la liste des contributeurs et à suivre ceux qui vous semblent motivés. Vous découvrirez ensuite les projets qu’ils suivent ou auxquels ils contribuent. Cette recherche va vous permettre de découvrir des projets opensource “sous le radar” sur lesquels vous pourriez contribuer.

Un projet intéressant sur lequel contribuer est un repository actif où les contributions s’y font régulièrement (chaque semaine au moins), par plusieurs contributeurs. Evitez les librairies trop populaires telles que React ou Angular, vous risqueriez de vous heurter à trop d’obstacles.

Démarrer ses contributions

Dès que vous aurez identifier le ou les projets sur lesquels vous aimeriez contribuer, commencez d’abord par entrer en contact avec les core contributeurs. Echangez avec eux sur le projet, dites leurs comment vous avez découvert le repository, que vous apprenez le JavaScript et que vous souhaitez contribuer pour progresser. Ils vous diront comment commencer à travailler.

Chaque projet a une façon de fonctionner différente, mais le plus probable est qu’ils aient une documentation sur les contributions. Prenez le temps de la lire et n’ayez pas peur de poser des questions si vous n’avez pas tout compris.

Ensuite il conviendra de demander sur quelle issue travailler avant de commencer à coder. Vous pourrez ensuite cloner le repository, créer votre branche et commencer à coder. Une fois votre code et vos tests terminés, vous devrez surement ouvrir une Pull Request afin de faire valider votre code par les autres contributeurs. Ceux-ci vont sûrement vous faire quelques remarques et vous reprendrez votre travail en mettant en pratique ces commentaires.

N’hésitez pas à faire des propositions fonctionnelles autour du projet. Les créateurs aiment que leur projet prenne vie et l’intelligence collective est un excellent moyen de trouver des features intéressantes. En revanche, souvenez vous qu’il s’agit du projet de quelqu’un d’autre et vos propositions, tout comme vos pull requests, peuvent se faire rejeter.

Rayed Benbrahim

Rayed Benbrahim

Développeur freelance Node.JS depuis 2017, j'ai créé le media Practical programming afin d'aider les développeurs web dans l'avancé de leur carrière de débutant à senior.

5 commentaires

  • Très intéressant votre article. Moi qui peine à trouver un emploi propice pour me permettre d’évoluer et aussi trouvé des arguments convaincants lors des entretiens d’embauche. Merci pour votre article.

  • Deuxième article que je lis et extrêmement intéressant. Ce site est une très belle découverte pour moi. En tant que débutant, et avide de contenu de qualité comme proposé ici je ne peux qu’apprécier mon voyage dans l’auto formation de cet incroyable univers du code.
    L’open source, c’est sûr je vais m’y mettre mais … quand ? A partir de quel niveau de compétences penses tu qu’il serait utile et intéressant pour un padawan de contribuer à projet open source ? Genre que dirais tu à un padawan de 2mois d’autodidacte Python qui apprend avec un célèbre bouquin francophone du langage évoqué (Apprendre python 3 de Gérard Swinnen) 🙂

    • L’élément absolument essentiel avant de faire de l’open source est de savoir coder des tests automatisés.
      Commence à regarder les repos opensource en python qui ont des tags “Good First Issues” ou “Beginner friendly” et regarde leur fichier “Contributing.md”

Retrouvez nous

N'hésitez pas à nous suivre sur les différents réseaux sociaux !

Most popular

Most discussed

Share This