Pôvodne publikované na kopecmartin.github.io. Prezentované spolu s Lukášom Piwowarski na OpenInfra Summit Vancouver, jún 2023.

Problém open source prispievania sa zvyčajne rámcuje ako problém náboru: ako zaujať viac ľudí o prispievanie? Ale po preskúmaní dát a rozhovoroch s prispievateľmi naprieč komunitou OpenStack sme s Lukášom Piwowarski prišli k inému záveru: zainteresovaní ľudia sú tu. Brzdí ich trenie.
Čísla, ktoré preformulovali otázku
71 % ľudí, ktorí neprispieva upstream pravidelne, uviedlo, že by ocenili skupinu úloh pre prvý príspevok. To nie je okrajový nález: je to väčšina. A na OpenInfra Summit vo Vancouveri bolo zhruba 45 % účastníkov prvýkrát. Záujem o prispievanie je jasne prítomný. Medzera je medzi chcením prispieť a skutočným vedením, kde začať.
Keď sme sa ľudí pýtali, prečo neprispieva pravidelnejšie, trikrát sa opakovali rovnaké odpovede: nedostatok času, neistota, kde začať, a ťažkosti s hľadaním vhodných úloh. To nie sú osobnostné problémy ani nedostatok motivácie. Sú to procesné problémy. A procesné problémy sa dajú vyriešiť.
Trenie je problém
Prvý príspevok do nového projektu nesie neúmerne vysoké náklady. Musíte pochopiť kódovú základňu, recenzný proces, normy komunity, nástroje a rozsah toho, čo sa očakáva, a to všetko predtým, než napíšete jediný riadok. To je veľa neviditeľnej réžie. Ak je prvá úloha aj zle definovaná, alebo ak vám nikto dva týždne neodpovie na otázky, skončíte skôr, než ste začali.
To stojí za to brať vážne, pretože cena zlého prvého zážitku nie je len strata jedného prispievateľa. Je to strata všetkých, ktorým by o tom povedal. A v komunite, kde aktivita vývoja klesá, každý zmeškaný prispievateľ záleží.
Čo skutočne pomáha: štyri požiadavky na dobrú skupinu prvých úloh
Riešenie, ktoré sme navrhli, je zdanlivo jednoduché: kurátorská skupina úloh nižšej obtiažnosti, navrhnutá špeciálne na zníženie nákladov prvého príspevku. Ale kurácia je dôležitá. Nie každá issue označená "good first issue" ňou skutočne je. Aby úloha naozaj slúžila novému prispievateľovi, musí spĺňať štyri kritériá.
Po prvé, musí byť dobre zdokumentovaná. Popis úlohy by mal obsahovať celý kontext, ktorý nováčik potrebuje na pochopenie požiadaviek, bez predpokladaných znalostí a bez závislostí na inštitucionálnej pamäti. Ak potrebujete byť v projekte dva roky, aby ste rozumeli, čo issue žiada, nepatrí do skupiny.
Po druhé, musí existovať jasná definícia dokončenia. Nejasnosť v tom, ako vyzerá "hotovo", je osobitnou záťažou pre prispievateľov po prvýkrát, ktorí nemajú skúsenosti na kalibráciu podľa očakávaní komunity. Úloha by mala špecifikovať presne, ako vyzerá úspešný príspevok.
Po tretie, mal by byť pridelený mentor. Niekto dostatočne znalý, aby odpovedal na otázky a recenzoval príspevok, a kto sa zaviazal skutočne byť k dispozícii. Mentor len názvom nikomu nepomôže.
Po štvrté, časy reakcie musia byť rýchle. To priamo rieši prekážku "nemám čas": ak prispievateľ zverejní otázku a desať dní nepočuje nič, kontext je preč a rovnako tak aj motivácia. Rýchla spätná väzba udržuje príspevok v pohybe.
Uhol Atomic Habits
Z knihy Atomic Habits od Jamesa Cleara je tu relevantný princíp: najlepší spôsob, ako si vybudovať návyk, je znížiť trenie pri jeho začatí. Rovnaká logika platí pre open source prispievanie. Ak je prvý zážitok dostatočne hladký, že chce niekto zopakovať, nezískal ste len prispievateľa. Pomohli ste niekomu vybudovať si návyk.
Je tu aj čo povedať o "potulovaní sa": voľnom skúmaní kódovej základne bez jasného cieľa. Výskum naznačuje, že tento typ zapojenia pomáha predchádzať vyhoreniu prispievateľov. Nie každá interakcia s projektom musí produkovať mergnutý patch. Niekedy byť prítomný, čítať kód, sledovať diskusie, je súčasťou toho, ako sa ľudia vôbec stanú prispievateľmi.
Hlavný záver
Aj malé zníženie trenia v procese prispievania môže výrazne pomôcť. Nepotrebujete veľký program ani komplexný onboardingový systém. Dobre udržiavaná skupina skutočne prístupných prvých úloh, so skutočnými mentormi a rýchlymi odozvami, dokáže pohnúť ihlou. Ľudia, ktorí chcú prispievať, sú tu. Otázka je, či im to dostatočne uľahčujete, aby mohli začať.
