Hur man kan Bidra till ett Open Source-Projekt

0
8

Följande kommer att få något påstridig och syftar till att vägleda någon på deras resa till öppen källkod. Som en förutsättning du bör ha grundläggande förtrogenhet med kommandoraden och Git. Om du känner till begrepp och vill dyka rätt in i steg-för-steg-hur-att styra, kontrollera ut denna del av artikeln.

Verkligen, det är inte ett sätt att bidra till ett open source-projekt, och att få vara delaktig innebär ofta mer än kod smutskastning. I den här artikeln, men vi kommer att fokusera på praktiska detaljer bidrar en pull request (PR) till någon annans projekt på GitHub.

Låt oss in på scenen…

Du kommer att komma över någons projekt på Github och du älskar det! Du kan även besluta att använda det i dina egna projekt. Men det är en liten sak som du märker… det kan vara en bugg. Det kan vara en förbättring av det som redan finns där. Kanske du tittat igenom koden och hittade en fin, optimerat sätt med att skriva saker som är lite mer lättläst, även så små som ett extra indrag i koden.

Här är några inledande förslag och instruktioner på hur man ska gå vidare.

Leta efter en BIDRAGANDE.md dokument eller Bidrar Guide i dokumentationen

Många open source-projekt vet att andra människor kanske vill bidra med. Om de finna sig att svara på samma fråga igen och igen, detta dokument avser att göra det lättare att få med alla på samma sida.

Några saker du kan hitta i en Bidragande guide:

  • Stil riktlinjer
  • Förutsättningarna för att lämna ett PR
  • Hur man lägger till din förändring till deras dokumentation
  • En checklista för bidrag
  • Förklarar projektets arkitektur och installation

Detta dokument kan vara så enkelt som ett par anteckningar, eller kan det vara så robust att det tar ett tag att läsa igenom allt (som Atom Bidrar guide, till exempel).

För större projekt, är det vettigt att kommunicera bidra riktlinjer up front för PRs och frågor kan stapla upp och bli en riktig dra på en ansvarige tid, sortering genom avgifter som kan tas ut av projektets omfattning. Se till att ta lite av din egen tid att läsa igenom denna guide om det finns eftersom din PR kommer att kräva att vissa av de ansvariga samt.

Titta igenom de frågor och PRs

Innan du lägger till en ny fråga eller lämna in en PR, det är bra att kolla vad som finns där ute. Du kan hitta någon som redan har bett om samma sak, eller lämnats något liknande. Kan du kolla i projektet sökruta — jag brukar söka igenom frågor som är både öppen och stängd, eftersom det är viktigt att veta om någon redan tagit upp min oro och kanske den ansvarige bestämde sig för att gå i en annan riktning. Återigen, det handlar om att spara både du och den ansvarige tid.

Skicka en fråga

Skicka in frågor är en viktig del av PR-inlämning process. De ger en möjlighet att formulera situationen, fastställa ramen runt det, och erbjuda ett forum för diskussion som kan vara ansluten för att göra PR för sig själv.

När du skickar in en fråga, jag gillar att skriva ut vad mitt problem är och sedan läste det som om jag var på den mottagande änden. Människor är människor — även om det du säger är tekniskt korrekt, du sannolikt inte kommer att få köpa din idé om din ton är avskräckande. Tänk dig detta: du kan be för någon att göra en hel del arbete på sin fritid. Om någon ber dig att göra arbete på en lördag, är du mer sannolikt att göra det om de frågar på ett respektfullt sätt nedlåtelse? Du får bilden.

När du skickar in en fråga, se till att du ger dem all den information de behöver för att få arbetet gjort. Några saker du kan observera:

  • Om det är en bugg, sedan vilken miljö du ser problemet? Är det utveckling eller produktion? Kanske någon annanstans?
  • Om det är en feature request, då förklara problemet. Ibland inramning detta ur perspektivet av slutanvändaren i form av användarnas berättelser kan vara till hjälp, både för att konceptualiseras situationen och sammanfattning från några personliga känslor.
  • Om det är en allmän fråga, då staten att på framsidan så att den ansvarige kan undvika att spendera tid på att försöka räkna ut om du frågar efter en bugg eller en feature.
  • Om du vill skicka ett PR för att förbättra på den frågan, tala om att du vill göra detta, för att sedan be om lov för att gå vidare (eftersom det ibland ansvariga har andra poster som planeras du kan vara omedvetna om).

Göra överväganden innan arbetet börjar

Du är nog ivriga att börja arbeta på din PR i denna punkt. Men först finns det fortfarande några sedvanliga saker att checka av innan du gräver.

Fråga först

Jag är ett stort fan av människor som ber i en fråga om en PR vettigt innan de arbetar på en. Jag håller inte fast vid den som en strikt regel, men ibland kan jag spara dem hinkar av tiden och går i fel riktning om vi kan klargöra vad vi båda vill tillsammans först. Det hjälper också andra vet att inte genomföra samma sak (förutsatt att de också ser genom öppna och slutna PRs.

Använd etiketter

Om du inte skicka in en fråga och alla är överens om en PR är en bra idé, då är det skönt för dig (eller ägare av räntan) för att lägga till etiketten i utvecklingen. Du kan söka etiketter, så det är riktigt klart för alla att du jobbar på det.

Arbete i små bitar!

Som underhållare, det är frustrerande när någon lagt i en hel del arbete och lämnar in en jätte tutande PR som gör 10 olika saker. Det är verkligen tufft att se över, och oundvikligen, de gör sex saker du vill ha, och fyra saker du inte. Inte bara det, det är normalt sprids ut över flera filer som är svåra att reda ut. Jag har definitivt stängt PRs med vissa av hög kvalitet kod som jag skulle vilja bara för att det skulle ta en evighet för att granska och hantera det. (Jag kommer att kommunicera, som det här är frågan om de skulle vilja skicka in arbetet som separata PRs, dock.)

I min åsikt, du har cirka 1 000% mer chans att få ditt PR samman och din tid hedrad om du dela upp saker över flera, mindre PRs. Jag älskar när folk lämna in en PR-per ämne. Och det kan vara trevligt, krävs inte, om varje bidrag är lite spejsat, samt att hjälpa till med kognitiv överbelastning.

Skicka in din PR

Dessa är de steg som jag personligen använder för att skicka in ett PR. Du kan få detta gjort annat sätt, naturligtvis, men jag har funnit följande för att vara effektiv i mina upplevelser. Också, något i de kommandon som skrivs i versaler är information som du kommer att behöva ändra för din användning.

Först ut, gå till repo och gaffel en kopia av projektet för att din personliga GitHub-konto. Klona det lokalt och ändra katalog (cd), där det finns. (Jag använder HTTPS, men SSH är helt bra också.)

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

Nästa upp, lägga till en annan uppströms för att den ursprungliga delen. Detta innebär att det kommer att dela en anslutning med den ursprungliga delen, så att du kan hålla i synk och dra ner alla uppdateringar till projektet när de inträffar.

git remote lägga till uppströms https://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git fetch uppströms

Nu kan du skapa en ny gren och ge den ett namn som är kopplat till PR ämne. Observera att ett kön kan ha en viss naming convention i åtanke, som är dokumenterad i reporäntan.

git checkout -b-BRA-FORKIN-NAMN

Gå ut och arbeta på dina ändringar. Se till att göra bra begå meddelanden längs vägen:

git add-En
git commit-m “att LÄGGA I EN TACO DISPENSER”
git push origin BRA-FORKIN-NAMN

GitHub kommer att se den nya gaffel och du uppmanas att göra PR, vilket är en trevlig touch. Klicka på knappen och fylla i detaljer: vad frågan gör att det är nära? du kan referera till dem genom deras nummer och GitHub kommer att automatiskt associera det:

På PR:

I Frågan:

Vad är några av de saker att notera i PR? Dessa detaljer hjälper den ansvarige förstå sammanhang. Dessa kan vara alla de ändringar som du har gjort, kan de vara större strategi eller sammanhang.

Och du är på väg! 🎉

Du kanske upptäcker att du behöver för att hålla din gaffel up-to-date med fjärrkontrollen, och dra sina förändringar i ditt hem. Att göra så, skulle du köra detta kommando:

git pull tidigare befälhavaren

Rekvisita till Christina Solana för henne Kontentan som jag har använt som referens för år och år nu.

Kom alltid ihåg: utvecklare är ofta översvämmas, att offra kvällar och helger för att hålla open source-projekt som är aktiva och uppdaterade. Att vara respektfull, både i termer av deras tid, och i tonen, kan ställa dig upp för framgång i att bidra.

Öppen källkod kan vara mycket givande! Att veta att andra människor kommer i åtnjutande och direkt med hjälp av något som du bidrog kan vara ett bra sätt att ge tillbaka till samhället och att lära sig.