Fortsættelse af serien om de forskellige måder, man kan lære om de tekniske aspekter af Bitcoin, i denne artikel vil vi fokusere på gode første problemer i Bitcoin Core GitHub-arkivet.
Bitcoin Core er bredt anerkendt som referenceimplementering for Bitcoin. Selvom navnet “Bitcoin Core” først blev brugt 2013, klienten selv kan spore sine rødder lige tilbage til den allerførste udgivelse af Satoshi Nakomoto i 2009. Andre Bitcoin-implementeringer som libbitcoin (C ++), bcoin (Javascript) og btcd (Go) blev oprettet senere.
Lær GitHub at kende
Bitcoin Core er et open source-projekt. Koden og dokumentationen kan ses og downloades af alle med en internetforbindelse. Bitcoin Core (og mange andre softwareprojekter) bruger open source og ikke-proprietært Git-versionskontrolsystem til at spore ændringer i codebase på tværs af distribuerede bidragydere.
Git blev udviklet af skaberen af Linux-kernen, Linus Torvalds. I modsætning hertil leverer GitHub (for nylig erhvervet af Microsoft) proprietær software, der tilbyder praktiske værktøjer og sociale funktioner omkring Git-protokollen. Bitcoin Core er ikke afhængig af GitHub for sin løbende overlevelse, selvom det ville være ubelejligt og forstyrrende, hvis projektet pludselig blev flyttet eller forhindret i at bruge GitHub-software i fremtiden.
I løbet af Microsofts køb af GitHub var der diskussion i Bitcoin-samfundet og på andre open source-projekter om, hvorvidt de skal overgå fra fremtidig tillid til GitHub. Denne opfattelse bliver mere og mere populær, efterhånden som der bliver flere og flere bidragydere forbudt fra at bruge GitHub-software. Der er også muligheden for, at Microsoft kunne foretage det første træk og forbyde hele projekter hvis de opfattes som politisk kontroversielle. Tiden vil vise, om Bitcoin Core og andre Bitcoin-implementeringer fortsætter med at udnytte GitHubs ganske vist veludformede, brugervenlige funktioner i de kommende år.
Find et ‘Godt første nummer’
En af disse funktioner er GitHub-problemer, der bruges til at annoncere og spore bugs, forbedringer og anmodninger. Enhver GitHub-bruger kan oprette et problem, selvom det anbefales, at de kun åbner et problem efter at have undersøgt det og drøftet det med eksisterende bidragydere på IRC. Du behøver ikke at anmode om tilladelse til at begynde at arbejde på et problem. Men hvis du gør det, opfordres du til at kommentere problemet for at tilskynde til samarbejde med andre bidragydere. Det er også en god måde at anmode om hjælp, hvis og når du har brug for det.
Formålet med “Godt første nummer” label er at fremhæve, hvilke problemer der er egnede til en ny bidragsyder, der muligvis ikke har en dyb forståelse af kodebasen. Et godt første nummer er ikke målrettet mod begyndere af softwareudvikling. I det mindste har du brug for grundlæggende Git-færdigheder og ideelt set også C ++ og / eller Python-færdigheder, forudsat at Bitcoin Core-kodebasen er skrevet på disse sprog.
Gode første udgaver for Bitcoin Core fremhæver de “nyttige færdigheder” til at løse dette problem. Det er en god ide at lære C ++ og / eller Python til at levere kode-relaterede bidrag, men hvis du ikke er dygtig til disse sprog, kan du vælge at komme i gang ved at foretage en væsentlig forbedring af dokumentationen eller finde et godt første nummer, der kræver shell scripting, Automake eller CMake erfaring.
‘Typografier’ versus ‘rigtige’ problemer
Nogle mennesker kommer i gang med at rette grundlæggende stavefejl i variabelnavne, kommentarer eller dokumentation. Jeremy Rubin har spøgte at han bevidst efterlader skrivefejl i sine bidrag, så nye bidragsydere kan finde dem og rette dem. Selv om dette er en måde at komme i gang som en ny bidragsyder, er det bedre at fokusere på gode første problemer i stedet for at indsende pull-anmodninger (PR’er) for typografier.
Gode første udgaver er blevet fremhævet som noget, der mangler og har en væsentlig værdi for projektet af eksisterende bidragsydere. De oprettes ikke til at identificere skrivefejl, og eksisterende bidragsydere og vedligeholdere foretrækker at fokusere deres tid på gennemgang og fletning høj prioritet til gennemgang træk anmodninger. (Pull-anmodninger er foreslåede ændringer af bidragydere, der kun flettes af vedligeholdere efter gennemgang, og når der er tilstrækkelig enighed til at gøre det.)
Det ville derfor være bedre at korrigere skrivefejl som en del af en mere omfattende pull-anmodning. Som tidligere diskuteret er det værd at huske, at gennemgang af eksisterende PR’er generelt er mere værdifuldt end at indsende nye. John Newbery anbefaler, at en god tommelfingerregel er at gennemgå 5–15 PR’er for hver PR, som du sender personligt. I skrivende stund er der ca. 300 åbne pullanmodninger og 700 åbne emner, der kræver test og gennemgang.
Masser af muligheder for at øve og lære
Fabian Jahr, en nylig ny bidragyder til Bitcoin Core, har identificeret, at den vigtigste færdighed, der ofte mangler i nye bidragydere, er tilstrækkelig Git-færdighed, såsom evnen til at squash forpligter sig. Bidragydere skal indtaste Git-kommandoer i kommandolinjen. Hvis du er nybegynder til kommandolinjen og / eller Git, er det bedst at gennemføre vejledninger og øve på andre projekter, der ikke er underlagt ressourcebegrænsningerne i Bitcoin Core.
Der er mange Git tutorials online (nogle af dem gratis) og Justin Moon’s Mooniversity kursus (betalt) hjælper dig også med at lære forudsætningerne for at interagere med og bidrage til Bitcoin Core fra kommandolinjen. Vær ikke bange for at anmode om hjælp fra nylige nye bidragydere online eller på dit lokale Socratic Seminar, hvis du har brug for yderligere vejledning.
Bede om hjælp
En af udfordringerne med at indgå nye bidragsydere er, at opgaver, der tager en erfaren bidragsyder en kort periode at gennemføre, kan tage en ny bidragsyder meget længere tid. Dette kræver, at nye bidragydere fortsætter, hver gang de støder på udfordringer, og beder om hjælp, når det er nødvendigt. Nye nye bidragydere til Bitcoin Core kan være en god første anløbshavn, da de muligvis kan løse dit problem; hvis ikke, skal de være i stand til at henvise dig til en passende langsigtet bidragyder. Du kan også kommentere det emne, du arbejder på for at markere, at du har brug for hjælp.
I et interview med Bitcoin Magazines Vlad Costea mindede Chaincode Labs-ingeniør Carl Dong om at oprette en IFTTT e-mail-alarm, som vil markere hver gang der var et nyt “godt første nummer” sendt af eksisterende bidragsydere. Dette var en af de strategier, han brugte til at komme i gang med Bitcoin-udvikling og identificere nogle miniprojekter, som han havde færdighederne til at bidrage til. Dong har siden oprettet Twitter-kontoen @GoodFirstIssues som alle kan følge for meddelelser om nye gode første udgaver.
Tak til Jon Atack og Marco Falke for deres bidrag til denne artikel.