Doprinos otvorenom kodu jedna je od najtraženijih vještina danas u tehnologiji. Ljudi su shvatili prednosti korištenja tehnologija otvorenog koda i prednosti sudjelovanja u tim projektima.

Razvoj otvorenog koda je pristup koji se temelji na dijeljenju izvornog koda i zajedničkom poboljšanju.

Na internetu postoje tisuće projekata otvorenog koda. Projekti otvorenog koda mogu biti aplikacije društvenih medija, softver za upravljanje projektima i tehnička dokumentacija. Dakle, kako odabrati ono pravo?

Što tražiti u projektu otvorenog koda

Jedna zabluda o projektima otvorenog koda jest da morate doprinijeti kodu. Dok je kôd neophodan, druga područja poput dokumentacije, upravljanja projektima i zagovaranja zajednice mogu biti značajna doprinosi otvorenog koda.

Svatko tko je radio na open-source projektima reći će vam o snazi ​​takvih projekata. Prednosti uključuju inovacije, usavršavanje i produktivne odnose koji utječu na vašu karijeru.

Razmotrite sljedeće karakteristike kako biste utvrdili je li open-source vrijedan vašeg vremena.

1. Ima li licencu?

Svaki projekt otvorenog koda ima licencu, obično dopuštenu licencu ili copyleft. Permisivna licenca uobičajena je u projektima otvorenog koda. Ne ograničava nikoga u korištenju, distribuciji ili prodaji modificirane verzije softvera.

Većina projekata otvorenog koda ima dopuštenu licencu, kao što su MIT, BSD ili Apache 2.0. MIT licenca dijeli i distribuira softver besplatno i bez jamstva:

Copyleft licence kao što su Opća javna licenca, Mozilla javna licenca i Affero Opća javna licenca dolaze s dodatnim ograničenjima.

Dozvoljena licenca dopušta suradnicima da mijenjaju i distribuiraju softver otvorenog koda. To znači da programeri mogu modificirati izvorni kod za proizvodnju novog softvera i koristiti ga ili distribuirati bez ograničenja. Modificirana verzija bit će pod istom licencom kao i izvorni softver.

Međutim, modificirane verzije neće imati isti naziv kao izvorna verzija radi lakšeg prepoznavanja između njih. Dozvola također treba uključivati ​​sve osobe i ne diskriminirati nikoga.

Svatko tko primi redistribuirani softver trebao bi imati ista prava u licenci kao vlasnici izvornog koda.

Besplatna licenca ne ograničava softver na određeni distribucijski kanal ili tehnologiju. Softver i ovisnosti koji se distribuiraju uz softver otvorenog koda ne moraju nužno biti otvorenog koda. Zatvoreni kod i druge plaćene tehnologije koriste softver otvorenog koda bez ograničenja.

2. Dijeli li se izvorni kod?

Svi open-source projekti imaju licencu koja dopušta besplatno dijeljenje izvornog koda. Prava se također odnose na kod sastavljen iz doprinosa. Izvorni kod projekta trebao bi biti dostupan svim stranama bez ograničenja.

Kada je izvorni kod nedostupan na javnim platformama, trebao bi biti dostupan na zahtjev. Svaki projekt koji ne dijeli svoj izvorni kod nije projekt otvorenog koda.

No, licenca može ograničiti redistribuciju izvornog koda i dopustiti samo redistribuciju njegovog modificiranog oblika. Modificirani kod može imati drugačiji naziv ili verziju kako bi se razlikovao od izvornog projekta.

3. Ima li projekt smjernice za suradnike?

Svaki open-source projekt trebao bi imati vodič za suradnike. Vjerojatno ćete ga pronaći u korijenskoj mapi projekta, često pod nazivom CONTRIBUTORS ili CONTRIBUTORS.md. Vodič za suradnike sadrži jednostavne upute o tome kako doprinijeti projektu.

Vodič pokazuje novim suradnicima kako rastaviti, pokrenuti problem i poslati svoje doprinose u uzvodno spremište. Vodiči za suradnike pomažu suradnicima pokazati kako projekt radi na smanjenju sukoba između grana tijekom spajanja.

Evo primjera smjernica za suradnike iz AsyncAPI projekta otvorenog koda na GitHub:

4. Ima li aktivnu zajednicu?

Inovacija je jedan od razloga zašto su projekti otvorenog koda postali toliko popularni. Open-source okuplja talentirane i entuzijastične zajednice kako bi stvorile ideje koje promiču inovacije.

Jaka zajednica osigurava jasnu komunikaciju, suradnju i marketing za proizvod. Aktivne zajednice otvorenog koda daju bolje rezultate i šire inovacije brže od pojedinačnih projekata.

Kako biste utvrdili je li zajednica aktivna, pogledajte njezine društvene kanale. Započnite praćenjem njihovih aktivnosti na društvenim medijima, Discord ili Slack računima. Bolje je raditi u aktivnoj zajednici sa slobodnim protokom informacija i resursa.

Aktivne zajednice u otvorenom kodu ubrzavaju inovacije na tri načina. Zajednice odgovaraju na trenutne trendove u tehnologiji, imaju česte cikluse izdavanja i imaju veliku preraspodjelu softvera.

Primjer projekta otvorenog koda s fantastičnom zajednicom je Facebookov Javascript framework, React.

React je u devet godina narastao na verziju 18, dok je sličan framework Vue.js još uvijek na verziji 3. Oba okvira stara su manje od deset godina. Reactova živa zajednica zasjenjuje druge popularne JavaScript okvire, kao što je Angular.

Zabavno je raditi na projektima otvorenog koda s aktivnim zajednicama. Također, nikada nećete zaostajati za tehnološkim trendovima i ažuriranjima. Pronalaženje najbolje Discord tehnološke zajednice izvrstan je dodatak vašem open-source portfelju.

5. Jesu li održavači aktivni i pažljivi?

U projektu otvorenog koda, održavatelji su suradnici s dopuštenjem za izmjenu datoteka u repozitoriju projekta. Održavatelji su zaduženi za projekt i osiguravaju da su doprinosi projektu usklađeni s njegovim ciljevima.

U dobrom open-source projektu održavatelji su najaktivniji. Oni će biti zaduženi za kanale zajednice, voditi rasprave i odgovarati na pitanja suradnika. Održavači daju ažuriranja i potiču suradnju u zajednici.

Da biste utvrdili ima li projekt aktivne održavatelje, pogledajte njegova udaljena spremišta, kao što je GitHub. Aktivni održavatelji dobro komuniciraju. Odgovaraju na zahtjeve za povlačenjem, postavljaju probleme i rješavaju pitanja suradnika.

Identificirajte aktivne održavatelje provjeravajući koliko često odgovaraju na upite objavljene na društvenim kanalima. Svaki repozitorij s tri mjeseca komunikacijske praznine nije prikladan projekt.

Karakteristike dobrog projekta otvorenog koda

Dok mnoge druge karakteristike definiraju prikladan open-source projekt, one važne su vrsta licence, priroda zajednica, izvorni kod i aktivni održavatelji.

Projekti otvorenog koda s gore navedenim karakteristikama nadahnjuju inovacije, skaliranje i marketing projekata svjetske klase. Također, sjajne zajednice otvorenog koda prate tehnološke trendove i potiču suradnju i raznolikost.

Velike su šanse da ste u životu koristili barem jedan proizvod otvorenog softvera. Zašto ne početi tamo? Koristite karakteristike navedene u ovom članku kako biste osigurali najbolji projekt koji nadopunjuje vaše vještine i potrebe.