Doprinos projektu s otvorenim kodom: Kako započeti

Projekti otvorenog koda stvorili su niz korisnih softvera tijekom godina. Mnoge sjajne tehnologije koje danas koristimo nastale su iz razvoja otvorenog koda! Android, Firefox, VLC media player, MongoDB, Linux, Docker i Python, navesti samo neke.

Čak mnogi tehnološki divovi shvaćaju korist i omogućavaju svojim zaposlenicima da se odmore i posvete svom vremenu projektima otvorenog koda. Zapravo, mnogi i sami imaju otvorene projekte.

Međutim, velika većina suradnika u projektima otvorenog koda ne djeluje za tehnološke divove; svatko može ostaviti svoj trag na važnom komadu otvorenog softvera ili stvoriti svoju „sljedeću veliku stvar“. Sudjelovanje u projektu otvorenog koda također vam može pomoći da poboljšate svoje vještine, naučite nešto novo, steknete mentorstvo ili stvorite doživotna prijateljstva. Doprinos projektima otvorenog koda trebao bi biti obostrano koristan i kratkoročno i dugoročno. Mnoge tvrtke aktivno zapošljavaju programere s punim radnim vremenom od onih koji najviše doprinose projektu, a to može biti odličan način da pokažete svoje vještine, istovremeno učeći nove.

Ovaj članak kombinira nekoliko savjeta koje dijelimo s onima koji se žele uključiti u MindsDB, a iako je svaki projekt drugačiji nadamo se da će vam ove ideje pomoći da se uključite u bilo koji projekt otvorenog koda.

Stranica GindHub-a MindsDB-a

Prije nego što date svoj prvi doprinos

1. Procijenite sami:

Prvi korak je procjena svih tehničkih ili netehničkih vještina koje imate ili želite poboljšati. Zapitajte se gdje mogu dodati najviše vrijednosti? To može izravno pomoći pisanju koda, testiranju na bugove ili čak poboljšanju dokumentacije kako bi drugi mogli učinkovitije upotrebljavati softver.

2. Upoznajte GitHub

Gotovo svi projekti otvorenog koda koristili su sustav kontrole verzija, alat koji pomaže u spajanju novog koda u projekt (glavno "spremište"). Obično je suradnja usredotočena na web mjestu s glavnim spremištem. Ove web stranice uključuju Github, Bitbucket i Gitlab, mislili su da je Github daleko najpopularniji i onaj koji ovdje koristimo na MindsDB.

Općenito govoreći, sustavi kontrole verzija omogućavaju praćenje svih promjena u projektu bez spremanja nekoliko datoteka. Napravite račun na Githubu, prijavite se i istražite sve različite kartice na vrhu web stranice. Ovdje ćete naći informacije o Githubu, vodiče za razvoj, projekte otvorenog koda, događaje, konferencije itd. Sve o osnovama GitHub-a možete naučiti slijedeći ovaj vodič ovdje.

3. Potražite relevantne projekte i pridružite se zajednici

Potražite relevantne projekte na Githubu na temelju svojih skil1. Možete koristiti Github Explore u tu svrhu ili se prijaviti za Code Triage da biste svakodnevno dobivali e-poštu o drugom problemu. Dok odabirete projekt za početak, potražite projekt koji se aktivno održava (hrpa obveza) i ima puno problema. Nakon što pronađete relevantne projekte, Star & Fork projekt, pretplatite se na njegovu listu slanja i labavi kanal. Ovo je najbolji način za pomoć ako ste zaglavili u postavljanju projekta ili vašem prvom doprinosu.

Dajte svoj prvi doprinos

1. Igrajte se sa softverom: Pronađite greške

Prvo isprobajte softver, instalirajte ga i igrajte se, pokušajte ga probiti, provjerite radi li ono što piše na kutiji. Ovo je sjajno mjesto na kojem vrlo lako možete započeti s dodavanjem vrijednosti, prijavljivanjem bilo kakvih problema. Svaki će projekt vjerojatno imati malo drugačiji predložak za prijavljivanje problema, ali u osnovi svi sadrže slične podatke. (Predložak izdanja MindsDB možete pronaći ovdje)

2. Istražite postojeće izdanja

Nakon što shvatite projekt kojem želite pridonijeti, istražite njegovo Github spremište, pročitajte dokumente i idite na karticu s problemima. Ovdje ćete pronaći sva otvorena pitanja na kojima možete raditi. Ovi problemi mogu biti od početne do napredne razine. Ako se skladište ispravno održava, problemi će biti označeni s "početnik", "prvopričesnici", "traženi pomoć" itd. Tako da možete raditi na najlakšim zadacima za stjecanje povjerenja i iskustva s projektom.

3. Pomozite u poboljšanju dokumentacije

Međutim, ne morate ih odmah kodirati. Možete pridonijeti dokumentaciji, kreiranju vodiča za razvojne programere, pomaganju drugim ljudima u rješavanju njihovih problema itd. Pročitajte dokumentaciju i ako smatrate da nešto nedostaje, ovo bi moglo biti odlično prvo mjesto. Možete postaviti pitanje ili, ako se osjećate dovoljno samouvjereno, možete sami dodati dijelove koji nedostaju. Dokumente MindsDBa možete pogledati ovdje.

4. Predložite nove značajke

Ako vam se projekt sviđa i smatrate ga korisnim, možete početi zahtijevati i nove značajke kako biste ga poboljšali. (Naš predložak možete pronaći ovdje) Ili još bolje ako ih pokušate sami dodati.

Katedrala i bazar

Klasična knjiga o OSS-u je Katedrala i bazar. Istražuje razvoj stila "bazar", pristup odozdo prema gore koji programerima i korisnicima daje snagu. Uspoređujući to sa stilom "katedrala", pristupom odozgo prema dolje, gdje moć prepuštaju menadžerima i vlasnicima proizvoda.

Upravo su te ideje potaknule radne pristupe kao što je onaj opisan u Agilnom manifestu. No, koliko god korporacije pokušale oponašati „bazarski“ pristup razvoju, to ne mogu učiniti tako dobro kao projekti otvorenog koda.

U svijetu korporativnih projekata vodeći su projekti arhitekti, menadžeri i vlasnici proizvoda. U svijetu otvorenog koda, korisnici i programeri oblikuju specifikacije.

Softver otvorenog koda je sjajan jer ulazi u „kolektivnu inteligenciju“ svojih programera i korisnika. Većina programera projekta otvorenog koda potiče iz njegove osnovne korisničke baze, većina "vođa" u projektu otvorenog koda jednostavno su programeri koji ulože najviše ideja i koda.

Ovaj "bazarski" pristup nije nužno bolji od "katedralnog" pristupa, ali to je sustav koji vrijedi pokušati. Novom programeru može dati veliku moć nad nekim softverom, bez obzira na vanjske kriterije, poput dobi ili radnog staža u organizaciji. Jedini znak razmjene je kod, što je vrijedniji doprinos, to više utječete na dizajn.

Ako ništa drugo, trebali biste raditi na nekim projektima otvorenog koda da biste iskusili ovaj stil dizajna softvera odozdo prema gore.

Sljedeći ciljevi kao razvojni programeri otvorenog koda

1. Sudjelujte na konferencijama

Kao programer otvorenog koda, možete prisustvovati konferencijama i događajima vezanim za kodiranje i tehnologiju. Možete provjeriti različite događaje na Github Exploreu i pokušati prisustvovati onim događajima koji su vam bliski. MindsDB će organizirati susrete tijekom 2019. godine; ako želite biti u tijeku sa svime MIndsDB, ovdje se možete pretplatiti na naš popis e-pošte

2. Plaćajte za razvoj otvorenog koda

Općenito govoreći, niste plaćeni za razvoj otvorenog koda jer je većina posla obavljena dobrovoljno. Međutim, ako si ne možete priuštiti da neplaćeno vrijeme provedete u razvoju otvorenog koda, možete razgovarati s poslodavcem i iznijeti ideju za projekt koji bi mogao zanimati i vašeg poslodavca ili pronaći projekt koji plaća njegov programer otvorenog koda. Možete saznati više iz Githubinog vodiča o plaćanju za razvoj otvorenog koda. Mnoge tvrtke (uključujući MindsDB) također zapošljavaju ili plaćaju najbolje doprinose za svoj rad.

3. Sjajite svoj životopis, budite mentor i prijavite se na natjecanja otvorenog koda

Trebali biste spomenuti sve projekte kojima ste doprinijeli u svom životopisu ili dodati CV na svoj GitHub račun u životopisu ili u propratnom pismu. Većina poslodavaca impresionirana je takvim priznanjima i preferira takve kandidate za zapošljavanje.

Također možete postati mentor ljudima koji su novi u razvoju otvorenog koda. Vrijeme je da se vratite zajednici i date smjernice onima koji tek počinju. Postoji nekoliko programa u kojima se možete odlučiti za mentora, npr. Google Summer of Code, Rails Girls Summer of Code, Outreachy itd. Ili samo pomaganje ljudima odgovaranjem na njihove upite na popisima e-pošte ili StackOverflow.

Adam Carrigan suosnivač MindsDB-a jednostavan za korištenje alat za dodavanje strojnog učenja svojim projektima i rješavanje podataka. Slijedite me na Twitteru

Naš projekt možete pratiti i na GitHub-u i Twitteru