Paano maging isang committer at kailangan mo ba ito?

Kamusta! Ang pangalan ko ay Dmitry Pavlov, nagtatrabaho ako sa GridGain, at isa rin akong committer at kalahok ng PMC sa Apache Ignite at isang kontribyutor sa Apache Training. Nagbigay ako kamakailan ng isang pagtatanghal sa gawain ng isang committer sa open source meetup ng Sberbank. Sa pag-unlad ng opensource na komunidad, maraming tao ang nagsimulang magkaroon ng mga katanungan: kung paano maging isang committer, anong mga gawain ang dapat gawin, at ilang linya ng code ang kailangang isulat upang makuha ang tungkuling ito. Kapag nag-iisip tayo ng mga committers, agad nating naiisip ang makapangyarihan at omniscient na mga tao na may korona sa kanilang ulo at isang volume ng "Clean Code" sa halip na isang setro. Ganoon ba? Sa aking post, susubukan kong sagutin ang lahat ng mahahalagang katanungan tungkol sa mga committers upang maunawaan mo kung talagang kailangan mo ito.

Paano maging isang committer at kailangan mo ba ito?

Ang lahat ng mga bagong dating sa opensource na komunidad ay may mga iniisip na hindi sila kailanman magiging mga committer. Pagkatapos ng lahat, para sa marami, ito ay isang prestihiyosong tungkulin na maaari lamang makuha para sa espesyal na merito sa pamamagitan ng pagsulat ng isang toneladang code. Ngunit hindi ganoon kasimple. Tingnan natin ang committer mula sa pananaw ng komunidad.

Sino ang isang committer at bakit kailangan ang isa?

Kapag gumawa kami ng bagong open source na produkto, palagi naming pinapayagan ang mga user na gamitin at i-explore ito, pati na rin baguhin at ipamahagi ang mga binagong kopya. Ngunit kapag nangyari ang hindi makontrol na pamamahagi ng mga kopya ng software na may mga pagbabago, hindi kami tumatanggap ng mga kontribusyon sa pangunahing base ng code at hindi nabubuo ang proyekto. Dito kailangan ang committer, na may karapatang mangolekta ng mga kontribusyon ng user sa proyekto.

Bakit maging committer?

Magsimula tayo sa katotohanan na ang committing ay isang plus para sa isang resume, at para sa mga nagsisimula sa larangan ng programming ito ay isang mas malaking plus, dahil madalas kapag nag-a-apply para sa isang trabaho ay humihingi sila ng mga halimbawa ng code.

Ang pangalawang hindi mapag-aalinlanganang bentahe ng commit ay ang pagkakataong makipag-ugnayan sa mga nangungunang espesyalista at kumuha ng ilang cool na ideya mula sa open source papunta sa iyong proyekto. Bilang karagdagan, kung alam mo nang mabuti ang isang partikular na open source na produkto, maaari kang makakuha ng trabaho sa isang kumpanyang sumusuporta o gumagamit nito. Mayroong kahit isang opinyon na kung hindi ka lumahok sa open source, hindi ka makakarating sa matataas na posisyon sa karera.

Bilang karagdagan sa mga benepisyo sa mga tuntunin ng karera at trabaho, ang paggawa sa sarili nito ay kaaya-aya. Kinikilala ka ng propesyonal na komunidad, malinaw mong nakikita ang resulta ng iyong trabaho. Hindi tulad sa ilang corporate development, kung saan kung minsan ay hindi mo naiintindihan kung bakit mo inililipat ang mga field pabalik-balik sa XML.

Sa mga opensource na komunidad maaari mong matugunan ang mga nangungunang espesyalista tulad ni Linus Torvalds. Ngunit kung hindi ka ganoon, hindi mo dapat isipin na wala kang magagawa doon - may mga gawain sa iba't ibang antas.

Well, mayroon ding mga karagdagang bonus: Ang mga Apache committers, halimbawa, ay tumatanggap ng libreng lisensya ng IntelliJ Idea Ultimate (kahit na may ilang mga paghihigpit).

Ano ang dapat gawin para maging committer?

Simple lang - kailangan mo lang mag-commit.

Paano maging isang committer at kailangan mo ba ito?

Kung sa tingin mo ay walang mga gawain para sa iyo sa mga proyekto, nagkakamali ka. Sumali lang sa komunidad na interesado ka at gawin ang kailangan nito. Ang Apache Software Foundation ay may hiwalay gabay na may mga kinakailangan para sa mga committers.

Anong mga problema ang kailangan mong lutasin?

Ang pinaka-iba-iba - mula sa pag-unlad hanggang sa pagsulat ng mga pagsusulit at dokumentasyon. Oo, oo, ang kontribusyon ng mga tester at documenter sa komunidad ay pinahahalagahan sa pantay na batayan sa kontribusyon ng mga developer. May mga hindi karaniwang gawain - halimbawa, pagpapatakbo ng channel sa YouTube at pagsasabi sa iba pang mga user kung paano mo ginagamit ang isang opensource na produkto. Halimbawa, ang Apache Software Foundation ay may hiwalay pahina, kung saan ipinahiwatig kung anong tulong ang kailangan.  

Kailangan ko bang magsulat ng malaking feature para maging committer?

Hindi. Hindi naman ito kailangan. Ang committer ay hindi kailangang magsulat ng toneladang code. Ngunit kung sumulat ka ng isang malaking tampok, magiging mas madali para sa komite ng pamamahala ng proyekto na suriin ka. Ang pag-aambag sa komunidad ay hindi lamang tungkol sa mga feature, programming, at pagsubok. Kung sumulat ka ng isang liham at nagsasalita tungkol sa isang problema, mag-alok ng isang makatwirang solusyon - ito ay isa ring kontribusyon.

Mahalagang maunawaan na ang pagtitiwala ay tungkol sa pagtitiwala. Kung gagawin kang committer o hindi ay desisyon ng mga taong katulad mo batay sa kanilang pananaw sa iyo bilang isang taong nagdudulot ng pakinabang sa produkto. Samakatuwid, ikaw, sa pamamagitan ng iyong mga aksyon at gawa sa komunidad, ay kailangang makuha ang mismong pagtitiwala na ito.

Paano kumilos?

Maging constructive, positive, polite at patient. Tandaan na sa open source ang lahat ay isang boluntaryo at walang sinuman ang may utang sa sinuman. Hindi ka nila sinasagot - maghintay at ipaalala sa iyo ang tungkol sa iyong tanong sa loob ng 3-4 na araw. Hindi ka nila palaging sinasagot - mabuti, ang open source ay boluntaryo.

Paano maging isang committer at kailangan mo ba ito?

Huwag hilingin sa isang tao na gumawa ng isang bagay para sa iyo o para sa iyo. Ang mga nakaranasang miyembro ng komunidad ay may likas na ugali para sa gayong mga "pulubi" at agad na nagiging allergy sa mga gustong itulak ang kanilang trabaho sa kanila.

Kung makakuha ka ng tulong, mahusay iyon, ngunit huwag abusuhin ito. Hindi mo dapat isulat: "Guys, ayusin ito, kung hindi, mawawala ang aking taunang bonus." Mas mainam na magtanong kung saan ka susunod na pupunta, at sabihin sa amin kung ano ang nahukay mo na tungkol sa bug na ito. At kung ipinangako mong i-update ang wiki batay sa mga resulta ng paglutas ng problema, kung gayon ang posibilidad na sagutin ka nila ay tataas nang malaki.

Sa wakas, basahin Code ng Pag-uugali at matuto upang magtanong.

Paano mag-ambag kung hindi ka committer?

Ang mga proyekto ay madalas na gumagamit ng isang RTC scheme, kung saan ang lahat ay dumaan muna sa isang pagsusuri, at pagkatapos ay ang mga pagbabago ay pinagsama sa master. Sa pamamaraang ito, ganap na lahat ay sumasailalim sa pagsusuri, kahit na mga committers. Samakatuwid, maaari kang matagumpay na mag-ambag sa isang proyekto nang hindi isang committer. At para mas madaling mapili bilang mga bagong committer, maaari kang magturo ng mga bagong kalahok, magbahagi ng kaalaman, at lumikha ng mga bagong materyales.

Pagkakaiba-iba - benepisyo o pinsala?

Diversity - sa pag-unawa sa Apache Software Foundation, ito, bukod sa iba pang mga bagay, ay ang kaakibat ng mga kalahok sa isang opensource na proyekto ng ilang kumpanya. Kung ang lahat ay kaanib sa isang organisasyon lamang, pagkatapos ay sa pagkawala ng interes sa proyekto, lahat ng mga kalahok ay mabilis na tumakas mula dito. Ang pagkakaiba-iba ay nagbibigay ng pangmatagalan, matatag na proyekto, magkakaibang karanasan at malawak na hanay ng mga opinyon ng mga kalahok.

Para sa pag-ibig o para sa kaginhawahan?

Sa mga opensource na proyekto mayroong dalawang uri ng mga tao: ang mga nagtatrabaho sa isang organisasyon na nag-aambag sa produktong ito, at ang mga nagtatrabaho dito para sa pag-ibig, iyon ay, mga boluntaryo. Alin ang mas produktibo? Karaniwan, ang mga kalahok na sumusuporta sa produkto mula sa nag-aambag na organisasyon. Mayroon lamang silang mas maraming oras at malinaw na pagganyak upang makarating sa ilalim ng katotohanan, nakatuon sila sa gawain at mas malapit sa gumagamit.

Ang mga gumagawa nito "dahil sa pag-ibig" ay nauudyok din, ngunit sa ibang paraan - sila ay sabik na pag-aralan ang proyekto, upang gawing mas magandang lugar ang mundo. At ito ay tiyak na mga kalahok na mas matatag at pangmatagalang nakatuon, dahil ang mga dumating sa komunidad sa kanilang sariling inisyatiba ay malamang na hindi umalis dito sa isang araw.

Paano makahanap ng balanse sa pagitan ng pagiging produktibo at katatagan? Mayroong dalawang mga pagpipilian. Ang unang pagpipilian: kapag ang kalahok ay nagtatrabaho sa isang kumpanya na opisyal na kasangkot sa opensource na proyektong ito, at gumawa ng karagdagang bagay dito, dahil sa kanyang sariling interes - halimbawa, pagsuporta sa mga bagong dating. Ang pangalawang opsyon ay isang kumpanya na sumailalim sa isang opensource na pagbabago. Halimbawa, kapag ang mga empleyado ay nagtatrabaho sa pangunahing proyekto ng negosyo apat na araw sa isang linggo, at ang natitirang oras ay nagtatrabaho sila sa open source.

Committer - maging o hindi maging?

Paano maging isang committer at kailangan mo ba ito?

Ang pag-commit ay isang mabuti at kapaki-pakinabang na paksa, ngunit hindi ka dapat partikular na magsikap na maging isang committer. Ang tungkuling ito ay hindi isang tungkuling nakabatay sa code at hindi nagpapakita ng iyong kaalaman. Ang tanging bagay na mahalaga ay kadalubhasaan, iyon ay, ang kaalaman at karanasan na nakukuha mo sa pamamagitan ng pag-aaral ng proyekto, pag-aaral dito at pagtulong sa iba na malutas ang mga problema.

Pinagmulan: www.habr.com

Magdagdag ng komento