User Tools

Site Tools


filozofija_bsd-a
BSD ovo, BSD ono

BSD je ono što se dobije kada gomila Unix hakera sedne da prebaci Unix na PC<br/>

MNOGO PUTA DO SADA MI SE DEŠAVALO DA U RAZGOVORU POMENEM DA NE KORISTIM OPERATIVNI SISTEM KOJI RAZVIJAJU LJUDI IZ FIRME MICROSOFT. VREME JE UCINILO SVOJE TE SADA SVAKO BAR ZNA DA POSTOJE ALTERNATIVE. OBICNO NA MOJU IZJAVU DOBIJAM KOMENTAR:“AH, TI KORISTIŠ LINUX”. U ZAVISNOSTI OD STEPENA INFORMISANOSTI SAGOVORNIKA MOGU CUTI ZAISTA FANTASTICNE DODATNE KOMENTARE. OD RASPITIVANJA KOJU DISTRIBUCIJU KORISTIM, TE POKUŠAJA RASPRAVE KOJA JE DISTRIBUCIJA NAJBOLJA JER JE MOJ SAGOVORNIK OD SVOG KOMŠIJE SA ŠESTOG SPRATA, KOJI JE PO PROFESIJI “HAKER”, SAZNAO DA JE “TA I TA” DISTRIBUCIJA NAJBOLJA TE DA OSTALE NE VALJAJU I, MADA NIJE NI JEDNU VIDEO, KRVAVO CE SE ZAPODENUTI PRICA C NA DATU TEMU, DO MOJE OMILJENE, “JA SAM CUO/LA DA JE LINUX ZASTAREO”. NA OPŠTE NEZADOVOLJSTVO MOG SAGOVORNIKA SVE ŠTO IMAM DA PONUDIM JE ODGOVOR DA NE KORISTIM NI JEDNO NI DRUGO, VEC NEŠTO SASVIM TRECE - BSD. NA MOJU IZJAVU MOGU DOBITI NEKOLIKO ODGOVORA. MOJ OMILJENI JE KOLUTANJE OCIMA I IZJAVA DA NISAM BAŠ NORMALAN. TU JE I ISTORIJSKO PITANJE: “JEL' TO RADI NA 2.4 ILI 2.6 LINUX KERNELU?”. NO, PONEKAD SRETNEM JOŠ KOJE LJUBOPITLJIVO BICE , KOJE SE MAKAR NA TREN ZAINTERESUJE DA PROŠIRI SVOJE VIDIKE…

Šta ovaj tekst nije?

Jako cesto mi ljudi prebacuju to što insistiram na jasnom razlikovanju Linuxa i BSD-a. Ne smatram sebe guruom, ali mi je dugogodišnje bavljenje sistemima slicnim Unixu donelo puno lepih saznanja, te potrebu da se prave razlike u finesama, mada je razlika izme u BSD i Linux sveta daleko veca i složenija od nekoliko finesa. Neka korisnici i ljubitelji ma kog od ova dva sistema ne shvate ovaj tekst kao odgovore na pitanja:

  1. Zašto treba da koristim BSD, a ne Linux?
  2. Zašto treba da koristim Linux, a ne BSD?
  3. Zašto je ova distribucija Linuxa bolja od one tamo?
  4. Zašto je BSD bolji od Linuxa?
  5. Zašto je Linux bolji od BSD-a?<
  6. Ko je u pravu?
  7. Velicanje mog rada i poznavanja BSD sistema
  8. Da li ima Boga?
  9. Da li su moji roditelji vanzemaljci?

Šta ovaj tekst jeste?

Vec par godina sam korisnik FreeBSD-a. Ranije sam koristio razne distribucije Linuxa, ali ako me neko sada pita da li bih se vratio na Linux svakako bi dobio negativan odgovor. Ova prica je licni stav i pokušaj da objasnim zašto toliko insistiram na razlikovanju ova dva sveta. Tacno je da se svi mi slažemo da su operativni sistemi slicni Unixu prava stvar i da ih svakako treba koristiti. Razlikujemo se samo po pitanju koji je pravi. Slažemo se oko filozofije slobode, ali nam se razlikuju pogledi vezani za filozofiju samog operativnog sistema.

Šta BSD nije?

Radost je svih nas što su ideje Unixa i slobodnog softvera u zamahu. Kada sam poceo da se upuštam u ovaj zabavni svet, malo je ljudi znalo da postoje i drugi operativni sistemi osim Windowsa. Tržište i potražnja su ucinili svoje, te je u jeku ekspanzija kako Linuxa, tako i softvera otvorenog koda. To ima svoje dobre i svoje loše strane, no to nije poenta moje price. Danas svaki klinac zna za Linux i makar okvirno zna kako izgledaju KDE ili GNOME. I tu cine prvu grešku jer kada vide bilo koje od pomenutih okruženja smaraju da je to Linux tj. neka distribucija Linuxa. Dakle, da se odmah na pocetku razjasni za sve one neobaveštene - BSD nije tek još jedna Linux distribucija.

Dobro, šta je onda BSD?

BSD je skracenica za “Berkeley Software Distribution”. Ime je dato izvornom kodu razvijanom na Univerzitetu Berkli u Kaliforniji koji je zapravo bio razvijan kao dodatak AT&T-jevom Unixu. Nekoliko operativnih sistema otvorenog koda su bazirani na ovom kodu koji je poznat pod nazivom 4.4BSD-Lite. Sam BSD sadrži:

* BSD kernel koji je zadužen za regulisanje procesa, raspolaganje me-morijom, drajvere za hardver, a za razliku od Linuxa, BSD ima nekoliko razlicitih kernela sa, naravno, razlicitim mogucnostima.<br/>

* C biblioteku koja je bazirana na kodu razvijanom na Berkliju, i nema veze sa GNU projektom.<br/>

* Aplikacije za rad sa datotekama, komandne linije, kompajlere. Neke od njih su deo GNU projekta dok neke nisu.<br/>

* X Window sistem za graficko okruženje koji se razvija nezavisno od samog BSD-a.<br/>

Ukratko, BSD je ono što se dobije kada gomila Unix hakera sedne da prebaci Unix na PC, dok je Linux ono što se dobije kada gomila PC hakera sedne i napiše Unix za PC. Možda ce neko ovo shvatiti kao raspravu oko toga koji je sistem više nalik Unixu. Od toga se ogradjujem jer BSD-u tu nema mesta. BSD nije slican Unixu niti je njegov klon. BSD je derivat originalnog AT&T-jevog Unixa. Kao što sam vec napomenuo, BSD je nastao iz niza dodataka za Unix koji su razvijani na Berkliju. Kao što je poznato, pravi Unix nije niti otvorenog koda niti slobodan.

Davne 1980., u sred ekspanzije mreža i kompjuterskih sistema, mnogi nisu želeli da prave svoj operativni sistem od nule te su se zadovoljili kupovinom Unix licence . Tako je Sun Microsystems kupio licencu za Unix, implementirao 4.2BSD i stvorio SunOS™ (danas poznat pod nazivom Solaris). Kada je AT&T poceo komercijalno da iskorišcava svoj Unix prvo su poceli sa minimalnim kodom koji su zvali System III, da bi ubrzo usledio System V. System V nije u sebi sadržao mrežne pakete tako da su oni dodavani putem BSD-a, koji je sadržao TCP/IP, csh konzolu i uredjivac teksta vi. Trake sa BSD-om su sadržale AT&T-jev kod te su shodno tome zahtevale Unix licencu. Do 1990. je odluceno da se BSD pusti u javnost pošto je vec bio otvorenog koda, ali bez dela koji je pripadao AT&T-ju. To se konacno dogodilo pod nazivom Networking Tape 2 ili Net/2 sistemom. Net/2 nije bio kompletan operativni sistem pošto je nedostajalo oko 20% koda. Tada na scenu stupa Vilijem F. Jolic (jedan od programera koji su radili na originalnom 4.2BSD-u) - on dodaje kod koji je nedostajao, i sve to izdaje kao 386BSD. U isto vreme druga grupa programera koji su ranije radili na BSD kodu osniva kompaniju pod nazivom Berkeley Software Design Inc. i izdaje beta verziju sistema pod nazivom BSD/386. Ime kasnije menjaju u BSD/OS.

386BSD nikad nije postao stabilan sistem te se 1993. razdvaja na dvaprojekta, naime NetBSD i FreeBSD. Osnovna je razlika u to vreme bila u strpljenju. Ljudi iz NetBSD nisu cekali na usavršavanje 386BSD-a te je prvi NetBSD izašao rano iste godine, dok je FreeBSD sacekao skoro kraj godine. 1996. se iz NetBSD-a izdvaja projekat OpenBSD, dok 2003. iz FreeBSD-a odlazi ekipa ljudi koji žele da nastave putem 4.x BSD kernela i stvaraju DragonFly BSD projekat.

Mislim da je ova prica dovoljna da se shvati da BSD nije tek još jedan klon Unixa, vec da predstavlja sistem nastao iz originalnog Unixa sa 80% koda.

Filozofija BSD-a

Iako nisam od onih koji pridaju preveliki znacaj teoretisanju o životu ve sam za to da se život živi, c ipak moram reci da se BSD i Linux sem po sistemskim pitanjima razlikuju i na filozofskom polju.

Prakticno gledano, metodologija Linuxa je inkaracija haosa dok je metodologija BSD-a više vezana za kontrolisano okruženje. Linux je nastao kao produkt slobodnog vremena hakera, dok je BSD rastao u kontrolisanim uslovima pod okriljem inžinjerskih timova. Naravno, to ne znaci da ne postoji gomila hakera koji rade na BSD-a, niti da nema dosta profesionalnih programera koji rade na delovima Linuxa. U ranijim tekstovima sam pomenuo da je BSD izgradjen na jedinstvenom sistemu dok se Linux distribucije sastoje od delova koji se sastavljaju, ali razvijaju na razlicitim mestima. BSD nacin je svakako više orijentisan na održavanje reda, dok Linux prakticno pociva na haoticnosti. Naravno, iz haosa nastaje kreacija ali poenta ove price i nije da ukaže da je i jedan od nacina bolji, vec da jednostavno postoji razlika.

Razlika se može uociti i u nacinu na koji se implementira osnovni kod. BSD se trudi da izbegava “hakerska” rešenja i zakrpe. Pociva se na ideji da je lakše sacekati isto rešenje nego odmah nalepiti nesigurno. To je opravdano idejom da je lakše ubaciti valjan kod nego “uprljati” arhitekturu što je svakako kasnije teže ocisiti. Neke od Linux distribucija se tako e drže ove filozofije što ih cini pouzdanijim od ostalih.

Posledice ovakvog razmišljanja leže u nacinu ažuriranja. Kod Linuxa se jednostavno ažurira svaki deo ponaosob. Kod BSD-a to nije baš tako jer, kao što sam ve napomenuo, centralni deo BSD-a je kompaktna celina koja se ažurira cela. To može izgledati kao mana BSD-a dok ne pogledate to sa druge strane. Mnogo mi se puta desilo da mi usled neslaganja paketa ili strada ceo Linux sistem ili budem primoran da trošim sate na sredjivanje . Kod BSD-a ce ažuriranje osnovnog sistema sa sobom povuci i ažuriranje kernela, gcc-a, gzipa i ostalih osnovnih paketa. Rezultat toga je cinjenica je daleko lakše ažurirati FreeBSD 5.2 na FreeBSD 5.3 bez reinstalacije. Svakako, kažu da je to izvodljivo i sa Linuxom ali vas svi distributeri upozoravaju da je daleko pametnije pri migriranju sa jedne verzije na drugu reinstalirati ceo sistem.

Mythbusters

Zašto ovaj naslov? Sem što je to moja omiljena emisija na Discovery kanalu ovo je prilika da probam i pobijem neke mitove vezane za BSD sistem.

Pocnimo od stare price sa hardverom i tome kako BSD “ne podržava skoro ništa”. Apsolutna besmislica. Tacno je da Linux podržava neke delove koje BSD ne podržava, ali ako emo tako, Windows podžava c puno toga što ne radi na Linuxu. Ako mene pitate, BSD podržava skoro sav standardni hardver a i sama lista podržanih stvari se povecava sa svakim novim izdanjem, što je svakako slucaj sa svim operativnim sistemima.

Jako cesto cujem kako 3D ne radi na BSD-u. Još jedna besmislica. Kao što ni Linux ne podržava grafi ke kartice tako to ne cini ni BSD kernel. To je posao X servera. Na svojoj mašini pokrecem dosta zahtevnih 3D igara bez problema. NVidia je izdala sjajne drajvere za svoje kartice za BSD sisteme, tako da ce vaša “zver” od kartice svakako naci dobro utocište na BSD-u.

A sad moja omiljena tema. Softver. Navodno Linux ima više softvera. Stvarno ne znam odakle ljudima takva ideja. Sve programe koje koristite na Linuxu cete imati i za BSD. To se zove sistem portova o kojem sam pricao u prošlom broju. Broj programa portovanih za BSD je preko 12 000, prema tome ne vidim razlog gore navedenoj tvrdnji.

Popularnost je još jedan od mitova. Da, Linux je popularniji tj. ima više korisnika. Ali Windows ima još više, zar ne? Sve se ovo vrti oko price o tehnickoj podršci. Podrška za Linux pociva na zajednici. Isto važi i za BSD. Iza BSD sistema stoji zaista kvalitetna zajednica ljudi te budite uvereni da ce svaki vaš problem biti rešen ukoliko znate šta je uopšte problem. Naravno, ne smemo da zaboravimo i cuvenu pricu o tome kako je BSD kompleksniji i teži za korišcenje. Ili kako je to neko rekako: “Manje user friendly”. Ne vidim odakle se izvlaci taj zakljucak. BSD je sušta logika te ne znam šta je tu tako teško. Sa istom pricom sam se susretao u razgovoru sa braniocima Windows sistema koji tvrde da je Linux teži, kompleksniji i “manje user friendly”. Tacno. Oba su teža od Windowsa jer od vas traže da ukljucite mozak i da makar probate da shvatite da je kompjuter malo više od automata za otvaranje pasijansa. Ni BSD ni Linux ne mogu biti okarakterisani kao teški za upotrebu.

BSD korisnike jako cesto optužuju za elitizam i stav RTFM. Ali su to i Linux korisnici. Ako se elitizam ogleda u tome da vas na forumu neko izvredja zato što se nešto lupili, ili niste znali da definišete problem, onda smo svi elitisti. Ima nas raznih. Na forumima i IRC kanalima cete sresti ljude koji ce iskociti iz kože da vam izadju u susret i pomognu i sa najprostijim problemima. Ima i onih koji su tako fini te ce vam pomoci da pravilno postavite svoje problem i na taj nacin shvatite šta stvarno ne valja. Naravno, tu su i oni koji se nece obazirati na vaša pitanja ukoliko niste našli šta tacno ne radi, uradili sami debagovanje bar tri puta i tek onda srocili šta vas muci. Da, ima nas raznih. I jedna i druga zajednica su tu da pomognu ali niko nece da od c - go- vara na pitanja koja su ve objašnjena u HOW TO prirucnicima za koje se ocekuje da ste ih procitali.

Dakle, jesmo li mi elitisti? Izgleda da jesmo. Ali ništa veci od ostatka IT sveta. Možda elitizam BSD zajednice proizlazi iz razloga manjeg kruga korisnika.

Zakljucak...

Nadam se da je posle citave price malo jasnije zašto toliko insistiram da se BSD ne stavlja u isti koš sa Linuxom. Ne, ja nisam isfrustrirani bivši korisnik Linuxa koji je ogorcen na isti, te koristi priliku da mu se na svaki mogu i nacin osveti. Linux podržavam i uvek cu to ciniti, ali su mi BSD filozofija i metodologija bliži, i saglasniji mojim životnim stavovima. Da li je ovo bilo potenciranje kvaliteta BSD-a? I sama ideja da se ovako nešto napiše je potenciranje BSD-a, zar ne? Da li cete vi preci na BSD je apsolutno vaša stvar. Ako ste zadovoljni svojim sistemom nema razloga da bilo šta menjate.

~ Marko Milenovic

filozofija_bsd-a.txt · Last modified: 2017/04/28 10:25 (external edit)