Zadnje retke s Infobip Shift 2023 konferencije posvećujemo ljudima i inicijativama vezanima uz open source (otvoreni kod).
Ove godine, Shift je svoj program posebno obogatio temama iz područja umjetne inteligencije, za koje je rezervirana i cijela jedna pozornica. Prvi dan konferencije smo imali priliku čuti više o faktorima koji će dovesti do potrebe za novom ulogom inženjera koji mogu upravljati primjenom AI-ja u raznim industrijama.
Nastavno na to, pred kraj konferencije bilo je zanimljivo čuti predavanje od Aleksandre Sikore, developerice pri The Guild udruženju koje okuplja open source developere specijalizirane za GraphQL i API platforme. Aleksandra je predstavila trend prilagodljivih (malleable) aplikacija, fokusirajući se da objasni kako umjetna inteligencija (AI) čini pisanje i razvoj koda pristupačnijim krajnjim korisnicima.
Zašto bi samo profesionalci koristili AI?
Aleksandra smatra da će u skoroj budućnosti AI pomoći (i već pomaže) u premošćivanju jaza između tehničkih i netehničkih stručnjaka. Uz trenutna rješenja generativnog AI-ja potvrđuje se tako izjava poznatog AI istraživača i developera, Andreja Karpathyja koji navodi kako je najpopularniji novi programski jezik – engleski. Uz LLM-ove i GraphQL Aleksandra vidi da se sve više šire mogućnosti razvoja aplikacija koje nisu rigidne i fiksne.
Osim promjena korisničkog sučelja u izgledu i obliku, krajnji korisnik moći će mijenjati svrhu i mogućnosti aplikacija. Kao postojeći primjer za takvo što Aleksandra navodi poznatu platformu Notion, koja omogućuje korisniku da prilagodi virtualni radni prostor svom poslu, a za primjer daje i razne web ekstenzije, poput Wildcarda za Chrome.
Kao developerima, ne bi nam bilo prvi put da čujemo kako je neki kolega scrapeao neku web stranicu da bi lakše pregledao podatke, primjerice – oglase za nekretnine. Zašto slično ne bi mogao napraviti i običan korisnik koji pretražuje taj web?
Taj trend fleksibilnih rješenja može se svesti pod zajednički nazivnik – spomenuti termin malleable koji je odavno poznat u programiranju, a koji označava sposobnost dinamične promjene veličine podataka i broja računalnih entiteta u aplikaciji. Aleksandra navodi kako ta prilagodljivost aplikacija danas može obuhvaćati mnogo više od podataka te da isto tako ona može biti za pojedine elemente manje ili više izražena. U konačnici, Aleksandra zaključuje kako će u budućnosti korisnici postati arhitekti vlastitih aplikacija, prilagođavajući ih svojim potrebama kako bi sami krojili svoje korisničko iskustvo.
A za sve one developere koji žele pomoći u tome i razvijati malleable aplikacije, upućuje na zajednice kao što su Malleable Systems Collective i Dynamicland.org
“Open source mi je pomogao da budem bolji inženjer”
Kad smo kod zaljubljenika u open source, jedno od zanimljivijih predavanja na glavnoj pozornici Shifta bilo je ono Eddieja Jaouda, pokretača open source (OS) zajednice EddieHub, koja se bavi promocijom i poticanjem razmjene najboljih praksi i znanja u području OS-a. Kao i mnogi OS entuzijasti, Eddie je ušao u to područje potpuno slučajno, kao hobist, no danas, 15 godina kasnije, zagovaranje OS-a mu je postalo svakodnevni posao.
Eddie je stoga kroz svoje predavanje pokazao developerima zašto je i danas OS relevantan, kako im može pomoći u karijeri te što (ne) trebate raditi kako bi postali priznati i dobri contributori u OS zajednici.
Meni je mnogo pomoglo da napredujem kao inženjer, vjerujem da će i vama.
Međutim, odmah je istaknuo da nije sve u kodu, već u kolaboraciji – te da upravo zato morate biti svjesni, iako to često nije jasno na prvu – da jedna osoba može napraviti razliku svojim doprinosom. Ističe također koliko je njemu značilo biti dio OS zajednice koja vrvi izvrsnim developerima.
Imate priliku učiti od sjajnih mentora i dobiti iznimno iskustvo, dodao je objašnjavajući kako je to iskustvo tim bogatije jer vam stižu različite perspektive sa svih strana svijeta. Naravno, to je i prilika da proširite svoju networking mrežu i ubrzate karijeru.
Maraton, a ne sprint.
Eddie u početku ističe da OS zajednici onboarding nije jača strana, ali jednom kada ste odradili osnove već možete doprinijeti – nije bitno na kojoj ste razini, jer će vam uskakati stariji članovi. Bitno je samo od nekud početi. Zato je Eddie nekoliko puta isticao da je kod samo dio projekta, da je bitan kontekst rada i doprinosa. Neki od zadataka koji već čine razliku su verifikacija postojećih bugova, pregledavanja pull requestova, ali i otvaranje pitanja kad nešto ne radi.
Jedna od važnijih lekcija njegovog predavanja bila je ona oko toga koliko se potrebno angažirati da biste mogli reći da doprinosite. Usporedio je tada OS s pranjem zubi.
O pranju zubi više i ne razmišljate, ušlo vam je u naviku. Iako kratko traje, veoma je važno i radite to svakodnevno… Jednako tako je i s otvorenim kodom – sudjelujete malo i često, ali morate biti konzistentni.
Naravno, postoje neki izazovi koje treba adresirati, dodaje Eddie. Svjestan je da je novacima u zajednici teško pronaći projekte koji im odgovaraju – da se razvijaju brzinom koja im odgovara, da koriste tech stack koji poznaju, i uostalom da su legitimni i aktivni. Isto tako, primjećuje da se novaci često boje da će nešto zeznuti pa objašnjava:
Ako i nešto razvalite u kodu, svaka čast, vjerojatno ste našli bug i sad će ga netko riješiti.
Kako biti dobar contributor na projektima otvorenog koda?
Za početak, važno je odabrati dobar projekt. Eddie savjetuje da pregledate što radi ekipa vezana uz projekte ili alate s kojima ste se već susreli. Naravno, pretraživanje GitHuba će vam tu biti glavno, a kad smo kod toga, dodaje kako većina first-issue projekata nije dobar odabir za prvi projekt, no da pretragu možete rafinirati tražeći one s etiketom “good first issue”.
Uz to, dodaje kako možete naći dobar projekt i tako što se uključite u zajednice, to može biti zbog hobija, neke ideje ili tehnologije. No, napominje, bez obzira što odabrali, da se fokusirate na jedan projekt i jednu zajednicu.
Što paziti kod odabira projekta? Kao prvo, je li contributor friendly odnosno je li zajednica općenito prijateljski nastrojena. Provjerite imaju li postavljene smjernice za ponašanje i doprinos projektu te koliko ih se drže.
Dobar trik za to je da provjerite pull requestove i pogledate one prihvaćene i odbijene. Oni koji su zatvoreni, i nisu prihvaćeni – otvorite ih i vidite zašto su zatvoreni. Mnogo toga ćete saznati iz načina kako je netko odbijen: je li to učinjeno korektno, uljudno, i s obrazloženjem.
Kako doprinijeti? Pregledavajte, sudjelujte, automatizirajte. Uvijek postoji nešto što se može automatizirati u kodu, dodaje Eddie. Osim toga, drugi suradnici na projektu voljet će vas još više ako se uhvatite automatizacije testova.
Kad je u pitanju pregledavanje pull requestova, Eddie upozorava da ih ne odobravate naslijepo, to je najbrži način da vas uklone s projekta. A kad smo kod stvari kojih se dobro držati, Eddie navodi par ključnih:
- Prije nego se uključite, pročitajte vodič za pridonositelje na projektu.
- Nikad ne koristite glavnu granu projekta i ne radite velike pull requestove.
- Pretražite postojeće probleme (issues) prije nego što postavite novi.
- Ne trebati DM-ati one koji održavaju projekt čim ste napravili pull request.
- Nemojte trčati za zelenim kvadratićima.
Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.
Pravila ponašanja
Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:
Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.
Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.