W tym roku odbędzie się piętnaste Google Summer of Code, a weźmie w nim udział 206 projektów open source. Dla 27 projektów będzie to pierwszy rok, w tym Moira. To nasz ulubiony system powiadamiania alarmowego wbudowany w Kontour.
Odegrałem niewielką rolę we wprowadzeniu Moiry do GSoC, więc opowiem wam z pierwszej ręki, jak doszło do tego małego kroku dla open source i ogromnego skoku dla Moiry.
Co roku w GSoC bierze udział około tysiąca studentów z całego świata. W zeszłym roku 1072 studentów z 59 krajów pracowało nad 212 projektami open source. Google sponsoruje udział studentów i wypłaca im stypendia, a twórcy projektów pełnią rolę mentorów dla studentów, pomagając im dołączyć do open source. Dla wielu studentów jest to najlepsza szansa na zdobycie doświadczenia w rozwoju przemysłowym i fajną linię w CV.
Jakie projekty udział w GSoC W tym roku? Oprócz projektów z dużych organizacji (Apache, Linux, Wikimedia) można wyróżnić kilka dużych grup:
systemy operacyjne (Debian, Fedora, FreeBSD)
języki programowania (Haskell, Python, Swift)
biblioteki (Boost C++, OpenCV, TensorFlow)
kompilatory i systemy budowania (GCC, LLVM, webpack)
narzędzia kodu źródłowego (Git, Jenkins, Neovim)
Narzędzia DevOps (Kapitan, Linkerd, Moira)
bazy danych (MariaDB, PostgreSQL)
Teraz powiem ci, jak Moira znalazła się na tej liście.
Przygotowanie i złożenie wniosku
W styczniu rozpoczęło się przyjmowanie zgłoszeń do udziału w GSoC. Rozmawialiśmy z zespołem deweloperskim Moiry z Kontur i zdaliśmy sobie sprawę, że chcemy w tym uczestniczyć. Kategorycznie nie mieliśmy pojęcia – i nadal nie mamy pojęcia – ile wysiłku to będzie wymagało, ale czuliśmy silne pragnienie rozwoju społeczności programistów Moiry, dodania kilku dużych funkcji do Moiry i podzielenia się naszą miłością do zbierania danych i odpowiedniego ostrzegania.
Wszystko zaczęło się bez niespodzianek. Pierwszy wypełniony strona projektu na stronie internetowej GSoС, mówił o Moirze i jej mocnych stronach.
Następnie trzeba było zdecydować, nad jakimi głównymi funkcjami uczestnicy GSoC będą pracować tego lata. Tworzyć strona w dokumentacji Moiry było łatwo, ale uzgodnienie, jakie zadania tam wprowadzić, było trudniejsze. Jeszcze w lutym trzeba było wybrać zadania, które studenci będą wykonywać w wakacje. A to oznacza, że nie będziemy mogli ich wziąć i nagle zrobić zamiast studenci. Dyskutując z twórcami Moiry, jakie zadania należałoby „odłożyć” na GSoC, praktycznie mieliśmy łzy w oczach.
W rezultacie zadania z rdzenia Moiry (dotyczące API, kontroli stanu i kanałów dostarczania alertów) oraz z jej interfejsu internetowego (dotyczące integracji z Grafaną, migracji bazy kodu do TypeScript i przejścia na kontrolki natywne) dotarły do celu. Ponadto przygotowaliśmy kilka małe zadania na Githubie, co pomogłoby przyszłym członkom GSoC zapoznać się z bazą kodu i zorientować się, jak będzie wyglądał rozwój Moiry.
Radzenie sobie z konsekwencjami
Potem były trzy tygodnie oczekiwania, lekka radość z listu szczęścia...
...i eksplozja w Czat programisty Moiry. Przybyło tam wielu aktywnych uczestników o ciekawych nazwiskach i rozpoczął się ruch. Komunikaty na czacie zmieniły się z rosyjsko-angielskiej mieszanki na czysto inżynierską angielszczyznę, a programiści Moiry zaczęli poznawać nowych członków w korporacyjnym stylu:
„Dobre pierwsze wydania” na GitHubie rozeszły się jak ciepłe bułeczki. Musiałem zrobić coś, czego zupełnie się nie spodziewałem: wymyślić duży pakiet małych zadań wprowadzających specjalnie dla nowych członków społeczności.
Jednak udało się i jesteśmy z tego zadowoleni.
Co się później stanie
W najbliższy poniedziałek 25 marca o godz. Witryna Google Summer of Code Przyjmowane będą zgłoszenia od studentów na udział w konkretnych projektach. Każdy będzie miał dwa tygodnie na złożenie wniosku o letni udział w rozwoju Moiry, Haskella, TensorFlow lub dowolnego innego z dwustu projektów. Zaangażuj się razem z nami i wnieśmy duży wkład w open source tego lata.