Published on

11. Arendus- ja ärimudelid

Authors
  • avatar
    Name
    Randel Mandre
    Twitter

Sissejuhatus

Selle nädala teema oli vaadata üht tarkvaraarendusmudelit ja üht ärimudelit päris projekti peal. Valisin Arch Linuxi, sest kasutan seda praegu igapäevaselt ning selle väärtused sobivad mulle väga hästi.

Arch Linux on minimalistlik ja pidevalt uuenev (rolling release) distributsioon, millele toetuvad ka mitmed teised distributsioonid, näiteks SteamOS ja CachyOS. Archi mõte on lihtsus, vabadus ja alati värske tarkvara.

Vaba tarkvara arendusmudelid laiemalt

Kui vaadata klassikalisi arendusmudeleid, siis enamik neist on algselt tulnud kinnise lähtekoodiga tarkvara maailmast. Spiraal-, iteratiivsed-inkrementaalsed ja agiilsed lähenemised on aga täiesti kasutatavad ka avatud koodiga projektides. Ainus, mis vaba tarkvara kontekstis sageli kohmakaks jääb, on range kosemudel, sest kogukonnad ja prioriteedid muutuvad ajas liiga kiiresti.

Eric S. Raymond kirjeldas seda hästi kahe kujundiga: cathedral ja bazaar. Cathedral-tüüpi projektidel on tavaliselt kindlam plaan, meeskond ja ajagraafik. Bazaar-tüüpi projektid on dünaamilisemad: kogukond muutub, fookused nihkuvad ja areng toimub pideva tagasiside toel. Enamik vaba tarkvara projekte, eriti kogukonnapõhised distributsioonid, liiguvad pigem bazaar-loogikas.

Kuidas Archi arendus päriselt töötab?

Avatud tarkvaraarenduse protsessimudel Näide avatud lähtekoodiga tarkvaraarenduse mudelist

Minu hinnangul sobib Arch Linuxi puhul kõige paremini avatud kogukondlik bazaar-mudel. Raymondi kirjeldatud loogika on siin päriselt nähtav. Selle arendus ja otsused on avalikud, inimesed saavad kaasa rääkida ning parandused liiguvad kasutajateni koguaeg.

Praktikas tähendab see, et põhitiim ja trusted users hoiavad ametlike pakettide kvaliteeti ja uuendusi, laiem kogukond testib ja annab vigadest teada ning AURis jagavad kasutajad oma PKGBUILD-faile, millega saab tarkvaravalikut laiendada. Kuigi Arch ei järgi klassikalist sprintide loogikat nagu Scrum, on töö selgelt iteratiivne: tehakse muudatus, vaadatakse mõju üle ja liigutakse edasi.

Selle mudeli suur pluss on kiirus ja läbipaistvus. Uuendused jõuavad kasutajateni kiiresti, tehnilised otsused ei sünni suletud uste taga ja kasutajal on võimalik oma süsteem väga täpselt enda vajaduste järgi üles ehitada. Lisaks on Arch Linux Wiki praktiline teadmistebaas, mida kasutatakse laialt ka väljaspool Archi ennast.

Rolling release tähendab, et mõni värske pakett võib aeg-ajalt tekitada ka probleeme. Minu kogemuse järgi juhtub seda harva, kuid näiteks KDE Plasma 6 üleminekul tuli osa pakette ümber tõsta, et kõik jälle töötaks. Seega risk ei ole suur, aga see on olemas. Arch eeldab kasutajalt ka rohkem tehnilist iseseisvust kui klassikalised all-in-one distributsioonid nagu Ubuntu, Fedora ja paljud teised. Sama kehtib AURi kohta: see annab palju tarkvara juurde, kuid kuna sisu on kogukonnapõhine, peab kasutaja ise hoolikamalt kontrollima, mida ta paigaldab. On olnud mitmeid olukordi kus pahavara oli suudetud sina toppida.

Arch Linuxi peamised suhtluskanalid on mailing listid, IRC-kanalid, foorumid ja Wiki. Koodi ning paketihalduritega seotud töö liigub suuresti GitLabi kaudu. Pakendamise poolel on keskmes PKGBUILD, makepkg ja pacman, AUR laiendab seda kasutajate loodud retseptidega. Vigade ja muudatuste arutelu on samuti avalik, enamasti GitLabi töövoogudes ja seotud kanalites.

Arch Linux Wiki avaleht Arch Linux Wiki avaleht

Kuidas Arch end üleval hoiab?

Arch Linux ei toetu klassikalisele litsentsimüügile ega suurele enterprise-teenuste mudelile. Pigem käib annetuspõhine mittetulunduslik mudel neil. Tarkvara on tasuta ja avatud, arendus toimub suuresti vabatahtliku panusena ning taristu toimib annetuste ja partnerite toel. Näiteks pilveteenuse pakkuja Hetzner annab neile tasuta taristut mida kasutada automaattestimiseks ja muuks.

Kasutaja jaoks tähendab see mudel tasuta ja tugevat platvormi, kiiret uuendustsüklit, head dokumentatsiooni ning aktiivset kogukonda. Projekti jaoks tähendab see, et fookus saab püsida kvaliteedil, mitte müügieesmärkidel.

Annetused võivad kõikuda ning kui võtmerollis vabatahtlikud oma panust vähendavad, võib ka areng aeglustuda. Võrreldes tugeva kommertstoega projektidega on ressursse vähem ja suurteks investeeringuteks jääb vähem ruumi. Ehk mudel töötab hästi, kuid selle pikaajaline jätkusuutlikkus sõltub otseselt kogukonna järjepidevusest.

Allikad

https://wiki.itcollege.ee/index.php/E-ITSPEA_11:_Arendus-_ja_%C3%A4rimudelid

http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html#catbmain

https://archlinux.org/

https://wiki.archlinux.org/title/Main_page

https://gitlab.archlinux.org/archlinux

https://aur.archlinux.org/

https://lists.archlinux.org/

https://wiki.archlinux.org/title/IRC_channels