i
ivari

Vaba tarkvaraarendus

Tarkvara võib arendada erinevalt. Eric S. Raymond on kirjeldanud kahte võimalikku viisi oma essees "The Cathedral And The Bazaar". Esimesel juhul sarnaneb protsess katedraali ehitusele. See on rangelt reglementeeritud, spetsifitseeritud ning järgib täpselt disaini, projekti ja etteantud ajakava. Teisel juhul on tegemist kaootilisema, kogukondliku tegevusega. Vahetuvad programmeerijad, muutub nägemus saadavast tulemusest; töö valmib siis, kui selleks on sobilik aeg.

Kirjeldatud mudelid ei ole seotud arendatava tarkvara tüübiga. Mõlema alusel võib toota nii äri- kui vaba tarkvara. Tõsi, ärimaailmas turumeetodil arendades tuleb üle vaadata ka muud protsessid ja tegevused. Investoritele ja omanikele pole ilmselt meeltmööda olukord, kus toote valmimisaeg on määramatuses. Juhtkonnal võib olla väga raske nõukogule selgitada, et toode saab valmis siis, kui paras aeg käes on. Senikaua aga tuleb muudkui investeerida, et tegutsemiskulud kaetud saaks. Katedraalimudelit võib seevastu aga ilma kitsendusteta ka vaba tarkvara loomiseks kasutada.

Ilmselt viivadki enamik äriettevõtteid vaba tarkvara projekte läbi "katedraali" põhimõttel. Nii on lihtsam, ning protsess on sarnane siiani kasutusel olnud arenduse printsiipidele. Küsimus taandub peaasjalikult lõpp-produkti litsentsitingimuste valikule. Kogukondlik tegevus ärimaailmas on siiani uudne ja võõras nähtus ning eeldab esmalt maailmavaatelisi muudatusi. Viimased on aeganõudvad ja valulikud. Ettevõtte juhti võib siinkohal võrrelda kruiisilaeva kapteniga. Mitmekorruselise ujuvmaja kursi muutmine võtab aega ning vajab seetõttu ettenägelikkust ja osavust. Vastasel korral on lihtne oma tegutsemistes karile joosta.

Nii näiteks oli tarkvarapaketi OpenOffice vabaks muutumine piinarikas kõigile osapooltele. Kasutajate pahameel, Sun Microsystemsi jäik arenduskeskkond ning programmeerijate lahkumine tõestas, et see tarkvara "oli vaba vaid oma avalikustatud lähtekoodi poolest". Sun Microsystems soovis jätkuvalt säilitada kontrolli arendusprotsessi üle, mis pärssis igasuguse innovatsiooni. Uue The Document Foundation kommuuni ning vaba toote LibreOffice loomine oli arendajate radikaalne otsus muuta senist autokraatlikku arenduspoliitikat ning anda kogukonnale suurem vabadus kaasarääkimiseks. Tõsi, ka algse OpenOffice projekti õigused otsustas vahepeal toote omanikuks saanud Oracle hoopis Apache korporatsioonile üle anda. Tarkvara vabanemine omandusliku litsentsi ikkest võib seega väga valuline olla.

Suuri vaba tarkvara projekte ei saa paraku ka puhtalt turumudeli baasil läbi viia. Basaaril, kus kõik on võrdsed ning kus puudub reglement, valitseb kaos. Piisavalt suure grupi korral on selle kogukonna eluspüsimiseks hädavajalik mingigi elementaarne juhtimine, tegevuste koordineerimine ning planeerimine. Kuigi võib tunduda, et turumudel asendub nüüd katedraalil põhineva arendusega, pole see siiski päris nii. Viimane on ikkagi rangelt reglementeeritud, autokraatlik süsteem, kus juhid määravad tegevusi, kaasates parimal juhul vaid mõned vaneminsenerid. Planeerimine ja lepingud on ülimuslikud, tähtajad kindlalt paigas ning tegevused täpselt kinnitatud.

Suuremate gruppide korral sobib pigem katedraali ja turu ühendamisel tekkiv meritokraatlik kogukond, kus arendust juhivad kommuuni poolt aktsepteeritud isikud. Tegemist on seega alt-üles organiseeritud kogukonnaga. Enamasti on projekti koordinaatorid suure kogemusega ning kõrge reputatsiooniga isikud. Meritokraatia puhul on määravad mitte ühiskondlik positsioon või pangaarve suurus vaid kommuunile kasulikud teadmised ja oskused. Klassikaline seda tüüpi arendus on Linuxi tuuma projekt. Kuigi Linus Torvalds võib tunduda projekti autokraatlik juht, on tegemist siiski kogukonna poolt hinnatud ja aktsepteeritud koordinaatoriga. On mõistetav et väljapaistva insenerina on temal kui Linuxi tuuma algsel autoril suurim sõnaõigus arendustegevuse suundade üle. Niisamuti on ka lähtekoodi repositooriumi haldurid kommuunist esile kerkinud häkkerid, mitte pelgalt kellegi poolt ametisse nimetatud isikud. Samuti on määratletud üldised reeglid, millest arendustegevuses lähtutakse.

Niisiis on vaba tarkvara arendamisel võimalik valida mitme erineva mudeli vahel. Millist kasutada, sõltub juba arendajatest, projekti eesmärkidest ning kogukonna suurusest. Siiski tasub meeles pidada, et vabadus on privileeg ning selle säilitamine nõuab pingutusi. Samas on hästi teada, et autokraatlikud režiimid on määratud kokkukukkumisele ning rangelt reglementeeritud, halvimal juhul kosemudelil põhinev tarkvaraarendus on samuti hukule määratud. Vabadus valida sobiv metoodika on vaba tarkvaraarenduse üks suuremaid tugevusi. Oskus valida seejuures ka õige metoodika aga üks suuremaid väljakutseid.