Danes odprte kode ne more nihče več spregledati, niti velike korporacije

Pogovor s Theom de Raadtom, vodjo projekta openBSD.

Objavljeno
11. oktober 2011 08.28
Posodobljeno
11. oktober 2011 09.00
Matjaž Ropret, gospodarstvo
Matjaž Ropret, gospodarstvo

Ljubljana – Dvorana enega od ljubljanskih dijaških domov je bila napol polna, na mizah je ležala množica neuporabljenih prenosnikov thinkpad, pravega delovnega ozračja pa še ni bilo čutiti. Programerje, ki so se na t. i. hekatonu (programerskem maratonu) projekta openBSD ukvarjali z izboljšavami tega odprtokodnega operacijskega sistema, smo namreč zmotili sredi dopoldneva.

Tudi našega sogovornika, Kanadčana Thea de Raadta, ki že več kot petnajst let vodi projekt, še ni bilo. Prejšnjo noč je bilo očitno veliko idej in dela. Operacijski sistem openBSD je eden od dveh naslednikov kode, ki je nastala v laboratorijih nekdanjega ameriškega telekomunikacijskega monopolista Bella (AT & T). Koda je počasi uhajala v javnost in delčki so končali na različnih univerzah. Glavnina dogajanja je bila na Berkeleyju, kjer so profesorji in študenti kmalu dodali celoten omrežni sloj, iz česar se je razvil tudi internetni protokol. Po več letih sodnih postopkov je koda bsd postala prosta in na njeni osnovi sta nastala tudi mac os in solaris. Znotraj družine bsd je sistem free bsd, ki ga razvijajo predvsem programerji iz ZDA, pri čemer se osredotočajo na strežniško infrastrukturo. Glavno načelo projekta openBSD pa je skrb, da v sistemu ni nobenih varnostnih lukenj.

Kakšen je smisel obstoja več bsd-jev?

Verjetno je nekaj na tem: preveč babic – kilav otrok. Težko je sestaviti ekipo z več kot določenim številom ljudi. Po navadi se oblikuje nekaj struj in vsaka hoče peljati projekt v svojo smer. Ker pa je koda prosto dostopna, vedno lahko uporabimo kakšno njihovo rešitev in oni našo.

Imata oba sistema podobno velik tržni delež?

Njihov je precej večji. In naši uporabniki so precej bolj skriti. Nihče ne šteje, koliko požarnih zidov teče nekje v podjetju ali koliko je upravljalnikov dvigal. Vem za primere, kjer imajo 20 tisoč računalnikov s sistemom openBSD, vendar nanje sploh nihče ne bi pomislil, saj so del večje infrastrukture.

Kako velika je vaša razvojna ekipa?

Imamo približno sto programerjev, nekateri odhajajo, drugi prihajajo. Vsako leto izdamo dve nadgradnji, pri čemer smo že opazili, da običajno različica, ki jo izdamo konec poletja, ni tako dobra kot tista, izdana ob koncu zime. Poleti so namreč ljudje na dopustih in ekipa ni tako povezana.

Izdate novo različico, tudi če vam ne uspe narediti vsega, kar ste si zastavili, vnesti vseh načrtovanih izboljšav in novosti?

Da. Ne ženejo nas cilji, ampak to, da izdamo novo različico. Zato koda za določene spremembe, ki je že napisana, a še ni dovolj dobra za vključitev v novo izdajo, vedno počaka. Imamo sicer precej veliko skupino preizkuševalcev, ki poganjajo našo najnovejšo kodo in na njej izvajajo običajne, vsakdanje operacije. Do izdaje različice tako že najdemo in odpravimo večino hroščev. Mislim, da nimajo vsi projekti take filozofije. Marsikdo razmišlja še po starem – postavili smo si ta in ta cilj ter ga nameravamo prej ali slej uresničiti. Mi v to ne verjamemo.

Toda zdaj opažamo še drug trend, posebno pri brskalnikih. Nove različice prihajajo skoraj vsak mesec. Vse skupaj je postala že kar nekakšna obsedenost.

Res je. Poskušamo vpreči uporabnike, da iščejo hrošče in da se zadeva premika hitreje. Treba je pospešiti cikel. Podobno je pri proizvajalcih avtomobilov ali mobilnih telefonov. Trudijo se, da bi izdelki prihajali na trg vse hitreje. Niti ni pomembno, ali je proizvod dober ali ne. Važno je samo to, da je naslednja različica, ki je malenkost boljša od zdajšnje, na voljo skoraj takoj. Kdor namreč nima stalnih novosti in ne ustvarja vtisa, da poskuša ves čas izboljševati svoje izdelke, tudi ne bo pritegnil zanimanja kupcev. Potrošniki na tako podjetje pozabijo.

Se v novi različici osredotočate predvsem na odpravo napak in izboljšave ali vedno postrežete tudi z novimi možnostmi?

Vsaka nova različica vsebuje nove značilnosti, še posebno glede omrežnih protokolov, denimo tuneliranje, filtriranje paketov. Imamo povsem svoje omrežne tehnologije. Z našim sistemom lahko v celoti nadomestimo programsko opremo na Ciscovih napravah in ohranimo polno funkcionalnost. V našem operacijskem sistemu so že privzeto funkcionalnosti, denimo pgp (varovanje zasebnosti), ki jih nima noben drug sistem.

Se morajo uporabniki pri vsaki novi izdaji poučiti o vseh novostih?

Sistem poskušamo ohraniti čim bolj preprost. Seveda pa je treba prebrati priročnik. Sledimo zapuščini, po kateri v njem podrobno opišemo vsako najmanjšo možnost, in imamo ljudi, ki pazijo, da je slovnica brezmadežna. Med drugim so vsi priročniki napisani neosebno.

Vendar pa je operacijski sistem zgolj v angleščini?

Da. Nekateri razvijalci se trudijo dodati druge jezike. Toda zunaj programerskega podjetja je to težko narediti kakovostno. Po navadi namreč obvestila (besedilo) vključiš kar v samo kodo. Če hočeš, da je zadeva večjezična, moraš dodati jezikovne tabele in se v kodi sklicevati nanje. To pa popolnoma spremeni naš način programiranja. Pri Microsoftovih proizvodih je prišlo že tako daleč, da nekatere jezikovne spremembe ne pomenijo samo spremembe besedila, ampak celotnega grafičnega vmesnika. Včasih je treba vprašanja zastaviti drugače zaradi kulturnih razlik. Torej ima koda dva ali tri načine delovanja. In to je s programerskega vidika noro.

Kako pa financirate projekt?

Večinoma s prodajo cedejev in majic. Drugo so donacije. To je dovolj za prirejanje hekatonov, delovanje strežnikov – treh omar računalnikov v moji kleti, stroške elektrike in priklopa na internet.

Ste sicer kje v službi?

Nisem. Moja služba je vezana na izdajo nove različice sistema openBSD vsakega pol leta. Del prihodkov je namenjenih meni, ni ravno veliko, vendar dovolj, ker nimam veliko potreb. Sistem kar nekako deluje. Nihče pa ne bo obogatel.

Kakšen je torej letni proračun projekta?

130.000 dolarjev.

Samo?

Da, res je malo. In to vključuje vse hekatone. Razvijalci si sami plačajo potne stroške. Večji hekatoni so odprti za vse, nanje poskušamo pritegniti tudi nove razvijalce, predvsem tiste, ki se oglašajo v razpravah. Poleg tega imamo še minihekatone, ki se jih udeležuje manj razvijalcev in so namenjeni predvsem omrežnim funkcionalnostim. S tokratnim v Ljubljani smo poskusili nekaj novega, namenjen je zlasti evropskim programerjem, ki si vse teže privoščijo pot v Kanado.

Kako oglašujete svoj operacijski sistem?

Ne oglašujemo ga (smeh). Nikakršnega marketinga nimamo.

So bili primeri, ko naslednja različica ni bila tako dobra, kot ste upali?

Večjih težav ni bilo. Pred osmimi leti smo imeli zelo slabo izdajo, ko je bilo jedro sistema nestabilno. Saj smo ga preizkusili, a je bilo delovanje kljub temu slabo. Verjetno smo želeli vključiti preveč novosti. Tudi v zadnji različici smo imeli hrošča v datotečnem sistemu, na katerega je sicer težko naleteti, mi smo ga zaznali v treh ali štirih primerih, ampak kljub temu smo morali narediti obhodno pot. Kar pa ni dobro.

Zakaj ste sploh spremenili datotečni sistem?

Hoteli smo uvesti boljšo izrabo medpomnilnika, saj imajo računalniki zdaj velikanske količine pomnilnika, ki niso izkoriščene. Ta koda skoraj povsem deluje, imamo le še manjše hrošče, rezultati pa so osupljivi. Na računalnikih s 16 gigabajti pomnilnika jih je lahko 13 namenjenih predpomnjenju in skoraj nobeno branje podatkov ne poteka z diska, vse je v pomnilniku. Kar pomeni še hitrejše delovanje kot z diskom ssd. Edino pisati je še treba na trdi disk, predvsem zaradi varnosti. Verjetno smo vsaj še eno leto oddaljeni od tega, da bo zadeva brezhibna. S tega vidika je polletni cikel izdajanja novih različic kar nekoliko omejevalen.

Kako se spoprijemate z napredkom strojne opreme, je težko ostati na tekočem in podpirati vse najnovejše tehnologije (večjedrni procesorji ), saj vidimo, da imajo celo velike korporacije, kot je Microsoft, s tem težave?

OpenBSD teče na norih računalnikih. Še vedno teče na vaxih, sparcih, macih s procesorji power pc, nekaterih napravah s procesorji arm. Vseskozi skrbimo, da tudi nove različice podpirajo staro strojno opremo, pri novih računalnikih pa moramo ugotoviti, kako delujejo. Včasih smo pri tem hitri, če so spremembe majhne. Če so velike, pa poskušamo dobiti čim več dokumentacije in opazujemo, kaj počnejo druga razvijalska okolja, denimo linuxovska. Hude težave smo pred nekaj leti imeli z brezžičnimi omrežnimi vmesniki, za katere nismo mogli dobiti dokumentacije, zato smo se morali zateči k obratnemu inženirstvu in tako napisati gonilnike. To smo naredili tako dobro, da smo imeli celo boljšo podporo za brezžična omrežja kot linux. Nekatere proizvajalce smo tudi prisilili v razkritje dokumentacije, ker smo o njih javno govorili zelo neprizanesljivo.

Torej niste najbolj zadovoljni z napredkom v odnosu med proizvajalci in odprtokodno skupnostjo?

Pozitivno je, da je veliko podjetij postalo precej bolj odprtih in dajejo na voljo veliko več dokumentacije kot nekoč. Nisem pa zadovoljen s tem, da nekateri veliki igralci na področju linuxa podpisujejo vse več pogodb o nerazkrivanju informacij. Zlasti Red hat nima s tem nikakršnih težav in tako dobi informacije prej kot drugi. Proti temu početju se že nekaj časa bije bitka in marsikateri tehnični dokument kljub tovrstnim pogodbam pricurlja v javnost.

Kaj je po vašem glavni razlog, da odprta koda doslej ni pritegnila večjega zanimanja končnih uporabnikov?

Grafične zadeve so zelo kasnile. Zdaj se ta zaostanek zmanjšuje, še posebno s hitrim izdajanjem novih različic brskalnikov.

Uporabljate samo računalnike s sistemom openBSD ali še kaj drugega?

Da, na svojih računalnikih poganjam samo openBSD. Vse lahko počnem z njim. Če ne programiram, potem grem v naravo in ne mislim na računalnike.