Tere! Minu nimi on Dmitri Pavlov, ma töötan , olen samuti committer ja PMC liige Apache Ignite'is ning kontributor Apache Trainingus. Hiljuti esinesin Sberbanki open source'i kohtumisel ettekandega committeri rollist. Open source'i kogukonna arenguga on paljude seas üha rohkem küsimusi: kuidas saada committeriks, milliseid ülesandeid võtta ja kui palju koodi tuleb kirjutada, et seda rolli saada. Kui mõtleme committeritele, kujutame kohe ette kõiketeadvaid inimesi, kellel on peas kroon ja käes "Puhtad kood" raamat scepteriga. Kas see tõesti vastab tõele? Oma postituses püüan vastata kõigile olulistele küsimustele committerite kohta, et saaksite aru, kas see on tõeliselt vajalik.

Kasutajatel, kes on avatud lähtekoodiga kogukonnas uued, tekivad mõtted, et nad ei saa kunagi committeriteks. Selline positsioon on paljude jaoks prestiižne ja selle saavutamiseks peab olema erilisi teenete ja kirjutama tonnide viisi koodi. Kuid asi ei ole nii lihtne. Vaatame committeri poolt kogukonna vaatenurgast.
Kes on committer ja milleks ta vajalik on?
Uue avatud lähtekoodiga toote loomisel lubame alati kasutajatel selle kasutamist ja uurimist, samuti muudatuste tegemist ja muudetud koopia levitamist. Kuid kui muudetud tarkvara koopiaid levitatakse kontrollimatult, ei saa me panuseid põhikoodibaasi ja projekt ei arene. Siin on tõeliselt vajalik kommitter, kellel on õigus koguda kasutajate panuseid projekti.
Miks saada kommitteriks?
Esiteks, kommitteriks olemine on teie CV's pluss, ning programmi valdkonnas uustulnukate jaoks on see veelgi suurem eelis, kuna tööotsimisel küsitakse sageli koodinäiteid.
Teiseks on kommitteriks olemise suur eelis võimalus suhelda tippspetsialistide ja tuua oma projekti häid ideid avatud lähtekoodi maailmast. Samuti, kui tunnete hästi mõnda avatud lähtekoodiga toodet, saate töötada ettevõttes, mis seda toetab või kasutab. On isegi arvamus, et kui te ei osale avatud lähtekoodis, siis ei saavuta te kõrgeid ametikohti.
Lisaks karjäärile ja tööotsingutele on ka kommitterdamine iseenesest meeldiv tegevus. Sind tunnustab professionaalne kogukond, sa näed selgelt oma töö tulemusi. See pole nagu mõnes korporatiivses arenduses, kus mõnikord ei saa üldse aru, miks sa XML-i välju niisama edasi-tagasi liigutad.
Avatud lähtekoodiga kogukondades saab kohtuda tipp-spetsialistidega, nagu Linus Torvalds. Kuid kui sa ei ole selline, ära arva, et seal pole sulle midagi teha — seal on ülesandeid erinevatelt tasemetelt.
Ja mõnikord on ka lisaboonuseid: näiteks saavad Apache'i kommitterid tasuta IntelliJ Idea Ultimate litsentsi (kuigi teatud piirangutega).
Mida teha, et kommitteriks saada?
Kõik on lihtne — tuleb kommitterdada.

Kui arvad, et projektides ei ole sulle sobivaid ülesandeid — siis sa eksid. Liitu lihtsalt huvipakkuva kogukonnaga ja tee seda, mis on just sellele vajalik. Apache Software Foundationis on eraldi kommitterite nõuded.
Milliseid ülesandeid tuleb lahendada?
Erinevad rollid — arendusest testimise ja dokumentatsiooni kirjutamiseni. Jah, testijate ja dokumenteerijate panust kogukonnas hinnatakse sama kõrgeks kui arendajate panust. On ka ebatavalisi ülesandeid — näiteks YouTube'i kanali pidamine ja teistele kasutajatele avatud lähtekoodiga tootest rääkimine. Näiteks Apache Software Foundationis on eraldi , kus on kirjas, millist abi vajatakse.
Kas suuri funktsioone on vaja kirja panna, et saada komiteeliikmeks?
Ei. See ei ole absoluutselt vajalik. Komiteeliige ei pea kirjutama tonnide viisi koodi. Kuid kui olete kirjutanud suure funktsiooni, on projektijuhtimise komiteel lihtsam teid hinnata. Panus kogukonda ei seisne ainult funktsioonides, programmeerimises ja testimises. Kui kirjutate kirja ja räägite mingist probleemist, pakudes välja argumenteeritud lahenduse — on see samuti panus.
Oluline on mõista, et komiteeliikmeks olemine on usaldus. Teie nimetamist komiteeliikmeks otsustavad samasugused inimesed nagu teie, lähtudes oma arvamustest teie kui inimese kasulikkusest tootele. Seetõttu peate oma tegude ja käitumisega kogukonnas selle usalduse teenima.
Kuidas käituda?
Olge konstruktiivne, positiivne, viisakas ja kannatlik. Pidage meeles, et avatud lähtekoodiga projektides on kõik vabatahtlikud ning keegi ei ole kellelegi midagi võlgu. Kui te ei saa vastust, oodake ja meenutage oma küsimust 3–4 päeva pärast. Kui te ei saa pidevalt vastust, mis teha, avatud lähtekoodiga on vabatahtlik asi.

Ärge paluge, et keegi teeks midagi teie eest või teie nimel. Kogenud kogukonna liikmetel on tunne selliste 'palujate' suhtes ja neil tekib kiiresti allergia nende vastu, kes tahavad oma töö neile selgeks teha.
Kui keegi aitab teid, on see imeline, kuid ärge kuritarvitage seda. Ära kirjuta: 'Poisid, parandage see, vastasel juhul kaotan ma oma aastapreemia.' Küll aga küsige, kuhu edasi liikuda ja rääkige, mida olete juba selle vea kohta teada saanud. Kui lubate probleemide lahendamise tulemustest vikile uuendust, siis tõuseb tõenäosus, et teile vastatakse, märgatavalt.
Lõpuks, lugege ja õppige .
Kuidas panustada, kui sa ei ole kommiteerija?
Projektides kasutatakse sageli RTC-skeemi, kus esmalt kõik läbivad ülevaatamise, ja seejärel muudatused ühendatakse põhiharudesse. Sellise skeemi korral lähevad kõik läbi ülevaatamise, sealhulgas ka kommitterid. Seetõttu saab projekti edukalt kaasata, olemata kommitter. Uute kommitterite valituks saamise lihtsustamiseks saab tegeleda uute osalejate juhendamisega, jagada teadmisi ja luua uusi materjale.
Mitmekesisus — kas see on kasulik või kahjulik?
Mitmekesisus — Apache Software Foundationi mõistes tähendab see ka ossuss-projekti osalejate seotust mitmete ettevõtetega. Kui kõik on seotud vaid ühe organisatsiooniga, siis selle huvi kadumisel projekte kõik osalejad kiiresti eemaldavad. Mitmekesisus tagab projekti pikaajalisuse, stabiilsuse, mitmekesise kogemuse ja laiaulatuslike arvamuste olemasolu osalejate seas.
Armastuse pärast või arvutuste tõttu?
Avatud lähtekoodiga projektides võib kohata kahte tüüpi inimesi: need, kes töötavad organisatsioonis, mis panustab sellesse toodet, ning need, kes teevad seda armastusest, st vabatahtlikud. Kes neist on tulemuslikum? Üldiselt on organisatsiooni toetujaid, kes toodet toetavad, tootlikumad. Neil on lihtsalt rohkem aega ja selge motivatsioon tõde välja selgitada, nad on keskendunud ülesandele ja lähedasemad kasutajale.
Need, kes teevad seda «armastusest», on samuti motiveeritud, kuid teistsugusel moel — nad soovivad projekti sügavamalt mõista ja maailma paremaks muuta. Ja just sellised osalejad on stabiilsemad ja suunatud pikaajalistele eesmärkidele, sest keegi, kes on just oma algatusel kogukonda tulnud, ei lahku sealt tõenäoliselt üleöö.
Kuidas leida tasakaal tootlikkuse ja stabiilsuse vahel? On kaks varianti. Esimene variant: kui osaleja töötab ettevõttes, mis ametlikult tegeleb selle avatud koodiga projektiga, ja teeb selles midagi lisaks, oma huvist — näiteks toetab algajaid. Teine variant on ettevõte, mis on läbinud avatud koodi transformatsiooni. Näiteks kui töötajad töötavad neli päeva nädalas põhitegevuse kallal ja ülejäänud ajal tegelevad avatud koodiga.
Kas olla kommitter või mitte?

Kommitteriks olemine on hea ja kasulik teema, kuid ei tasu sihilikult püüelda kommitteriks saamise poole. Seda rolli saab saada mitte ainult koodi kaudu, ja see ei tõesta teie teadmisi. Oluline on ainult ekspertiis, nimelt need teadmised ja kogemused, mille te omandate, uurides projekti, süvenedes sellesse ja aidates teistel probleemide lahendamisel.
Allikas: habr.com
