Hvordan Bidra til et Åpen Kildekode-Prosjekt

0
7

Følgende kommer til å bli litt sta og har som mål å veilede noen på sin reise i åpen kildekode. Som en forutsetning, at du bør ha grunnleggende kjennskap til kommandolinjen og Git. Hvis du kjenner begrepene og ønsker å dykke rett inn i trinn-for-trinn hvordan-guide, sjekk ut denne delen av artikkelen.

Virkelig, det er ingen måte å bidra til et åpent kildekode-prosjekt, og til å være involvert betyr ofte mer enn koden anhuking. I denne artikkelen, men vi kommer til å fokusere på den kjedelige bidra med et trekk forespørsel (PR) til noen andres prosjekt på GitHub.

La oss sette scenen…

Du kommer over noen prosjekt på Github, og du elsker det! Du kan selv bestemme seg for å bruke det i ditt eget prosjekt. Men det er en liten ting du legger merke til… det kan være en bug. Det kan være en forsterkning til det som allerede er der. Kanskje du har sett gjennom koden og fant en fin, optimal måte å skrive ting som er litt mer forståelig, selv så lite som et ekstra innrykk i koden.

Her er noen foreløpige forslag og instruksjoner om hvor du skal dra herfra.

Se etter en MEDVIRKENDE.md dokument eller Bidra med Veiledning i dokumentasjon

Mange åpen kildekode-prosjekter vet at andre mennesker kan ønske å bidra. Hvis de finne seg i å svare på det samme spørsmålet igjen og igjen, dette dokumentet har til hensikt å gjøre det enklere å få alle på samme side.

Noen ting som du kan finne i en Medvirkende guide:

  • Retningslinjer for stil
  • Forutsetninger for å fremme en PR
  • Hvordan legge til din endre til sine dokumentasjon
  • En sjekkliste for bidrag
  • Forklare prosjektets arkitektur og oppsett

Dette dokumentet kan være så enkelt som noen notater, eller det kan være så robust at det tar en liten stund å lese gjennom det hele (som Atom Bidrar med veiledning, for eksempel).

For større prosjekter, det fornuftig å kommunisere bidra retningslinjer foran fordi PRs og problemer kan hope seg opp og bli en reell dra på en utviklerens tid, sortering gjennom bidrag som kan være ute av prosjektets omfang. Sørg for å ta noen av din egen tid til å lese gjennom denne håndboken hvis den eksisterer fordi din PR vil kreve noe av utviklerens tid, så vel.

Se gjennom eksisterende problemer og PRs

Før du legger til en ny utgave eller ved å sende inn en PR, det er godt å se hva annet er der ute. Du kan finne noen har allerede spurt om det samme, eller skrevet noe lignende. Du kan sjekke i prosjektet søk-boksen — jeg pleier å søke gjennom saker som er både åpne og lukkede, som det er viktig å vite om noen allerede hevet min bekymring og kanskje den ansvarlige bestemte seg for å gå i en annen retning. Igjen, det handler om å spare både du og vedlikeholder tid.

Send et problem

Innsending av spørsmål er en sentral del av PR-innsending prosess. De gir en mulighet til å sette ord på situasjonen, etablere konteksten rundt det, og gi et forum for diskusjon som kan være knyttet til PR seg selv.

Når du sender inn et spørsmål, har jeg lyst å skrive ut hva min bekymring er, og deretter re-lese det som om jeg var på mottakersiden. Folk er human — selv om det du har sagt er teknisk korrekt, du er ikke sannsynlig å få buy-in for ideen din om din tone er off-putting. Tenk over dette: du kan være å spørre om noen til å gjøre mye av arbeidet i sin fritid. Hvis noen ber deg om å gjøre jobben på en lørdag, er du mer sannsynlig å gjøre det hvis de spør respektfullt med nedstigning? Du får bildet.

Når du sender et problem, må du gi dem alle den informasjon de trenger for å få arbeidet gjort. Noen ting du kanskje merk:

  • Hvis det er en feil, så er det miljøet du ser problemet i? Er det utvikling eller produksjon? Kanskje et annet sted?
  • Hvis det er en funksjon forespørsel, deretter forklare problemet. Noen ganger rammer dette fra perspektivet til sluttbruker i form av user stories kan være nyttig, både for å forklare situasjonen og abstrakte det fra noen personlige følelser.
  • Hvis det er et generelt spørsmål, så si at opp foran, slik at den ansvarlige kan unngå å bruke tid på å prøve å finne ut hvis du spør etter en bug eller en funksjon.
  • Hvis du ønsker å sende inn en PR-for å bedre på problemet,kan du nevne at du ønsker å gjøre dette, så be om tillatelse til å fortsette (fordi noen ganger utviklere har andre elementer planlagt du ikke er klar over).

Ta hensyn før du starter arbeidet

Du er sannsynligvis ivrige etter å begynne å jobbe på dine PR-av dette punktet. Men først, det er fortsatt et par vanlige tingene å sjekke ut før du grave i.

Spør først

Jeg er en stor fan av folk som ber i et problem hvis en PR fornuftig før de fungerer på en. Jeg kan ikke holde det som en streng regel, men noen ganger kan jeg lagre dem spann av tid og går i feil retning hvis vi kan klargjøre hva vi ønsker begge sammen først. Det hjelper også andre vet å ikke gjennomføre den samme tingen (forutsatt at de også ser gjennom åpne og lukkede PRs.

Bruk etiketter

Hvis du sender inn en sak, og alle er enige om at en PR er en god idé, så det er fint om du (eller eieren av repo) for å legge til etiketten i fremgang. Du kan søke etiketter, så det er egentlig klart for alle at du arbeider på det.

Arbeid i små biter!

Som en vedlikeholder, det er frustrerende når noen satt i en masse arbeid, og foreslår en gigantisk honking PR som har 10 forskjellige ting. Det er virkelig vanskelig å vurdere, og uunngåelig, de gjør er seks ting du ønsker, og fire ting du ikke trenger. Ikke bare det, det er vanligvis spredt ut over flere filer som er vanskelig å gre. Jeg har definitivt stengt PRs med noen av høy kvalitet kode jeg ønsker bare fordi det ville ta en evighet for å vurdere og behandle det. (Jeg vil kommunisere at dette er spørsmålet om de ønsker å sende inn arbeid som separate PRs, skjønt.)

I min mening, du har om lag 1000% større sjanse for å få PR seg sammen, og tiden du har brukt en ære hvis du deler ting over flere, mindre PRs. Jeg elsker det når folk sender inn en PR-per emne. Og det kan være fint, ikke er nødvendig, hvis hver innsending er en liten fordelt ut samt å hjelpe til med kognitiv overbelastning.

Send inn din PR

Dette er fremgangsmåten jeg personlig bruker for å sende inn en PR. Du kan få det gjort andre måter, selvfølgelig, men jeg har funnet følgende for å være effektive i mine erfaringer. Også, det er noe i kommandoer som er skrevet i store bokstaver er informasjon du trenger å endre for din bruk.

First off, kan du gå til repo, gaffel og en kopi av prosjektet til din personlige GitHub-konto. Klone det lokalt og endre katalog (cd) til der den er plassert. (Jeg bruker HTTPS, men SSH er helt greit så godt.)

git clone https://github.com/YOUR-USERNAME/YOUR-FORKED-REPO.git
cd-en inn/klonet/gaffel-repo

Neste opp, legge til en ekstern oppstrøms til den opprinnelige gren. Dette betyr at det vil dele en forbindelse med den opprinnelige gren, slik at du kan holde synkronisert og dra ned oppdateringer til prosjektet når de skjer.

git ekstern legge til oppstrøms https://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git hente oppstrøms

Nå kan du opprette en ny gren og gi den et navn som knytter seg til PR emne. Vær oppmerksom på at en utvikler kan ha en bestemt naming convention i tankene som er dokumentert i repo.

git checkout -b-FORKIN-NAVN

Gå ut og arbeid på endringene. Være sikker på å gjøre godt begå meldinger underveis:

git add-En
git commit-m “LEGGE til I EN TACO DISPENSER”
git push opprinnelse GOD-FORKIN-NAVN

GitHub vil se den nye gaffel og ber deg om å gjøre PR, som er en hyggelig, nyttig touch. Du klikker på knappen og fyll inn detaljene: hva problemet gjør det i nærheten? du kan se dem ved deres antall og GitHub vil automatisk knytte det:

På PR:

I Spørsmålet:

Hva er noen ting å merke seg i PR? Disse detaljene hjelpe utvikleren å forstå sammenhengen. Disse kan være alle endringer du har gjort, kan de være større strategi eller sammenheng.

Og du er på vei! 🎉

Du kan finne det du trenger til å holde dine gaffel up-to-date med fjernkontrollen, og trekke sine endringer i din. For å gjøre dette, kan du kjøre denne kommandoen:

git pull oppstrøms master

Rekvisitter til Christina Solana for henne Hovedpunkt som jeg har brukt som referanse for mange år nå.

Husk alltid: vedlikeholdspersonell er ofte overbelastet, ofre netter og helger for å holde åpen kildekode-prosjekter aktiv og oppdatert. Å være respektfull, både i form av sin tid, og i tone, kan sette deg opp for suksess i å bidra.

Åpen kildekode kan være svært givende! Å vite at andre mennesker har dratt nytte og direkte ved hjelp av noe du har bidratt kan være en fin måte å gi tilbake til samfunnet og lære.