„Máte data? A mohli bychom je vidět?”
Takovéto dotazy eliminoval nástroj Data Stewardship Wizard (DSW), jehož tvůrci chtějí usnadnit správu získaných dat pro pohodlné sdílení mezi výzkumníky a uchovávání v takovém formátu, jenž umožní jednoduché vyhledávání a další zpracování. Dnes jsme získali možnost vyzpovídat tým z Centra pro konceptuální modelování a implementaci (CCMi), jenž za DSW stojí.
Váš tým stojí za vývojem nástroje Data Stewardship Wizard, který významně usnadňuje tvorbu plánů pro správu dat. Spousta lidí vůbec netuší, co si má pod tím představit, mohli byste nám projekt přiblížit?
Robert Pergl: „Představte si výzkumníka, který při své práci generuje velké množství dat. Většinou se jedná o bioinformatiku a disciplíny živých věd, kde se produkují obrovská množství dat, řádově petabajty. Tato data jsou velice důležitá, protože mohou obsahovat klíč k léčení závažných chorob, hledání nových léků a nových poznání. Data skrývají velké bohatství, které je potřeba uchovat, a také je třeba se o ně starat, aby byla takzvaně FAIR (Findable, Accessible, Interoperable, Reusable). Tedy aby byla dohledatelná, dostupná, aby s nimi výzkumník vůbec mohl pracovat, aby byla ve správném formátu, správně popsána, aby se vědělo, co v nich je a tím pádem byla znovu použitelná. To všechno není triviální, ale naopak poměrně náročné a kolikrát výzkumníci sami bojují s vytvořením dobrého „data management” plánu. Koneckonců by to ani neměla být náročná činnost, jejich úloha by měla být zejména dělat vědu a hledat nová poznání. Z toho důvodu vznikl nástroj Data Stewardship Wizard, který má za cíl pomoci výzkumníkům s vytvářením dobrých plánů správy dat, které jsou jednak FAIR, ale zahrnují i další dobré praktiky, dnes je například velkým tématem „open science”. DSW vede výzkumníka k tomu, aby byl plán dobrý, a současně bylo jeho použití co nejjednodušší a co nejpříjemnější.’’
Už jsme slyšeli, že za projektem DSW stojí tým z FITu. Kdo konkrétně v tomto týmu působí a jak jste se dali dohromady?
Robert Pergl: „Náš tým je skutečně hvězdný a neříkám to jen proto, že jsem na něj hrdý. Když někde zmiňujeme, že za celým tímhle velkým projektem stojí jen pár lidí, je to vždy pro ostatní překvapení. Máme jednoho backend programátora – Vojtu Knaisla, jednoho frontend programátora – Honzu Slifku, potom máme Marka Suchánka, který má oficiální roli „Leonardo da Vinci” (Leonardo da Vinci byl známý svojí všestraností a genialitou. Do čeho se pustil, v tom byl nesmírně úspěšný a vynalézavý, takže to je celý Marek). Máme i skvělý support tým, který opět sestává z jediného člověka, a tím je Kryštof Komanec. Všichni jsou lidé z FITu, moji studenti z bakalářského i magisterského studia, kde začali na tomto projektu pracovat. V případě Vojty a Honzy dokonce v rámci svých diplomových prací. Po skončení studia se stali všichni tři Ph.D. studenty a nyní jsou v zásadě už profesionálními programátory. Kryštof se připojil později, ale také má na FITu již svou historii. Nyní máme projekt až do roku 2026 v rámci infrastruktury ELIXIR a též se nám daří i evropské projekty takže je tam už i pěkná stabilita. Mám z toho radost.”
Jak jste se tedy individuálně k projektu dostali? Co vám osobně dal, nebo možná vzal?
Robert Pergl: „Podle mé zkušenosti jsou všechny profesionální úspěchy založeny na dobrých osobních vztazích, kdy se lidé dobře znají a navzájem si věří. Tak tomu bylo i v tomto případě, co se týká mého začátku na tomto projektu. Znal jsem prof. Dr. Giancarla Guizzardiho, významného ontologa, který má za dobrého kamaráda Dr. Luize Olavo Bonina, Ph.D., se kterým mě seznámil, a který mi v roce 2014 nadšeně vyprávěl o tom, že začal pracovat pro nizozemský institut DTL a začala vznikat infrastruktura ELIXIR. A také, že je to úžasný prostor pro společnou práci a pro to, co jsme dosud společně rozvíjeli. Dal mi kontakt na místního šéfa ELIXIRu (projekt vznikl v České republice velice čerstvě) dnes už profesora, Jiřího Vondráška, se kterým jsme našli společnou řeč a díky jeho obrovskému nadšení a podpoře vznikl tento projekt. V roce 2015 mě seznámil s prof. Barend Monsem, který byl v té době šéfem nizozemského uzlu ELIXIRu. Jeden z členů týmu, spoluautor nástroje, náš nizozemský kolega Dr. Rob Hooft vytvořil velkou myšlenkovou mapu právě na plánování správy dat, protože vnímal že jde o problematiku, ve které je potřeba výzkumníkům pomoci. Když se tato mapa vytiskne, je to čtyřmetrový plakát, takže to výzkumníky spíše odrazovalo, než že by se do toho nadšeně pohroužili. Následně na jednom z prvních meetingů ELIXIRu tady v Praze vznikla myšlenka, že bychom mohli skloubit naši práci (dělali jsme nástroj pro chytré dynamické dotazníky) s myšlenkovou mapou Roba Hoofta a udělat softwarový nástroj, který by právě výzkumníky prováděl touto problematikou a usnadnil jim práci. Takže jsem poté během léta naprogramoval první prototyp, záhy mi začal pomáhat Marek, a pak se nám postupně tým rozrostl o Vojtu a Honzu, kteří původní prototyp přeprogramovali do úplně nové verze v rámci svých diplomových prací. Díky tomu, že v té době již pracovali i jako programátoři, vytvořili základ profesionálního pojetí nástroje, který dnes máme.”
Marek Suchánek: „Jak už Robert říkal, já jsem se také zapojil téměř od začátku, kdy už vznikal první prototyp. Jsem členem Centra pro konceptuální modelování a implementace, které vede Robert. Dostal jsem možnost se začít podílet i na tomto projektu, takže jsem právě nejdříve spolupracoval s Robem, abychom jeho myšlenkovou mapu dostali do Robertova nástroje. Poté jsme s klukama pracovali i na dalším rozvoji, hlavně na refactoringu. Vlastně je to teď už úplně jiný nástroj. Ta cesta byla opravdu dlouhá, vznikla spousta vylepšení. Zrovna nedávno jsme se koukali, jak vypadala verze 1.0 a je to opravdu velký posun.”
Vojtěch Knaisl: „K projektu jsem se dostal tak, že jsem hledal diplomku, kterou bych mohl napsat v jazyce Haskell, což byl jazyk, který mě tehdy nadchnul. Je to funkcionální jazyk, který je znám spíše v akademických kruzích, nemá tak široké použití jako například Java nebo Javascript. Chtěl jsem tento jazyk vyzkoušet na nějaké větší aplikaci a objevil jsem, že Robert Pergl nabízí možnost udělat nástroj na nějaké porovnávání „knowledge modelů”, což jsou takové šablony dotazníků právě v jazyce Haskell. Během tvorby, kdy se původně jednalo pouze o commandlinovovou aplikaci, nám ale projekt pod rukama stále rostl, až jsem měl dojem, že by bylo vhodné pro něj vytvořit i nějakou formu uživatelského rozhraní. Můj kamarád Honza Slifka, se kterým jsem studoval celých pět let, byl v tomto velice dobrý a napadlo mě, že by se mohl připojit. Že bychom to mohli dělat spolu – já backend a Honza frontend, takže z té původně commandlinové aplikace se stala plnohodnotná aplikace včetně uživatelského rozhraní. Vzhledem k tomu, že jsem přemýšlel po dokončení magisterského studia, co dál, přišlo mi zajímavé pokračovat v něčem teoretičtějším a kreativnějším na doktorandském studiu. A tak jsem plynule navázal a pod Robertem, jakožto mým školitelem, teď studuji na Ph. D. a dále rozvíjíme i Data Stewardship Wizard. Na projektu jsem se naučil, že když je člověk někde zaměstnaný, tak dělá jako programátor pouze jednu úzce zaměřenou věc. Tady je práce mnohem komplexnější, tým musí zastávat pozice, které by jinde byly dedikované nějaké speciální osobě, ať už je to vytváření newsletterů, spravování twitterového účtu a podobné věci. Taky se člověk podílí na směřování toho nástroje. Ve větší firmě to zkrátka zadávají lidé z businessu, kteří vědí, kdo je za co schopen zaplatit. My máme kreativní volnost v tom, kam se projekt bude ubírat, i když samozřejmě velmi dbáme na to, abychom zohledňovali podněty od uživatelů našeho nástroje.”
Jan Slifka: „Jak už Vojta naznačil, k projektu jsem se dostal přes něj. Bylo to také v době, kdy jsem hledal diplomku. Vojtu jsem znal dlouho a on mi říkal, jestli si pamatuju toho Roberta Pergla, co nás kdysi učil něco na bakaláři, že má nějaké zajímavé projekty a že by tam něco mohlo být i pro nás a zmínil toto. Později jsem se tedy s Robertem sešel, pobavili jsme se o tom a vlastně mi z toho vyplynulo, že si můžu vyzkoušet něco, co bych v zaměstnání úplně nedělal, použít funkcionální jazyky na programování frontendu, což není něco standardního. Takže moje diplomka spočívala v tom udělat si analýzu, co vůbec existuje, co by se dalo použít a pak to, co si vyberu, reálně aplikovat. Když jsme to dodělali, tak se ukázalo, že to není až tak špatné a že se to dá docela použít, takže jsme v tom pokračovali dál. Na počátku byla implementační studie, než jsme dostali grant, abychom se tomu mohli věnovat naplno. Takže jsme chodili normálně do práce a po večerech jsme ještě pokračovali na tomto projektu, protože nás to jednoduše bavilo a postupně se to dostalo až do aktuální fáze, kdy se vývoji můžeme věnovat naplno a pořád nás to baví. Naučil jsem se na tomto projektu hodně věcí, kromě programování samotného děláme spoustu věcí kolem, například jezdíme na různé konference v rámci ELIXIRu, kde děláme i workshopy a prezentace. Takže to není jen o programování, ale například i vystupování před lidmi.”
Kryštof Komanec: „Jako jediný nejsem z FITu, i když jsem tady krátce pobýval. Jsem absolventem Fakulty informatiky a statistiky na VŠE a k tomuto projektu jsem se dostal přes jednoho našeho společného kamaráda. Hledal jsem zrovna nějakou zajímavou práci a on mě seznámil s Robertem a později i s klukama. Říkal jsem si, že by to mohlo být něco zajímavého, co bych mohl vyzkoušet, a od té doby s nimi spolupracuji. Jak říkal Vojta, člověk dělá spoustu věcí, v zásadě každý den něco jiného, což mě opravdu baví. Také jsem se díky projektu podíval na různá zajímavá místa, poznal zajímavé lidi, zjistil, jaká se dělá věda v life sciences a obecně se dozvěděl spoustu informací, ke kterým bych se jinak vůbec neměl šanci dostat.”
Kromě toho, že jste se vývoji nástroje věnovali u nás na fakultě v rámci diplomových prací, založili jste i firmu. Jak k tomu došlo?
Robert Pergl: „S touto myšlenkou za mnou přišli kluci. Ze začátku jsem se toho trochu obával, že to bude velká zodpovědnost a hodně práce, ale nakonec je naše Codevence Solutions úspěšná a mám z ní radost. Jsem jedním ze zakladatelů a prvním CEO, ale nyní už přispívám jen nápady a kontakty a vše ostatní okolo firmy kluci řeší sami. Velkým přelomem byl příchod Jakuba Jirky, dalšího kamaráda, který je skvělým CEO, tohle mě nikdo moc nešlo a nebavilo. Hlavním důvodem založení byla skutečnost, že někteří naši uživatelé, a překvapivě i řada univerzit, nám vzkazovali: Máte open-source nástroj zdarma, což je skvělé, ale když ho chceme u nás používat, potřebujeme uzavřít smlouvu s nějakou firmou. To byl tedy jeden z důvodů, proč jsme založili společnost, která je schopná takovéto potřeby naplnit, zaručit i nějaké reakční doby a garance (SLA), které jsou v rámci našich grantových projektů poměrně omezené z hlediska finančních kapacitních možností. Ukázalo se to jako výborný krok pro další rozšíření DSW. I když naší prioritou není generování příjmů, i to se postupně zlepšuje a umožňuje to dělat okolo DSW více. Tahle kombinace mi přijde skvělá, ale je to samozřejmě spousta práce, času a úsilí.
Vývoj takhle velkého projektu je málokdy procházka růžovým sadem. S jakými výzvami nebo překážkami jste se při vývoji setkali?
Robert Pergl: „Za mě, jako za vedoucího projektu, je největší výzvou zajistit týmu dostatek finančních prostředků, aby mohl pokračovat v práci. To je poměrně velká výzva, narážíme na řadu administrativních omezení v rámci možností veřejné vysoké školy a v rámci grantových projektů. Zatím se k mé velké radosti daří, že s tím nikdo „nešvihl”. Je to i díky Codevence, kde se klukům daří vykrývat tyhle problémy. Na druhou stranu, financování z dlouhodobých grantů poskytuje dobrou stabilitu – aktuální financování z infrastruktury ELIXIR CZ v rámci LM projektu MŠMT je plánováno až do roku 2026. Je to o stálém hledání příležitostí k financování, protože je velice těžké nabídnout platy kompetitivní s průmyslem a běžným pracovním trhem, takže ze strany týmu je opravdu potřeba i velké nadšení.”
Marek Suchánek: „Myslím si, že jednou z největších výzev je určování priorit. Sami máme spoustu nápadů, k tomu nám chodí hodně nápadů z komunity uživatelů nástroje a dostáváme zpětnou vazbu. Vlastně bychom na projektu dokázali pracovat pořád a stále by to nebylo dost. Ani kdybychom nabrali pomocnou sílu. Takže tou výzvou je určit si, co budeme dělat pro další verzi, co budeme zlepšovat pro komunitu nyní, co posuneme na příště.”
Vojtěch Knaisl: „Když jsme tvořili aplikaci, naše filosofie byla vytvořit ji co nejrobustnější, aby šla přizpůsobovat. Jenže někdy je těžké určit hranici mezi tím, co udělat ještě obecněji a abstraktněji tak, aby to šlo použít i na něco dalšího. Člověk si musí dát pozor, aby na té věci nestrávil moc času, který třeba už ani nemá pro daný úkol vyhrazený. Dále je to tvorba kódu tak, aby byl udržitelný i za dva roky, protože kód píšeme s vědomím toho, že ho budeme spravovat delší dobu.”
Jan Slifka: „Každý měsíc vydáváme novou verzi a nemáme plně pod kontrolou všechny instance, které jsou používány. Spousta lidí, co nástroj provozuje sama, v tom má už nějaká data a pracují s tím dlouho. Vyvstává z toho výzva, že často chceme předělat nějakou funkcionalitu nebo přidat něco nového, ale musíme pracovat s tím, že někdo v tom už má rozdělanou práci, takže musíme zajistit, aby o tu práci nepřišel. Často něco nemůžeme předělat tak, jak bychom chtěli, protože už by to nebylo zpětně kompatibilní. Pak musíme vymýšlet komplikovanější řešení nebo způsoby, jak přenést stávající funkce do novější verze, abychom zachovali vše, co tam lidé vytvořili.”
Jak se k vám může připojit běžný student FITu? Je něco, co byste chtěl vzkázat budoucím zájemcům buď přímo o váš nebo nějaký podobný projekt?
Robert Pergl: „Ta cesta je velice jednoduchá. Jak Marek zmiňoval, máme tu Centrum pro konceptuální modelování a implementace, což je výzkumná skupina v rámci Katedry softwarového inženýrství. Tato skupina sdružuje jednak akademické pracovníky, ale také celou řadu studentů. Stát se jejím členem je snadné, stačí s námi začít spolupracovat jakýmkoliv způsobem, většinou studenti začínají prostřednictvím svých bakalářských prací nebo navazujících diplomových prací, a pak případně Ph. D. studia, což byla cesta většiny našeho týmu. Vznikají ale i zajímavé semestrální práce v rámci předmětů, které CCMi učí, jako jsou Konceptuální modelování, Základy procesního inženýrství. Marek učí Aplikované funkcionální programování, kde mají studenti možnost se naučit jazyky Haskell a Elm, o kterých kluci nadšeně mluvili. Tento projekt není jediný, který máme v rámci CCMi, dále je významný například projekt OpenPonk, což je platforma pro konceptuální modelování. Postupně vznikají i další projekty a v zásadě všechny mají společné to, že se snažíme, aby to studenty bavilo mohli se rozvíjet tím směrem, kterým chtějí, ať už je to do technologií nebo směrem do dovedností konceptuálního modelování a ontologií. Náš tým je vlastně taková parta kamarádů a velice příjemné prostředí. Kdokoliv má chuť se něco nového naučit a zkusit si, věnovat tomu čas a nadšení, je u nás vítán.”
Články o dalších projektech CCMi:
Je libo marketingová data? Nakupte je v DATArohlíku – FIT ČVUT (cvut.cz)
Související články:
Tým z FIT ČVUT stojí za světoznámým nástrojem pro plánování správy dat
Umíme spravovat obrovské množství nevyužitých dat z výzkumů – FIT ČVUT (cvut.cz)
Vyvíjíme jedinečný portál usnadňující práci s daty – FIT ČVUT (cvut.cz)
Foto:
[1] https://ds-wizard.org/dsw-story