Odprtokodni prispevek je danes ena najbolj iskanih veščin v tehnologiji. Ljudje so spoznali prednosti uporabe odprtokodnih tehnologij in koristi, ki jih prinaša sodelovanje v teh projektih.
Odprtokodni razvoj je pristop, ki temelji na izmenjavi izvorne kode in skupnem izboljšanju.
Na internetu je na tisoče odprtokodnih projektov. Odprtokodni projekti so lahko aplikacije družbenih medijev, programska oprema za vodenje projektov in tehnična dokumentacija. Kako torej izbrati pravega?
Kaj iskati pri odprtokodnem projektu
Ena napačna predstava o odprtokodnih projektih je, da morate prispevati kodo. Čeprav je koda bistvenega pomena, lahko druga področja, kot so dokumentacija, vodenje projektov in zagovorništvo skupnosti, vključujejo pomembna odprtokodni prispevki.
Vsakdo, ki je delal na odprtokodnih projektih, vam bo povedal o moči takih projektov. Prednosti vključujejo inovativnost, izpopolnjevanje in produktivne odnose, ki vplivajo na vašo kariero.
Upoštevajte naslednje značilnosti, da ugotovite, ali je odprtokodni program vreden vašega časa.
1. Ali ima licenco?
Vsak odprtokodni projekt ima licenco, običajno permisivno licenco ali avtorsko levo. Dovoljena licenca je pogosta pri odprtokodnih projektih. Nikomur ne omejuje uporabe, distribucije ali prodaje spremenjene različice programske opreme.
Večina odprtokodnih projektov ima permisivno licenco, na primer MIT, BSD ali Apache 2.0. Licenca MIT deli in distribuira programsko opremo brezplačno in je brez garancije:
Licence Copyleft, kot so General Public License, Mozilla Public License in Affero General Public License, imajo dodatne omejitve.
Permisivna licenca omogoča sodelujočim spreminjanje in distribucijo odprtokodne programske opreme. To pomeni, da lahko razvijalci spremenijo izvorno kodo za izdelavo nove programske opreme in jo uporabljajo ali distribuirajo brez omejitev. Spremenjena različica bo pod isto licenco kot izvirna programska oprema.
Vendar pa spremenjene različice ne bodo imele enakega imena kot izvirna različica za enostavno prepoznavanje med njima. Dovoljenje naj vključuje tudi vse osebe in ne sme nikogar diskriminirati.
Vsakdo, ki prejme redistribuirano programsko opremo, mora imeti enake pravice v licenci kot lastniki prvotne kode.
Brezplačna licenca ne omejuje programske opreme na določen distribucijski kanal ali tehnologijo. Ni nujno, da so programska oprema in odvisnosti, ki se distribuirajo skupaj z odprtokodno programsko opremo, odprtokodne. Zaprtokodne in druge plačljive tehnologije uporabljajo odprtokodno programsko opremo brez omejitev.
2. Ali je izvorna koda v skupni rabi?
Vsi odprtokodni projekti imajo licenco, ki omogoča brezplačno deljenje izvorne kode. Pravice veljajo tudi za kodo, sestavljeno iz prispevkov. Izvorna koda projekta mora biti na voljo vsem strankam brez omejitev.
Če izvorna koda ni na voljo na javnih platformah, mora biti na voljo na zahtevo. Noben projekt, ki nima skupne izvorne kode, ni odprtokodni projekt.
Vendar pa lahko licenca omeji redistribucijo izvorne kode in dovoljuje le redistribucijo njene spremenjene oblike. Spremenjena koda ima lahko drugačno ime ali različico, da se razlikuje od izvirnega projekta.
3. Ali ima projekt smernice za sodelavce?
Vsak odprtokodni projekt bi moral imeti vodnik za sodelavce. Najverjetneje ga boste našli v korenski mapi projekta, ki se pogosto imenuje CONTRIBUTORS ali CONTRIBUTORS.md. Vodnik za sodelavce vsebuje preprosta navodila, kako prispevati k projektu.
Priročnik pokaže novim sodelavcem, kako razcepiti, izpostaviti težavo in oddati svoje prispevke v repozitorij navzgor. Vodniki za sodelavce pomagajo sodelujočim pokazati, kako projekt deluje za zmanjšanje sporov med vejami med združevanjem.
Tukaj je primer smernic za sodelavce iz odprtokodnega projekta AsyncAPI GitHub:
4. Ali ima aktivno skupnost?
Inovacija je eden od razlogov, zakaj so odprtokodni projekti postali tako priljubljeni. Odprta koda združuje nadarjene in navdušene skupnosti za ustvarjanje idej, ki spodbujajo inovacije.
Močna skupnost zagotavlja jasno komunikacijo, sodelovanje in trženje izdelka. Aktivne odprtokodne skupnosti ustvarjajo boljše rezultate in širijo inovacije hitreje kot posamezni projekti.
Če želite ugotoviti, ali je skupnost aktivna, poglejte njene družabne kanale. Začnite s spremljanjem njihovih dejavnosti na družbenih medijih, računih Discord ali Slack. Delo v aktivni skupnosti s prostim pretokom informacij in virov je boljše.
Aktivne odprtokodne skupnosti pospešujejo inovacije na tri načine. Skupnosti se odzivajo na trenutne trende v tehnologiji, imajo pogoste cikle izdaj in imajo obsežno redistribucijo programske opreme.
Primer odprtokodnega projekta s fantastično skupnostjo je Facebookovo ogrodje Javascript React.
React je v devetih letih zrasel na različico 18, medtem ko je podoben okvir Vue.js še vedno na različici 3. Oba ogrodja sta stara manj kot deset let. Reactova živahna skupnost zasenči druga priljubljena ogrodja JavaScript, kot je Angular.
Zabavno je delati na odprtokodnih projektih z aktivnimi skupnostmi. Prav tako ne boste nikoli zaostajali za tehnološkimi trendi in posodobitvami. Iskanje najboljše tehnološke skupnosti Discord je odličen dodatek k vašemu odprtokodnemu portfelju.
5. Ali so vzdrževalci aktivni in pozorni?
V odprtokodnem projektu so vzdrževalci sodelavci z dovoljenjem za spreminjanje datotek v repozitoriju projekta. Vzdrževalci so odgovorni za projekt in zagotavljajo, da so prispevki k projektu v skladu z njegovimi cilji.
Pri dobrem odprtokodnem projektu so vzdrževalci najbolj aktivni. Zadolženi bodo za kanale skupnosti, vodijo razprave in odgovarjajo na vprašanja sodelujočih. Vzdrževalci dajejo posodobitve in spodbujajo sodelovanje v skupnosti.
Če želite ugotoviti, ali ima projekt aktivne vzdrževalce, si oglejte njegove oddaljene repozitorije, kot je GitHub. Aktivni vzdrževalci dobro komunicirajo. Odgovarjajo na zahteve po vleki, postavljajo težave in obravnavajo vprašanja sodelavcev.
Prepoznajte aktivne vzdrževalce tako, da preverite, kako pogosto odgovarjajo na poizvedbe, objavljene na družbenih kanalih. Vsak repozitorij s tremi meseci komunikacijske vrzeli ni primeren projekt.
Značilnosti dobrega odprtokodnega projekta
Medtem ko številne druge značilnosti določajo primeren odprtokodni projekt, so pomembne vrsta licence, narava skupnosti, izvorna koda in aktivni vzdrževalci.
Odprtokodni projekti z zgornjimi značilnostmi navdihujejo inovacije, prilagajanje in trženje projektov svetovnega razreda. Poleg tega odlične odprtokodne skupnosti sledijo tehnološkim trendom ter spodbujajo sodelovanje in raznolikost.
Verjetno ste v življenju uporabili vsaj en izdelek odprte programske opreme. Zakaj ne bi začeli tam? Uporabite značilnosti, omenjene v tem članku, da zagotovite najboljši projekt, ki dopolnjuje vaše sposobnosti in potrebe.