Selle nädala ülesandeks on võrrelda kaht vaba tarkvara projekti arendamise seisukohast. Kui päris aus olla, siis ei ole ma ise vaba tarkvara arendamisega kuigivõrd kokku puutunud, nähes, kuidas viimastel aastatel on enam-vähem kogu arendamise aur kulunud palgatööle ja vabal ajal on teisigi asju peale programmeerimise, millega võiks tegeleda. Ent mingi ettekujutus asjadest peaks mul vanast rasvast siiski alles olema.

Vaba tarkvara projektid võib laias laastus jagada kaheks. Esimesse kategooriasse kuuluvad suure arendajate arvuga projektid, mis on kasutajate hulgas saavutanud teatud populaarsuse, teise kategooriasse aga need, mida nokitsevad teha maksimaalselt paar-kolm arendajat ning mis enamasti hiljemalt mõne aastaga hääbuvad, sest eks ole neilgi inimestel targemat teha kui kogu vaba aeg tasuta töö alla matta. Järgnevalt võtangi kummastki kategooriast ühe näite, mida mõne sõnaga kirjeldan.

Üks populaarne arendusprojekt on kahtlemata Linux, mis algas teatavasti samuti ühemeheprojektina. Erinevalt paljudest teistest see aga ei hääbunud, kuna tegemist oli paljudele meeldinud asjaga. Linux on teatavasti selline umbmäärane mõiste, seega täpsustan, et edaspidine selles postituses käsitleb Linuxi kernelit, mitte operatsioonisüsteemi tervikuna. Idee poolest on vaba tarkvara mõte lihtne: kus viga näed laita, seal tule ja aita. Ehk teisisõnu: kui õnnestub leida mingi viga, siis on lihtne see parandada ja teistelegi kättesaadavaks teha. Nii on see teoorias. Praktika on mõnevõrra teistsugune. Linuxi kernel on minu teada kirjutatud põhiliselt C-s, millele lisandub teatav kogus assemblerit. Vähemalt kunagi oli see nii, ma ei tea, kas viimastel aastatel on midagi muutunud. Need ei ole kumbki keeled, millega oleks kerge sinasõbraks saada. Veelgi keerulisem on hoomata Linuxit kui süsteemi tervikuna. Sellest tulenevalt on inimeste arv, kes on suutelised sisse viima muudatusi, mis kusagil mujal midagi ära ei vussi, võrdlemisi väike. Seega ei tasu väga loota, et kui mõni algaja arendaja Linuxi kernelisse mõne muudatuse teeb, siis see sinna lõpuks ka jõuab. Tunduvalt tõenäolisem on variant, et vastav parandus lükatakse tagasi. Mulle on jäänud mulje, et Linuxi kerneli arendamine takerdub üha enam bürokraatiasse, aga võib-olla on see mulje ekslik, sest ma ei ole sellele teemale tõesti eriti tähelepanu pööranud.

Teise kategooria projektiks valisin Subtitle Workshopi, mida olen varemgi maininud. Ehkki see on kogu oma elutsükli olnud vabavara, ei olnud selle lähtekood esialgu avalikult kättesaadav. Kui programmi väljatöötaja asus (nullist) tööle uue versiooni kallal, avalikustati versiooni 2.51 lähtekood GPL alusel. Uuemast versioonist jõudsid avalikkuseni mõned mitte kõige paremini töötavad beetaversioonid, seejärel saabus vaikus. Kuulujutud mainisid programmikoodi täielikku hävimist kõvaketta riknemise tõttu. Seetõttu on hea, et vähemalt vanem versioon on avalikult saadaval. Võttes arvesse, et Subtitle Workshop on kirjutatud Delphis, mis pole paraku kõige populaarsem programmeerimiskeel, polnud mitu aastat kusagil märgata entusiaste, kes programmi arendamise enda peale võtaksid. Kuna olemasolevas versioonis esineb samuti mitu häirivat bugi, siis kaalusin vahepeal juba ise nende parandamist, kuid viimaste kuude jooksul ilmus siiski välja keegi, kes hankis kusagilt pisut uuema lähtekoodi kui see, mida avalikult levitatakse, ja asus tegutsema. Esialgne mulje on siiski selline, et ühe vea parandamise käigus õnnestub tekitada kolm uut, seega tuleks lähemalt uurida, kas lähtetekstid on kusagil olemas, GPL seda ju nõuab. Aga see on juba tuleviku teema, nii kaugele ei ole ma veel jõudnud.

Ongi selleks korraks kõik.