Prednosti i nedostaci razvoja softvera otvorenog koda

Krajnje je vrijeme da vratite ljudima koji vam omogućavaju korištenje Interneta!

Mnogi programeri vole projekte otvorenog koda i to s dobrim razlogom: svakodnevno ih koriste kako bi ubrzali svoj posao. Puno je uspješnih primjera softverskih rješenja otvorenog koda, poput Linuxa (operativni sustav) ili React (JavaScript knjižnica). Ta su rješenja često dobro osmišljena i zadovoljstvo mi je raditi s takvom vrstom visokokvalitetnog koda.

Dakle, hajde da bliže pogledamo što znači otvoreni izvor i koje su prednosti i nedostaci za rad s projektima otvorenog koda.

Što je otvoreni izvor?

Izraz "otvoreni izvor" stvoren je u industriji razvoja softvera i odnosi se na nešto što svatko može pregledati, izmijeniti i podijeliti. Predstavlja specifičan pristup stvaranju računalnih programa koji slavi vrijednosti suradnje, transparentnosti i razvoja usmjerenog ka zajednici.

Otvoreni izvorni kod pišu programeri i za programere.

Da bi zaštitio sve strane uključene u otvoreni izvor, vlasnik projekta može koristiti Creative Commons licencu. Licenca Creative Commons (CC) omogućuje svima da dijele, koriste i nadograđuju vaše djelo.

Softver otvorenog koda obično je besplatni softverski proizvod u kojem programeri imaju pristup izvornom kodu. Oni mogu poboljšati izvedbu programa, dodati neke značajke i ispraviti pogreške. Neki primjeri takvog softvera su LibreOffice, Mozilla Firefox i Chromium.

Suprotno tome, postoji vlasnički softver , koji se naziva i „softver zatvorenog koda“. Izvorni kod takvog programa mogu pregledati ili izmijeniti samo njegovi vlasnici. Neki primjeri vlasničkog softvera uključuju neke proizvode tvrtke Microsoft, Adobe ili Apple.

Neke tvrtke softver s otvorenim kodom vide kao normu, dok druge preferiraju razvoj softvera zatvorenog koda. I zasigurno, model otvorenog koda ima svoje prednosti i nedostatke.

Što je sjajno u razvoju softvera otvorenog koda?

pogodnosti otvorenog koda

Osobne pogodnosti

Ako kažem da su programeri otvorenog koda vođeni altruizmom i željom da pomognu drugima, mnogi ljudi koji čitaju ovaj članak mogu se osmjehnuti u nevjerici. Ali ta je unutarnja motivacija primarni razlog zašto većina ljudi radi na projektima otvorenog koda.

Ne podcjenjujte važnost osobnih koristi - onih osjećaja da ste korisni i samoispunjeni.

Priznanje zajednice

Znanstvenici i liječnici svoja iskustva dijele pišući znanstvene članke i sudjelujući na znanstvenim konferencijama. UI / UX dizajneri svoje iskustvo dijele na Behanceu ili Dribbbleu. Književnici tiskaju svoje knjige ili ih dijele putem internetskih platformi. Glazbenici i kinematografi dijele svoj rad sa svijetom putem različitih streaming usluga. Zašto bi se programeri softvera razlikovali i htjeli propustiti priliku za priznanje?

Kada radite na projektima otvorenog koda ili ih pokrećete, možete na više načina dobiti priznanje od zajednice programera, poput stvaranja sjajnog GitHub-profila i sudjelovanja u događajima poput Hacktoberfesta.

Također možete dobiti popuste, besplatan ulaz na događaje i dobro razvijenu infrastrukturu za vođenje svojih projekata. Rad na projektima otvorenog koda ne samo da vam štedi novac, već vas nadahnjuje da koristite sve najbolje alate koji su vam dostupni u vlastitim projektima.

Evo nekoliko sudionika Lviv Hacktoberfesta.

Samooglašavanje

Ako vi ili vaša tvrtka aktivno sudjelujete u zajednici otvorenog koda, možete zaraditi veliku reputaciju. Na taj način, ako ste pojedinac ili samozaposleni programer, bit će vam lakše pronaći posao slobodnjaka ili stalno zaposlenog. Ako predstavljate tvrtku za razvoj softvera, bit će vam lakše pronaći ljude voljne raditi za vas, partnere voljne suradnje i klijente voljne zatražiti vaše profesionalne usluge.

Zbog toga razvoj softvera otvorenog koda stvara savršenu priliku za oglašavanje - win-win situacija i za programere i za razvojne agencije.

Osjećaj vrijednosti

Ne treba skrivati ​​istinu: izgaranje posla muči rad programera i HR strategije dobavljača softvera. Ako ste vlasnik tvrtke, motivirajući zaposlenike da sudjeluju u razvoju otvorenog koda, pokazujete im da njihov rad ima vrijednost. Ne samo da će raditi na vašim komercijalnim projektima, već će pružiti vrijednost široj zajednici programera radeći na projektima otvorenog koda.

Pomažući svojim programerima da postignu te osjećaje svrhe i vrijednosti, zainteresirat ćete ih da rade s vama.

Isto vrijedi i ako ste samozaposleni programer. Bavljenje razvojem softvera otvorenog koda učinit će vaš rad smislenim i nećete ga mrziti kako vrijeme prolazi.

Kvaliteta softvera

Otvoreni kod je često kvalitetniji. Komad softvera koji je stvorio tim programera može biti niže kvalitete od onoga koji su razvile tisuće programera iz cijelog svijeta s iskustvom u različitim tehnologijama, industrijama i projektima. A pogreške u softveru otvorenog koda prepoznaju se vrlo brzo jer više programera neprestano pregledavaju kod.

Čak je i kod koji je napisao jedan programer često kvalitetniji ako je otvorenog koda. Ako napišete kôd koji ćete vidjeti samo vi ili vaše bliske kolege, možda nećete puno mariti za stil koda. Ali ako napišete kod koji svi mogu vidjeti, učinit ćete sve da ne izgledate poput majmuna s kodom. Ovdje su korisni pregledi, doprinosi i refaktoriranje iz zajednice.

Sigurnost podataka

Za razvoj aplikacija trebali biste koristiti softver otvorenog koda jer je sigurniji. Zajednica odmah pronalazi i prijavljuje sigurnosne nedostatke koje vlasnik softvera obično odmah ispravi.

Zauzvrat, ako postoji sigurnosna greška u vlasničkom softverskom proizvodu, nitko neće znati dok netko ne postane žrtvom prijetnje koju predstavlja.

Također, proizvodi s otvorenim izvorima ne mogu zloupotrijebiti i zloupotrijebiti podatke korisnika namjerno kao što to rade neke tvrtke s vlasničkim softverom. Zajednica bi otkrila ovu zlouporabu, a reputacija softvera i njegovog vlasnika bila bi uništena.

Prilagođavanje

Razvoj softvera otvorenog koda obično znači da razvijate lako prilagodljiv softver. Budući da je izvorni kod otvoren, programer može lako dodati promjene u funkcionalnost sučelja.

Na primjer, Apache CloudStack je softver otvorenog koda koji olakšava računarstvo u oblaku. Sljedeći je primjer otvorene platforme Botpress koja programerima omogućuje jednostavno stvaranje prilagođenih chatbotova. Programeri KeenEthics koji su suradnici Botpressa osjećaju se oduševljeni kad mogu nekome tuđi život učiniti jednostavnijim.

Open source je stjecanje i dijeljenje iskustva. Ponekad vidite da softverskom projektu otvorenog koda nešto nedostaje i popunite tu prazninu doprinoseći svoj kod. Drugi puta razumijete da biste mogli učiniti nešto bolje. Otvoreni izvor pomaže vam da se nosite s dosadom i zaradite priznanje od vršnjaka.

Sergey Gornostaev

Što NIJE sjajno u razvoju softvera otvorenog koda?

nedostaci otvorenog koda

Pogrešna komunikacija i nesporazumi

Možete očekivati ​​zahtjeve za poboljšanje proizvoda ili pomoć u nečemu, ali možda ćete morati imati posla s različitim vrstama ljudi. Neki mogu očekivati ​​da ćete 24/7 reagirati na njihove zahtjeve. Drugi bi mogli otvoriti PR-ove poboljšavajući vaš proizvod, ali morat ćete objasniti pravila kako se stvari trebaju pripremiti i kako se one spajaju u glavnu liniju.

Na kraju, ne postoji jamstvo da doprinosi zajednice neće ispasti lošiji. Zbog toga postoji velika vjerojatnost da na kraju prepravite nečiji kod i ostavite ljude razočaranima ne spajajući njihove promjene.

Prijetnja vrijednosti poslovne djelatnosti

Nikada ne biste trebali otvarati izvorne kodove bilo čega što ima osnovnu vrijednost za vaše poslovanje. Ako postoji poslovna tajna - ideja ili način njezine primjene koji vaše poslovanje čine jedinstvenim, ne biste ga trebali otvarati s otvorenim kodom kako ne bi postao dostupan vašim konkurentima. Ipak, ako imate ideje i alate koje javnost može koristiti bez ikakvih gubitaka za vaše poslovanje - otvorite ih.

Zašto je otvoreni izvor prava stvar

Ako ste korisnik Interneta (a definitivno jeste), neizbježno upotrebljavate nevjerojatnu količinu slobodnog softvera otvorenog koda. Internetski izumitelji osmislili su velik dio toga kao projekte otvorenog koda, a svi koji ga danas koriste ubiru plodove svog truda. Na primjer, računalstvo u oblaku uglavnom se temelji na doprinosima otvorenog koda.

Osim toga, istraživanje tvrtke Tidelift i The New Stack navodi kako 84 posto programera koristi otvoreni izvor u svojoj profesionalnoj rutini. Koristeći tuđe iskustvo i znanje, zašto ne podijelite svoje?

Ako uživamo u blagodatima otvorenog koda, vraćanje zajednici je prava stvar.

Sudjelujte u razvoju otvorenog koda!

Kako započeti? Otvorite svoje spremište GitHub javnosti i recite svijetu o tome putem svog bloga, društvenih mreža ili foruma za programere. Registrirajte se na Hacker News jer se puno suradnika s otvorenim kodom druži.

Otvoreni izvor omogućuje vam brži rast kao programera i donosi koristan rezultat cijeloj zajednici. Istodobno, trebali biste pokušati ne naštetiti zajednici koja vam pruža sve ove velike otvorene stvari. Doprinesite mudro i pomozite drugima tako što ćete odgovoriti na pitanja oko kojih možete pomoći.

Imate li ideju za projekt?

Moja tvrtka KeenEthics ima puno iskustva s web razvojem otvorenog koda i razvojem mobilnih aplikacija. Ako ste spremni promijeniti igru ​​i započeti svoj projekt, slobodno nas kontaktirajte .

Ako ste uživali u članku, svakako biste trebali pročitati još jedan: Agile Testiranje: Kako osigurati visokokvalitetni softver.

P.S

Također bih želio zahvaliti Alexu Pletnovu, tehničkom direktoru @ KeenEthics, na nadahnuću i doprinosu članku.

Izvorni članak objavljen na blogu KeenEthics možete pronaći ovdje: Što je dobro u razvoju otvorenog koda, a što nije?