Kaip sutaupyti 2.8 milijonus eurų

Po pastarojo įrašo apie IT politiką ar jos nebuvimą kilo gan įdomi diskusija Facebooke.

Viena iš temų Lietuvos atvirų duomenų srityje yra tokia: reikia sukurti centralizuotą atvirų duomenų portalą, kuriame ten viskas bus sudėta ir užtai veiks puikiai, visi viską lengvai suras. Toks portalas turi ir privalumų ir trūkumų. Pats mėgstu labiau decentralizuotas sistemas, bet visgi iš esmės tikrai yra racionalumo tokį turėti, dėl keletos priežasčių:

  1. Kai kurios įstaigos turi duomenų, bet neturi net tinklalapio į kurį jį sudėtų
  2. Lengva matyti nacionalinį progresą šioje srityje
  3. Yra viena vieta, kurios pagrindu galima organizuoti darbus ir grįžtamąjį ryšį

Yra tų priežasčių aišku ir daugiau, bet man šios svarbiausios. Visgi, esmė visai ne tame. Esmė, kad kolega atvirų duomenų penetravimo srityje Mantas Zimnickas vėl priminė, kad šiaip jau IVPK turėtų paimti ir pakurti CKAN (atviro kodo atvirų duomenų portalas) ir tiesiog jį administruoti.

Tuomet aš atsiminiau, kad turiu man dovanotą OpenData.lt domeną. Jį man padovanojo šaunieji Aurimas Račas ir Ernesta Orlovaitė, kai pradėjau dirbti savivaldybėje. Ir čia viskas staiga pasidarė susiję. Nusprendėm padaryti tai ką seniai turėjo padaryti IVPK patys.

Dabar apie pinigus. Šiam projektui IVPK nusimatė nei daug nei mažai: 2.806 milijonus per tris metus:

Miesto legendos byloja, kad už šiuos pinigus turėjo būti nupirktas Oracle atvirų duomenų portalo sprendimas su visais iš to išeinančiais licencijavimo, serverių, palaikymo ir diegimo kaštais. Oracle sprendimai tikrai yra geri tam tikrose srityse ir naudojami tiek privačiam tiek viešam sektoriuj (pastarajam dažnai ir ne pagal paskirtį, bet čia atskira tema). Deja (o gal ne deja), bet Oracle ir kažkokios formos atvirumas yra tiesiog du nesuderinami dalykai, kaip konservuota silkė ir braškiniai ledai. Nieko bendro. Ir dar — labai brangu.

Taigi — 2 milijonai 806 tūkstančiai pinigų per trejus metus (iškarpa iš dokumento)

Ką iš tikrųjų reikėjo padaryti ir kiek tai kainavo:

  1. Nusipirkti domeną arba panaudoti kokį nors esamą. Kaip minėjau, tą aš jau turėjau, jo išlaikymas metams kainuoja 6.99 be PVM.
  2. Pasistatyti serverį. Institucijos aišku turi savo resursų, bet kadangi darau tą savanoriškomis paskatomis tai serverį įsigijau trims mėnesiams iš Dedikuoti.lt — 10.77 be PVM už 3 mėnesius.
  3. Sukonfiguruoti serverį ir CKAN. Su visais žioplinėjimais tai užtruko kažkur valandą — pusantros. Paskaičiuosiu dvi valandas pagal IT specialisto valandinį įkainį, taigi, 80 eurų be PVM.

Tai kaip ir viskas šviežiam startui. Tilpom į 100 eurų. O rezultatą galite pažiūrėti čia:

Jeigu IVPK būtų dariusi pati, tai žinoma būtų kainavę brangiau. Administravimas, testavimas, užduoties rengimas, išaiškinimas, suderinimas viduje. Iš akies primetus, visai realu būtų samdyti kažką už 6000 eurų (iš tų 2,806 mln. palikti 0,006). Tai nupirktų maždaug 150 darbo valandų. Tarkim rezervuotume 8 valandas infrastruktūros parengimui, 40 pačiam CKAN tvarkymui. Dar tame tarpe galėtų būti ir laikas skirtas serverio ir sistemos saugos,resursų monitoringo sutvarkymui, ko aš šiuo atveju nepadariau. Likęs laikas galėtų sueiti į įstaigų pajungimą, duomenų iš opendata.gov.lt migravimą, instrukcijų rengimą ir panašius dalykus, kurie būtų naudingi portalo panaudojimui ir plėtrai.

Šiuo metu į jį sudėjau keletą organizacijų ir po vieną-kitą duomenų rinkinį iš jų. Tarp jų: Vilniaus miesto savivaldybė, Viešųjų pirkimų tarnyba, Valstybės kontrolė ir Vyriausioji rinkimų komisija. Visos organizacijos kur yra kažkokie geri pavyzdžiai atvirų duomenų.

Mantas minėjo, kad turi įrankį suimportuoti Opendata.gov.lt, tai tą irgi padarysime gal vėliau, dėl turinio platumo. Na, o Vilniaus miesto savivaldybės visus duomenų rinkinius natūraliai sutrauksime čia. Vėliau prijunginėdami visas kitas savivaldybes ir įstaigas.

Realiai šitos mintys atsirado viską bedarant, nes aš taip daug į priekį negalvoju.

Dar yra labai svarbus vienas momentas. Ką daryti su atsilaisvinusiais asignavimais? 2016-ųjų suma aišku yra pravalgyta, bet yra dar maždaug 2,5 milijono numatytų portalui, kuris jau padarytas. Tai siūlyčiau nukirpti IVPK šiuos asignavimus ir perkelti Vilniaus miesto savivaldybei. Mums ten kaip tik trūksta, pažadam nedaryt oro linijų. Juokauju, aišku, bet nukirpti arba perskirti kokiam nors kitam tikslui tai tikrai reikėtų.

Atskyriau sekančią teksto dalį šiuo vienaragiu.

Dabar šiek tiek techninių detalių. Čia jau įprastas skaitytojas gali išeiti kitur kur nors.

Apie CKAN. Labai gerai, kad jame galima sudėti ir sujungti įvairius duomenų rinkinius iš bet kokių šaltinių. Tarkim GitHub’as savivaldybėje bus toliau pilnai naudojamas bet visi reprezentatyvūs meta duomenys apie tam tikrą rinkinį bus čia. Taip pat aišku tai prideda šiokį tokį draugiškumą vartotojui, nes leidžia gražiai peržiūrėt datasetus.

Duomenų rinkinių grupavimas į grupes ir organizacijas leidžia labai puikiai viską sudėlioti: kiekvienai įstaigai/institucijai po organizaciją, kiekvienam tapačiam duomenų rinkiniui — po grupę. Jeigu Radviliškis atidarys savo duomenis apie balsavimą — galėisime sugrupuoti juos su Vilniaus duomenimis apie balsavimą. Taip pat aišku, galima viską aprašyti ir detaliau — aptaginti ir t.t.

Backende sukasi Solr’as, todėl viskas žaibuoja ir yra lankstu. Manomai — scale’inasi taip pat neblogai, bet čia dar pažiūrėsime.

Lyginant su GitHubu yra rimtas privalumas didesniems datasetams. Failų dydžio limitas GitHube yra 50 MB. Tai pvz. su Viešųjų pirkimų tarnyba tas netinka, nes jų datasetai didesni ir čia bus puiki terpė jiems pateikti tuos duomenis tiesiai iš kokio nors webserverio.

Pačiam serveryje nieko per daug nedariau apart CKAN’o ir jam reikalingų package’ų sudėjimo. Dar instaliavau nano (prisidengia nuo atskrendančių batų), bet šiaip viskas yra švari Ubuntu 14.04 instaliacija. Tai mane šiek tiek neramina, tad jeigu kas norėtų pridėt kompetencijos daugiau turinčią ranką ar sumest kokį basic gero konfigo boilerplate’ą tai prašom.

Natūraliai, minimalaus plano dedikuoti.lt neužteks jeigu portalą pradėsim plačiai naudot. Tai artimiausiu metu kur nors išjudėsim su hostingu — pasiūlymai laukiami.