Jak zostać commiterem i czy naprawdę tego potrzebujesz?

Cześć! Nazywam się Dmitry Pavlov i pracuję w Wzmocnienie siatki, a także jestem osobą wprowadzającą i uczestnikiem PMC w Apache Ignite oraz współautorem Apache Training. Niedawno wygłosiłem prezentację na temat pracy osoby odpowiedzialnej za zatwierdzanie na spotkaniu poświęconym open source w Sberbank. Wraz z rozwojem społeczności open source wiele osób coraz częściej zaczęło mieć pytania: jak zostać commiterem, jakich zadań się podjąć i ile linijek kodu trzeba napisać, aby objąć tę rolę. Kiedy myślimy o sprawcach, od razu wyobrażamy sobie wszechmocnych i wszechwiedzących ludzi z koroną na głowie i tomem „Czystego Kodeksu” zamiast berła. Czy tak jest? W moim poście postaram się odpowiedzieć na wszystkie ważne pytania dotyczące commiterów, abyś mógł zrozumieć, czy na pewno tego potrzebujesz.

Jak zostać commiterem i czy naprawdę tego potrzebujesz?

Wszyscy nowicjusze w społeczności open source myślą, że nigdy nie zostaną autorami projektów. Przecież dla wielu jest to prestiżowa rola, którą można zdobyć jedynie za szczególne zasługi, pisząc tonę kodu. Ale to nie jest takie proste. Przyjrzyjmy się sprawcy z perspektywy społeczności.

Kim jest osoba zatwierdzająca i dlaczego jest potrzebna?

Kiedy tworzymy nowy produkt open source, zawsze pozwalamy użytkownikom na jego używanie i eksplorację, a także modyfikowanie i rozpowszechnianie zmodyfikowanych kopii. Kiedy jednak nastąpi niekontrolowana dystrybucja kopii oprogramowania ze zmianami, nie otrzymujemy wkładów do głównej bazy kodu i projekt nie rozwija się. Tutaj potrzebny jest commiter, który ma prawo zbierać wkłady użytkowników w projekt.

Dlaczego warto zostać sprawcą?

Zacznijmy od tego, że zaangażowanie to plus w CV, a dla początkujących w dziedzinie programowania to jeszcze większy plus, bo często podczas ubiegania się o pracę proszą o przykłady kodu.

Drugą niewątpliwą zaletą zaangażowania jest możliwość komunikacji z czołowymi specjalistami i wciągnięcia do swojego projektu kilku fajnych pomysłów z open source. Ponadto, jeśli dobrze znasz dany produkt typu open source, możesz dostać pracę w firmie, która go obsługuje lub wykorzystuje. Istnieje nawet opinia, że ​​jeśli nie będziesz uczestniczyć w open source, nie dostaniesz się na wysokie stanowiska zawodowe.

Oprócz korzyści w postaci kariery i zatrudnienia, zaangażowanie samo w sobie jest przyjemne. Jesteś rozpoznawalny w środowisku zawodowym, wyraźnie widzisz wynik swojej pracy. Nie tak jak w niektórych programach korporacyjnych, gdzie czasami nawet nie rozumiesz, dlaczego przenosisz pola w przód i w tył w XML.

W społecznościach open source można spotkać czołowych specjalistów, takich jak Linus Torvalds. Ale jeśli taki nie jesteś, nie powinieneś myśleć, że nie masz tam nic do zrobienia - są zadania na różnym poziomie.

Cóż, są też dodatkowe bonusy: np. osoby odpowiedzialne za Apache otrzymują bezpłatną licencję IntelliJ Idea Ultimate (aczkolwiek z pewnymi ograniczeniami).

Co zrobić, żeby zostać commiterem?

To proste – wystarczy się zaangażować.

Jak zostać commiterem i czy naprawdę tego potrzebujesz?

Jeśli myślisz, że w projektach nie ma dla Ciebie zadań, to się mylisz. Po prostu dołącz do społeczności, która Cię interesuje i rób to, czego potrzebuje. Fundacja Apache Software Foundation ma osobną wersję przewodnik z wymaganiami dla osób zatwierdzających.

Jakie problemy będziesz musiał rozwiązać?

Najbardziej różnorodne - od programowania po pisanie testów i dokumentacji. Tak, tak, wkład testerów i dokumentalistów w społeczność jest ceniony na równi z wkładem programistów. Zdarzają się zadania niestandardowe – np. prowadzenie kanału na YouTubie i mówienie innym użytkownikom, jak korzysta się z produktu opensource. Na przykład Apache Software Foundation ma oddzielny plik страница, gdzie wskazano, jaka pomoc jest wymagana.  

Czy muszę napisać duży artykuł, aby zostać osobą zatwierdzającą?

NIE. To wcale nie jest konieczne. Osoba zatwierdzająca nie musi pisać ton kodu. Ale jeśli napisałeś duży artykuł, komitetowi zarządzającemu projektem łatwiej będzie cię ocenić. Wkład w społeczność to nie tylko funkcje, programowanie i testowanie. Jeśli napiszesz list i porozmawiasz o problemie, zaproponuj przemyślane rozwiązanie - to także jest wkład.

Ważne jest, aby zrozumieć, że zaangażowanie opiera się na zaufaniu. O tym, czy uczynić Cię osobą zaangażowaną, czy nie, decydują ludzie tacy jak Ty na podstawie ich poglądów na Ciebie jako osobę, która przynosi korzyści produktowi. Dlatego wy, poprzez swoje działania i czyny we wspólnocie, musicie zdobyć to właśnie zaufanie.

Jak się zachować?

Bądź konstruktywny, pozytywny, uprzejmy i cierpliwy. Pamiętaj, że w open source każdy jest wolontariuszem i nikt nikomu nic nie jest winien. Nie odpowiadają - poczekaj i przypomnij o swoim pytaniu za 3-4 dni. Nie zawsze ci odpowiadają – cóż, open source jest dobrowolne.

Jak zostać commiterem i czy naprawdę tego potrzebujesz?

Nie proś kogoś, żeby zrobił coś dla ciebie lub dla ciebie. Doświadczeni członkowie społeczności mają instynkt wobec takich „żebraków” i od razu popadają w alergię na tych, którzy chcą im narzucić swoją pracę.

Jeśli otrzymasz pomoc, to wspaniale, ale nie nadużywaj jej. Nie powinieneś pisać: „Chłopaki, naprawcie to, bo inaczej stracę premię roczną”. Lepiej zapytać, gdzie powinieneś się dalej udać i powiedzieć nam, co już odkryłeś na temat tego błędu. A jeśli obiecujesz aktualizować wiki na podstawie wyników rozwiązania problemu, prawdopodobieństwo, że ci odpowiedzą, znacznie wzrośnie.

Wreszcie przeczytaj Kodeks postępowania i ucz się zadawać pytania.

Jak wnieść swój wkład, jeśli nie jesteś osobą zgłaszającą?

Projekty często wykorzystują schemat RTC, gdzie najpierw wszystko przechodzi przegląd, a następnie zmiany są łączone w masterze. Dzięki temu schematowi absolutnie każdy podlega przeglądowi, nawet osoby zatwierdzające. Dlatego możesz z powodzeniem przyczynić się do projektu, nie będąc osobą zatwierdzającą. Aby ułatwić wybór nowych osób odpowiedzialnych za zaangażowanie, możesz mentorować nowych uczestników, dzielić się wiedzą i tworzyć nowe materiały.

Różnorodność – korzyść czy szkoda?

Różnorodność – w rozumieniu Apache Software Foundation to między innymi zrzeszenie uczestników projektu open source przez kilka firm. Jeśli wszyscy są związani tylko z jedną organizacją, to wraz z utratą zainteresowania projektem wszyscy uczestnicy szybko od niego uciekają. Różnorodność zapewnia długoterminowy, stabilny projekt, różnorodne doświadczenia i szeroki wachlarz opinii uczestników.

Z miłości czy dla wygody?

W projektach open source są dwa typy ludzi: ci, którzy pracują w organizacji, która ma swój wkład w ten produkt, i ci, którzy pracują tu z miłości, czyli wolontariusze. Który jest bardziej produktywny? Zazwyczaj uczestnicy, którzy wspierają produkt od organizacji wnoszącej wkład. Mają po prostu więcej czasu i jasną motywację, aby dotrzeć do sedna prawdy, są skupieni na zadaniu i bliżej użytkownika.

Ci, którzy robią to „z miłości”, również są zmotywowani, ale w inny sposób – chętnie przestudiowają projekt, aby uczynić świat lepszym miejscem. I to właśnie tacy uczestnicy są bardziej stabilni i nastawieni na dłuższą metę, bo ci, którzy przyszli do wspólnoty z własnej inicjatywy, raczej nie opuszczą jej w ciągu jednego dnia.

Jak znaleźć równowagę pomiędzy produktywnością a stabilnością? Istnieją dwie opcje. Opcja pierwsza: gdy uczestnik pracuje w firmie, która jest oficjalnie zaangażowana w ten projekt open source i robi w nim coś dodatkowego, z własnego interesu - na przykład wspierając nowicjuszy. Druga opcja to firma, która przeszła transformację opensource. Na przykład, gdy pracownicy cztery dni w tygodniu pracują nad głównym projektem biznesowym, a resztę czasu pracują na open source.

Commitee – być albo nie być?

Jak zostać commiterem i czy naprawdę tego potrzebujesz?

Zatwierdzanie jest dobrym i użytecznym tematem, ale nie powinieneś starać się zostać osobą zaangażowaną. Ta rola nie jest rolą opartą na kodzie i nie odzwierciedla Twojej wiedzy. Liczy się tylko fachowość, czyli wiedza i doświadczenie, które zdobywasz studiując projekt, zagłębiając się w niego i pomagając innym w rozwiązywaniu problemów.

Źródło: www.habr.com

Dodaj komentarz