LAKI PINGVINI<>
092015<><>

Zajednica na zadatku

Razvojni put jednog slobodnog programa

Specifičnosti razvoja određenog programa u okviru zajednice slobodnog softvera su mnogobrojne i onemogućavaju predviđanje uspeha i budućnosti samog proizvoda. Većina projekata život započinje u apsolutnoj neizvesnosti i nesigurnosti, najveći broj ne doživi ni prvo stabilno izdanje, ali mnogi od njih postaju uspešni i prihvaćeni, pojedini čak i nezamenjivi deo ekosistema slobodnog softvera, a i šire. U svom eseju, kasnije knjizi, „Katedrala i pijaca” Erik S. Rejmond (Eric S. Raymond – „The Cathedral and the Bazaar”, dostupno na adresi goo.gl/BQMoLW) analizira različite načine organizacije razvoja softvera otvorenog kôda na primerima Linuxa, GNU Emacs i GCC projekata pa vam preporučujemo kao nezaobilazno štivo na ovu temu, a mi ćemo se ovom prilikom pozabaviti malo širom slikom i istražiti kako to programi koje razvija zajednica nastaju, rastu i završavaju se.

Od ideje do realizacije

Različiti programi, različite namene, različiti motivi. Ne postoji univerzalno pravilo ili način na koji se započinje slobodni projekat, ali generalno sve kreće od ideje jednog ili nekolicine programera kako rešiti specifičan softverski problem. Nakon toga, započinje se rad na samom kôdu, pisanjem od nule ili recikliranjem postojećih rešenja (ne zaboravite, slobodni softver je moguće koristiti i menjati po potrebi, nema razloga da se ponovo izmišlja topla voda), a potom se bira naziv projekta i pozivaju zainteresovani da se priključe razvoju. To koliki će biti odziv zavisi od mnogo činilaca i ovo je jedan od kritičnih momenata u životu projekta, ali broj developera nije od ključnog značaja.

Novi projekat može da nastane i odvajanjem od postojećih (takozvano forkovanje) usled različitih stavova o načinu na koji softver treba da se razvija, a ponekad i zbog ličnih nesuglasica developera (OpenBSD je forkovan od NetBSD projekta nakon slične situacije). Razdvajanje je česta pojava u okviru zajednice sa nebrojenim primerima i sa sobom povlači negativne i pozitivne konotacije, ali time se nećemo baviti ovom prilikom. Nasuprot tome, spajanje projekata je takođe poznat fenomen i dešava se kada se dve ili više zajednica udružuju na razvoju sličnog proizvoda. Viđali smo čak i projekte koji su se forkovali pa udruživali, po nekoliko puta (Compiz u Beryl, pa nazad u Compiz Fusion, pa sve to ponovo u Compiz projekat).

Takođe, novi projekti mogu da nastanu nakon što određeni program postane slobodan. Firma ili pojedinac koji razvijaju softver odluče da njegov kôd objave pod nekom slobodnom licencom, nakon čega postaje moguće da u razvoj uključe i drugi pojedinci i kompanije. Fondacija „Mozilla”, koja je iznedrila neke od najpoznatijih open-source programa, nastala je upravo na takav način, odlukom menadžmenta firme Netscape da „otvore” svoj internet pretraživač Netscape Navigator (priča kaže da je veliki uticaj na ovu odluku imao pomenuti esej sa početka teksta).

Kao što smo rekli, previše je faktora koji utiču na uspeh jednog open-source projekta pa je na samom početku vrlo teško reći kakva mu je budućnost, ali najbitnije je krenuti, bez toga uspeh sigurno izostaje.

Pukovnik il’ pokojnik

Pubertet. Najteži period u razvoju svakog mladog projekta. Da li će i u kakav će proizvod izrasti? Recepta za uspeh nema. Popularnost nekog programa je dinamička kategorija i, ukoliko se nakon početnog rada ne stekne kritična masa korisnika i developera, projekat je osuđen na kraj. Biva napušten, integrisan u neki drugi ili čeka da ga preuzme nova zajednica. Većina open-source projekata ne doživi duboku starost, a razlozi su mnogobrojni: mala zainteresovanost korisnika, pojava boljih rešenja, nedovoljan kvalitet softvera, nedostatak finansijske podrške...

Oni projekti koji uspeju da se izbore za svoje mesto u zajednici obično imaju slične karakteristike. Najčešće se radi o softveru koji je dovoljno kvalitetan da zadovoljava potrebe većeg broja korisnika, a pritom je razvoj organizovan tako da novi developeri jednostavno mogu da daju svoj doprinos. Internet je u velikoj meri doprineo ovome, pa se većina projekata oslanja na njega u komunikaciji sa korisnicima, ali i članovima razvojnih timova. Generalni princip je da su masovniji projekti samim tim stabilniji i dugovečniji, a mogu da privuku i finansijsku podršku što im dodatno olakšava razvoj. Iscrpnu studiju na ovu temu možete naći na adresi goo.gl/3RjZGT.

Iako slobodan i mahom besplatan, open-source softver je tesno povezan sa komercijalnim uspehom što se ogleda u sponzorisanju važnih projekata od strane firmi koje imaju interes u razvoju pojedinih projekata. Linux bi danas teško bio na nivou na kome se nalazi da veliki broj kompanija nije delegiralo sopstvene resurse u vidu novčanih sredstava i programera koji pomažu njegov razvoj. Ovakva kooperacija između neprofitnih organizacija i firmi koje, po definiciji, postoje da bi ostvarivale profit, ne treba da vas čudi. Zajednica dobija pomoć i podršku u razvoju softvera od koga i krajnji korisnici imaju koristi, dok kompanije iz ove saradnje izlaze sa tehnologijama na osnovu kojih mogu da baziraju sopstvene proizvode. Pri tome, troškovi razvoja su manji, a kvalitet (zbog načina razvoja) veći.

Moglo bi se zaključiti iz prethodnog pasusa da je za opstanak projekta neophodno naći korporativnog „sponzora” što naravno nije slučaj, kooperacija sa firmama obično je odlika velikih zajednica i značajnih projekata, ali stoji da je finansijska podrška od krucijalnog značaja za razvoj i uspeh. Oni open-source programi, mahom vođeni jednim developerom ili nekolicinom zainteresovanih, koji nemaju komercijalnu primenu (a većina je takva) ili su direktni konkurenti vlasničkim rešenjima, problem neophodnog finansiranja rešavaju donacijama ili prodajom usluga i pratećih proizvoda. Ukoliko priliv sredstava poraste na dovoljan nivo, developer koji vodi neki manji projekat može se u potpunosti posvetiti radu na njemu i tako ubrzati razvoj i poboljšati kvalitet. Manji projekat raste, uključuje veći broj ljudi, brže se razvija, postaje kvalitetniji, privlači više korisnika i donacija pa se tako pozitivna povratna sprega zatvara.

Kao što vidimo, svi nivoi razvoja slobodnog softvera imaju u manjoj ili većoj meri razrađene mehanizme opstanka, na pojedinačnim zajednicama i njihovim rukovodiocima je da odaberu adekvatan put.

Nema kraja

Uspešni projekti nemaju kraj u bukvalnom smislu te reči. Projekti se gase onda kada za njima više ne postoji objektivna potreba, zainteresovanost developera ili korisnika. Dešava se, međutim, da zajednica slobodnog softvera, koja je sklona recikliranju, u nekom obliku nastavlja razvoj napuštenih projekata u novom obliku. Sećate se KDE3 okruženja? Ono postoji i danas, pod imenom Trinity i dobar je primer prethodne teze.

Sa druge strane, postoji nekoliko aktivnih projekata koji su toliko stari da su nastali pre nego i sam pokret slobodnog softvera! Zanimljivu listu možete naći na adresi goo.gl/0YJ3uJ, kao podsetnik da kvalitet uvek opstaje, bez obzira na to na koji način se razvija i koliko je velika zajednica koja ga održava.

Goran STRIČIĆ

 
Zajednica na zadatku
Šta mislite o ovom tekstu?
PAC Manager 4.5.5.5
Praat Speech Analyzer 5.3
uGet 2.0
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera