Article original : How to Contribute to Open-Source Projects – A Handbook for Beginners
Au cours de la dernière décennie, les projets open-source sont devenus la pierre angulaire de l'écosystème technologique. Ils alimentent tout, des applications aux innovations dans différents domaines.
Ces inventions collaboratives réunissent des personnes aux compétences variées, y compris des développeurs, des designers et des passionnés de technologie en général, avec un objectif commun : construire, améliorer et partager des logiciels librement.
Le mouvement open-source défend l'idée que le savoir doit être accessible à tous et favorise une culture d'ouverture, de transparence et de coopération.
Contribuer à l'open-source présente de nombreux avantages, non seulement pour ceux qui y participent, mais aussi pour la communauté dans son ensemble.
Si vous êtes un débutant cherchant à entrer dans le monde de l'open-source, gardez à l'esprit que vous vous lancez dans un voyage qui non seulement améliorera vos compétences techniques, mais ouvrira également de nombreuses portes et vous offrira de multiples opportunités d'interagir avec des personnes partageant les mêmes idées.
Ceci n'est qu'une partie de ce que vous pouvez accomplir. Vous aurez également l'opportunité de :
Créer un impact à travers votre travail
Construire votre portfolio
Réseauter et vous connecter avec d'autres développeurs, et
Redonner à la communauté des développeurs.
Ce guide convivial pour débutants est conçu pour être votre compagnon alors que vous commencez votre voyage dans le monde de l'open-source. Il couvrira des concepts qui permettront à un débutant comme vous de laisser votre marque dans le monde de l'open-source.
Nous commencerons par les fondamentaux de l'open-source, et je vous guiderai à travers la configuration de votre environnement de développement, la navigation dans les communautés open-source, la sélection des bons projets et la réalisation de votre première contribution.
Table des matières
À la fin de ce guide, vous serez équipé des compétences nécessaires pour devenir un membre actif de la communauté open-source. C'est le début de votre voyage open-source où vous pourrez apprendre en continu, collaborer avec d'autres et créer un impact. Commençons !
Qu'est-ce qu'un logiciel open-source ?
En termes simples, l'open-source peut être décrit comme du code source et des projets mis à disposition du public pour être consultés, utilisés, modifiés et distribués sous une licence permissive.
Les projets open-source sont généralement développés de manière collaborative, principalement par une communauté de bénévoles. Contrairement aux logiciels propriétaires, qui sont généralement contrôlés par une seule entité, l'open-source promeut la transparence, la collaboration et l'innovation grâce au soutien de la communauté.
Les projets open-source ne donnent pas seulement à leurs utilisateurs la possibilité d'utiliser les projets eux-mêmes, mais leur offrent également l'opportunité de comprendre comment le projet fonctionne, de contribuer à sa croissance et de l'améliorer.
L'idée principale derrière les logiciels open-source n'est pas seulement de partager le code, mais de créer des communautés avec une culture de collaboration, de transparence et d'apprentissage partagé.
Avec cette approche en tête, le monde de l'open-source a donné naissance à certaines des technologies les plus innovantes et impactantes utilisées aujourd'hui.
Caractéristiques des logiciels open-source
Gratuit à utiliser - les utilisateurs peuvent utiliser, modifier et redistribuer librement le logiciel.
Transparent - le code source est accessible à tous. Cela favorise la confiance parmi les utilisateurs, ainsi que l'ouverture parmi les développeurs qui examinent et corrigent les bugs.
Collaboratif - la plupart des projets open-source promeuvent la collaboration, ce qui permet à différentes personnes du monde entier de contribuer avec leurs compétences, idées et expertise.
Dirigé par la communauté - les projets open-source favorisent et promeuvent la construction de communautés solides de personnes partageant les mêmes idées avec des objectifs communs.
Diversité - réunit des personnes de différents horizons qui partagent un objectif commun.
Amélioration continue - les logiciels open-source évoluent continuellement. Cela signifie que les bugs sont corrigés régulièrement, de nouvelles fonctionnalités sont ajoutées souvent et des mises à jour sont publiées de temps en temps.
Licence - chaque logiciel open-source a une licence qui protège les droits des auteurs et des utilisateurs, permettant la continuité de l'ouverture du logiciel.
Types de licences open-source
Les licences open-source protègent les droits des auteurs et des utilisateurs. Elles définissent également les termes sous lesquels le logiciel peut être utilisé, modifié et distribué.
Certaines des licences les plus courantes sont :
Licence Publique Générale GNU (GPL) - garantit à l'utilisateur final la liberté d'exécuter, d'étudier, de partager et de modifier le logiciel.
Licence MIT - provient du Massachusetts Institute of Technology (MIT). Elle permet la réutilisation de logiciels propriétaires.
Licence Apache - couramment utilisée pour les projets associés à la Fondation Apache Software.
Licences BSD - famille de licences de logiciels libres qui imposent des restrictions minimales sur l'utilisation et la distribution des logiciels couverts.
Licence Publique Mozilla (MPL) - licence copyleft qui exigera des auteurs qu'ils partagent les modifications qu'ils apportent à votre code.
Licences Creative Commons - utilisées non seulement pour les logiciels mais aussi pour d'autres œuvres créatives. Utilisées lorsqu'un auteur souhaite donner à d'autres personnes le droit de partager, utiliser et construire sur leur travail.
Avoir une compréhension de ces licences dès le début est vraiment important car elles dictent comment vos contributions peuvent être utilisées et distribuées.
Avantages de contribuer aux projets open-source
Contribuer à l'open-source peut être une manière enrichissante d'apprendre, d'enseigner, de partager et de construire de l'expérience. Il y a de nombreux avantages qui vont au-delà des contributions que vous faites.
En contribuant à des projets open-source, vous pouvez :
Apprendre et grandir - Cela ouvrira différentes voies en vous donnant l'opportunité de vivre des pratiques de développement du monde réel, des processus de révision de code, des techniques de résolution de problèmes, et ainsi de suite.
Construire un portfolio - Vos contributions servent de preuve de vos compétences, ce qui peut être utile lors de la candidature à des emplois.
Communauté et réseautage - Cela vous donne l'opportunité de vous engager et d'interagir avec des personnes partageant les mêmes idées du monde entier. Cela ouvre des portes pour des mentors et des contacts professionnels qui peuvent vous guider.
Résoudre des problèmes réels - Certains projets visent à résoudre des problèmes rencontrés par de nombreuses personnes comme la sécurité et la santé. Contribuer à ces projets signifie que vous avez un impact direct sur la résolution de problèmes qui comptent.
Améliorer les logiciels - Les contributions que vous faites peuvent aider à améliorer la qualité, la fonctionnalité et l'utilisabilité des logiciels que vous utilisez ou qui sont utilisés par des millions de personnes. Chaque contribution que vous faites, qu'il s'agisse de corriger un bug, une faute de frappe ou d'ajouter du code, bénéficie potentiellement à d'innombrables utilisateurs.
Reconnaissance et respect - À mesure que vous vous faites une place dans le monde de l'open-source et que vous devenez régulier, vous gagnerez en reconnaissance et serez célébré pour votre travail.
De plus, c'est une expérience amusante et cela vous donne une satisfaction personnelle. Et puis, vous ne savez jamais qui vous regarde, peut-être votre prochain employeur ou partenaire 😊.
Comment commencer avec les contributions open-source
Avant de plonger profondément dans le monde de l'open-source, il est important d'évaluer d'abord vos compétences et vos intérêts.
Réfléchissez aux langages de programmation que vous connaissez, à vos capacités techniques générales et à vos domaines d'expertise. Identifiez vos forces et les domaines où vous souhaitez progresser.
Cette auto-évaluation vous aidera à trouver des projets qui correspondent à vos compétences et à vos passions.
1. Adopter le bon état d'esprit
Comme vous le savez peut-être, contribuer à l'open-source ne se limite pas au code – c'est surtout une collaboration qui favorisera la croissance, l'apprentissage et l'engagement positif dans la communauté.
Avant de commencer, avoir le bon état d'esprit vous donnera les moyens de réussir tout au long du voyage. Pour cela, vous devrez :
Comprendre la valeur de l'open-source - le principe clé derrière le succès des projets open-source est la collaboration. Chaque contribution, aussi petite soit-elle, ajoute de la valeur. Ces contributions collectives profitent à la communauté mondiale.
Accepter le processus d'apprentissage - ne pas tout savoir est normal, et c'est pourquoi l'open-source encourage l'apprentissage par la collaboration. N'oubliez pas de toujours faire vos recherches et, si nécessaire, de demander de l'aide lorsque vous êtes bloqué. C'est un signe de progrès et non de faiblesse.
Il y a plus que le code - autant le code est au cœur de la plupart des projets open-source, ce n'est pas la seule façon de s'impliquer. Avant de faire des contributions, considérez vos forces et vos intérêts, puis explorez également les avenues non techniques.
2. Choisir un langage de programmation/technologie
Pour faire des contributions efficaces, vous devrez décider quels langages de programmation/technologies vous maîtrisez le mieux. Pour cela, vous devrez faire ce qui suit :
Évaluer vos compétences - évaluer vos compétences vous aidera à décider si vous souhaitez utiliser les compétences que vous possédez déjà ou vous aventurer dans l'apprentissage de nouvelles.
Rechercher les technologies - considérez les technologies utilisées dans différents projets qui vous intéressent et si elles correspondent à vos intérêts.
Intérêts personnels - la passion alimente les contributions, et contribuer à des projets qui résonnent avec vous peut être gratifiant et amusant.
3. Trouver des projets
Identifier les bons projets open-source peut vraiment améliorer votre expérience de contribution. Il existe plusieurs façons de rechercher des projets. Voici quelques points forts à ce sujet :
Utiliser les répertoires open-source - explorez différentes plateformes qui listent divers projets open-source. Des sites comme GitHub Explore, GitLab Explore, Open Source Friday et autres listent tous des projets, ce qui facilite la recherche.
Plateformes de code source - des plateformes comme GitHub et GitLab sont centrales dans le monde de l'open-source. Recherchez sur ces plateformes en utilisant des mots-clés et filtrez parmi différents projets pour en trouver facilement qui correspondent à vos intérêts.
Activité du projet - lors de votre recherche, recherchez les commits récents, les problèmes ouverts et les discussions en cours. Une communauté active est un signe positif pour le succès du projet.
Engagement communautaire - avant de commencer à faire des contributions, engagez-vous avec la communauté du projet. Cela peut se faire en rejoignant des forums, une liste de diffusion ou des canaux de discussion. Posez des questions et interagissez avec les autres, car cela vous aidera à comprendre la dynamique du projet.
4. Choisir le bon projet
Il est important de choisir le bon projet sur lequel travailler, car ce sera la première étape pour atteindre tous vos objectifs.
Afin de naviguer plus facilement dans le paysage de l'open-source et de trouver le bon projet sur lequel travailler, voici quelques éléments à considérer :
Alignement des intérêts - Assurez-vous de rechercher des projets qui correspondent à vos intérêts techniques et à vos domaines d'expertise.
Activité du projet - Assurez-vous de vérifier à quel point le projet est actif. Un projet avec une communauté dynamique avec des problèmes et des commits récents indique qu'il est activement maintenu.
Accessibilité - Si vous êtes débutant et que vous entrez dans l'open-source pour la première fois, optez pour des projets ayant une réputation d'accueil des nouveaux arrivants.
Objectifs du projet - Ayez une compréhension des objectifs du projet et assurez-vous qu'ils correspondent à vos valeurs.
Après avoir trouvé le projet auquel vous souhaitez contribuer, il est temps de faire un peu de vérification. Assurez-vous qu'il répond aux critères suivants pour savoir qu'il s'agira d'un bon projet sur lequel travailler :
Vérifiez s'il dispose d'un fichier de licence.
Recherchez le nombre de contributeurs.
Vérifiez la fréquence à laquelle les gens font des commits.
A-t-il des problèmes ouverts ? Si oui, cela peut être un bon signe – vous aurez un point de départ.
Combien de temps faut-il aux mainteneurs pour répondre ? Vous pouvez vérifier et voir à quelle fréquence les problèmes sont fermés et les PR sont fusionnés.
Y a-t-il une discussion active sur un problème ?
Les problèmes sont-ils fermés régulièrement ?
Combien y a-t-il de pull requests ouverts ?
À quand remonte la dernière fusion de pull requests ?
Les mainteneurs remercient-ils les gens pour leurs contributions ?
Si ce processus de vérification est concluant, alors vous êtes probablement prêt à commencer vos contributions.
Comment naviguer dans les communautés open-source
Les projets open-source sont bien plus que de simples dépôts de code. Ce sont des communautés où des développeurs du monde entier collaborent pour créer quelque chose d'impactant.
Pour contribuer efficacement, il est essentiel de comprendre la dynamique de ces communautés et de s'engager avec elles de manière significative.
En ce qui concerne la construction de communautés de contributeurs open-source solides et durables, il ne s'agit pas seulement de fournir un soutien robuste aux nouveaux arrivants. Pour de nombreuses personnes, s'impliquer dans des projets open-source peut être intimidant, écrasant et frustrant - surtout si elles manquent d'exposition et d'expérience avec les différents outils et flux de travail couramment utilisés dans le monde de l'open-source.
Mais avec les bonnes structures de soutien en place, les nouveaux membres peuvent rapidement devenir des contributeurs précieux à tout projet - apportant de nouvelles perspectives, de l'enthousiasme et une volonté d'apprendre.
Les avantages offerts par ces communautés sont 'd'un autre niveau' comme je le dirais. Ils ont aidé des gens à partir de zéro et à acquérir de nouvelles compétences, à créer des connexions et même à décrocher l'emploi de leurs rêves.
D'autres avantages incluent :
Ils promeuvent l'échange d'idées, de solutions et de meilleures pratiques.
Surmonter les défis est souvent plus facile en communauté, et peut rendre la résolution de problèmes plus efficace.
La révision par les pairs de différents contributeurs garantit la qualité du code et peut vous aider à détecter des bugs et à améliorer le projet en général.
Contribuer à des projets open-source offre souvent des opportunités de réseautage.
Comprendre la dynamique des communautés
Chaque communauté open-source a sa propre culture et ses propres valeurs. Comprendre ces dynamiques est la clé pour s'intégrer avec succès dans le flux de travail du projet.
Vision et objectifs du projet - Pour faire une contribution efficace et significative, assurez-vous de comprendre la vision et les objectifs du projet.
Normes et valeurs de la communauté - Chaque communauté a des règles et des valeurs écrites et non écrites que les contributeurs doivent respecter. Cela peut inclure des normes de codage, une étiquette de communication et des principes de diversité et d'inclusion.
Reconnaître la hiérarchie et les rôles - Les projets open-source ont souvent une hiérarchie de rôles, des mainteneurs aux nouveaux arrivants. Comprenez ces rôles et comment les décisions sont prises au sein de la communauté.
Comment trouver et rejoindre des communautés open-source
Trouver la bonne communauté est une étape importante pour garantir une expérience open-source significative. Voici quelques conseils que vous pouvez utiliser pour découvrir et rejoindre des communautés open-source.
- Recherche - utilisez les plateformes facilement disponibles pour rechercher des projets qui correspondent à vos compétences. Au début, en tant que débutant, cela peut ne pas être une promenade de santé pour vous, mais avec suffisamment de conseils, vous trouverez cela facile.
Pour commencer, des plateformes comme GitHub, GitLab et Bitbucket peuvent être de bonnes plateformes pour rechercher des projets. Une similitude qui traverse toutes ces plateformes est que vous pouvez utiliser la fonctionnalité de recherche pour trouver des projets par mots-clés, technologies utilisées ou sujets spécifiques.
Par exemple, en utilisant GitHub, si vous êtes intéressé par la recherche de projets de développement Python, vous pouvez effectuer votre recherche comme indiqué ci-dessous et, en outre, à partir du panneau de gauche, filtrer davantage la recherche pour répondre à vos désirs.

- Forums et listes de diffusion - de nombreux projets utilisent différentes méthodes pour communiquer. En trouvant la bonne, vous pouvez facilement vous présenter et poser des questions. Les options de communication que vous choisissez dépendront également du type d'informations que vous souhaitez obtenir.
Si vous êtes intéressé à recevoir uniquement des mises à jour et des nouvelles sur un projet spécifique qui vous intéresse, envisagez de rejoindre les listes de diffusion qui, dans la plupart des cas, sont hebdomadaires, mensuelles ou trimestrielles. Pour vous inscrire à une liste de diffusion/newsletter, vous pouvez visiter soit le site officiel du projet, soit un dépôt lié.
Si vous êtes plus intéressé à interagir avec d'autres contributeurs, alors rejoindre le forum/les tableaux de discussion est la bonne chose à faire. Ces tableaux permettent aux mainteneurs et aux contributeurs d'avoir des discussions et de partager des connaissances entre eux. Ci-dessous se trouve une section du forum de freeCodeCamp et certaines des conversations qui y ont lieu.

Note : le forum freeCodeCamp est subdivisé en différents sous-forums. C'est une pratique très courante pour les grands projets, car cela facilite la tâche des différents contributeurs ayant des questions pour savoir où demander de l'aide.
Réseaux sociaux - suivez les comptes de projets open-source sur des plateformes comme X (Twitter), LinkedIn et GitHub pour obtenir facilement des mises à jour. Cela fonctionne mieux pour ceux qui participent activement sur les plateformes de réseaux sociaux. Pour des mises à jour rapides et des nouvelles concernant un projet spécifique, c'est le bon endroit pour les obtenir – de plus, cela vous permet également d'interagir avec d'autres personnes intéressées par le même projet que vous.
Rencontres et conférences - commencez à assister à des rencontres locales, des conférences et des ateliers liés aux projets open-source. Cela peut servir de bonne opportunité pour commencer à établir des connexions.
Communautés en ligne - utilisez des plateformes comme Stack Overflow, Reddit et Discord pour vous connecter avec d'autres contributeurs.
Étiquette, normes de communication et meilleures pratiques
Une fois que vous avez trouvé une communauté à rejoindre, il est important de suivre l'étiquette et les normes de communication. Voici un guide des meilleures pratiques :
Lisez les directives - Lisez et comprenez les directives de la communauté. Elles aident à garantir que tout le monde se sente égal, en sécurité et respecté.
Présentez-vous - La manière dont nous nous présentons sera souvent celle dont les autres se souviendront de nous. Lorsque vous vous présentez, souvenez-vous d'être respectueux et concis.
Écoutez et apprenez - Avant de commencer à faire des contributions, prenez le temps de comprendre la culture de la communauté.
Posez des questions - chaque fois que vous rencontrez un défi, n'hésitez pas à poser une question et assurez-vous de fournir un contexte pour indiquer que vous avez tenté de trouver une réponse par vous-même.
Acceptez les commentaires - chaque fois que vous recevez un commentaire, remerciez la personne et acceptez son opinion. N'oubliez pas que l'apprentissage continu est la clé.
Ne spammez pas - Évitez de spammer les canaux de communication avec les mêmes questions. Utilisez simplement les canaux appropriés pour différents sujets.
Soyez patient - rappelez-vous que les communautés ont des contributeurs de différents fuseaux horaires, alors donnez-leur suffisamment de temps pour répondre.
Comment configurer un environnement de développement
Un environnement bien configuré est la base non seulement pour la contribution open-source, mais pour le développement en général.
Cela peut sembler difficile à faire, mais lorsque vous contribuez à plusieurs projets et travaillez sur des projets personnels depuis votre machine, avoir un environnement sera vraiment utile.
Voici quelques points à noter en ce qui concerne la configuration de votre environnement de développement :
Installer les outils nécessaires
Configuration locale - Dans la plupart des projets, ils listeront toutes les exigences nécessaires pour la configuration. Assurez-vous simplement de les installer comme indiqué dans la documentation du projet.
Envisagez d'utiliser un environnement virtuel, car cela aidera à isoler les dépendances spécifiques au projet.
Utiliser Docker est également une bonne option, car cela garantit des environnements cohérents sur les différentes machines avec lesquelles vous pourriez travailler.
Éditeurs de texte et environnements de développement intégrés (IDE)
Les éditeurs de texte et les IDE sont les outils qui vous aident à écrire, éditer et gérer votre code. Selon votre langage de programmation de choix et vos préférences personnelles, vous pouvez choisir parmi différentes options telles que Visual Studio Code, Sublime Text ou les IDE de JetBrains comme PyCharm ou IntelliJ IDEA.
Ces outils offrent des fonctionnalités comme :
la coloration syntaxique,
l'auto-complétion
le débogage
Ces fonctionnalités peuvent aider à améliorer votre expérience de codage.
En plus de l'installation régulière, assurez-vous d'installer toutes les extensions nécessaires qui vous aideront à rendre votre flux de travail plus fluide.
Systèmes de contrôle de version
Le contrôle de version est la pierre angulaire de la collaboration dans le développement de logiciels. Le plus connu et utilisé est Git. Il vous permet, en tant que développeur, d'enregistrer les modifications apportées au code, de créer des branches pour ajouter facilement de nouvelles fonctionnalités sans interférer avec le code principal, et permet une fusion facile des modifications.
Mais Git seul ne peut pas accomplir tout cela, il fonctionne donc avec GitHub.
GitHub est une plateforme basée sur le web qui vous permet d'héberger du code source dans ce qu'on appelle un dépôt. Avec Git, GitHub offre de multiples fonctionnalités bénéfiques aux développeurs – mais la plus importante, en dehors de la collaboration, est qu'il offre une interface visuelle pour gérer les dépôts. Cela facilite le suivi des problèmes, la fusion des modifications, etc.
Vous pouvez en savoir plus sur les bases de Git et GitHub dans ce guide.
Pour avancer, tout comme avec tout autre logiciel, pour commencer à utiliser Git, vous devrez d'abord le télécharger et le configurer. Mais assurez-vous d'abord que vous avez déjà un compte GitHub créé. Si ce n'est pas le cas, vous pouvez visiter github.com et en créer un, puis procéder aux étapes ci-dessous.
Étape 1 : Téléchargez Git depuis le site officiel.
Étape 2 : Exécutez le fichier exécutable pour installer Git localement. Si vous êtes sur un autre système d'exploitation que Windows, assurez-vous de vérifier les commandes spécifiques que vous pouvez utiliser pour installer Git depuis le site officiel.
Étape 3 : Configurez Git avec vos détails, y compris votre nom d'utilisateur et votre email. Pour cela, vous devrez ouvrir le terminal Git et exécuter les commandes ci-dessous :
git config --global user.name "Votre nom ici"
git config --global user.email "votre_email@example.com"
Pour une personnalisation supplémentaire, vous pouvez exécuter les commandes ci-dessous. La première ajoutera de la couleur à la sortie, et la seconde indiquera à Git d'utiliser emacs.
git config --global color.ui true
git config --global core.editor emacs
Maintenant, vous devriez être prêt à utiliser Git. Si vous souhaitez en savoir plus et approfondir, voici une ressource Git conviviale pour débutants pour vous.
Nous discuterons des commandes Git les plus courantes plus tard dans les sections à venir.
Comment fork, cloner et configurer des projets
Maintenant, nous allons couvrir certaines des parties les plus importantes de l'utilisation de Git.
Tout d'abord, qu'est-ce que le forking ? Eh bien, il vous permet de créer une copie personnelle du dépôt d'un projet sur votre compte GitHub. Cette étape est importante principalement lorsque vous souhaitez contribuer à un projet auquel vous n'avez pas d'accès direct.
Pour fork un dépôt, sur la page du dépôt GitHub, cliquez sur Fork, généralement dans le coin supérieur droit.

Cela créera une copie du dépôt sous votre compte, modifiant l'URL du projet en :
https://github.com/<votre-nom-dutilisateur>/nomduprojet
Le clonage vous permet de télécharger une copie du dépôt déjà forké sur votre propre machine locale. Pour effectuer cette étape, vous devez avoir Git installé localement sur votre machine. Si vous ne l'avez pas encore fait, consultez la section Systèmes de contrôle de version ci-dessus.
Tout d'abord, vous devrez naviguer vers votre compte et localiser le dépôt forké. Ensuite, copiez l'URL directement depuis le navigateur ou cliquez sur le bouton Code pour copier l'URL. Vous aurez trois options parmi lesquelles choisir : HTTPS, SSH et GitHub CLI. Vous pouvez choisir l'une des deux premières options.

Ensuite, sur votre machine locale, ouvrez le terminal et exécutez cette commande :
git clone https://github.com/<votre-nom-dutilisateur>/<nomduprojet>
Assurez-vous de naviguer vers l'endroit où vous souhaitez que le projet soit copié, par exemple Téléchargements, Bureau, etc. :

Alternativement, vous pouvez opter pour utiliser l'application GitHub Desktop pour effectuer toutes les étapes ci-dessus. Mais d'abord, vous devrez l'avoir installée et entièrement configurée.
Ensuite, au lieu de copier l'URL et de la coller dans votre terminal, sélectionnez l'option qui dit Ouvrir avec GitHub Desktop.

Maintenant, vous devrez savoir comment configurer le projet localement. Naviguez vers le répertoire du projet en utilisant le terminal et assurez-vous d'installer les dépendances s'il y en a qui sont listées.
Pour vérifier si tout est configuré correctement, exécutez le projet localement et assurez-vous qu'il fonctionne comme prévu.
Comprendre la structure et le flux de travail des projets
Les projets open-source se présentent sous diverses formes et tailles, mais ce qu'ils ont tous en commun, c'est la structure et le flux de travail. En ayant une compréhension claire du processus de développement, cela facilitera votre processus de contribution.
Aperçu de la structure typique d'un projet open-source
Un projet open-source typique aura les personnes suivantes associées à celui-ci :
Auteur - Également appelé Propriétaire. Représente la personne qui a créé le projet. Ils ont le pouvoir d'assigner de nouveaux rôles à d'autres membres pour aider à la maintenance du projet.
Mainteneurs - Ils sont responsables de la vision et des objectifs du projet. Ils sont généralement responsables de la direction du projet et s'engagent à l'améliorer.
Contributeurs - Cela représente des personnes comme vous qui ajoutent/modifient le projet d'une manière ou d'une autre. Ils suivent le même processus de révision de code, sont soumis aux mêmes exigences en matière de style de code, etc.
Membres de la communauté/Utilisateurs - Ces membres précieux de la communauté peuvent fournir des commentaires sur les fonctionnalités, des rapports de bugs, et plus encore.
En plus des différents rôles et personnes, la structure ressemblera généralement à ceci :
Le Répertoire racine contiendra les fichiers importants du projet, tels que le README, les informations de licence et les fichiers de configuration.
Le Répertoire de code source abrite le code source principal du projet. Il peut être organisé par bibliothèques, modules ou composants.
Le Répertoire de documentation contient des manuels utilisateur, des guides pour les API afin d'aider les utilisateurs et les contributeurs à comprendre le projet.
Les Fichiers de configuration contiennent des fichiers avec des instructions sur la configuration du processus de construction du projet, des dépendances et d'autres configurations utiles.
Le Répertoire des ressources contient des fichiers non codés comme des images et d'autres modèles utilisés par le projet.
Le Répertoire des scripts contient des outils d'automatisation dont le projet pourrait avoir besoin.
Ci-dessous se trouve une section du flux de travail du dépôt freeCodeCamp avec la plupart des fichiers listés ci-dessus :

Comment faire votre première contribution
Avant de faire votre première contribution, assurez-vous d'avoir choisi des problèmes ou des tâches adaptés aux débutants sur lesquels travailler. Pour vous aider à trouver de bons problèmes/tâches adaptés aux débutants, voici quelques conseils :
Parcourez les suiveurs de problèmes de projet sur des plateformes comme GitHub. Lors de la recherche, recherchez des projets étiquetés "beginner-friendly", "good first issue" ou "help wanted". Ceux-ci sont généralement conçus pour les débutants. Voici un guide qui partage plus d'informations sur ce sujet.
Assurez-vous de comprendre la description du problème avant de commencer à travailler sur la tâche. Cela vous aidera à choisir une tâche qui correspond à vos compétences et à vos intérêts.
Si vous êtes complètement nouveau sans connaissances préalables, recherchez des projets qui offrent des mentorats aux débutants.
Pour un guide détaillé sur comment rechercher des problèmes et des dépôts sur GitHub, consultez ce guide.
Guide étape par étape pour faire une contribution
Maintenant que vous savez comment rechercher un projet adapté aux débutants – et en supposant que vous en avez déjà trouvé un qui correspond à vos compétences – l'étape suivante consiste à faire vos contributions.
Pour une démonstration, je vais faire une contribution non technique (et j'en parlerai plus tard).
Étape 1 : Fork le dépôt
Étape 2 : Clonez le dépôt sur votre machine locale.
Étape 3 : Créez une nouvelle branche
Pour créer une branche, exécutez la commande ci-dessous et n'oubliez pas de donner à votre branche un nom descriptif :
git checkout -b nom-descriptif
Cela créera la branche et basculera automatiquement vers celle-ci.

Étape 4 : Effectuez les modifications nécessaires – cela peut être la correction de fautes de frappe, la correction d'un bug, etc. – tout dépend du problème que vous avez choisi.
Étape 5 : Après avoir effectué vos modifications, il est temps d'ajouter les nouvelles modifications à la branche principale. Vous pouvez voir toutes les modifications apportées en exécutant :
git status

Vous pouvez choisir d'ajouter chaque fichier modifié individuellement en utilisant git add nom-du-fichier ou vous pouvez ajouter tous les fichiers modifiés en une seule fois en utilisant : git add *

Vous remarquerez que les modifications ne sont plus mises en évidence en rouge mais en vert. Cela signifie qu'elles sont prêtes à être validées.
Pour effectuer une validation, nous passons à l'étape suivante qui consiste à ajouter un message de validation. Cela explique essentiellement les modifications que nous avons apportées : git commit -m "<message ici>".

- Étape 6 : Nous devons régulièrement synchroniser le dépôt forké avec le dépôt original. Cela incorpore toutes les modifications apportées par d'autres contributeurs. Pour ce faire, exécutez les commandes ci-dessous l'une après l'autre :
git fetch upstream
git rebase upstream/main
- Étape 7 : Envoyez les modifications à GitHub. Maintenant que tout est prêt, il est temps de faire savoir à notre mainteneur ce que nous avons ajouté. Vous faites cela en envoyant les modifications avec cette commande :
git push origin nom-de-la-branche-descriptive.

- Étape 8 : Il s'agit de la dernière étape, où nous soumettons une PR. Pour cette étape, vous devrez retourner sur GitHub sous le dépôt que vous avez forké précédemment. Vous devriez pouvoir voir une fenêtre contextuelle avec un bouton disant
Compare & pull request– cliquez dessus.

En cliquant sur ce bouton, vous pourrez donner un nom à votre PR, ajouter une description de ce que vous avez fait, cocher la liste de contrôle (si elle existe) pour vous assurer que vous avez rempli toutes les exigences, puis enfin cliquer sur le bouton Create pull request qui se trouve légèrement en dessous de la zone de description.

Ensuite, le mainteneur fusionnera toutes vos modifications dans la branche principale de ce projet (sauf s'ils ont besoin que vous apportiez des mises à jour d'abord). Vous recevrez un email de notification une fois les modifications fusionnées.
Collaboration au sein de la communauté
Faire partie d'une nouvelle communauté ou d'un nouvel environnement dans n'importe quel contexte n'est pas facile – et encore moins pour les personnes qui se considèrent comme introverties.
En ce qui concerne les communautés open-source, les nouveaux arrivants sont souvent confrontés à divers défis qui peuvent les dissuader de se sentir à l'aise et affecter leurs contributions.
La première étape pour résoudre un problème est de l'identifier. Cela vous rapprochera de la recherche d'une solution. Certains des défis les plus courants rencontrés par les nouveaux arrivants dans les communautés OS incluent :
Se sentir submergé/intimidé par l'expertise des autres membres de la communauté.
Avoir du mal à comprendre la structure du projet et la base de code.
Manque de compréhension claire des directives de contribution.
Rencontrer une communauté peu accueillante.
Manque de reconnaissance et d'appréciation des contributions.
Avoir du mal à trouver des tâches qui correspondent à vos compétences/expertise.
En abordant les défis ci-dessus, nous serons un pas de plus vers la création de communautés solidaires qui sont confortables pour tous. Comme nous le savons, la collaboration est la clé du succès de tout projet open-source et l'engagement communautaire peut jouer un rôle majeur dans votre carrière tout en vous aidant à devenir un meilleur contributeur.
Il existe différentes façons d'aborder ces défis courants tout en s'engageant avec la communauté pour assurer le succès du projet :
Participer aux discussions et forums
Donner et recevoir des commentaires sur les contributions
Apprendre des contributeurs expérimentés
Mentorer d'autres contributeurs et participer à la programmation en binôme.
Assister et faire partie des événements communautaires.
En plus de cela, rappelez-vous d'être patient, de rester humble, d'écouter activement, de célébrer les autres et de participer aux discussions sur l'avenir du projet.
Au-delà du code : contributions non techniques
Le bon côté des projets open-source est qu'ils peuvent souvent accueillir des personnes de tous types de compétences. Contribuer ne se limite pas à l'écriture de code. Les compétences non techniques sont également importantes pour le succès des projets open-source.
Si vous cherchez différentes façons de vous impliquer dans l'open-source et que vous n'avez pas de compétences en codage, cette section est pour vous.
Mettre à jour la documentation
Une bonne documentation est la colonne vertébrale de tout projet réussi, non seulement dans l'open-source mais aussi dans les produits du monde réel. Une documentation claire et détaillée aidera les utilisateurs et les développeurs à comprendre facilement le projet.
Voici quelques façons dont vous pouvez contribuer à la documentation :
Écrire des tutoriels - Vous pouvez opter pour écrire des tutoriels étape par étape qui guideront les utilisateurs à travers des étapes telles que l'installation, la configuration, l'utilisation et le dépannage.
Documentation des API - Documentez les API du projet et fournissez des exemples de code pour les développeurs qui pourraient vouloir intégrer le projet.
Guides utilisateur - Rédigez des guides conviviaux qui décomposent les concepts complexes en sections simples et faciles à comprendre.
Contribuer à la conception et à l'expérience utilisateur (UX)
Tout projet conçu pour un utilisateur final bénéficiera grandement d'une interface utilisateur bien conçue. Si vous avez des compétences dans le domaine du design, vous pouvez contribuer en :
Améliorer l'UI/UX - améliorez l'apparence du projet en suggérant des designs plus conviviaux et en créant des maquettes pour ceux-ci.
Créer des icônes et des graphiques - concevez des logos, des icônes, des bannières et d'autres éléments visuels qui aideront à promouvoir la marque du projet.
Tests utilisateur - participez aux tests des designs et fournissez des commentaires.
Aider à la traduction et à la localisation
De nombreux projets tentent d'atteindre un public mondial, et en tant que locuteur natif de votre langue, vous pouvez aider à cela.
La contribution par la traduction et la localisation garantit que les projets peuvent être facilement accessibles par des personnes de différents horizons à travers le monde. En tant que contributeur, vous pouvez aider en :
Traduire le contenu - vous pouvez traduire la documentation, l'interface utilisateur et tout autre contenu pertinent.
Adaptation culturelle - chaque fois que vous traduisez un projet, assurez-vous que le contenu est pertinent pour la culture et s'aligne avec les contextes locaux.
Participer à l'assurance qualité et aux tests
Cela peut ne pas sembler grand-chose, mais les tests sont cruciaux pour maintenir tout bon projet open-source. Le bon côté des tests est que même si vous n'êtes pas développeur, vous pouvez contribuer en :
Tests utilisateur - cela implique de tester les projets dans différents cas d'utilisation et de donner des commentaires sur les bugs, les pannes et les problèmes rencontrés. Ces commentaires aideront à améliorer le projet pour la prochaine phase de développement.
Tests bêta - cela implique de faire partie des tests de produits avant leur sortie officielle. Aidez à identifier les problèmes que l'utilisateur final pourrait rencontrer.
S'engager avec la communauté
Avoir une communauté forte crée un espace sûr où les contributeurs peuvent se concentrer sur des choses majeures comme l'amélioration de la qualité du logiciel et la garantie de la durabilité à long terme du projet. Vous pouvez contribuer en :
Modération - vous pouvez proposer de modérer les forums de discussion, les salons de chat et les plateformes communautaires pour garantir un environnement positif et inclusif.
Répondre aux questions - vous pouvez aider les autres membres de la communauté en répondant à toutes les questions qu'ils pourraient avoir.
Faire du marketing et de la sensibilisation
Plus un projet open-source est visible pour la communauté, mieux c'est - et cela inclut la visibilité sur les plateformes sociales. Si vous avez des compétences en marketing ou en communication, vous pouvez contribuer en :
Promouvoir les projets sur les plateformes de médias sociaux.
Rédiger des tutoriels et des articles qui mettent en avant les fonctionnalités offertes par différents projets, ainsi que leurs importances et cas d'utilisation.
Aider à la collecte de fonds et aux dons
Le manque de fonds adéquats pour soutenir la croissance et la durabilité du projet peut entraîner son effondrement avant même que vous ne le sachiez. Une bonne façon d'aborder un tel problème est :
Initiatives de collecte de fonds - organiser des campagnes de collecte de fonds pour soutenir financièrement le projet.
Recherche de sponsors - demander des subventions, rechercher des sponsors et rejoindre des programmes d'incubation.
Meilleurs pratiques pour des contributions de qualité
Contribuer à l'open-source ne se limite pas à écrire du code, il s'agit de créer des contributions de haute qualité et précieuses qui rendront le projet facilement accessible aux autres.
Voici quelques bonnes pratiques qui vous aideront à contribuer du code propre, facile à maintenir et conforme aux normes de l'industrie.
Écrire du code propre et maintenable
Le code propre peut être décrit comme du code facile à lire, à comprendre et à maintenir.
En écrivant du code propre, vous faciliterez non seulement la lecture par les autres, mais aussi par vous-même à l'avenir.
Lorsque vous essayez d'écrire du code propre, voici quelques bonnes pratiques clés :
Utilisez des noms de variables, de fonctions et de classes significatifs.
Décomposez le code en sections plus petites et gérables.
Utilisez des commentaires pour fournir un contexte supplémentaire.
Maintenez la cohérence dans votre style de codage.
Ne vous répétez pas (DRY)
Tester et documenter votre code
Écrivez toujours des tests unitaires, des tests d'intégration et des tests de bout en bout pour vous assurer que le code fonctionne correctement.
N'oubliez pas de toujours documenter votre progression de développement. Cela inclut le but du code, les instructions d'utilisation, etc.
Comment gérer les défis
En tant que nouvelle personne dans n'importe quel domaine, vous êtes susceptible de rencontrer différents défis qui peuvent vous faire remettre en question votre désir de contribuer.
Mais vous pouvez également voir les défis comme des tremplins plutôt que comme des obstacles, vous préparant à devenir un meilleur contributeur.
Comment gérer le rejet et la critique
Le rejet et la critique peuvent être difficiles à gérer, surtout pour les débutants. Tout le monde dans une communauté ne peut pas être aussi accueillant que nous le souhaiterions, mais rappelez-vous simplement – cette expérience est encore une opportunité de concentration et d'amélioration.
En cas de rejet et de critique, voici quelques conseils pour vous aider à les surmonter :
Maintenir un état d'esprit de croissance - abordez le rejet avec un esprit ouvert et voyez-le comme une chance d'apprendre et d'améliorer vos compétences.
Demander des commentaires - dans le cas où vous avez fait une contribution et qu'elle a été rejetée, demandez toujours des commentaires. Cela vous aidera à guider vos futures contributions tout en améliorant vos compétences.
Apprendre des autres - avant de faire vos contributions, prenez le temps d'apprendre de ce que font les autres contributeurs expérimentés. Cela peut vous aider à savoir comment structurer votre code, écrire de la documentation et comment aborder les problèmes. En retour, vous serez du bon côté en faisant vos contributions.
Être persévérant - utilisez le rejet comme une motivation pour affiner votre travail et le soumettre à nouveau.
Comment demander de l'aide
De nombreux débutants, non seulement dans le monde de l'open-source mais aussi dans d'autres domaines, peuvent hésiter à demander de l'aide. Cela est souvent dû au fait qu'ils ne veulent pas paraître inexpérimentés.
Si vous vous sentez ainsi, vous oubliez peut-être que vous êtes nouveau dans le domaine, et demander de l'assistance fait partie du processus d'apprentissage. Même si vous êtes un contributeur plus expérimenté, vous pouvez encore vous sentir insécurisé à certains moments (syndrome de l'imposteur, quelqu'un ?) - et c'est normal. Tout le monde a ses doutes de temps en temps. Continuez simplement à avancer.
En tant que débutant dans l'open-source, pour vous assurer de recevoir l'aide dont vous avez besoin, voici quelques conseils :
Faites vos recherches - essayez de résoudre le problème par vous-même avant de demander de l'aide. Cela démontre votre engagement envers l'apprentissage et vos compétences en résolution de problèmes.
Soyez spécifique - fournissez des informations détaillées sur le problème que vous rencontrez. Cela peut inclure la mention des étapes que vous avez suivies jusqu'à présent, le résultat que vous avez obtenu, la mise en évidence des erreurs que vous avez rencontrées, etc. Plus la question est détaillée, plus il est facile pour les autres de vous aider.
Stratégies pour surmonter les défis courants
Gestion du temps - équilibrer entre l'open-source et le travail personnel peut parfois être difficile. Assurez-vous de fixer des objectifs réalistes et évitez de vous surengager.
Syndrome de l'imposteur - c'est lorsque vous vous sentez inadéquat malgré des preuves solides de vos compétences. Rappelez-vous que nous commençons tous quelque part – essayez simplement d'apprécier votre parcours d'apprentissage et concentrez-vous sur vos progrès.
Les grandes bases de code peuvent être écrasantes pour les débutants. En tant que bonne pratique, commencez petit et progressez à mesure que vous gagnez en confiance et vous familiarisez avec la base de code.
Prévention de l'épuisement - privilégiez l'auto-soin, prenez des pauses lorsque cela est nécessaire et rappelez-vous toujours que faire de petits pas est plus précieux que de vous submerger avec une tâche.
Comment mettre en avant vos contributions open-source
Tout comme dans tout autre domaine de travail, vous devez vous vendre. Et l'une des meilleures façons de le faire est de mettre en avant vos projets et contributions en ligne. Il est temps de braquer les projecteurs sur votre travail.
En retour, cela peut attirer des employeurs potentiels, des collaborateurs et vous donner de la reconnaissance dans l'écosystème technologique plus large.
Construire un portfolio/profile en ligne
La manière la plus courante de mettre en avant tout type de travail en ligne est par le biais d'un portfolio personnel et voici comment vous pouvez y parvenir pour mettre en avant vos contributions open-source :
Commencez par sélectionner une plateforme qui fonctionne le mieux pour vous. Cela peut inclure les pages GitHub, votre site web personnel et des plateformes comme Behance ou Dribbble pour les projets liés au design.
Maintenant que vous avez une plateforme, organisez votre travail en catégories incluant une brève description, le rôle joué et tout défi que vous auriez pu rencontrer.
N'oubliez pas d'ajouter des exemples de code pour les différents projets sur lesquels vous avez travaillé et une brève explication de ce que fait le projet/code.
Enfin, ajoutez une courte biographie qui met en avant votre passion pour l'open-source et la technologie. Rendez-la engageante et pertinente.
Mettre en avant vos contributions sur votre CV/réseaux sociaux
Cela est surtout utile lorsque des employeurs potentiels examinent votre CV ou votre profil GitHub/LinkedIn. Vos contributions peuvent vous distinguer des autres candidats.
Voici comment vous pouvez utiliser cela pour vous démarquer :
Ayez une section dédiée où vous pouvez lister toutes vos contributions open-source et une brève description de votre implication.
Quantifiez l'impact que votre contribution a eu sur le succès du projet.
Mettez en avant les compétences que vous avez acquises en contribuant à l'open-source.
Si vous avez un profil en ligne, assurez-vous d'inclure un lien vers celui-ci sur votre CV, cela aidera les recruteurs à explorer vos contributions en profondeur.
Réseautage
Le réseautage peut ouvrir des portes et vous connecter à de multiples opportunités.
Voici comment vous pouvez tirer parti de votre expérience open-source à des fins de réseautage :
Parlez de vos contributions à des projets open-source. Cela peut se faire en partageant des idées, en posant des questions, etc.
Assistez à des rencontres et des conférences liées aux technologies avec lesquelles vous avez travaillé ou avez de l'expérience.
Connectez-vous avec d'autres contributeurs sur des plateformes comme GitHub.
Participez à des hackathons, des ateliers, des mentorats et des événements de codage collaboratif avec des personnes partageant les mêmes intérêts.
Partagez vos réflexions en écrivant des tutoriels sur vos expériences open-source, les défis que vous avez surmontés et les leçons que vous avez apprises.
Conclusion
Alors que vous arrivez à la fin de ce guide, prenez un moment pour réfléchir au voyage. Vous avez acquis des informations précieuses tout en découvrant à quel point vos contributions peuvent être impactantes, peu importe leur taille.
Si vous avez déjà contribué à l'open-source, repensez au moment où vous avez commencé votre voyage open-source. Souvenez-vous de la joie que vous avez ressentie lorsque votre première PR a été fusionnée, de la satisfaction que vous avez eue lorsque vous avez résolu ce bug, écrit cette ligne de code, résolu ce problème ou mis à jour cette documentation.
Tout cela a laissé une marque sur les projets sur lesquels vous avez travaillé. Soyez fier de vous 😊.
N'oubliez pas que la communauté open-source prospère grâce à la diversité, et chaque contribution, aussi petite soit-elle, ajoute de la valeur. En participant à l'open-source, vous contribuez à un mouvement mondial qui valorise la transparence, la coopération et l'échange libre de connaissances.
Voici à votre succès continu dans les contributions open-source, l'apprentissage et faire la différence.
Bon codage ! 🚀🌍
Ressources supplémentaires
Comment utiliser les actions GitHub pour automatiser les projets open-source
Comment écrire un bon fichier README pour votre projet GitHub
Communautés de développeurs à rejoindre pour vous aider à développer votre carrière technologique
Comment contribuer aux projets open-source – Un guide pour débutants