Razvoj slobodnog softvera otvorenog koda kao znanstvenoistraživački poduhvat -- motivacija, izvedba i utjecaj - GASERI


Open Science Café



Onion Details



Page Clicks: 0

First Seen: 03/15/2024

Last Indexed: 10/23/2024

Domain Index Total: 397



Onion Content



Preskoči na sadržaj Razvoj slobodnog softvera otvorenog koda kao znanstvenoistraživački poduhvat - motivacija, izvedba i utjecaj Vedran Miletic , HPC application expert, MPCDF, MPG; docent i voditelj grupe (na dopustu), FIDIT, UniRi Centar za otvorenu znanost , Open Science Café , 26. lipnja 2024. Dr. Vedran Miletic doktorat, FER; razvoj simulatora telekomunikacijske mreže ns-3 postdok, Heidelberški institut za teorijske studije ( Heidelberg Institute for Theoretical Studies , HITS); razvoj simulatora molekulske dinamike GROMACS pomoć u pripremi za intervju: pok. izv. prof. dr. sc. Željko Svedružić viši predavač, UniRi; razvoj softvera za predviđanje pristajanja malenih molekula na proteine RxDock , RxTx Research docent i voditelj grupe, UniRi / HPC application expert, Računarsko i podatkovno postrojenje Max Plancka ( Max Planck Computing and Data Facility , MPCDF); razvoj simulatora molekulske dinamike GROMACS van fakulteta: Udruga Penkala ( Radionica: Izradite svoj web u 4 sata! ), Riječka podružnica Hrvatske udruge Linux korisnika i dr. "Je li razvoj softvera za mene ili moju grupu? To je više za informatičare." izv. prof. dr. sc. Željko Svedružić (BioTech): razvoj alata za kvantnu kemiju CP2K prof. dr. sc. Nataša Hoić-Božić , izv. prof. dr. sc. Martina Holenko Dlab (FIDIT); doc. dr. sc. Jasminka Mezak (UFRi): razvoj sustava preporučivanja za računalom podržano učenje ELARS Petra Mrša , Dijana Protić (APURi): razvoj platforme za agregaciju digitalnih audiovizualnih umjetničkih djela CubeCommons brojne druge suradnje manjeg opsega: izv. prof. dr. sc. Kristijan Lenac (RiTeh), doc. dr. sc. Benedikt Perak (FFRi) Sadržaj predavanja Vlasnički i slobodni softver Znanstveni softver Licence znanstvenog softvera: komercijalne, akademske, slobodne/otvorene Motivacija, izvedba i utjecaj Zaključak i idući koraci Pogled u povijest u počecima softvera: otvoren kao i formule u fizici ili matematici komercijalizacija: prodaja hardvera i softvera u paketu kao Apple macOS danas nastanak i grananje Unixa npr. grafika samo SGI Berkeley Software Distribution (BSD) Microsoftova vizija: Windowsi kao univerzalno sučelje između različitog hardvera i različitog softvera Slobodni softver i otvoreni kod softver koji možete prilagođavati svojim potrebama i dijeliti prilagođene verzije (!= besplatan softver) slično kao znanstvene rezultate Richard M. Stallman radi u MIT AI Labu; priča o printeru 1983. osniva projekt GNU , kratica za GNU's Not Unix (GNU zaista nije Unix jer je neovisno razvijen kao slobodni softver, a Unix je neslobodni softver) 1985. osniva Free Software Foundation (FSF) kako bi financirao razvoj slobodnog softvera Netscape/Mozilla 1998., preteča Firefoxa otvoreni kod (engl. open source ) Linus Torvalds, autor Linuxa I often compare open source to science. To where science took this whole notion of developing ideas in the open and improving on other peoples' ideas and making it into what science is today and the incredible advances that we have had. And I compare that to witchcraft and alchemy, where openness was something you didn't do. Video: Truth Happens Remix Koliko vrijedi slobodni softver otvorenog koda? 2018. godine Microsoft je dao 7,5 milijardi američkih dolara kako bi preuzeo GitHub , najveću svjetsku platformu za razvoj i dijeljenje otvorenog koda ~= Facebook/Instagram/TikTok za programere zbog toga danas može ponuditi umjetnu inteligenciju Copilot koja pomaže programerima u razvoju softvera kroz Archive Program radi na očuvanju otvorenog koda za buduće generacije godinu kasnije IBM je za 34 milijarde dolara kupio Red Hat , tada vodeću kompaniju za razvoj slobodnog operacijskog sustava za poslovne korisnike temeljenog na jezgri Linux financijske institucije, zdravstvo, superračunala i dr. Mentimeter: Što je za vas znanstveni softver? menti.com i kod 1522 0077 Znanstveni softver vrsta izvršnog softvera (kao web preglednik ili kasa u Konzumu) razvija se kako bi riješio neki problem u nekoj grani znanosti automatizacija repetitivnih postupaka roboti u stvarnom svijetu obrada podataka u računalu modeliranje i simulacija stvarnih sustava u računalu može se dijeliti među znanstvenicima kao znanstveni rezultati ili komercijalizirati Licence znanstvenog softvera komercijalne licence deseci različitih modela uvjeta i obračuna troškova (proporcionalno veličini superračunala, broju ljudi u grupi, broju eksperimenata/simulacija na godinu, ...) akademske licence besplatno ili simbolično niska cijena za nekomercijalno korištenje u akademske istraživačke i nastavne svrhe kompetitivna cijena za komercijalno korištenje u industriji slobodne, odnosno otvorene licence Slobodne, odnosno otvorene licence znanstvenog softvera copyleft (~= zahtijevaju dijeljenje pod istim uvjetima) GNU Affero General Public License (AGPL) GNU General Public License (GPL) GNU Lesser General Public License (LGPL) Mozilla Public License (MPL) ne-copyleft Apache License MIT License BSD Licenses : najpopularnija Simplified BSD (FreeBSD) License Motivacija: Hrvatska je periferija zapadnog prostora znanosti realnost je da su Kina, Rusija, Iran i s njima povezane manje države van zapadnog prostora znanosti nažalost je sve izraženija tendencija da objavljuju kod sebe na svom jeziku kaskamo u usporedbi sa zapadnijim državama: Nature metrike, ARWU, QS, THE, ... razlozi su dobro poznati: financiranje, organizacija, povijesni razlozi (prof. Ivan Đikić, prof. Gordan Lauc i brojni drugi) kroz razvoj znanstvenog softvera moguće je jače se povezati sa zapadnim kolegama i manje ovisiti o financiranju od strane MZO RH (HrZZ) Motivacija: softver kao digitalni robot automatizacija repetitivnih radnji u stvarnom svijetu -> robot automatizacija repetitivne obrade podataka -> softver naravno, softver može i više od toga (!) Motivacija: software is eating the world softver oko nas: pametni telefoni, televizije, auti, kućanski aparati, ... modeliranje i simulacije umjesto teško dostupnih, sporih ili skupih eksperimenata u procesu istraživanja većina objavljenih radova kombinira eksperimentalne i simulacijske metode, prilagođava ih po potrebi Motivacija: stajanje na ramenima divova if I have seen further [than others], it is by standing on the shoulders of giants. - Isaac Newton ~= daljnji razvoj postojećih (slobodnih) znanstvenih softvera slobodni softver je zbog toga posebno prikladan za razvoj znanstvenog softvera Izvedba: osnovne potrepštine problem -> postupak rješavanja programski jezik: Python , Julia , R , Perl ; C++ , C , Fortran Python je danas lingua franca gotove biblioteke treće strane koje se mogu iskoristiti su lakše za pronaći u popularnijim programskim jezicima razvojno okruženje: Microsoft Visual Studio (VS) Code, JetBrains PyCharm ili sl. Izvedba: odnos programera i korisnika softvera korisnik ima domensko znanje => problem, potreba programer ima tehničko znanje => razvoj, rješenje ista osoba može biti i korisnik i programer: jezici kao Python drastično su smanjili razinu potrebnih znanja za započeti razvoj softvera zajedno ulažu vrijeme i trud => softver usklađen s potrebama Izvedba: alati za suradnički razvoj softvera platforme GitHub i GitLab omogućuju čuvanje promjena i dijeljenje razvijenog softvera: softver može steći zvjezdice ~= lajkovi na Facebooku, Instagramu i TikToku automatsko testiranje kod dodavanja promjena mogućnost praćenja prijavljenih problema, planova razvoja, ... Izvedba: imamo li dovoljno računalnog hardvera? za početak je svako moderno računalo (do ~10 godina starosti) dovoljno dobro idući korak: Bura i Supek kad domaća supperračunala postanu premala: The European High Performance Computing Joint Undertaking (EuroHPC JU) alternativa: računala u oblaku ( Amazon Web Services , Google Cloud Platform , Microsoft Azure ) Treba li razvijati softver u skladu sa svojim znanstveno-istraživačkim potrebama? Ako već postoji gotov, vjerojatno ne iz znanstvene perspektive, upitan doprinos iz praktične perspektive, gubitak vremena i pogrešno uloženi trud Ako postoji sličan ("skoro gotov"), bolje je doraditi uključivanje u razvoj postaje "penjanje na ramena divova" odlična prilika za povezivanje i suradnju sa znanstvenicima koji razvijaju i koriste taj softver Ako ne postoji, da (anegdotalno) znanstvenici u HR općenito koriste bitno manje automatizacije repetitivnih radnji u procesu istraživanja u odnosu na znanstvenike u zapadnijim državama odabrati jezik i licencu, iskoristiti što više gotovih biblioteka treće strane moguće je uključiti suradnike i podijeliti posao (i zasluge) Utjecaj: javno dostupne metrike softveri se distribuiraju putem različitih repozitorija, npr. conda-forge , PyPI imaju javne metrike broja preuzimanja GitHub/GitLab zvjezdice -> kao lajkovi na društvenim mrežama, pomažu rangiranju u pretragama arhiva verzija softvera na Zenodu pomaže nalažljivosti softvera povezanim s radovima ima javne metrike broja pogleda može se citirati pomoću DOI Utjecaj: vidljivost na tražilicama dokumentacija (ili web sjedište) znanstvenog softvera navodi autore, grupe i sveučilišta te može imati poveznice na njihova web sjedišta rast posjećenosti dokumentacije i rast broja poveznica na nju utječe na rast važnosti web sjedišta autora, grupa i sveučilišta spontani nalaznici mogu doprinijeti softveru i postaju potencijalni suradnici u znanstvenim projektima Utjecaj: objavljeni radovi i citati u mnogim područjima moguće je objaviti znanstveni rad u časopisu koji opisuje razvijeni znanstveni softver ponekad bude dio rada koji opisuje istraživanje u kojem je taj softver prvi put iskorišten korisnici rado citiraju softver koji koriste iz zahvalnosti što im je besplatno dostupan i što ga mogu prilagoditi svojim potrebama rad koji opisuje softver može lako imati 10x ili 100x više citata od prosječnog rada neke grupe Uspješni primjeri GROMACS , OpenMM samo naš tutorial za GROMACS ima više od 10 000 pogleda mjesečno PyMOL , VIAMD PLUMED Open FOAM NWChem Gephi Orange PyTorch Promjene u pravnom okviru akademske zajednice u akademskoj zajednici u UK, uz mjesta doktoranda, predavača, profesora i dr., već više od 10 godina postoji radno mjesto inženjer znanstvenog softvera (engl. research software engineer , RSE) u DE/FR se ljude zapošljava na radna mjesta za poslijedoktorande, istraživače i znanstvenike koji su članovi osoblja, ali nisu voditelji grupa kako RH slijedi zapadne trendove, realno je očekivati da će se pravni okvir na neki način kretati u tom smjeru Zaključak i idući koraci grupe koje razvijaju znanstveni softver često surađuju i s industrijom grupe koje razvijaju znanstveni slobodni softver otvorenog koda često budu jake i međunarodno poznate, iako nisu nužno uvijek dio najjačih sveučilišta mogućnost za pozicioniranje grupa s hrvatskih sveučilišta (pa i UniRi) danas je razvoj znanstvenog softvera istovremeno kompetitivan i kolabora...