Débutant

Comment contribuer à un projet Open Source sur Github ?

Comment contribuer à un projet Open Source sur Github ?

Vous utilisez tous les jours des projets Open Source dans vos développements et vous avez toujours souhaité y contribuer ?

Vous avez décelé un bug, une amélioration ou un ajout de fonctionnalité pertinente à une librairie ou framework ?

Ou vous vous sentez tout simplement redevable envers la communauté Open Source dans ce qu’elle fournit et que vous voulez apporter votre pierre à l’édifice ?

Peu importe votre motivation, mais si vous avez l’envie de pouvoir contribuer à un projet Open Source mais que vous ne savez comment vous y prendre alors cet article est fait pour vous.

À la fin, vous serez exactement déterminé le projet sur lequel vous pourriez contribuer, les axes de contributions et surtout la méthode à respecter pour pouvoir contribuer correctement dans les règles de l’art.

Je considère bien entendu que vous savez utiliser un minimum Git et que vous possédez déjà un compte sur Github.

Déterminer le projet à contribuer

Vous êtes dans l’euphorie, vous vous sentez pousser des ailes à l’idée de contribuer à un projet Open Source avec le sentiment que votre contribution sera importante mais voilà vous redescendez bien bas en vous posant la question : « Mais sur quel projet je peux contribuer ».

Il n’y a pas de réponse toute faîte selon moi. Par définition, on peut dire sur tous les projets Open Source qui existe mais dans les faits c’est plus compliqué que cela. Comment le choisir ?

Le plus simple, selon moi, serait de contribuer sur un projet que vous utilisez tous les jours comme une librairie ou un framework. Si vous utilisez un manager de dépendance comme NPM ou composer, vous avez certainement pas mal de dépendances dans le fichier qui le gère.

Le mieux c’est de l’ouvrir dans l’un de vos projets et regarder les dépendances qu’il contient.

Déjà parce que comme vous l’utilisez tous les jours donc vous savez exactement comment ça fonctionne et vous avez une vision plus précise et plus globale du projet. Grâce à cela, vous avez peut-être déjà rencontré des problématiques, des bugs ou tout simplement des manques dans ce que vous utilisez.

Si c’est le cas, alors vous tenez une bonne piste pour apporter une contribution au projet et y participer.

Les axes de participation à un projet

Quand on pense contribution, on pense très souvent code et quand on est débutant on pense naturellement de ne pas être légitime ou avoir le niveau pour contribuer à ce genre de projets.

C’est tout à fait naturel mais dîtes-vous bien qu’il faut passer au-dessus de cette peur et que vous devez quand même contribuer si vous avez la possibilité de le faire.

Vous verrez que les responsables de projets sont très receveurs de contribution même de débutant et qu’au pire ils vous suggèrent d’améliorer ou de changer votre contribution et vous vous en sortirez grandi.

Les personnes qui ont lu cet article ont aussi lu :  Programmer en solo ou en équipe ?

Mais il n’y a pas que le code qui peut être fait pour apporter votre contribution. Il y a beaucoup d’autres possibilités.

Par exemple, vous pouvez contribuer sur la documentation. Si vous avez remarqué une erreur, un oubli ou qu’elle est tout simplement incomplète, vous pouvez suggérer votre contribution sur le sujet aux personnes qui gèrent le projet.

Car même si souvent on la néglige, il est important d’avoir une documentation complète et très claire sur un projet.

L’ajout d’issues sur Github pour rapporter un bug, une suggestion d’amélioration ou un ajout de fonctionnalités est aussi une bonne forme de contribution. Car ce sont les issues qui permettent de faire vivre un projet.

Une autre manière de contribuer est de jouer le bêta-testeur. Cela va vous permettre de pouvoir tester un projet sous toutes ses coutures et même des fonctionnalités en avant-première.

Comme la documentation, les tests sont extrêmement importants.

Comme vous voyez il y a plusieurs manières de contribuer à vous de voir et de saisir une opportunité qui se présente à vous et qui est à votre niveau.

La méthode pour participer à un projet Open Source sur Github

Vous avez trouvé le projet qui vous tient à coeur et sur lequel vous voulez peut être contribuer ? Et vous avez trouvé votre axe de contribution ?

C’est parfait ! Il ne vous reste plus qu’à contribuer mais pas n’importe comment bien entendu.

La première chose à faire c’est de vérifier sur le repository s’il y a des consignes particulières pour contribuer au projet. Généralement, les personnes qui maintiennent le repository ont placé leurs consignes dans un fichier CONTRIBUTING.md.

Si ce fichier n’existe pas sur le repository, regardez si ce n’est pas mentionné dans le fichier README.md. S’il n’y aucune mention de contribution, ça peut être une très bonne occasion d’engager la conversation au créateur du dépôt pour lui suggérer d’en créer un.

Je vais maintenant vous communiquer la procédure pour contribuer à un projet Github autre que le vôtre.

Réaliser un fork du projet

La première chose que vous devez faire c’est de réaliser un fork du projet. C’est ce principe de pouvoir cloner un projet sous son nom dans Github. Comme le projet sera sous votre compte, vous aurez la possibilité de créer des nouvelles branches, d’effectuer des commits et de faire un push du tout sur github.com.

La nécessité de configurer un upstream sur votre fork

Peu importe votre objectif de contribution sur le projet, il est vivement conseillé de configurer un upstream sur votre fork une fois que vous l’avez cloné en local. Pourquoi ? Tout simplement parce votre fork est une copie d’un repository à un instant T. Ce qui veut dire que si l’orignal évolue, le vôtre ne recevra pas les changements.

Or il arrivera souvent que vous en ayez besoin. Le plus simple est de tracker les branches master et develop avec la commande upstream de git. Pour master par exemple, on exécuterait la commande : git branch –set-upstream-to=upstream/master master.

Ensuite, quand vous l’avez configuré, vous n’aurez plus qu’à effectuer des git pull sur les branches en upstream pour récupérer les changements du repository d’origine.

Créer votre Pull Request sur le repository d’origine

Une fois que vous avez réalisé votre contribution en respectant bien les recommandations de contribution du repository, il va falloir soumettre ce que vous avez réalisé sur le repository d’origine. Le plus simple pour réaliser cela c’est aller sur le repository d’origine et de cliquer sur le bouton « New Pull Request » sur la page principale du repository.

Vous allez arriver sur cette page :

Creation pull request fork branch

Votre branche de travail est sur votre fork et vous voulez qu’elle contribue à votre repository d’origine. L’astuce c’est de cliquer sur le lien « you can also compare across forks » :Pull request option fork

Les personnes qui ont lu cet article ont aussi lu :  Les bons réflexes à avoir en programmation

Vous aurez alors de nouvelles options notamment la possibilité de choisir dans la liste déroulante « head repository » votre repository et donc par la même occasion votre branche. Vous avez alors une pull request de créé sur le repository d’origine avec une branche provenant de votre fork.

Retrouvez votre apport dans le projet

Bien entendu, il s’en suivra toute la collaboration que vous pourrez avoir sur des projets de manière générale. On vous demandera d’effectuer des modifications ou quelqu’un reprendra votre branche dans le but de l’améliorer ou autre. Mais au bout d’un moment, votre travail sera merge et vous ferez partie officiellement des contributeurs du projet. Vous serez automatiquement listé sur le repository dans le menu « Insight » sur Github ou tout simplement en cliquant sur le client « contributors » depuis la page d’accueil du repository.

En résumé

Je vous remets donc la marche à suivre en résumé pour contribuer à un projet Open Source sur Github :

  • Déterminer le projet que vous voulez contribuer en vous basant sur des librairies ou frameworks que vous utilisez. (votre fichier de gestion de dépendances comme le package.json est votre meilleur ami)
  • Trouver votre axe de participation sur le projet. Il existe plusieurs possibilités :
    • participation dans le développement d’une nouvelle fonctionnalité
    • résolution d’un bug
    • création d’issues pour proposer une nouvelle fonctionnalité
    • une amélioration ou pour reporter un bug
    • contribution dans la documentation du projet
    • se proposer pour faire de la review de code
    • jouer le bêta-testeur
  • La méthode pour contribuer
    • Vérifier la présence de consigne de contribution notamment les fichiers CONTRIBUTING.md et README.md
    • Réaliser un fork du projet pour l’obtenir sur votre espace sur Github (si vous devez modifier le code source du projet)
    • Configurer votre upstream pour pouvoir récupérer les mises à jour du repository d’origine (sinon vous aurez un fork figé à un instant T)
    • Créer une pull request sur le repository d’origine depuis votre branche de travail sur votre fork
    • Vous pouvez retrouver votre contribution depuis le menu Insight sur le repository d’origine

J’espère que cela vous aidera et que vous allez pouvoir contribuer aisément sur le repository de votre choix.

N’hésitez pas me dire en commentaires sur quel projet vous comptez contribuer ou à me poser une question complémentaire au sujet.

Partager ce contenu
  • 103
    Partages

Leave a Comment

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.