Netla – Veftímarit um uppeldi og menntun

Rannsóknarstofnun Kennaraháskóla Íslands

Grein birt 25. júní 2007

Greinar 2007

Sigurður Fjalar Jónsson

Opnar lausnir Frumherjarnir

Grein þessi er fyrsti hluti af þremur þar sem fjallað er um frjálsan og opinn hugbúnað og tekist á við þá spurningu hvaða hlutverki hann hafi að gegna í nútímaskólastarfi. Í fyrsta hlutanum verða raktir helstu þættir úr sögu frjáls eða opins hugbúnaðar og kynntir til sögunnar þeir einstaklingar sem mest hafa mótað þróun hans. Í öðrum hluta verður fjallað um möguleika og mikilvægi frjáls og opins hugbúnaðar í akademísku umhverfi. Í þriðja og síðasta hluta verður greint frá þróunarverkefni innan Fjölbrautaskólans í Breiðholti þar sem undanfarin ár hefur verið gerð áhugaverð tilraun með innleiðingu netbundna námsumhverfisins Moodle við skólann. Höfundur er kennari við Fjölbrautaskólann í Breiðholti og stundakennari við Kennaraháskóla Íslands.

Sælla er að gefa en þiggja

Um þrjátíu ár eru liðin síðan lítt þekktur forritari, Bill Gates að nafni, birti óvenju harðort bréf til tölvuáhugamanna þar sem hann kvartar sáran yfir þjófnaði þeirra á hugbúnaði (Gates, 1976). Vélbúnaður, segir Gates í bréfinu sem dagsett er 3. febrúar 1976, er eitthvað sem allir verða að greiða fyrir, á meðan hugbúnaður er eitthvað sem sjálfsagt þykir að deila með öðrum. Á þessum árum vann Gates hörðum höndum við þróun á Basic forritunarmáli fyrir hina frumstæðu en vinsælu Altair-tölvu, ásamt félaga sínum Paul Allen. Þeir höfðu þá nýverið stofnað í sameiningu lítið hugbúnaðarfyrirtæki sem þeir nefndu Micro-soft (Microsoft, þ.e. án bandstriksins, var fyrst skráð sem vörumerki þann 26. nóvember 1976). Eins og frægt er orðið átti það fyrirtæki eftir að lifa góðu lífi og dafna í réttu hlutfalli við ört vaxandi fjárhag Gates. Umrætt bréf er hins vegar skrifað á þeim tíma þegar Gates er að glíma við að koma fyrstu hugverkum sínum og Allen á almennan markað og er greinilega ekki alls kostar sáttur við takmarkaða sölu, ekki síst þar sem viðtökur fjölmargra notenda forritunarmálsins Basic lofuðu góðu. Jákvæð viðbrögð notenda voru auðvitað fagnaðarefni en hrukku þó skammt í þessu tilfelli því fæstir þeirra virðast hafa greitt þeim félögum Gates og Allen fyrir afnot að hugbúnaðinum. Bersýnilega undrandi á viðhorfum félaga sinna innan tölvugeirans varpar Gates fram eftirfarandi spurningu í bréfinu:

Hvaða fagmaður hefur efni á því að vinna án þess að fá nokkuð greitt fyrir verk sitt? Hvaða áhugamaður getur lagt þrjú ársverk einstaklings í forritun, villulleit, skjölun og dreifingu, án þess að fá fyrir það krónu? (Gates, 1976).

Vafalítið hefur Gates haft ákveðið svar í huga þegar hann komst svona að orði og væntanlega ekki það svar sem flestir sem til þekkja í dag myndu hafa á reiðum höndum því nú virðist hver sem áhuga hefur geta tekið þátt í að hanna, forrita, skjala og villuprófa hugbúnað.

Maður er nefndur Richard Matthew Stallman en kýs sjálfur að ganga undir heitinu RMS meðal Netverja. Á svipuðum tíma og Bill Gates ákveður að hætta í háskólanámi og stofnsetja Microsoft er Stallman að ljúka námi með BA-gráðu í eðlisfræði við hinn virta Harvard-háskóla í Bandaríkjunum. Að námi loknu, árið 1975, fær Stallman vinnu við rannsóknarstofu MIT í gervigreind. Stallman verður fljótlega kunnur í samfélagi forritara og þá sérstaklega innan afkima þess sem kenna má við hakkara (hackers). Nafnorðið hakkari er almennt notað yfir einstakling sem býr yfir umtalsverðri tölvukunnáttu og átti einstaklega vel við Stallman. Sögnin að hakka felur í sér skapandi, stundum snilldarlega útfærða lausn á oft erfiðum, afmörkuðum viðfangsefnum. Í hugtakinu getur falist ákveðin sýndarmennska en um leið virðing fyrir vel útfærðum lausnum, jafnvel aðdáun. Stallman skilgreinir hakk með þeim orðum að í því felist leikur og um leið frelsi eða sjálfstæði. Hakkarar eru samkvæmt þessum hugmyndum hæfileikaríkir forritarar sem leitast jafnan við að kanna mörk þess mögulega í því skyni að skapa, endurbæta eða aðlaga það sem fyrir er. Hugtakið hefur bæði neikvæða og jákvæða merkingu. Innan tölvugeirans getur það merkt hæfileikaríka forritara sem ná markmiði sínu með því vinna frá grunni, aðlaga eða breyta kóða sem þegar er fyrir hendi. Slíkar aðlaganir eða breytingar eru algengar þegar um er að ræða opinn hugbúnað en eru sjaldnast hluti af skipulagðri hönnun eða samsetningu hugbúnaðar. Orðið hakkari getur einnig verið notað yfir þann sem notar hæfileika sína til að brjótast inn í tölvukerfi og hefur þá, eins og gefur að skilja, öllu neikvæðari merkingu.

Stallman kemur til starfa hjá MIT á örlagaríkum umbrotatímum. Stofnunin hafði fram til þessa verið eitt helsta himnaríki hakkara, opið samfélag sem einkenndist ekki einungis af frjálsum skoðanaskiptum heldur frjálsu flæði hugbúnaðarkóða manna í millum. Reyndar hefur frjálst og opið flæði kóða ætíð verið eitt af frumskilyrðum hakkara-kúltúrsins og án þess hefði hann sjálfsagt aldrei orðið til. Og þannig gengu hlutirnir fyrir sig innan MIT allt fram á áttunda áratug síðustu aldar. Þekkt er sagan um það þegar Stallman lenti í smávægilegum vandræðum með frumgerð prentara sem Palo Alto rannsóknarstofa Xerox hafði fært forriturum MIT að gjöf. Prentari þessi, sem var fyrirrennari nútíma prentara, var undratæki en átti því miður til að flækja pappír. Stallman hafði lent í álíka vanda með prentara áður og hugðist leysa þetta á svipaðan máta, þ.e. með því að gera smávægilegar breytingar á hugbúnaði prentarans. Í þetta skiptið varð honum þó ekki kápan úr því klæðinu. Honum að óvörum hafði hann ekki aðgang að stýriforriti prentarans nema á ólæsilegu tvíundarformi og þurfti að fara óhefðbundnar krókaleiðir til þess að hafa upp á frumkóðanum, sem honum þó tókst að lokum.

Frá sjónarhóli forritara á áttunda áratugnum jafngilti þessi aðgerð því að skreppa yfir til nágrannans og fá lánaða borvél eða bolla af sykri. Eini munurinn var sá að með því að fá afrit af hugbúnaðinum fyrir rannsóknarstofuna í gervigreind við MIT hafði Stallman á engan hátt komið í veg fyrir að forritarar í Harvard gætu áfram notað upprunalegu útgáfuna. Ef eitthvað, þá hagnaðist tölvudeild Harvard á þessu því Stallman betrumbætti forritið og viðbætur hans gátu forritarar Harvard nýtt áfram í sínum verkum (Williams, 2002).

Eins og honum var einum lagið endurbætti Stallman umrætt forrit og prentarinn varð nothæfur á nýjan leik. Engu að síður hafði Stallman fullan hug á því að fá í hendurnar upprunalegan forritskóða prentarans frá höfundi hans enda óvanur svona feluleik þegar kom að hugbúnaði. Forritið var hins vegar ekki auðfengið þar sem höfundurinn hafði, að sögn Stallmans, skrifað undir samning við Xerox-fyrirtækið sem takmarkaði aðgengi að frumkóðanum. Vafalaust þætti flestum þetta lítilsvert atvik og varla þess virði að minnast á en í huga Stallmans var það táknrænt og til merkis um þá meiriháttar stefnubreytingu og markaðsvæðingu sem samfélag forritara innan MIT sem og annars staðar var að ganga í gegnum á þessum tíma. Tölvur voru um þessar mundir í örri þróun og ekki lengur einungis á færi risafyrirtækja eða ríkisstofnana að fjárfesta í slíkum hátæknibúnaði. Grundvöllur fyrir sérhæfð hugbúnaðarfyrirtæki var tekinn að myndast en forritara var fyrst og fremst að finna í háskólasamfélaginu. Enda var það svo að á næstu árum áttu einkafyrirtæki eftir að ráða til sín vel flesta forritara MIT. Þegar hér var komið sögu mátti öllum ljóst vera að endalok hins sérstæða MIT-kúltúrs, sem Stallman mat svo mikils, voru nærri. Sjálfur gerði Stallman sér ljóst að hann átti einungis um tvo kosti að velja og hvorugan góðan. Hann gat gengið markaðsöflunum á hönd og ráðið sig til starfa hjá hugbúnaðarfyrirtæki líkt og svo margir samstarfsfélagar hans, eða barist gegn ofureflinu með eina vopninu sem hann bjó yfir, þ.e. eigin forritunarhæfileikum og óbilandi sannfæringu á málstaðum. Hann valdi hið síðarnefnda.

Þann 27. september 1983 birti Stallman eftirfarandi yfirlýsingu á umræðuþræðinum net.unix-wizards á kerfinu Usenet undir fyrirsögninni New UNIX implementation:

Nú á þakkargjörðinni mun ég hefja vinnu við forritun á fullbúnu Unix-samhæfðu stýrikerfi sem kallast mun GNU (stendur fyrir GNU en ekki UNIX) og gefa það endurgjaldslaust hverjum sem nota vill. Öll framlög í formi tíma, peninga, hugbúnaðar eða tækjabúnaðar eru vel þegin (Williams, 2002).

Í janúarmánuði 1984 segir Stallman upp stöðu sinni hjá MIT í því skyni að geta staðið við orð sín. Markmið hans er að einbeita sér að forritun GNU-stýrikerfisins og koma um leið í veg fyrir að MIT geti krafist eignar á hugbúnaðinum í krafti þess að hann starfi þar. Verkefnið er sannast sagna risavaxið því Stallman hefur ekki einungis í hyggju að skapa frá grunni ókeypis stýrikerfi heldur leggja með því grundvöllinn að samfélagi frjálsra tölvunotenda.

Stallman stofnar Frjálsu hugbúnaðarsamtökin (Free Software Foundation) í október 1985 í því skyni að treysta fjárhagsgrundvöll og flýta fyrir framþróun GNU-verkefnisins. Samtökunum er einnig ætlað það mikilvæga hlutverk að breiða út hugmyndafræðina á bak við frjálsan hugbúnað eins og Stallman hefur skilgreint hana. Stallman vinnur hörðum höndum við forritun á GNU-stýrikerfinu og samhliða forrituninni og umsjón með Frjálsu hugbúnaðaðarsamtökunum semur hann all sérstök höfundarréttarlög, General Public Licence, sem eiga að verja frelsi og sjálfstæði hugbúnaðarins gagnvart notendum. Í stað þess að setja alls kyns skorður við notkun og dreifingu á hugbúnaði líkt og tilgangurinn er með hefðbundnum lagasetningum á þessu sviði, veitir GPL (stundum notað orðið „copyleft“) eins mikið frjálsræði og mögulegt er. Hverjum sem áhuga hefur er heimilt að afrita, breyta og dreifa hugbúnaði sem verndaður er af ákvæðum GPL, svo lengi sem hugbúnaðurinn lýtur áfram sömu reglum. Sú takmörkun er mikilvæg vegna þess að hún kemur í veg fyrir að hugbúnaðurinn verði síðar notaður sem óaðgreinanlegur hluti af séreignahugbúnaði. Það aðgreinir einnig frjálsan hugbúnað frá hugbúnaði sem er einungis dreift án endurgjalds, þar sem lögin skilgreina ekki einungis hugbúnaðinn sem ókeypis heldur sjá til þess að hann verði það áfram (Lawton, 2002).

Á tímabilinu 1992–1994 verður GNU að starfhæfum veruleika og þá fyrst og fremst fyrir óvæntan stuðning frá áður óþekktum finnskum háskólastúdent. Draumur Stallmans um opið samfélag tölvunotenda sem byggir á hagnýtingu frjáls hugbúnaðar verður á endanum að veruleika, en reyndar með aðeins öðrum formerkjum en hann hefði sjálfur kosið.

Neyðin kennir naktri konu að spinna

Eric S. Raymond er einn þekktasti boðberi opins hugbúnaðar. Hann varð auk þess óopinber og um margt umdeildur skrásetjari hreyfingarinnar í kjölfarið á útgáfu ritgerðarinnar The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. Í þeirri ritsmíð setur Raymond fram áhugaverða kenningu eða öllu heldur reglu um upphaf vel heppnaðra hugbúnaðarverkefna sem hann segir að spretti jafnan af persónulegum hvötum forritarans. Svo var og reyndin með Linus nokkurn Torvalds sem 25. ágúst árið 1991 sendi frá sér eftirfarandi tilkynningu á umræðuvef ætluðum umfjöllun um Minix en það er einfaldur klónn UNIX stýrikerfisins sem Linus hafði verið að kynna sér mánuðina á undan í tengslum við nám sitt við Háskólann í Helsinki.

Halló allir Minix notendur þarna úti – Ég er að skrifa (ókeypis) stýrikerfi (bara tómstundagaman, verður ekki eins stórt og prófessíonalt og gnu) fyrir 386(486) AT klóna. Ég hef verið að vinna við þetta síðan í apríl og það er farið að taka á sig mynd ... (Torvalds og Diamond, 2001, bls. 85).

Vafalítið þætti einhverjum það djarflega ætlað af ungum háskólastúdent að ætla sér að smíða einn síns liðs fullburða stýrikerfi en Linus átti eftir að reynast maður orða sinna. Ástæða þess að hann ákvað að feta þessa slóð var persónuleg óánægja með takmarkanir Minix-stýrikerfisins sem hann hafði upphaflega keypt í því skyni að kynna sér uppbyggingu Unix-stýrikerfisins. Höfundur Minix var hollenskur prófessor, Andrew Tanenbaum sem skrifaði kerfið fyrst og fremst sem verkfæri til að nota í háskólakennslu sinni á sviði stýrikerfa.

Þann 17. september þetta sama ár opinberar Linus fyrstu útgáfu hins nýja stýrikerfis, útgáfu 0.01. Þessi fyrsta útgáfa afrekaði ekki mikið og sjálfur segist Linus hafa dreift henni í þeim tilgangi einum að sanna að honum hefði verið fullkomin alvara með upphaflegri yfirlýsingu sinni:

Orð eru ódýr á Netinu. Það skiptir ekki máli hvað þú gerir, hvort það er stýrikerfi eða kynlíf, allt of margir eru bara að sýnast í netheimum. Það er því ánægjulegt, eftir að hafa talað við fullt af fólki um smíði á stýrikerfi, að geta sagt, Sjáið ég kom einhverju í verk. Ég var ekki að draga ykkur á asnaeyrunum. Hér er það sem ég hef verið að gera ... (Torvalds og Diamond, 2001, bls. 88).

Næsta útgáfa leit dagsins ljós einungis mánuði síðar og útgáfa 0.03 í mánuðinum þar á eftir. Í sjálfsævisögu sinni segir Linus frá því að undir lok ársins 1991 hafi hann verið kominn á fremsta hlunn með að hætta þróun stýrikerfisins þar sem hann fann að hann var um það bil að missa áhugan á verkefninu. Tvennt varð til þess að hann ákvað að halda áfram. Í fyrsta lagi eyðilagði hann fyrir mistök Minix kerfið sem hann hafði stuðst við allan tíman og í öðru lagi voru áhugasamir notendur farnir að senda honum ábendingar um villur, lagfæringar, óskir um viðbætur og jafnvel eigin viðbætur. Vísir að notendasamfélagi var tekinn að myndast. Linus tók því þá örlagaríku ákvörðun að halda áfram uppbyggingu kerfisins. En hann tók einnig aðra ákvörðun, sem átti jafnframt eftir að reynast afdrifarík. Hann ákvað að gefa út stýrikerfið undir GPL-höfundaskilmálum Stallmans. Útgáfa 1.0 af Linux kom út í marsmánuði árins 1994.

Staðreyndin er sú að til þess að gera Linux nothæft þá varð ég að reiða mig á fjölda verkfæra sem gerð höfðu verið aðgengileg á Netinu án endurgjalds – ég hóf mig upp á öxlum risa (Torvalds og Diamond, 2001, bls. 96).

Þannig æxlast málin að tíu árum eftir að Stallman segir upp stöðu sinni hjá MIT til að einbeita sér að þróun GNU stýrikerfisins færir Linus Torvalds honum síðasta bitann í GNU púsluspilið, nefnilega sjálfan kjarnann. GNU/Linux er orðið til.

Opinn hugbúnaður og frjáls

Enska hugtakið free ber tvöfalda merkingu sem nokkuð hefur vafist fyrir mönnum þegar frjáls eða opinn hugbúnaður hefur verið til umræðu. Free getur nefnilega átt við bæði frelsi og eitthvað sem er fáanlegt án endurgjalds, ókeypis. Staðreyndin er sú, að hugtakið frjáls eða ókeypis hugbúnaður (free software) snýst ekki um verðlag heldur frelsi. Richard Stallman, ötulasti talsmaður frjáls og opins hugbúnaður og einn helsti drifkrafturinn á bak við hönnun GNU/Linux-stýrikerfisins, segir hugbúnað frjálsan uppfylli hann eftirfarandi skilyrði:

  • Heimilt er að nýta hugbúnaðinn á hvern þann hátt sem hentar.

  • Heimilt er að breyta hugbúnaðinum og aðlaga að eigin þörfum.

  • Heimilt er að dreifa hugbúnaðinum, annað hvort ókeypis eða gegn gjaldi.

  • Heimilt er að dreifa aðlöguðum/breyttum útgáfum af hugbúnaðinum.

Stallman leggur afar pólitíska og jafnframt siðferðislega merkingu í hugtakið frjáls hugbúnaður og hann tekur hlutverk sitt sem boðberi hugmyndafræðinnar um frjálsan hugbúnað mjög alvarlega.

Sú hugmynd að félagslegt módel séreignahugbúnaðar – kerfi sem heimilar þér ekki að deila hugbúnaði með öðrum eða breyta honum – sé andfélagslegt, ósiðlegt og einfaldlega rangt, kemur væntanlega mörgum lesendum á óvart. En hvað annað er hægt að segja um kerfi sem byggir á sundrung almennings og viðvarandi hjálparleysi notenda? (Williams 1999, bls. 54).

Stallman finnst hann sjálfur vera í hlutverki frelsisboðanda og uppreisnarseggs og það er engin tilviljun að þegar fjallað er um opinn eða frjálsan hugbúnað þá einkennist orðræðan oftar en ekki af hugtökum sem tengjast stríðsrekstri. Frjáls hugbúnaður er gjarnan skilgreindur í sterkri mótsögn við séreignahugbúnað og ekki síst hefur Microsoft-fyrirtækið þótt holdgervingur alls hins illa.

Frjáls hugbúnaður er lifandi hugtak og rætur þess liggja djúpt í raunverulegum aðstæðum frumherja upplýsingatækninnar enda má segja að hugbúnaður hafi frá upphafi verið að miklu leyti frjáls. Stallman upplifði sjálfur þetta skapandi frelsi á árum sínum við MIT og heillaðist svo af því að hann ákvað að verja ævi sinni og starfskröftum öllum í að treysta og réttlæta tilvist þess. Hann hefur enda stundum verið kallaður síðasti alvöru hakkarinn. Með aukinni markaðsvæðingu upplýsingatækninnar undir lok níunda áratugarins færist hugbúnaðarþróun að stórum hluta frá háskólum yfir í einkarekin fyrirtæki þar sem markaðslögmálin eru allsráðandi. Séreignahugbúnaður var svo sannarlega kominn til að vera en þökk sé samtakamætti Stallmans, Linus Torvalds og ótal fleiri frumherja ásamt samfélagi áhugasamra dafnaði frjáls og opinn hugbúnaður samhliða honum. Í hugum margra var það þó engan veginn nóg.

GNU/Linux markaði þáttaskil í sögu frjáls og opins hugbúnaðar. Með tilkomu þess var loksins myndaður sá grundvöllur sem hægt var að sameinast um og byggja á til framtíðar. Það sem hins vegar skorti var ásættanleg framtíðarsýn. Staðreyndin var nefnilega sú að mörgum þótti, og þykir reyndar enn, pólitísk sýn Stallmans bæði öfgakennd og fráhrindandi og frjálsum hugbúnaði varla til framdráttar. Aðrir bentu auk þess á að hugtakið frjáls hugbúnaður (í merkingunni ókeypis hugbúnaður) kæmi illa við markaðsöflin og væri einfaldlega fráhrindandi í augum viðskiptaheimsins.

GPL-leyfið er pólitísk stefnuyfirlýsing ekki síður en hugbúnaðarleyfi og stór hluti texta þess fæst við að færa rök fyrir sjálfu leyfinu. Þessi pólitíska orðræða hefur gert margan afhuga notkun leyfisins og er ein ástæðan fyrir því að fólk hefur samið önnur frjáls hugbúnaðarleyfi (Perence, 1999, bls. 181).

Snemma árs 1998 kom fram á sjónarsviðið hópur áhugasamra einstaklinga sem vildu veg Linux og annars frjáls hugbúnaðar sem mestan. Í því skyni að höfða betur til markaðsaflanna var ákveðið að finna nýtt, markaðsvænna hugtak yfir frjálsan hugbúnað. Fyrir valinu varð tillaga Christine Peterson, open source. Í kjölfar ráðstefnu þar sem málið var reifað settu Eric S. Raymond og samstarfsmaður hans Bruce Perens á laggirnar stofnun sem þeir nefndu Open Source Initiative og hafði hún það að markmiði að miðla upplýsingum um open source.

Tekið skal fram að open source er ekki ný tegund höfundarleyfis í anda GPL heldur regnhlífarhugtak yfir hugbúnað sem hægt er að dreifa án endurgjalds að uppfylltum ákveðnum skilyrðum. Til þess að hugbúnaður geti fallið undir skilgreininguna open source verður hann að að mæta 10 reglum samtakanna.

Enn þann dag í dag örlar á núningi milli þeirra hópa og einstaklinga sem aðhyllast annars vegar frjálsan hugbúnað og hins vegar opinn hugbúnað. Hugtökin eru mjög svipuð og skarast að langmestu leyti en pólitískur þungi er öllu meiri að baki frjálsum hugbúnaði og talsmenn hreyfinganna leggja ólíkar áherslur. Oft má merkja ákveðinn misskilning meðal þeirra sem um þessi mál fjalla og hann er sá að frjáls og opinn hugbúnaður sé fyrst og fremst andstæða séreignarhugbúnaðar. Þetta er ekki allskostar rétt þar sem ekkert í leyfisskilmálum frjáls og opins hugbúnaðar kemur í veg fyrir að aðilar taki sig til og selji slíkan hugbúnað eða þjónustu í kringum hann.

Kirkjubyggingin og basarinn

Saga, hugmyndafræði og áhrifamáttur opins og frjáls hugbúnaðar verða aldrei skilin til fulls nema að fyrir liggi skilningur á helstu tæknilegu þáttum og því sem kalla má samfélagslegt samhengi.

Í fyrsta lagi er mikilvægt að átta sig á því að forrit eru ekki einungis milliliður manns og tölvu heldur öflugt verkfæri til þess að skapa mikil verðmæti í formi hvers kyns hugbúnaðarlausna sem snert geta nánast hvaða svið mannlegrar tilveru sem vera skal. Nútíma tölvur byggja á tvíundarkerfinu, fyrst og fremst vegna þess hversu auðvelt er að greina á milli þess hvort straumur er til staðar í straumrás tölvunnar (táknað 1) eða ekki (táknað 0). Tvíundarkerfið er á hinn bóginn einstaklega óheppilegt þegar kemur að forritun enda manneskjan óvön því að hugsa í eintómum runum af núllum og einum. Það segir sig sjálft að einhvern millilið varð að finna, einhvern skilvirkan túlk eða þýðanda sem gæti gert forriturum kleift að segja tölvunni fyrir verkum á fljótlegan og markvissan hátt:

Forritunarmál hafa verið í stöðugri þróun svo árum skiptir og verða það í mörg ár enn. Forritunarmál eiga uppruna sinn að rekja til einfaldra lista yfir aðgerðir sem framkvæma þurfti á innviði tölvu til að hún gæti leyst ákveðið viðfangsefni. Aðgerðir þessar þróuðust smám saman í hugbúnað og urðu sífellt fullkomnari. Fyrstu alvöru forritunarmálin einkenndust af þeirri staðreynd að þeim var ætlað að fást við afmörkuð viðfangsefni og ekkert umfram það, á meðan nútíma forritunarmál má nota til nánast hvaða verka sem er. Og ef til vill verða forritunarmál framtíðarinnar mun líkari tungumálinu með tilkomu skammtatækninnar og líffræðilegra tölva (Wikipedia: Programming languages).

Forrit eru tímabundinn milliliður manns og tölvu, tímabundinn vegna þess að til þess að tölvur geti skilið fyrirskipanirnar sem þau innihalda verður að þýða þær yfir í tvíundarkerfi tölvunnar. Eftir að hugbúnaður er kominn á það form er einfalt að dreifa honum en hann verður óskiljanlegur forriturum og öðrum sem að honum hafa aðgang. Jafnframt er engin leið að aðlaga hugbúnaðinn, endurbæta hann eða breyta honum á einhvern hátt.

Kóði eða frumkóði forrits er sjálfur texti forritarans á því forritunarmáli sem hann notar. Frumkóði er læsilegur og skiljanlegur öðrum forriturum. Á meðan kóði er með þessu sniði eiga forritarar auðvelt með að skilja virkni hans, hvernig hægt er að betrumbæta hann eða lagfæra. Hins vegar, um leið og kóðanum hefur verið snúið á smalamál (machine language) verður illmögulegt, nánast óhugsandi með öllu að vinna með hann, breyta honum eða aðlaga hann (Couros, 2004, bls. 5).

Í Íslenskri orðabók (2005) eru forrit skilgreind sem „röð skipana sem tölva vinnur eftir, skrifuð á forritunarmáli“ (bls. 371). Richard Stallman hefur sína eigin sýn á hugbúnað og líkir forriti við venjulega mataruppskrift, þ.e. fastmótað ferli sem leiðir notandann áfram, skref fyrir skref. En uppskrift þarf ekki nauðsynlega að fylgja orðrétt og oft getur reynst happadrjúgt að bregða út af vananum eða fyrirfram gefnum tilmælum. Einhverjir vilja kannski bæta rjóma í réttinn sem verið er að matreiða vegna þess að þeim finnst rjómi bragðgóður, á meðan aðrir kjósa minna salt vegna þess að samkvæmt læknisráði eiga þeir að draga úr saltneyslu. Reyndin er sú, að hugbúnað líkt og mataruppskriftir má hæglega sníða að einstaklingsbundnum þörfum eða aðstæðum, þ.e. ef geta og vilji til slíkra verka er fyrir hendi. Þess háttar aðlaganir hafa oft á tíðum leitt til endurbóta á frumritinu og á það auðvitað jafnt við um mataruppskrift og forritskóða.

Stallman telur ennfremur að hugbúnaður og mataruppskriftir séu þess eðlis að þeim megi auðveldlega deila meðal fólks án mikils tilkostnaðar. Hvað mataruppskrift varðar þá tapar sérfræðingurinn, þ.e. kokkurinn, einungis þeim tíma sem það tekur hann að festa uppskriftina á blað (og hugsanlega einnig pappírskostnaðinum). Jafnvel einfaldara er að deila hugbúnaði. Í heimi séreignarhugbúnaðar (þýðing á enska hugtakinu proprietary software) er hins vegar með öllu bannað að deila hugverkum forritara og algjör leynd hvílir yfir innihaldi þeirra og innri virkni. Gerist einhver uppvís að uppljóstrun um slíkt getur viðkomandi átt á hættu lögsókn.

Tilvistargrundvöllur opins hugbúnaðar og frjáls hugbúnaðar er nákvæmlega sá sami, þ.e. að forritskóðinn sé gerður aðgengilegur á því formi að hægt sé að nýta hann, breyta og aðlaga að vild. Sjónarmið þeirra sem aðyllast hugmyndafræði séreignarhugbúnaðar er hins vegar það, að með því að dreifa frumkóðanum sé í raun verið að gefa frá sér atvinnuleyndarmál sem öllu nær væri að verja með einkaleyfum. Tilvist fyrirtækja á almennum hugbúnaðarmarkaði grundvallast á því að þau hafi í boði eitthvað einstakt, ekki eitthvað sem hver sem áhuga hefur getur sótt sér á Netið án nokkurs tilkostnaðar. Það er því varla að undra að fyrirtæki hafa í gegnum tíðina litið frjálsan og opinn hugbúnað hornauga og á stundum ætlað honum allt hið versta. Í þessu samhengi gengur samlíking Stallman einfaldlega ekki upp. Því mataruppskrift getur vissulega verið verðmæt eign og eftirsóknarverð og tryggt fyrirtæki eða einstaklingi sérstöðu á markaði og þar með aukin viðskipti. Á móti kemur, eins og forsvarsmenn frjáls og opins hugbúnaðar hafa bent á, að þrátt fyrir að sjálfur hugbúnaðurinn sé ókeypis má skapa verðmætan iðnað með því að verðleggja og markaðssetja margvíslega stoðþjónustu í kringum hann. Þetta hafa reyndar mörg fyrirtæki gert með góðum árangri og má t.a.m. benda á Red Hat sem dreifir Linux-stýrikerfinu með góðum árangri. Þekkt stórfyrirtæki á sviði upplýsingatækni hafa einnig á síðustu árum verið að uppgötva kosti og sóknarfæri opins hugbúnaðar og má þar benda á ekki minni spámenn en stjórnendur Apple og IBM. Opinn og frjáls hugbúnaður er ekki lengur forvitnilegur afkimi hugbúnaðarsamfélagsins sem fæstir taka alvarlega heldur spennandi kostur fyrir einstaklinga, fyrirtæki eða opinberar stofnanir af öllum stærðum og gerðum.

Þegar Linus Torvalds var eitt sinn spurður að því hvers vegna hann gæti hugsað sér að eyða heilu dögunum fyrir framan tölvuskjáinn hafði hann eftirfarandi svar á reiðum höndum.

Ég veit í raun ekki hvernig ég get útskýrt hvers vegna ég er svo heillaður af forritun en ég skal reyna. Í huga þess sem forritar er það áhugaverðasti starfinn sem til er í öllum heiminum. Forritun er leikur, margslungnari en skák, leikur þar sem þú skapar þínar eigin reglur og niðurstaðan er algjörlega í þínum höndum (Torvalds og Diamond, 2001, bls. 73).

Það vekur athygli hversu oft orðið leikur kemur við sögu þegar rætt er um forritun, s.s. í umfjölluninni um hakkara hér að framan. En forritun er allt annað en leikur, fjöldi manns hefur forritun að ævistarfi og viðamikil forritunarverkefni krefjast yfirgripsmikillar sérfræðiþekkingar, vandaðs undirbúnings og agaðrar verkstjórnar og vinnubragða eigi vel að fara. Þrátt fyrir allar varúðarráðstafanir er staðreyndin sú að viðamikil hugbúnaðarverkefni hafa ansi oft reynst erfið viðfangs svo ekki sé dýpra tekið í árinni.

Forritun viðamikilla kerfa hefur á undanförnum áratugum reynst einmitt slíkur tjörupittur og margar hafa þær stórfenglegar og máttugar skepnurnar brotist kröftuglega um í honum. Flestar hafa komist undan með gangfær kerfi – fáar hafa staðist markmiðssetningar, tíma- eða kostnaðaráætlanir. Stór og smá, umfangsmikil eða straumlínulöguð teymi eftir teymi hafa álpast í tjöruna (Brooks, 1995, bls. 4).

Svo ritar Frederick P. Brooks í einu af undirstöðuritum um hugbúnaðargerð, The mythical man-month, en hún kom fyrst út árið 1975. Í þessu klassíska riti reynir Brooks, sem sjálfur starfaði lengi við verkefnisstjórn hjá IBM, m.a. að svara þeirri spurningu hvers vegna svo mörg stór hugbúnaðarverkefni lenda í hvers kyns ógöngum og tímahraki. Brook tilgreinir fjölmarga áhættuþætti og bendir á leiðir til úrlausnar. Ein helsta niðurstaða hans er sú, að þegar hugbúnaðarverkefni lendir í tímahraki sé ekki vænlegt til árangurs að fjölga forriturum eins og svo oft er gert. Þetta hefur verið nefnt lögmál Brooks og þykir eitt af undirstöðureglum í hugbúnaðargerð. Lögmál Brooks byggir á þeirri persónulegu reynslu höfundar að villum fjölgar til muna þegar margir forritarar vinna saman að verkefni. Fjölmenn forritunarteymi gera verkefnastjórnun ómarkvissari og samskipti þung í vöfum, boðleiðir lengjast og heildaryfirsýn stjórnenda verður takmarkaðri. Á hinn bóginn er einnig óhugsandi að takast á við umfangsmikil hugbúnaðarverkefni með takmörkuðum mannafla.

Þetta er ekki einfalt úrlausnar. Þegar stefnt er að skilvirkni og heildstæðri hönnum er betra að treysta á fámennt teymi öflugra einstaklinga bæði við hönnun og samsetningu. En þegar fengist er við umfangsmikil kerfi er nauðsynlegt að búa yfir nægum mannafla þannig að hægt verði að standa við tímasetningar. Hvernig er hægt að sætta þessar andstæður? (Brooks, 1995, bls. 31).

Lausn Brooks á þessu vel þekkta vandamáli byggir á hugmynd Harlan Mills sem taldi vænlegast til árangurs að mynda smærri hugbúnaðarteymi utan um einstaka þætti viðamikilla hugbúnaðarverkefna. Teymin gætu þannig unnið saman að stærri verkefnum og yfirstjórn fælist fyrst og fremst í að samþætta vinnu hugbúnaðarteymanna á meðan hvert einstakt teymi væri einnig undir fastmótaðri stjórn verkefnisstjóra. Brooks leggur áherslu á fastmótaða stjórnun og að hönnun kerfis sé á höndum fárra aðila á meðan dreifa megi sjálfri vinnunni á margar hendur.

Í bók sinni ber Brooks saman hefðbundnar evrópskar kirkjubyggingar (cathedrals) saman við rómaða dómkirkjuna í Reims í Frakklandi (Brooks, bls. 42). Brooks telur flestar evrópskar kirkjubyggingar fölna andspænis hinni stílhreinu byggingu í Reims. Ástæða þessa felst í ósamræmi í hönnun og smíði og þá fyrst og fremst vegna þess að byggingarsaga einstakrar kirkju getur hæglega spannað ólík tímabil, fjölmarga ólíka hönnunarstíla og persónulegar áherslur smiða og arkitekta.

Hönnuðir síðari tíma stóðust oft ekki freistinguna að „endurbæta“ byggingar frá fyrri tímum með það að markmiði að endurspegla breytta tískustefnu eða persónulegan smekk. Þannig liggur hið friðsæla normanska þverskip að hinu yfirgnæfandi gotneska kirkjuskipi og ber allt í senn vitni mikilmennsku kirkjusmiðanna og dýrð drottins (Brooks, 1995, bls. 42).

Dómkirkjan í Reims er að mati Brooks allt að því hrein birtingarmynd heildstæðrar hönnunar þar sem handverkið lýtur vilja heildarinnar og persónulegum hagsmunum og sjálfhverfum hugmyndum er fórnað á altari sköpunarverksins. Svona skal hugbúnað hanna, segir Brooks og leiðin til þess er leið heildstæðrar hönnunar (conceptual integrity).

Heildstæð hönnun er að mínu mati mikilvægasta viðfangsefnið við þróun hugbúnaðarlausna. Það er betra að búa við kerfi, sem er án einhverra óvenjulegra kosta og viðbóta en endurspeglar heildstæða hugmyndavinnu, heldur en kerfi sem inniheldur margar ágætar en einangraðar og ósamstæðar hugmyndir (Brooks, 1995, bls. 42).

The Mythical man-month hefur verið kölluð Biblía hugbúnaðarsmíða enda inniheldur hún athugasemdir, hugmyndir og hagnýtar ráðleggingar sem eru í fullu gildi enn þann dag í dag, þrjátíu árum frá því hún var fyrst gefin út. Það eitt er ótrúlegt afrek á eins ört breytilegu sviði og upplýsingatæknin er. Annað er athyglisvert og það er að samkvæmt skrifum Brooks eru tilurð og tilvist vandaðs frjáls og opins hugbúnaðar nánast óhugsandi.

Sagt hefur verið að ef mið væru tekin af ófrávíkjanlegum lögmálum náttúrunnar ætti býfluga, klyfjuð hunangi, ekki að geta lyft sér frá jörðu, hvað þá flogið með byrðar sínar langar leiðir. Býflugan hunsar þyngdaraflið vegna þess að hún þekkir það ekki. Ef til vill má segja það sama um frjálsan og opinn hugbúnað. Samkvæmt skrifum Brooks ætti laustengt samfélag hönnuða, forritara og notenda aldrei að geta afrekað það sem það hefur einmitt gert með glæsibrag, þ.e. að setja saman öflugt og öruggt stýrikerfi á við GNU/Linux. Í ritgerð sinni The Cathedral and the Bazaar, sjálfstæðisyfirlýsingu opins hugbúnaðar, endurvekur Eric S. Raymond líkingu Brooks en yfirfærir hana á hönnunarferli opins hugbúnaðar. Ef líkja má hönnun og smíði séreignarhugbúnaðar við glæsta, stílhreina dómkirkjusmíði þá er opinn hugbúnaður eins og fjörlegur, lifandi, litríkur basar þar sem allt getur gerst.

Hér er ekki að finna hljóðláta, lotningarfulla kirkjubyggingu – Linux samfélagið líkist frekar fjölmennum, iðandi basar þar sem allir sem þátt taka gera það á eigin forsendum og á eigin hátt (gott tákn um þetta eru Linux-vefir sem taka við framlögum frá hverjum sem er) og eins og fyrir röð kraftaverka verður til heildstætt, stöðugt kerfi (Raymond, 1999, bls. 22).

Samlíking Raymonds er einstaklega vel við hæfi. Þróunarferli frjáls og opins hugbúnaðar er allt annað en línulegt, sjaldnast skipulagt út í æsar og aldrei fullkomlega fyrirsjáanlegt. Ekki frekar en sjálfsprottið ólgandi mannlíf basarsins þar sem ægir saman öllum gerðum fólks í eigin erindagjörðum eða annarra. Það er hins vegar afar árangursríkt líkt og dæmin hafa margoft sannað.

Í bókinni The Success of Open Source dregur Steven Weber (2004) nokkuð úr samlíkingu Raymonds og færir fyrir því rök að hönnun og allur tilbúningur opins hugbúnaðar styðjist við mótaðra verklag og verkaskipan en ætla mætti af orðum hans (bls. 62). Vafalítið eiga hugmyndir Weber við rök að styðjast en á endanum hafa þeir Raymond báðir rétt fyrir sér. Umfangsmikil, vel heppnuð forritunarverkefni, opin eða frjáls, hljóta alltaf að byggja á föstum grunni og traustu verklagi. Þróun hugbúnaðar er einfaldlega of flókið verk til að annað geti staðist. Og þar að auki eru menn eins og Linus Torvalds og Richard Stallman ekki þekktir fyrir annað en halda þétt um taumana. Hitt er líka rétt að öllum er frjáls þátttaka í opnum hugbúnaðarverkefnum og engin leið fær að stýra hverjum og einum nákvæmlega sama slóðann ef hugurinn stefnir annað. Klofningur er líka þekkt fyrirbæri í þróun frjáls og opins hugbúnaðar, illa séð en þekkt. Reyndin er sú að það er nákvæmlega ekkert því til fyrirstöðu fyrir einstaka forritara eða samstæðan hóp, að kljúfa sig frá þróun ákveðinnar hugbúnaðarlausnar og stofna til annars verkefnis með sama kóða að grunni en öðrum markmiðssetningum og áherslum. Það er, ekkert nema persónuleg sannfæring eða hollusta við hugbúnaðinn og samfélagið sem að honum stendur. Klofningur er, sem betur fer, sjaldséð fyrirbæri í heimi frjáls og opins hugbúnaðar.

Saga frjáls og opins hugbúnaðar er öðrum þræði saga einstaklinga sem hafa áorkað hinu ómögulega drifnir áfram af óbeisluðum krafti eigin sannfæringar og skapandi hugviti. Sagan segir einnig frá allt að því sjálfsprottnum, öflugum samfélögum notenda og þróunaraðilum og samfélögum sem hafa mótast í kringum hagnýtingu og framþróun stakra hugbúnaðarlausna og standa öllum opin. Það er sannast sagna ótrúlegt að verða vitni að því þegar ótilgreindur fjöldi notenda er reiðubúinn að fórna dýrmætum tíma og orku í hönnun, forritun, villuprófun og skjölun flókins hugbúnaðar án þess að eiga von á nokkrum fjárhagslegum ávinningi fyrir framlag sitt. Þegar öllu er á botninn hvolft þá er það ef til vill þetta ferli sem helst skilur að frjálsan og opinn hugbúnað og séreignarhugbúnað. Kannski er lykilatriðið ferðalagið, ekki áfangastaðurinn; þróunarferlið, samvinnan og ekki hugbúnaðurinn sjálfur? Sú er í það minnsta sannfæring fræðimannsins Steven Weber (2004) sem öðrum fremur hefur brotið til mergjar tilurð og þróun opins hugbúnaðar.

Á því leikur enginn vafi að frjáls og opinn hugbúnaður hefur gjörbylt landslagi upplýsingatækninnar á undanförnum árum og áratugum og á vafalaust eftir að verða orsakavaldur enn frekari breytinga í náinni framtíð. Skiptir þá engu máli hvert sjónum er beint enda heimurinn flatur þegar tæknin á í hlut. Nám og kennsla er eins og gefur að skilja engin undantekning hvað þessar umbreytingar áhrærir. Spurningin er ekki hvort þessi þróun eigi eftir hafa áhrif á þeim vettvangi heldur hvaða breytingar það verða.

Heimildir

Brooks, F. P. (1995). The mythical man-month: essays on software engineering, 20th anniversary edition. Reading, MA: Addison-Wesley.

Couros, A. (2004). The Open Source Movement: Implications for Education. Comprehensive Essays. Óútgefið handrit.

Gates, B. (1976). Letter to Hobbyists. Sótt 16. október 2005 af http://cryptnet.net/mirrors/texts/gates1976.html.

Íslensk orðabók (2005). [3. útgáfa]. Reykjavík: Edda.

Perence, B. (1999). The open source definition. Í Dibona, Chris, Sam Ockman og Mark Stone (ritstj.) Open Sources: Voices from the Open Sources Revolution (bls. 171–188). Sebastopol: O'Reilly & Associates.

Lawton, G. (2002). The great giveaway. NewScientist.com. Sótt 3. janúar 2007 af http://www.newscientist.com/article.ns?id=mg17323284.600.

Stallman, R. (2002). On hacking. Sótt 17. september 2005 af http://stallman.org/articles/on-hacking.html.

Torvalds, L. og D. Diamond (2001). Just for fun. The story of an accidental revolutionary. New York: Harper Business.

Williams, S. (2002). Free as in freedom. Richard Stallman's crusade for free software. Sótt 26. nóvember 2006 af http://www.oreilly.com/openbook/freedom/

Weber, S. (2004). The success of open source. Cambridge, Massachusetts og London: Harvard University Press.

Raymond, E. S. (1999). Cathedral and the bazaar: Musings on Linux and open source by an accidental revolutionary. Sebastopol: O'Reilly & Associates.

Programming languages. (2006). Sótt 23. nóvember 2006 af http://en.wikipedia.org/w/index.php?title=Programming_languages.

Prentútgáfa     Viðbrögð