Ako se bavite web dizajnom, programiranjem ili jednostavno koristite računar, gotovo sigurno ste već koristili neki Open Source softver, čak i ako toga niste bili svesni.

Ali šta zapravo znači „Open Source“?

Najjednostavnije rečeno, Open Source je softver čiji je izvorni kod javno dostupan. To znači da drugi ljudi mogu da ga pregledaju, proučavaju, koriste, menjaju i često dalje distribuiraju, u skladu sa licencom pod kojom je projekat objavljen.

Za razliku od zatvorenog, odnosno proprietary softvera, gde proizvođač kontroliše izvorni kod, kod Open Source projekata zajednica često ima veoma važnu ulogu.

Open Source nije isto što i „besplatno“

Ovo je jedna od najčešćih zabuna.

Open Source softver može biti potpuno besplatan za korišćenje, ali Open Source prvenstveno govori o dostupnosti izvornog koda i pravima koja korisnik dobija kroz licencu.

Postoje različite Open Source licence, a svaka definiše šta je dozvoljeno raditi sa kodom.

Zato „besplatno“ i „Open Source“ nisu baš ista stvar.

Kako Open Source funkcioniše?

Zamislimo da neko napravi projekat i postavi njegov kod na GitHub.

Drugi programeri mogu da pogledaju kod, pronađu grešku, predlože izmenu ili naprave sopstvenu verziju projekta. Kod većih projekata, hiljade ljudi iz različitih delova sveta mogu doprineti razvoju.

Upravo je to jedna od najzanimljivijih stvari kod Open Source-a – projekat ne mora zavisiti samo od jednog programera ili jedne kompanije.

Naravno, način rada zavisi od konkretnog projekta. Neki imaju veoma aktivnu zajednicu, dok drugi mogu biti mali projekti koje održava samo nekoliko ljudi.

GitHub i Open Source

Kada govorimo o Open Source-u, teško je ne pomenuti GitHub.

GitHub omogućava programerima da hostuju svoje Git repozitorijume, prate izmene koda i sarađuju na projektima.

Na jednom projektu može raditi veliki broj ljudi. Neko prijavi problem, drugi napravi izmenu, treći pregleda kod i, ako je sve u redu, izmena može postati deo projekta.

Za početnike je GitHub odličan način da vide kako stvarni projekti izgledaju „iza kulisa“.

Koji Open Source projekti postoje?

Open Source je mnogo veći nego što možda izgleda.

Tu su operativni sistemi poput Linux-a, web serveri, programski jezici, framework-i, CMS sistemi, grafički programi, alati za razvoj softvera i još mnogo toga.

Čak i tehnologije koje koristimo svakodnevno na webu imaju veoma jaku Open Source zajednicu.

WordPress, na primer, jeste Open Source projekat. Isto važi i za Jekyll, koji koristim za ovaj blog.

To znači da ne zavisimo samo od toga šta je neko odlučio da nam ponudi kroz gotov program. Kod Open Source projekta možemo pogledati kako softver funkcioniše i, u određenim granicama licence, prilagoditi ga sopstvenim potrebama.

Prednosti Open Source-a

Jedna od najvećih prednosti je sloboda.

Možete koristiti postojeći projekat, učiti iz njegovog koda, prilagođavati ga i doprinositi njegovom razvoju.

Tu su i druge prednosti:

često je besplatan za korišćenje, izvorni kod je dostupan, veliki broj ljudi može učestvovati u razvoju, greške se mogu brzo prijaviti i ispraviti, projekti mogu imati ogromnu zajednicu, odličan je za učenje i eksperimentisanje

A koje su mane?

Open Source nije automatski savršen.

Kvalitet projekta može značajno da varira. Neki projekti imaju odličnu dokumentaciju i aktivnu zajednicu, dok drugi mogu biti slabo održavani.

Takođe, korisnik ponekad mora sam da pronađe rešenje za problem, posebno ako ne postoji kvalitetna dokumentacija ili podrška.

Kod nekih projekata potrebno je i više tehničkog znanja da bi se softver pravilno instalirao, podesio ili prilagodio.

Zašto je Open Source važan za web dizajn?

Za mene je Open Source posebno zanimljiv zato što omogućava da se uči iz stvarnih projekata.

Umesto da samo koristimo gotov alat, možemo pogledati kako je napravljen, istražiti njegov kod i razumeti šta se dešava „ispod haube“.

Jekyll, GitHub Pages, Bootstrap i mnogi drugi alati koje možemo koristiti u web dizajnu imaju upravo tu Open Source filozofiju.

Na kraju, možda je najbolja stvar kod Open Source-a upravo mogućnost da ne budete samo korisnik.

Možete postati neko ko istražuje, menja, poboljšava i doprinosi.

Otvoren kod znači otvorena vrata za učenje.