Contribuer efficacement aux projets Open Source Webmaker

Ce que vous allez créer

Contribuer à des projets open source présente de nombreux avantages. En contribuant à un tel projet, vous apprendrez le développement professionnel développé par les grandes organisations. De telles compétences s'avèrent très utiles pour la carrière des personnes et les aident à apprendre des choses qu'elles ne pourraient peut-être pas apprendre pendant leurs études / travail.

Cet article a été conçu pour les développeurs débutants et intermédiaires souhaitant contribuer aux projets open source. Je présenterai ma contribution au projet Webmaker de la fondation Mozilla afin d'expliquer comment contribuer efficacement à des projets open source..

Étude de cas: Mozilla Webmaker

Nous allons suivre tout le processus d’implication dans un projet, depuis la compréhension des principes de contribution, l’utilisation d’un compte GitHub et l’utilisation de Git pour utiliser efficacement Bugzilla. Ce tutoriel montrera comment vous pouvez obtenir vos correctifs fusionnés dans la base de code principale d’un projet. Je vais utiliser l'exemple d'un bogue ancien et simple que j'ai corrigé, alors que je venais de commencer une contribution open source.

Tout d’abord, vous devrez trouver le référentiel du projet. Par exemple, nous allons travailler sur le Profil composant de Webmaker.

https://github.com/mozilla/webmaker-profile-2

Connectez-vous à votre compte GitHub et Fourchette le projet. Après cela, vous aurez le référentiel forké sous votre nom d'utilisateur..

Par exemple, j'ai eu ce qui suit:

https://github.com/tanay1337/webmaker-profile-2

Git doit être installé sur votre système. Vous pouvez lire les directives sur la façon de le faire.

En bas à droite, vous remarquerez une boîte comme celle-ci:

Vous pouvez copier cette URL pour cloner le référentiel dans votre système. Maintenant, lancez Git en mode ligne de commande et entrez la commande suivante.

clone de git https://github.com/tanay1337/webmaker-profile-2.git

Ceci importera tout le code dans votre système sous un dossier nommé webmaker-profile-2. Les directives de contribution sont généralement présentes dans un fichier appelé CONTRIBUTING.md et les instructions d'installation sont en LISEZMOI.md. Lisez ces deux documents très attentivement. Ils contiennent des informations importantes pour les développeurs.

Entrez Bugzilla!

Maintenant, vous devrez commencer par trouver quelques bugs pertinents et faciles. Pour tous les projets liés à Mozilla, vous pouvez utiliser Bugs Ahoy pour trouver de bons premiers bugs, ainsi que des bugs mentorés spécifiques à vos compétences. Mozilla utilise Bugzilla pour le classement et la gestion des bogues, ainsi que pour le traitement des demandes de fonctionnalités. Vous pouvez vous connecter à Bugzilla en utilisant Persona. Une fois que vous avez trouvé un bogue pertinent, vous devez commenter ce bogue en montrant votre intérêt pour le corriger..

Vous pouvez également demander de l'aide pour trouver un fichier spécifique dans le code source où le bogue est présent auprès des développeurs sur l'IRC de Mozilla. Ils forment un groupe de personnes vraiment sympathiques qui se feront un plaisir de vous aider à résoudre votre premier bug. Si personne n’est en ligne, essayez d’ajouter un besoininfodrapeau pour le mentor mentionné dans le bug et il reviendra pour vous aider!

Enregistrement des modifications dans le référentiel local

Maintenant, en supposant que vous ayez résolu le bogue et apporté les modifications respectives aux fichiers localement, vous devez voir les fichiers modifiés localement à l'aide du système de contrôle de version. Il suffit de taper la commande suivante dans le webmaker-profile-2 annuaire.

statut git

Cela vous donnera les détails des fichiers modifiés ainsi que les nouveaux fichiers qui ont été ajoutés au référentiel local. Si vous êtes satisfait des fichiers modifiés, ajoutez les fichiers modifiés / nouveaux à la zone de transfert..

git ajouter noms_de_fichiers

Si tout va bien, vous pouvez alors valider les fichiers en toute sécurité.

git commit -m "Votre message ici"

Nettoyage du journal de validation et modification des modifications

Assurez-vous que votre commit ne contient pas d'espaces blancs inutiles ou de nouvelles lignes. Il est conseillé de nommer le message comme "Correction du bogue 1040556", pour des raisons que je vous expliquerai plus tard dans cet article. Les responsables du référentiel préfèrent que vous ayez une seule demande de validation par tirage. Donc, si vous avez plus d’un commit localement, vous devriez les rebasonner.

git rebase -i HEAD ~ 2

La commande ci-dessus suppose que vous avez deux commits, et -je est le drapeau pour le rebasage interactif. Il montrera les deux commits avec leurs messages, qui auront le mot choisir préfixé. Il suffit de remplacer choisir avec écraser à l'un des commet et vous êtes prêt à partir. L'écran suivant rassemble les messages de validation. 

Félicitations, vous avez rebasé les commits avec succès. Il ne reste plus qu’à pousser les modifications dans votre référentiel GitHub.

git push

Ou si vous avez déjà poussé le premier commit et rebasé ensuite, essayez la commande suivante.

git push -f

Ouvrir une demande de tirage

Ouvrez maintenant votre référentiel en ligne et cliquez sur le bouton pour Demandes de traction et ouvrez une nouvelle demande de tirage.

Il remplit automatiquement le titre de la demande d'extraction à partir du message de validation et affiche le diff (la figure ci-dessous montre le diff pour ma demande d'extraction)..

Félicitations, vous avez fait votre première demande de tirage. Mais il vous reste encore quelques choses à faire. Copiez l'URL de votre demande d'extraction et ouvrez votre bogue chez Bugzilla. Sélectionner Ajouter une pièce jointe et collez l'URL de la demande d'extraction à cet endroit. Cochez la case indiquant Patch et ajoutez un indicateur de révision pour votre mentor..

En supposant que votre correctif soit correct, votre mentor fusionnera votre demande d'extraction dans le référentiel principal et le bogue sera automatiquement résolu par le robot github de Bugzilla (cela ne se produit que si le nom de la demande d'extraction et de validation contient le numéro de bogue)..

Rien de plus joyeux que de voir votre code fusionné dans la base de code principale et déployé sur le site Web principal utilisé par des millions d'utilisateurs.!

J'espère que vous avez pu suivre les étapes pour résoudre votre premier bogue chez Webmaker ou pour tout autre projet open source similaire.