Hoe om bij te Dragen aan een Open Source Project

0
7

De volgende gaat een beetje eigenwijs en is bedoeld om iemand op hun reis naar open source. Als een voorwaarde, moet u beschikken over elementaire kennis van de commando-regel en Git. Als u weet dat de concepten en wilt duiken in de stap-voor-stap handleiding, bekijk dit deel van het artikel.

Echt, er is geen manier om bij te dragen aan een open source project, en om betrokken te worden betekent vaak meer dan code gooien. In dit artikel, maar we gaan ons richten op de nitty-gritty van bijdragen van een pull request (PR) aan iemand anders project op GitHub.

Laten we het podium…

Kom je iemand project op Github en u love it! U kunt er zelfs voor kiezen om te gebruiken in uw eigen project. Maar er is één klein ding ziet u… het kan een bug. Het zou een verbetering van wat er al is. Misschien keek je door de code in en vond een mooi, geoptimaliseerde manier van schrijven van de dingen die een beetje meer leesbaar, zelfs zo klein als een extra inkeping in de code.

Hier zijn een aantal eerste suggesties en aanwijzingen waar te gaan van hier.

Kijk voor een BIJDRAGE.md-document of een Bijdrage Gids in de documentatie

Veel open source projecten te weten dat andere mensen zouden willen bijdragen. Als ze vinden zichzelf het beantwoorden van dezelfde vraag opnieuw en opnieuw, dit document is bedoeld om het makkelijker te maken om iedereen op dezelfde pagina.

Sommige dingen die je zou vinden in een Bijdrage gids:

  • Stijl richtlijnen
  • Vereisten voor het indienen van een PR
  • Het toevoegen van uw verandering van hun documentatie
  • Een checklist voor de bijdrage
  • Uitleg over het project architectuur en installatie

Dit document kan zo simpel zijn als een paar opmerkingen, of het kan zo robuust dat het duurt een tijdje om te lezen door alle (zoals Atom ‘ s bij te Dragen gids, bijvoorbeeld).

Voor grotere projecten is het zinvol om te communiceren bijdragen richtlijnen up-front omdat de Pr ‘ s en problemen kunnen zich opstapelen en een echte slepen op een onderhouder is tijd, sorteren door middel van bijdragen die mogelijk uit van de project scope. Zorg ervoor dat u wat van uw tijd door met het lezen van deze handleiding, mits deze bestaat, omdat uw PR zal vereisen dat sommige van de maintainer van de tijd.

Kijk door de bestaande problemen en de Pr ‘ s

Voor het toevoegen van een nieuw probleem of een PR, het is goed om te controleren wat er is. Misschien vind je het iemand al heeft gevraagd over hetzelfde, of ingediend iets dergelijks. U kunt dit controleren in het project search box — ik meestal zoeken door middel van problemen die zowel open als gesloten, want het is belangrijk om te weten of iemand al mijn zorgen en misschien wel de beheerder besloten om te gaan in een andere richting. Nogmaals, het is over het opslaan van zowel u en de onderhouder van de tijd.

Het indienen van een probleem

Het indienen van problemen is een belangrijk onderdeel van de PR indiening proces. Ze bieden een mogelijkheid om uitdrukking te geven aan de situatie, bepalen het kader omheen, en een forum bieden voor discussie, dat kan worden bevestigd aan de PR zelf.

Bij het indienen van een probleem, ik wil schrijven wat mijn probleem is en vervolgens opnieuw te lezen als ik was aan de ontvangende kant. Mensen zijn mens — zelfs als wat u zegt is technisch gesproken juist, je waarschijnlijk niet te krijgen buy-in voor uw idee of uw toon is off-putting. Bedenk dit: je kan vragen om iemand te veel werken in hun vrije tijd. Als iemand u vraagt om werk te doen op een zaterdag, bent u meer kans om te doen dus als ze vragen respectvol met minzaamheid? Je krijgt het beeld.

Bij het indienen van een probleem, zorg ervoor dat je ze alle informatie die ze nodig hebben om het werk gedaan. Sommige dingen die je zou opmerking:

  • Als het een bug is, dan wat de omgeving je ziet het probleem in? Is het ontwikkeling of productie? Misschien ergens anders?
  • Als het een feature request, dan uitleggen wat het probleem is. Soms framing dit vanuit het perspectief van de eindgebruiker in de vorm van user stories kan nuttig zijn, zowel voor het conceptualiseren van de situatie en het abstracte van alle persoonlijke gevoelens.
  • Als het een algemene vraag, dan staat dat op de voorzijde, zodat de beheerder het kan voorkomen dat de besteding van de tijd proberen om erachter te komen als je vraagt om een bug of een feature.
  • Als u wilt voorleggen van een PR te verbeteren op het probleem, met de vermelding dat je wilt om dit te doen, vraag dan toestemming om door te gaan (want soms onderhouders hebben andere items geplande u zich mogelijk niet bewust van).

Maak overwegingen voor aanvang van de werkzaamheden

U bent waarschijnlijk te popelen om te beginnen werken aan je PR op dit punt. Maar eerst zijn er nog een paar gebruikelijke dingen te controleren voordat je graaft in.

Eerst vragen

Ik ben een grote fan van mensen die vragen in een probleem als een PR zinvol voordat ze werken op één. Ik houd niet als een strikte regel, maar soms kan ik ze opslaan emmers van de tijd en de verkeerde kant op gaan als we duidelijk maken wat we willen allebei eerst samen. Het helpt ook anderen weten te implementeren hetzelfde (ervan uitgaande dat zij, ook, kijk door het open en gesloten Pr ‘ s.

Gebruik etiketten

Als u het indienen van een probleem en iedereen is het ermee eens een PR is een goed idee, dan is het leuk voor u (of de eigenaar van de repo) om het label in de vooruitgang. U kunt zoeken labels, dus het is echt voor iedereen duidelijk dat u aan het werk bent het.

Werken in kleine stukjes!

Als u een onderhouder bent, het is frustrerend wanneer iemand in een veel werk en legt een gigantische toeterende PR die wel 10 verschillende dingen. Het is echt heel moeilijk om te beoordelen en, onvermijdelijk, ze doen zes dingen die je wilt, en vier dingen die je helemaal niet. Niet alleen dat, het is meestal verspreid over meerdere bestanden, die moeilijk te ontwarren. Ik heb zeker gesloten Pr ‘ s met een aantal kwalitatief hoogwaardige code ik wil graag alleen maar omdat het voor altijd zou duren voor om te beoordelen en te beheren. (Ik zal communiceren dat dit het probleem is als ze willen opnieuw het werk als afzonderlijke PRs, dat wel.)

In mijn mening, je hebt 1000% meer kans op het krijgen van uw PR samengevoegd en uw tijd besteed geëerd als je split dingen over meerdere, kleinere Pr ‘ s. Ik hou ervan als mensen het indienen van een PR per onderwerp. En het kan leuk zijn, niet verplicht, indien elke inzending is een beetje te spreiden, maar ook om te helpen met de cognitieve overbelasting.

Het indienen van uw PR

Dit zijn de stappen die ik persoonlijk gebruik tot het indienen van een PR. U kunt dit doen andere manieren, natuurlijk, maar ik heb het volgende gevonden om effectief te zijn in mijn ervaringen. Ook, iets in de commando ‘ s die zijn geschreven in hoofdletters is informatie die u nodig hebt om te veranderen voor uw gebruik.

Ten eerste, ga naar de repo, vork en een kopie van het project aan uw persoonlijke GitHub account. Kloon het lokaal en ” change directory (cd) waar hij gevestigd is. (Ik gebruik maken van HTTPS, maar de SSH is helemaal fijn als goed.)

git clone https://github.com/YOUR-USERNAME/YOUR-FORKED-REPO.git
cd in/gekloonde/vork-repo

Next up, het toevoegen van een externe stroomopwaarts naar de oorspronkelijke tak. Dit betekent dat het delen van een verbinding met dat oorspronkelijke tak, zodat u kunt houden in sync en trek eventuele updates van het project als ze gebeuren.

git remote add upstream https://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git fetch upstream

Nu kunt u een nieuwe tak en geef het een naam die betrekking heeft op de PR onderwerp. Merk op dat een beheerder kan een specifieke naamgeving in het achterhoofd dat is beschreven in de repo.

git checkout -b-GOOD-FORKIN-NAAM

Uitgaan en werken op uw wijzigingen. Zorg ervoor dat je goede berichten langs de weg:

git add-A
git commit -m “toe te VOEGEN IN EEN TACO DISPENSER”
git push origin GOEDE FORKIN-NAAM

GitHub zal zien dat de nieuwe vork en u wordt gevraagd om de PR, dat is een mooie, handige touch. U klikt op de knop en vul de details: wat het probleem is het dichtbij? u kunt verwijzen naar hen door hun aantal en GitHub automatisch associëren:

Op de PR:

In de Uitgave:

Wat zijn enkele van de dingen op te merken in de PR? Deze gegevens helpen de beheerder inzicht in de context. Deze kunnen worden alle wijzigingen die u hebt gemaakt, kunnen ze grotere strategie of context.

En u bent op uw manier! 🎉

U kunt vinden dat u nodig hebt om uw vork up-to-date met de afstandsbediening en trek de wijzigingen in het jouwe. Om dit te doen, zou u deze opdracht uitvoert:

git pull upstream master

Props aan Christina Solana voor haar Gist die ik heb gebruikt als een referentie voor jaren en jaren.

Denk er altijd aan: – beheerders zijn vaak overspoeld te offeren nachten en weekenden te houden van open source-projecten actief en bijgewerkt. Respect, zowel in termen van hun tijd, en in de toon, kunt u voor succes bij te dragen.

Open source kan zeer de moeite waard! Het kennen van andere mensen genezen en rechtstreeks met iets wat je hebt bijgedragen kan een geweldige manier om terug te geven aan de gemeenschap en leren.