Sotsiaalne tarkvara ja võrgukogukonnad/Kogukondlik tarkvaraarendus

From Wikiversity

Katedraal ja turg[edit]

Sellist pealkirja kannab Eric S. Raymondi raamat, mis sai alguse 1997. aastal Linux Kongressil peetud ettekandest ning avaldati hiljem omaette kirjutisena nii veebis kui ka paberil (NB! See on tõenäoliselt üks varaseimaid julgeid katsetusi vabalt veebi pandud sisu ka paberil müüa - ning see osutus edukaks). Raymondi ideed leidsid laia vastukaja ja olid muuhulgas ka üheks oluliseks motivaatoriks Netscape'i lähtekoodi avamisel ning sellest Mozilla sünnil (millest teatavasti hiljem arenes Firefox).

Raymondi raamatul on omad pooldajad ja ka kriitikud (näiteks http://fare.tunes.org/articles/about_esr.html), kuid see oli esimene suurem katse näidata, et vaba tarkvara ei ole üksnes häkkerliku idealismi ilming ja sellisena ärimaailma kõlbmatu - Raymondi argumendid lähtuvad juba ka praktilise äri vaatenurgast. Hiljem täiendavad seda veel paljud autorid, nagu David A. Wheeler, Martin Fink, Larry Lessig ja paljud teised.

Katedraali ja turuna defineerib Raymond kaks erinevat lähenemist tarkvara arendusele:

  • katedraal - klassikaliselt planeeritud ja juhitud projekt, kindel struktuur, meeskond ja ajakava
  • turg – kogukondlik arendus, tegijad muutuvad, töö saab enamasti valmis "omal ajal"

Märkus: ehkki enamik ärivara kasutab katedraalimudelit, keskendus algne KjT ainult vabale tarkvarale – seega ei mõtle Raymond siin Windows vs Linux vastandust! Nii kasutasid katedraalimudelit enamik Richard Stallmani varajasi projekte (GCC, GNU silur, ka terve GNU projekt tervikuna).

Ühe olulise punktina on Raymond maininud printsiipi: "Piisav hulk silmapaare leiab kõik vead".

Turumudel eeldab kindlat tuumikprojekti - see ei pea olema suur, kuid peaks töötama - näitama seltskonnale, et sellest võib asja saada.


Kogukonnapõhine tarkvara[edit]

1961. aastast MIT PDP-arvuti ümber kujunenud klassikaline häkkerikogukond (mida kajastab Stephen Levy Hackers) praktiseeris "sahtlisse programmeerimist" - listingud pandi sahtlitesse, kus kõik võisid nendega tutvuda ja ka sinna parandusi teha - sisuliselt oli tegemist tänase kogukondliku arendusmudeli algusega. Esmakordselt kadus selge piir arendajate ja kasutajate vahel ning kogukonnas põimusid omavahel tegijad ja sihtgrupp. Hiljem laienes sama mudel ka mujale - täpselt samamoodi on näiteks sündinud Wikipedia.

Kolmkümmend aastat hiljem alustas Linus Torvalds Linuxi loomist olukorras, kus oli juba olemas nii GNU kui BSD. Ometi sai just Linux vaba tarkvara lipulaevaks - ilmselt on tugevasti asi ka selles, et Linux arenes algusest peale vabalt kujuneva arendajate kogukonna baasil (Raymondi "turumudel"). Üheks lipukirjaks sai Release early, release often ehk eelistati kiirelt üksteisele järgnevaid väiksema küpsusastmega väljalaskeid. Võrdluseks: Microsoft laseb oma Windowsi välja mitmeaastaste vaheaegadega, paljude Linuxi distrode tsükkel on aga kaks versiooni aastas.

Tasapisi võetakse (eri määral) kasutusele ka kommertssfääris. Microsofti Shared Source programm oli üliettevaatlik (ja allakirjutanu arvates sellisena üsna vähetõhus) katse kasutada ära kasutajate kogukonda uute süsteemide testimisel. Üsna edukad on aga olnud näiteks mängudetootjad - põhitoode levib klassikalise kommertsmudeli alusel, kuid kasutajakogukond loob täiendusi (mängu modifikatsioonid, mängualad, abiprogrammid jpm), mille tase määrab sageli ära mängu edukuse konkurentide samalaadsete väljalasetega võrreldes.

Kogukondliku mudeli olulised plussid:

  • Kasutajad ja arendajad "sama mütsi all" - teatava loomuliku antagonismi (kasutaja tahab võimalikult head asja võimalikult soodsalt, arendaja soovib saada vähima kuluga maksimaalset tulemust) üsna edukas maandamine
  • "Sisseehitatud" tootetoetusmehhanism
  • Mitteformaalne, otsene suhtlemine
  • Kuskil on alati hommik" - võimalik väga kiire reaktsioon
  • Paindlik osalus, "aparaadi" puudumine või vähesus
  • Peteri printsiip (inimest edutatakse karjääriredelil kuni jõudmiseni tema ebakompetentsuse tasandile) kehtib natuke vähem... :)

Veel võib kogukonnapõhise mudeli tugevate külgedena välja tuua

  • Virtuaalne (võrgupõhine) kogukond - vähe halduskulusid
  • Ajuderessursi optimaalne kasutamine - inimene planeerib oma aega ise ja seetõttu töötab projekti kallal enamasti vaid endale sobival ajal, olles sel juhul piisavalt motiveeritud.
  • Piisav hulk silmapaare leiab kõik vead" (Raymondi poolt "Linuse seaduseks" nimetatud)
  • Vahel on lihtsam otsast alata - kogukond võib endale seda lubada, spetsifikatsioonide ja ajakavadega koormatud kommertsarendaja sageli mitte.
  • Kiirem ja paindlikum reaktsioon muutunud või uutele nõudmistele

Psühholoogid on välja toonud tarkvarakogukonnas kaasalöömise motiive, mis on üpriski kirjud:

  • "Enda selg sügeleb ka" - otsene vajadus loodava tarkvara järele
  • "Pulli pärast" - Torvaldsi meelelahutusmotiiv: teen, kuna lihtsalt meeldib
  • "Tahan olla äss" - sotsiaalne motiiv: soov teenida kõrgemat reputatsiooni
  • "Meeldib omasuguste seas" - kuuluvusmotiiv: tahan teenida välja õigust olla kamba liige
  • "Vabadus on hea" - ideeline motiiv
  • "Tahan targemaks saada" - hariduslik/praktiline motiiv

Võlukatel[edit]

See KjT järjena ilmunud Eric Raymondi kirjutis kujutab endast avatud lähtekoodi majandusliku poole analüüsi. Raymond kirjutab sellest, et sageli eeldatakse, nagu sarnaneks tarkvara omadustelt mistahes muu tootega. Aga Raymondi hinnangul on kuni 95% kogu tarkvarast tehtud mitte n.ö. karpi, vaid majasiseseks kasutamiseks - ning samamoodi kulub kuni 95% itimeeste/naiste ajast mitte uue tarkvara kirjutamisele, vaid olemasoleva haldamisele ja täiendamisele Mõlemal juhul on tasustatavaks asjaks tegelikult teenus (tööjõud).

Raymondi poolt pakutud protsendi osas võib ehk teatud määral vaielda, ent põhimõte on küllaltki usutav. Siit aga järeldub kaks esmapilgul üllatavat asja - esmalt on kinnise koodiga, karbi sees tükikaupa müüdav tarkvara tegelikult nišitoode, mitte turuvalitseja (nagu Microsoft, Adobe ja teised suurtootjad seda eeldavad). Teiseks aga nähtub, et sellise tarkvara juures kooritakse ostjalt raha nii toote enda (arenduskulud) kui toetuse eest (kergeusklik oleks arvata, nagu oleks näiteks Microsofti telefonitoetus reaalselt tasuta). Raymond jõuab kummalisele järeldusele, et kõige edukam ärivara on selline, mida ostetakse, ent ei kasutata (ostult saadakse maksimaalselt tulu, toetust pole vaja) - mis on seega hästi turundatud, kuid sisuliselt kasutu.


Ärimudelid[edit]

Vaba tarkvara ärimudelitena on Raymond välja toonud järgmised:

  • Vaba toode, mis teeb teed sama firma suletud koodiga toodetele. Mingil määral on sellisena vaadeldav näiteks Suni OpenOffice.org/StarOffice ja mõningad IBMi lahendused, ent üldiselt ei paista seda mudelit kuigi palju kasutatavat.
  • Riistvaradraiverid - Raymond ennustas seda KjT-s üldiselt üsna õieti - lähitulevikus võetakse ilmselt suund vabadele draiveritele, kuna firma

peamine rahaallikas on riistvara. Seni on suureks erandiks veel Nvidia, kelle draiverid on küll tasuta, kuid kes on kõik spekulatsioonid koodi vabastamise kohta ümber lükanud. Inteli graafikadraiverid seevastu on juba kaua aega vabad ning hiljuti võttis sama suuna ka AMD/ATI.

  • "Avalda retsept, ava restoran“ - vaba tarkvara peamine ärimudel: vabalt leviv põhitoode, tasuline kompetents. Esimesena kasutas seda juba 1989. aastal Cygnus Solutions, hiljem Red Hat ja tänapäeval Canonical (Ubuntu)
  • Puhtalt täiendteenustele keskendumine – raamatute ja pudipadi müük.N: O'Reilly ja erinevad nännitootjad.
  • Ajutine kinnine litsents – näiteks aasta pärast muutub GPL-iks. Selline lahendus tagaks põhimõtteliselt projekti jätkusuutlikkuse - ent toimivat näidet ei ole esialgu veel tuua. Ilmselt on lühiaegne "kasumipumpamise" üritamine ja seejärel üleminek tülikam kui asi reaalselt väärt on.

On veel kaks mudelit, mida Raymond pidas „põhimõtteliselt võimalikeks“ ja mida KjT ilmumise järel on edukalt rakendatud:

  • kaubamärgi müük - vabale tootele müüakse sertifitseeritud teenuseid ja ühilduvustunnistusi (peaaegu kõik suured vaba tarkvara ärikasutajad - IBM, Oracle, Novell, Red Hat, Canonical jpt)
  • võrgusisu müük - müüakse tasulist registreerimispõhist teenust. Heaks näiteks on Red Hati tugivõrgustik Red Hat Network, kuhu saab ligipääsu tasulise Red Hat Enterprise Linuxi ostja (mitte aga vaba Fedora kasutaja).


Rääkides "intellektuaalomandi kadumamineku" ohust, mida senise mudeli pooldajad armastavad rõhutada, tsiteerib Raymond endist KGB ohvitseri Oleg Kaluginit:

"Näiteks kui me ka varastasime IBMi või mõne muu elektroonikatootja tooteskeeme neis valdkondades, kus Lääs kiiresti edasi liikus ja meie maha jäime, oleks meie luuresaagi reaalseks tooteks arendamine võtnud aastaid. Selleks ajaks (5-7 aastaga) oleks Lääs edasi läinud ja me oleksime pidanud varastama ikka ja uuesti - ja lõpuks oleksime veelgi enam maha jäänud."


Avatud lähtekoodi eelised[edit]

Avatud Lähtekoodi Algatus on pakkunud välja järgmised tegurid, mille poolest lähtekoodi avamine on kasulik:

  • Arendajale
    • kiirem arendus kogukonna aktiivse kaasamise kaudu (kusjuures esimene tulija võidab kõige rohkem!)
    • delegeerimine (outsourcing) – väikefirma suudab võtta ette suurema projekti kui kinnise mudeli korral
  • Müüjale
    • tarbijalähedus – arendajate ja tarbijate ring põimuvad
    • laiem turg – iga huviline saab mistahes toote portida uuele platvormile (see oli väga olulise tähtsusega Linuxi kiirel levikul serveriplatvormina 90-ndatel)


Paari inimese mõtteid[edit]

Martin Fink, HP Linuxi valdkonna asedirektor, avaldas 2002. aastal raamatu "The Business and Economics of Linux and Open Source" (infot raamatu kohta ja veidi asjakohast lugemist saab lehelt http://www.linuxcio.com). Mõned mõtted sealt:

  • Ärivara uus versioon ilmub vastavalt turu vajadustele ja firma suvale; vaba tarkvara ilmub siis, kui see on valmis. Kuigi on ka vaba tarkvara projekte, mida on süüdistatud toore tarkvara väljalaskmises (eelkõige need projektid, kes on määranud endale kindla väljalasketsükli - Ubuntu, Fedora jt), on räpakas väljalase palju enam levinud äritarkvara maailmas. Vabadel projektidel puudub sageli ärimaailma pahupoole hulka kuuluv taak - iga hinna eest konkureerimine, kulukas turundus ja reklaam, igasugused "manageri kolmandad assistendid" (kelle vajadus projektis on küsitav, kuid kes tahavad ometi raha saada).
  • Majasiseselt arendatud tarkvara oli kasutamiseks sobiv, aga kallis. Massitoode on odavam, kuid halvasti kohandatav. Vaba lahendus annab mõlema poole plussid. - seda on üha enam hakanud ära tabama just nimelt suurfirmad, kes saavad kasutada ära muuhulgas ka GPLi majasisese arenduse klauslit (majasiseseid muudatusi ei pea avaldama, kui tarkvara ei levitata) ning säilitada seeläbi oma konkurentsieelise. Ent paljudel juhtudel aitab ka muudatuste avaldamine - näiteks arendatakse kogukonna poolt juurde täiendavaid funktsionaalsusi.


Teine huvitav arutleja on häkkeritüüpi börsianalüütik Brent C. Williams [http://stephesblog.blogs.com/presentations/BrentWilliamsEclipseConV02.pdf oma 2007. aasta ettekandes "Open Source Business Models: A Wall Street Look at a Wild 2006 and the Prospects for Even More Fun in 2007". Mõned mõtted ka temalt:

  • Õige ülesandepüstitus on elulise tähtsusega!. Negatiivse näitena toob Williams välja Oracle'i esmase katse oma Linuxiga - firma lootis Red Hatiga edukalt konkureerida, pakkudes RHEL kloondistrole (Unbreakable Linux) Red Hatiga samaväärseid tugiteenuseid märksa madalama hinnaga. Unustati aga ära, et Red Hatil on ka Fedora, mis on täiesti vaba distro. Tulemus – 90 päevaga laadis Oracle'i varianti alla u. 9000 inimest, samal ajal tiriti Fedora 6-t miljon korda.
  • paindlikkus on suurim pluss. See võimaldab kiiresti luua tuumtooteid olemasolevatesse valdkondadesse, samuti "innovatsiooni läbi integratsiooni", s.t. kiiret uute toodete koostamist olemasolevatest juppidest (see omakorda võimaldab nišitootjatel paremini kohta leida).

Suurimad võimalused on seejuures esimestel tulijatel, kuid ka hilisematele jäetakse enam võimalusi kui monopolismikalduvusega ärivara korral.

Siia võiks lisada veel mõned märkused vabade ärimudelite kohta:

  • enamasti on kõige paremaks valikuks teenusepõhine mudel (vt Raymond)
  • õige turu ja õige lähenemise korral võib toetusteenuse hinna tõsta üsna kõrgeks (Red Hat) – samal ajal ei nõua mudel vendor lock-in'i
  • toetus näib palju väärtuslikuma teenusena (rohkem võimalikke juppe, mida lisada - kuna ka seal puuduvad kunstlikud takistused)
  • ideaaljuhul on tulemuseks kesktee kalli valmislahenduse ("võtmed kätte") ja tarbijale ettevisatava "juppide kasti" (vaata ise, kuidas hakkama saad) vahel
  • palju avaram võimalus kaasata lisateenuste pakkujaid

Aga näiteks Eestis?[edit]

Tüüpiline pilt: firma otsib mingi odavama (kuna raha pole eriti loopida) "patsiga poisi", kes talle uue raamatupidamisprogrammi teeb. Pärast esmase versiooni valmimist

  • Tahetakse mitmeid lisasid, mille peale alguses ei tuldud
  • Palutakse parandada pisikesi puuke
  • Klaaritakse tükk aega, kellele see tarkvara ikkagi kuulub
  • Mõned firmad teevad väga vingus nägu, kui tarnija kellelegi teisele suht sarnase asja teeb (loe: kasutab samu juppe)
  • Turg on nii väike, et tarkvara looja müüb traditsioonilise tootemudeli järgi heal juhul paarkümmend koopiat.

Laseks vabaks?

  • Miinus – sama asja ei saa mitu korda müüa. Aga turg on nii väike, et sageli ei õnnestu see ka kinnise koodi puhul.
  • Plussid:
    • Laiendamisvõimalus kohapeal
    • Parandamisvõimalus kohapeal
    • Selge juriidiline staatus, autorsus üheselt paigas (ja toimib turundusfaktorina)
    • Kohapealseid muudatusi ei pea GPL puhul avaldama

Kumb annab rohkem, kas paar müüdud lisakoopiat või palju optimaalsem protsess?


Kokkuvõtteks[edit]

Teenusepõhised ärimudelid tunduvad sobivat vähemalt digitaalmaterjalide (tarkvara ja muu võrgusisu) jaoks internetiajastusse paremini kui senised tootepõhised lähenemised. Monopolistliku kasumi võimalus on siin kahtlemata väiksem, ent lihtsalt korraliku kasumi võimalusi on palju laiemalt ning tegelikult on võitjaid rohkem. Samas aga, nagu me nägime Oracle'i õppetunni näitel, eeldab edukas olemine head ülesandepüstitust.


Viited[edit]


Nädala ülesanne[edit]

  • Vali kaks vaba tarkvara projekti ja võrdle neid ajaveebis arenduse vaatenurgast.