V eni najbolj citiranih znanstvenih revij na svetu
Nature Methods so pred nedavnim objavili članek o odprtokodni znanstveni knjižnici SciPy, ki jo je skoraj dvajset let razvijalo več kot 600 raziskovalcev, med njimi prof. dr. Janko Slavič, eden mlajših rednih profesorjev na ljubljanski fakulteti za strojništvo, ki je tudi soavtor članka, sicer pa velik zagovornik odprte znanosti.
-
Odprtokodni paket SciPy je pripomogel k napredku v raziskavah velikih podatkov.
-
Uporabili so ga tudi pri slikanju črne luknje M87 in identifikaciji gravitacijskih valov.
-
Paket ima več kot 20 milijonov prenosov na leto.
Knjižnica ima velikanski posreden znanstveni prispevek, saj omogoča in pospešuje raziskovalno delo več milijonov uporabnikov z vseh znanstvenih področij. Raziskovalci so jo uporabili pri študiji slikanja črne luknje M87, pri identifikaciji gravitacijskih valov in še v nekaterih pomembnih raziskavah v zadnjem času.
Zanimivost članka
SciPy 1.0: temeljni algoritmi za znanstveno računanje v Pythonu (SciPy 1.0: fundamental algorithms for scientific computing in Python) je, da to ni klasičen znanstveni prispevek, temveč razkriva knjižnico, nekatere pomembne tehnične podrobnosti, predvsem pa principe, ki so vodili skupnost raziskovalcev v usklajen in vključujoč razvoj paketa SciPy od leta 2001 do danes.
Pri pripravi članka je sodelovalo 111 avtorjev, med njimi Janko Slavič, ki ob pedagoškem in raziskovalnem delu svoja prizadevanja usmerja v odprto znanost, fakulteta, na kateri poučuje, pa je tudi vodilna pri razvoju odprte kode v strukturni dinamiki.
![prof. dr. Janko Slavič, fakulteta za strojništvo, Ljubljana, 10. 2. 2020 Foto Voranc Vogel](/media/images/20200401/661898.width-660.jpg)
prof. dr. Janko Slavič, fakulteta za strojništvo, Ljubljana, 10. 2. 2020 Foto Voranc Vogel
Kdo je dr. Janko Slavič
Sogovornik, ki se je s Fulbrightovo štipendijo strokovno usposabljal na univerzi Austin v Teksasu, je redni profesor na Fakulteti za strojništvo Univerze v Ljubljani. Ukvarja se predvsem s strukturno dinamiko, to je raziskovanjem dinamike, vibracij in hrupa. Posveča se tudi programiranju in numeričnim metodam v ekosistemu Python in dejavno sodeluje v numerični knjižnici SciPy. Je član uredniškega odbora znanstvene revije Mechanical Systems and Signal Processing, recenzent v mednarodnih publikacijah, tajnik Likarjevega sklada in predsednik Slovenskega društva za mehaniko. Bil je mentor ali somentor 13 doktorjem znanosti, večina jih je zaposlena v raziskavah in razvoju v slovenskih podjetjih; trenutno mentorira šest doktorandov.
V slogi je moč
Po nekoliko poenostavljeni razlagi se pojem odprta koda nanaša na javno deljenje programske kode, ki pa ima lahko več stopenj, od javne objave, javne diskusije in sprejemanja sprememb, odprtega in javnega razvoja, do odprtega in javnega vzdrževanja kode. »Raziskovalci različnih znanstvenih ved se tako povežemo na bazičnih numeričnih orodjih, ki jih vsi uporabljamo za pripravo znanstvenih člankov, da ni treba vedno začeti z ničle. Na skupni osnovi smo učinkovitejši, boljši in se bolj posvetimo lastnemu znanstvenemu prispevku,« pojasnjuje sogovornik, ki pa dodaja, da je treba pojem odprte kode razlikovati od širše opredelitve odprte znanosti. Zadnja se sicer nanaša na dostop do znanstvenih objav in s tem povezanih stroškov.
Kot pravi, je »orjaška numerična knjižnica« SciPy pomembna, ker se lahko uporablja na tako rekoč vseh znanstvenih področjih, kot so strojništvo, fizika, računalništvo, biologija, kemija, medicina, astrofizika, jezikoslovje, ekonomija, geografija … Na odprti kodi sloni tudi velikanska količina znanstvenih objav in industrijskih oziroma komercialnih aplikacij.
Celoten ekosistem SciPy je v zadnjem desetletju pripomogel k bistvenemu napredku v raziskavah velikih podatkov in strojnega učenja; 47 odstotkov projektov na temo strojnega učenja na gostiteljskem servisu github.com prav tako temelji na SciPy.
Vztrajnost na etični pogon
Po sogovornikovih besedah odprta koda v minulih letih ni bila deležna skoraj nikakršne finančne podpore. Tako je prispevek v glavnem rezultat brezplačnih in prostočasnih prizadevanj raziskovalcev, »kar se danes ne meri z nobeno metriko merjenja znanstvenega dela«. V zadnjem obdobju odprtokodni razvoj sicer pritegne vse več donacij, njegov prispevek k razvoju znanosti pa vrednoti čedalje več raziskovalnih agencij.
»Skoraj dve desetletji, odkar sem dejaven na svojem področju strukturne dinamike, sem naklonjen objavam v odprti kodi in prostemu dostopu. Prepričan sem, da je to najboljši način za smotrno uporabo znanja. Mar ni škoda in potrata časa, da bi na primer v inženirstvu, ki večinoma sloni na raznih numeričnih postopkih, vsak raziskovalec zase razvijal svojo kodo, jo hranil le zase ter tudi sam razvijal njene izboljšave, če lahko zainteresirani strokovnjaki skupaj to opravimo bolje, učinkoviteje in hitreje,« pripoveduje Slavič, ki kot velik zagovornik odprte znanosti že dolgo dejavno prispeva k razvijanju odprtih kod.
Znanstveniki z različnih področij lahko pri takšnem sodelovanju večji del kode razvijajo skupaj, posamezne elemente ali dele, specifične za posamezne domene, pa lahko najbolje dopolni vsak zase. »Pri paketu SciPy se je pokazalo, kako modra je bila odločitev znanstvene skupnosti, da je povezala spontane interese znanstvenikov, ki so prostovoljno nadgrajevali sistem z vključevanjem različnih novih aplikacij in tako dosegli bistveno več, kot lahko naredi posameznik.«
ℹČetrt milijarde za odprto kodo
S kalifornijske univerze v Berkeleyju, kjer močno podpirajo odprto kodo, so pri članku sodelovali trije soavtorji. Tudi zaradi njihovega prispevka je univerza pred kratkim prejela največjo donacijo v zgodovini – 252 milijonov dolarjev. Donacija je anonimna in bo namenjena razvoju podatkovne znanosti.
Sogovornik se je med razvijalce aktivno vključil pred dobrimi šestimi leti. Bistveno manjša skupina je sicer začela razvijati numerično knjižnico v okolju Python že leta 2001, postopoma pa se je neformalna mreža večala, tudi zaradi vse večjega števila uporabnikov. Na največjo numerično znanstveno knjižnico v ekosistemu Python se danes opira več kot sto tisoč repozitorijev kode; paket SciPy uporablja kot osnovno orodje več milijonov uporabnikov, saj ima na leto več kot 20 milijonov prenosov.
Kaj če bi poskusil drugače?
»Tudi sam sem že prej uporabljal paket SciPy in med neko raziskavo ugotovil, da nekega detajla iz procesiranja signalov ne morem uporabiti. To me je spodbudilo, da sem se temu delu kode posvetil bolj poglobljeno, našel boljšo rešitev in v sistemu, ki omogoča tako odprto sodelovanje, predlagal nadgradnjo paketa, ki sem ga prilagodil za potrebe v strukturni dinamiki. Svojo rešitev sem utemeljil in predlagal, kako jo izvesti, kar so sprejeli in me povabili k sodelovanju. Podobno počnejo drugi, če skupnost sprejme novo rešitev, je ta na voljo vsem drugim, za avtorja pa je to že samo po sebi nagrada.«
Dr. Slavič, ki je tudi avtor univerzitetnega učbenika
Programiranje in numerične metode v ekosistemu Pythona, pravi, da so se na fakulteti za strojništvo zaradi razumevanja in podpore vodstva že pred leti lahko posvetili izobraževanju in motiviranju študentov za uporabo tovrstnih orodij, kakršna je praksa v najbolj znanih ameriških institucijah.
»V mojem matičnem laboratoriju za dinamiko strojev in konstrukcij, ki ga vodi prof. dr. Miha Boltežar, sicer odprti kodi ne moremo namenjati osrednje pozornosti, a s poznavanjem in razvijanjem tega sistema smo naše osnovno področje strukturne dinamike razvili tako, da smo prepoznani kot vodilni v svetu. Tako bomo letos na fakulteti že drugič organizirali mednarodno poletno šolo za doktorske študente na temo strukturne dinamike in odprtokodnega razvoja. Sam sem se pred nedavnim udeležil znanstvene konference v Teksasu, kjer sem s sodelavci že drugič zapored organiziral delavnico s področja dinamike in povezav z odprto kodo.«
Strojništvo po poteh računalništva
Kot poudarja sogovornik, je programiranje zanj samo orodje, da je lahko bolj učinkovit in znanstveno odličen pri raziskovanju mehanike. Pedagoško in raziskovalno se ukvarja s strukturno dinamiko, natančneje, z vibracijami in hrupom. Veliko znanstvenega truda s sodelavci usmerjajo v vzgojo kadrov, ki bodo lahko prispevali k slovenski izvozno naravnani industriji. Diplomanti in doktorandi fakultete za strojništvo so namreč iskan kader za razvojne time v velikih slovenskih in tujih podjetjih, kot so Hidria, Gorenje, Iskra Mehanizmi, Domel, Kolektor in Mahle. Nekateri se po končanem študiju uveljavljajo tudi v tujini, pri tem pa je spodbudno, da ohranjajo stike z domačim okoljem.
ℹPoleg strojnikov tudi strojnice
Ljubljanska fakulteta za strojništvo sodi med 200 najboljših strojnih fakultet na svetu. V nekoč skoraj izključno moški svet počasi vstopajo tudi ženske, trenutno jih je med študenti že 7 odstotkov.
»Strojništvo se v novejšem obdobju hitro razvija. Čedalje bolj pomembni so razvoj prilagojenih numeričnih modelov, aplikacije v oblaku, umetna inteligenca, visokozmogljivo računalništvo. Današnji inženirji strojništva potrebujejo veliko znanja in kreativnosti, to bo še bolj veljalo za prihodnje generacije. Če smo v preteklosti veliko govorili o fenomenu Silicijeve doline v računalništvu oziroma elektroniki, se bo lahko v prihodnje nekaj podobnega dogajalo v strojništvu. Na to prihodnost, ki je sicer še polna neznank, se bo treba tudi v izobraževalnem procesu pravočasno dobro pripraviti; še naprej s privabljanjem dobrih, motiviranih dijakov in študentov, ki jim je treba posredovati dobra temeljna znanja. Področje odprte kode je pri tem pomembna dodatna vrednost. Odprta koda odpira brezmejne možnosti razvoja,« je prepričan dr. Janko Slavič.
Komentarji