Prispevek k odprtokodnemu projektu: Kako začeti

Projekti z odprto kodo so skozi leta ustvarili vrsto uporabne programske opreme. Mnogo odličnih tehnologij, ki jih uporabljamo danes, se je rodilo iz odprtokodnega razvoja! Android, Firefox, medijski predvajalnik VLC, MongoDB, Linux, Docker in Python, če naštejem le nekaj.

Celo mnogi tehnološki velikani se zavedajo prednosti in svojim zaposlenim omogočajo, da si vzamejo prost dan in svoj čas posvetijo projektom z odprtimi izvori. Pravzaprav imajo mnogi sami odprtokodne projekte.

Vendar velika večina udeležencev odprtokodnih projektov ne deluje za tehnološke velikane; kdorkoli lahko pusti svoj pečat na pomembnem delu odprte programske opreme ali ustvari svojo "naslednjo veliko stvar". Če ste del odprtokodnega projekta, vam lahko pomaga tudi izboljšati svoje znanje, se naučiti nekaj novega, pridobiti mentorstvo ali vzpostaviti vseživljenjska prijateljstva. Prispevanje k odprtokodnim projektom bi moralo biti kratkoročno in dolgoročno koristno. Mnoga podjetja aktivno zaposlujejo razvijalce za polni delovni čas od tistih, ki največ prispevajo k projektu, in tako je lahko odličen način, da pokažete svoje sposobnosti, hkrati pa se naučite novih.

Ta članek združuje nekaj nasvetov, ki jih delimo s tistimi, ki želijo sodelovati z MindsDB, in čeprav je vsak projekt drugačen, upamo, da vam bodo te ideje pomagale, da se vključite v kateri koli odprtokodni projekt.

Stran GindHub MindsDB

Preden daste prvi prispevek

1. Ocenite:

Prvi korak je oceniti vsako tehnično ali netehnično znanje, ki ga želite ali želite izboljšati. Vprašajte se, kje lahko dodam največ vrednosti? To bi lahko neposredno pomagalo pri pisanju kode, testiranju na napake ali celo pri izboljšanju dokumentacije, tako da lahko drugi programsko opremo uporabljajo bolj učinkovito.

2. Spoznajte GitHub

Skoraj vsi odprtokodni projekti so uporabljali sistem nadzora različic, orodje, ki pomaga pri spajanju nove kode v projekt (glavno "skladišče"). Običajno je sodelovanje osredotočeno na spletnem mestu, ki gosti osrednje repozitorij. Ta spletna mesta vključujejo Github, Bitbucket in Gitlab, mislil je, da je Github daleč najbolj priljubljen in tisti, ki ga uporabljamo tukaj pri MindsDB.

Na splošno sistemi za nadzor različic omogočajo spremljanje vseh sprememb v projektu, ne da bi shranili več datotek. Registrirajte se na Githubu, prijavite se in raziščite vse različne zavihke na vrhu spletnega mesta. Tukaj boste našli informacije o Githubu, razvojnih vodnikih, odprtokodnih projektih, dogodkih, konferencah itd. Vse o osnovah GitHub-a lahko izveste tako, da sledite tem vodiču tukaj.

3. Poiščite ustrezne projekte in se pridružite skupnosti

Poiščite ustrezne projekte v Githubu na podlagi svojih spretnosti1. V ta namen lahko uporabite Github Explore ali se prijavite za Code Triage, da boste vsak dan dobili e-pošto o drugačni težavi. Medtem ko izbirate projekt, za začetek, poiščite projekt, ki se aktivno vzdržuje (veliko obveznosti) in ima veliko težav. Ko najdete ustrezne projekte, Star & Fork projekt, se naročite na njegov poštni seznam in ohlapni kanal. To je najboljši način za pomoč, če ste obtičali pri ustanavljanju projekta ali prvem prispevanju.

Prvi prispevek

1. Igrajte se s programsko opremo: Find Bugs

Najprej preizkusite programsko opremo, jo namestite in se poigrajte, poskusite jo prebiti in poglejte, ali na okencu naredi tisto, kar piše. To je odličen kraj, kjer lahko začnete zelo enostavno dodajati vrednost, tako da prijavite morebitne težave. Verjetno ima vsak projekt nekoliko drugačno predlogo za poročanje o težavah, vendar v bistvu vsebujejo podobne podatke. (Predlogo za izdajo MindsDB najdete tukaj)

2. Raziščite obstoječe težave

Ko ugotovite projekt, ki ga želite prispevati, raziščite njegovo Github-ovo shrambo, preberite dokumente in pojdite na zavihek težave. Tu boste našli vsa odprta vprašanja, na katerih lahko delate. Te težave so lahko od začetne do napredne ravni. Če je skladišče pravilno vzdrževano, bodo težave označene z »začetnik«, »prvoligaši«, »iskan pomoč« itd., Tako da boste lahko delali na najlažjih nalogah in si pridobili zaupanje in izkušnje s projektom.

3. Pomagajte izboljšati dokumentacijo

Vendar vam ni treba takoj kodirati. Prispevate lahko k dokumentaciji, ustvarite vodnik za razvijalce, pomagate drugim ljudem pri reševanju njihovih težav itd. Preberite dokumentacijo in če menite, da nekaj manjka, je to lahko prvo mesto. Lahko postavite težavo ali pa, če menite, da ste dovolj prepričani, lahko sami dodate manjkajoče dele. Dokumente MindsDB si lahko ogledate tukaj.

4. Predlagajte nove funkcije

Če vam je projekt všeč in se vam zdi koristen, lahko začnete zahtevati nove funkcije, da ga izboljšate. (Našo predlogo najdete tukaj) Ali še bolje, poskusite jih dodati sami.

Katedrala in bazar

Klasična knjiga o OSS je Katedrala in bazar. Raziskuje razvoj stila "bazar", pristop od spodaj navzgor, ki daje razvijalce in uporabnike moč. Če ga primerjamo s slogom katedrale, pristopom od zgoraj navzdol, kjer je moč upravljavcev in lastnikov izdelkov.

Prav te ideje so ustvarile delovne pristope, kot je opisan v manifestu Agile. Toda ne glede na to, koliko korporacije so poskušale posnemati "bazarski" pristop k razvoju, tega ne morejo storiti tako dobro kot odprtokodni projekti.

V svetu korporativnih projektov vodijo arhitekti, menedžerji in lastniki izdelkov. V svetu odprte kode specifikacije oblikujejo uporabniki in razvijalci.

Programska oprema za odprto kodo je odlična, saj se dotika "kolektivne inteligence" svojih razvijalcev in uporabnikov. Večina razvijalcev odprtokodnega projekta izvira iz njegove osnovne uporabniške baze, večina voditeljev odprtokodnega projekta pa so preprosto razvijalci, ki vložijo največ idej in kode.

Ta "bazarski" pristop ni nujno boljši od "katedralnega" pristopa, vendar je sistem vreden poskusov. Novemu razvijalcu lahko daje veliko moči za del programske opreme, ne glede na zunanja merila, na primer starost ali delovno dobo v organizaciji. Edini menjalni znak je koda, bolj dragocen je prispevek, bolj vplivate na oblikovanje.

Če nič drugega, bi morali sodelovati pri nekaterih odprtokodnih projektih, da bi izkusili ta slog oblikovanja programske opreme od spodaj navzgor.

Naslednji cilji kot odprtokodni razvijalci

1. Udeležite se konference

Kot odprtokodni razvijalec se lahko udeležite konferenc in dogodkov, povezanih s kodiranjem in tehnologijo. Na Github Explore lahko preverite različne dogodke in se poskusite udeležiti tistih dogodkov, ki so vam blizu. MindsDB bo organiziral srečanja skozi vse leto 2019; če želite biti na tekočem z vsem MIndsDB, se tukaj lahko naročite na naš poštni seznam

2. Plačajte za razvoj odprte kode

Na splošno niste plačani za razvoj odprtokodnih virov, saj je večina opravljenega dela prostovoljna. Če pa si ne morete privoščiti neplačanega časa za razvoj odprtega vira, se lahko pogovorite s svojim delodajalcem in podate idejo za projekt, ki bi lahko zanimal tudi vašega delodajalca, ali pa poiščete projekt, ki plača njegovemu odprtokodnemu razvijalcu. V Githubovem priročniku o plačilu za razvoj odprtega koda se lahko naučite več. Mnoga podjetja (vključno z MindsDB) tudi za svoje delo najamejo ali plačajo najboljše prispevke.

3. Osenčite svoj življenjepis, bodite mentor in se prijavite na odprtokodna tekmovanja

V svojem življenjepisu morate navesti vse projekte, ki ste jih prispevali, ali v življenjepisu ali v spremnem pismu dodati povezavo do svojega računa GitHub. Večina delodajalcev je navdušena nad takšnimi priznanji in takšne kandidate raje najame.

Prav tako lahko postanete mentor ljudem, ki so novi v odprtokodnem razvoju. Čas je, da se vrnemo nazaj v skupnost in svetujemo tistim, ki šele začenjajo. Obstaja več programov, v katerih se lahko odločite za mentorja, npr. Google Summer of Code, Rails Girls Summer of Code, Outreachy itd. Ali zgolj pomagati ljudem z odgovorom na njihove poizvedbe na poštnih seznamih ali StackOverflow.

Adam Carrigan je soustanovitelj MindsDB, enostavno orodje za dodajanje strojnega učenja svojim projektom in reševanje podatkovnih izzivov. Sledi mi na tviterju

Našemu projektu lahko sledite tudi na GitHubu in Twitterju