Panustamine avatud lähtekoodiga projekti: kuidas alustada

Avatud lähtekoodiga projektid on aastate jooksul sünnitanud hulga kasulikku tarkvara. Paljud tänapäeval kasutatavad suurepärased tehnoloogiad on sündinud avatud lähtekoodiga tarkvara arendamisest! Android, Firefox, VLC meediumipleier, MongoDB, Linux, Docker ja Python, kui nimetada vaid mõnda.

Isegi paljud tehnikahiiglased saavad sellest kasu ja lasevad oma töötajatel võtta puhkepäev ning pühendada oma aega avatud lähtekoodiga projektidele. Tegelikult on paljudel endal avatud lähtekoodiga projekte.

Kuid suur osa avatud lähtekoodiga projektide toetajatest ei tööta tehnikahiiglaste heaks; igaüks võib jätta oma jälje olulisele avatud tarkvara tükile või luua oma “järgmise suure asja”. Avatud lähtekoodiga projektis osalemine võib aidata teil parandada oma oskusi, õppida midagi uut, saada juhendamist või luua elukestvaid sõprussuhteid. Avatud lähtekoodiga projektidesse panustamine peaks olema vastastikku kasulik nii lühikeses kui ka pikas perspektiivis. Paljud ettevõtted palkavad täiskohaga arendajaid aktiivselt nende hulgast, kes panustavad projekti kõige rohkem, ja nii võib see olla suurepärane võimalus näidata oma oskusi, õppides samal ajal uusi.

See artikkel ühendab mõned näpunäited, mida jagame neile, kes soovivad MindsDB-ga osaleda. Ehkki iga projekt on erinev, loodetavasti aitavad need ideed teil osaleda kõigis avatud lähtekoodiga projektides.

MindsDB GitHubi leht

Enne oma esimese panuse tegemist

1. Hinnake ennast:

Esimene samm on hinnata kõiki tehnilisi või mittetehnilisi oskusi, mida teil on või mida soovite parandada. Küsige endalt, kuhu saaksin kõige rohkem väärtust lisada? See võib aidata otseselt koodi kirjutamist, vigade testimist või isegi dokumentide täiustamist, et teised saaksid tarkvara tõhusamalt kasutada.

2. Tutvuge GitHubiga

Peaaegu kõik avatud lähtekoodiga projektid kasutasid versioonikontrollisüsteemi - tööriista, mis aitab projekti jaoks uut koodi liita (peamine “hoidla”). Tavaliselt on koostöö keskne veebisait, mis majutab keskset hoidlat. Nende veebisaitide hulgas on Github, Bitbucket ja Gitlab, arvasin, et Github on vaieldamatult kõige populaarsem ja see, mida me siin MindsDB-s kasutame.

Üldiselt võimaldavad versioonikontrollisüsteemid jälgida kõiki projekti muudatusi ilma mitu faili salvestamata. Tehke Githubis konto, logige sisse ja uurige kõiki erinevaid saite veebisaidi ülaosas. Siit leiate teavet Githubi, arendusjuhendite, avatud lähtekoodiga projektide, ürituste, konverentside jms kohta. Siit saate juhendit järgides õppida kõike GitHubi põhitõdede kohta.

3. Otsige asjakohaseid projekte ja liituge kogukonnaga

Otsige oma skil1 põhjal asjakohaseid projekte Githubist. Sellel eesmärgil saate kasutada rakendust Github Explore või registreeruda Code Triage'is, et saada iga päev meilisõnum erineva teema kohta. Alustades projekti valimisel otsige projekti, mida hooldatakse aktiivselt (palju kohustusi) ja milles on palju probleeme. Kui olete oma vastavad projektid leidnud, tellige projekt Star & Fork selle meililisti ja lõtva kanali abil. See on parim viis abi saamiseks, kui olete projekti loomises või oma esimese panuse tegemisel ummikus.

Esimese panuse andmine

1. Mängige tarkvaraga: leidke vead

Esiteks proovige tarkvara, installige see ja laske mängida, proovige see lahti saada, kas see teeb seda, mida ta karbil ütleb. See on suurepärane koht, kus saate väga hõlpsalt väärtust lisada, teatades kõikidest leitud probleemidest. Tõenäoliselt on igal projektil probleemide teatamiseks pisut erinev mall, kuid sisuliselt sisaldavad nad kõik sarnast teavet. (MindsDB väljaande malli leiate siit)

2. Uurige olemasolevaid probleeme

Kui olete välja mõelnud projekti, millesse soovite panustada, uurige selle Githubi hoidlat, lugege dokumente ja minge vahekaardile probleemid. Siit leiate kõik avatud teemad, millega saate töötada. Need küsimused võivad olla algaja tasemest kõrgemale tasemele. Kui hoidlat õigesti hooldatakse, sildistatakse probleemid sõnadega „algaja”, „esmakordne tegija”, „abivajaja” jne, et saaksite projektiga enesekindluse ja kogemuste saamiseks töötada kõige lihtsamate ülesannetega.

3. Aidake täiustada dokumentatsiooni

Kuid te ei pea kohe kodeerima. Saate aidata kaasa dokumenteerimisele, arendaja juhendi koostamisele, aidata teistel inimestel nende probleeme lahendada jne. Lugege dokumentatsiooni ja kui tunnete, et midagi on puudu, võib see olla hea esimene koht, kuhu oma panus anda. Võite küsimuse tõstatada või kui tunnete end piisavalt enesekindlalt, saate puuduvad osad ise lisada. Siin saate vaadata MindsDB dokumente.

4. Soovitage uusi funktsioone

Kui projekt teile meeldib ja leiate, et see on kasulik, võite hakata ka uusi funktsioone paremaks muutmiseks taotlema. (Meie malli leiate siit.) Veelgi parem, kui proovite neid ise lisada.

Katedraal ja basaar

Klassikaline raamat OSS-ist on katedraal ja basaar. Selles uuritakse bazaari stiili arengut, alt-üles lähenemist, mis annab arendajatele ja kasutajatele jõudu. Võrreldes seda katedraali stiiliga, ülalt alla lähenemine, kus võim lasub juhtidel ja tooteomanikel.

Just need ideed andsid aluse töökäsitlustele, mida on kirjeldatud Agiilse manifesti puhul. Kuid hoolimata sellest, kui paljud ettevõtted on üritanud jäljendada “basaari” lähenemisviisi arengule, ei saa nad avatud lähtekoodiga projektidega nii hästi hakkama.

Korporatiivprojektide maailmas juhivad teed arhitektid, juhid ja tooteomanikud. Avatud lähtekoodiga maailmas määravad spetsifikatsioonid kasutajad ja arendajad.

Avatud lähtekoodiga tarkvara on suurepärane, kuna see võtab kasutusele oma arendajate ja kasutajate “kollektiivse intelligentsuse”. Enamik avatud lähtekoodiga projekti arendajaid tuleneb selle peamisest kasutajabaasist, enamik avatud lähtekoodiga projekti “juhte” on lihtsalt arendajad, kes panevad kõige rohkem ideid ja koodi.

See “basaari” lähenemisviis ei ole tingimata parem kui “katedraali” lähenemine, kuid see on süsteem, mida tasub proovida. See võib anda uuele arendajale tarkvara üle palju võimu, sõltumata välistest kriteeriumidest, nagu vanus või staaž organisatsioonis. Ainus vahetusmärk on kood, mida väärtuslikum on panus, seda rohkem mõjutate kujundust.

Kui midagi muud, peaksite tarkvara alt üles-üles laadimise kogemuse saamiseks töötama mõne avatud lähtekoodiga projektiga.

Järgmised eesmärgid avatud lähtekoodiga arendajana

1. Osalege konverentsidel

Avatud lähtekoodiga arendajana saate osaleda kodeerimise ja tehnoloogiaga seotud konverentsidel ja üritustel. Saate vaadata Github Explore'i erinevaid sündmusi ja proovida osaleda neil üritustel, mis on teile lähedal. MindsDB korraldab kohtumisi kogu 2019. aasta jooksul; Kui soovite olla kursis kõige MIndsDB-ga, saate siin tellida meie meililisti

2. Saate tasuda avatud lähtekoodiga tarkvara arendamise eest

Üldiselt ei maksta teile avatud lähtekoodiga arendustegevuse eest palka, kuna suurem osa tehtud tööst on vabatahtlik. Kui aga te ei saa endale lubada palgata aja kulutamist avatud lähtekoodiga arendustegevuses, võite rääkida oma tööandjaga ja esitada idee projekti kohta, mis võiks ka teie tööandjat huvitada, või leida projekti, mis tasub selle avatud lähtekoodiga arendajale. Lisateavet leiate Githubi juhendist, kuidas tasuda avatud lähtekoodiga arendamise eest. Paljud ettevõtted (sealhulgas MindsDB) palkavad või maksavad ka oma töö eest tasustajaid.

3. Sära oma CV, ole mentor ja kandideeri avatud lähtekoodiga võistlustele

Peaksite oma CV-s ära märkima kõik projektid, millesse olete oma panuse andnud, või lisage oma CV-s või kaaskirjas GitHubi konto link. Enamikule tööandjatele avaldab selline tunnustus muljet ja nad eelistavad selliseid kandidaate tööle võtta.

Võite saada mentoriks ka inimestele, kellele on avatud lähtekoodiga arendamine uus. On aeg anda kogukonnale tagasi ja anda juhiseid neile, kes alles alustavad. Mentoriks saamiseks on mitu programmi, nt. Google Code of Code, Rails Girls Summer of Code, Outreachy jne või lihtsalt inimeste abistamiseks, vastates nende meililistides või StackOverflow küsimustele.

Adam Carrigan on MindsDB hõlpsasti kasutatava tööriista kaasasutaja, et lisada projektidele masinõpe ja lahendada andmeprobleeme. Jälgi mind Twitteris

Meie projekti saate jälgida ka GitHubis ja Twitteris