Softvér s otvoreným zdrojovým kódom
Softvér s otvoreným zdrojovým kódom alebo open source softvér
Softvér (počítačový program – postupnosť príkazov uchovávaná v pamäti počítača, ktorá definuje spôsob, akým chceme, aby počítač spracovával dáta) patrí k základným kameňom veku informácií, umožnil zautomatizovať zložité procesy a urýchliť prácu s veľkým množstvom údajov. Dnes už si bez softvéru nedokážeme predstaviť fungovanie výskumu a vedecký pokrok, ani hnutie otvorenej vedy.
Ak je softvér otvorený, prináša svojím používateľom, tvorcom, ich inštitúciám aj celej spoločnosti viacero výhod:
- Ekonomická výhoda: otvorený softvér možno stiahnuť a používať bezplatne (hoci náklady môže vyžadovať jeho podpora alebo prispôsobenie);
- Prispôsobivosť: otvorený softvér možno vďaka permisívnym licenciám meniť podľa potrieb používateľa;
- Sloboda;
- Pedagogická výhoda – digitálna gramotnosť: ak je softvér otvorený, má väčší vzdelávací potenciál (nielen v školách). Z uzavretej „čiernej skrinky“ sa učiť nedá.
19. storočie
Korene softvéru siahajú do 19. storočia (Charles Babbage – analytický stroj, Ada Lovelace – prvý program). Základy teórie softvéru položil v 20. storočí Alan Turing.
20. storočie
V 40-tych rokoch 20-teho storočia sa programy zadávali do počítačov fyzickým prepájaním alebo zadávaním inštrukcií pomocou sérií diernych štítkov (náročný proces, náchylnosť ku chybám – vznik programovacích jazykov).
V 50-tych a 60-tych rokoch sa softvér dodával s hardvérom bez zvláštnych poplatkov a zdrojový kód (forma softvéru čitateľná človekom) bol otvorený – akademický sektor sa podieľal na oprave chýb a pridával vylepšenia (hacking culture).
S rozvojom veľkých operačných systémov však čoraz menej producentov dovoľovalo používateľom vidieť a meniť operačný softvér a napokon ho modifikáciám uzavreli (stále sa však zdieľali utility a pridané funkcie).
V 70-tych rokoch proti nedostupnosti zdrojového kódu vystúpil Richard Stallman (MIT Artificial Intelligence Lab). Spúšťačom, vďaka ktorému si uvedomil dôležitosť prístupných zdrojových kódov, bola tlačiareň na jeho pracovisku, ktorá sa často zasekávala. Stallman zmenil zdrojový kód, aby pri problémoch dostali členovia laboratória správu „choďte opraviť tlačiareň“. Keď konečne dostali novú tlačiareň, zdrojový kód už nebol prístupný. Stallman oň žiadal, no odmietli ho. Napokon (nie len z tohto dôvodu) odišiel zo zamestnania a vyvinul operačný systém GNU (1983), ktorý bol plne otvorený. Založil Free Software Foundation a v roku 1985 publikoval licenciu General Public Licence (na princípe copyleft – používateľ môže softvér prezerať, kopírovať, meniť a šíriť, ale odvodené diela môže zverejniť opäť len pod identickou licenciou), ktorá podnietila vlnu tvorby otvoreného softvéru. Na týchto základoch vzniklo hnutie open-source.
Začiatky jeho rozvoja však neboli pre bežných používateľov informačných technológií príliš viditeľné, pretože v 80-tych a 90-tych rokoch veľké spoločnosti urobili z proprietárneho (komerčného, uzavretého) softvéru štandard.
Veľký významný krok pre otvorený softvér urobil v roku Tim Bernes-Lee s technológiou world wide web (html, url, http…). V roku 1991 pozval verejnosť spolupracovať na projekte www. Svoj nápad dal k dispozícii svetu bez patentu či poplatkov, aby uľahčil jeho ďalší vývoj – a rýchly rozvoj internetu mu dal za pravdu.
V roku 1991 Linus Torvalds vyvinul operačný systém Linux (využil viaceré prvky Stallmanovho GNU) a v roku 1992 ho zverejnil s licenciou GPL. Linux získal obľubu vďaka prispôsobivosti. Neskôr (na prelome tisícročí) ho prevzali aj veľké spoločnosti (NASA, Dell, IBM). Má najvyššiu rýchlosť vývoja softvéru – komunita k nemu pridáva až 10 000 riadkov kódu denne.
Ďalšími príkladmi úspešného otvoreného softvéru sú MySQL (databázy), jazyk Perl, alebo webový server Apache.
21. storočie
Komerčný sektor si po roku 2000 postupne uvedomil výhody open source softvéru, ktorý umožňuje podnikateľom rýchlo a s malým množstvom námahy vyvíjať nové produkty (napríklad skombinovaním otvorených prvkov). Spôsob práce open-source sa v praxi ukázal ako výhodnejší.
Otvorený softvér tiež pomáha predchádzať situáciám typu vendor lock-in, čo má význam najmä pre organizácie hospodáriace s verejnými financiami (v duchu iniciatívy Public Money, Public Code, https://publiccode.eu/en/ – keď je vývoj softvéru financovaný z verejných zdrojov, mal by aj zdrojový kód byť prístupný, aby pri inštitúcia nebola pri ďalšom vývoji a úpravách softvéru závislá iba na jednej spoločnosti).
Hnutie otvoreného softvéru inšpirovalo aj vývoj v oblasti otvorenej vedy. Keď sa z krízy seriálových publikácií zrodilo hnutie otvoreného prístupu, mohlo už stavať na myšlienkových základoch, ktoré položil Richard Stallman a hnutie otvoreného softvéru.
Situáciu pri vzniku oboch hnutí spájali spoločné znaky:
- snaha komerčných spoločností obmedziť a spoplatniť prístup k hodnotám, ktoré boli spoluvytvorené s akademickým sektorom (zdrojové kódy, vedecké publikácie),
- vyhradiť si práva naň reštriktívnymi licenciami,
- závislosť, ktorú je ťažké prekonať – komerčné subjekty sa dostávajú do pozície moci, môžu akademickým partnerom diktovať nenáležite vysoké ceny a klesá ich snaha zvyšovať kvalitu služieb / prispôsobovať sa potrebám zákazníkov,
- akademický sektor sa začína voči tejto nerovnováhe ohradzovať (softvér: 1985, GNU Manifesto Richarda Stallamana, vedecké publikovanie: 1994, Subversive proposal Stevana Harnada, 2002, Budapeštianska iniciatíva za otvorený prístup a ďalšie),
- Spoločný menovateľ: Právo verejnosti na prístup k výsledkom, ktoré vznikajú z verejných zdrojov,
- nové licencie vytvorili právny rámec pre otvorené zdieľanie (softvér: 1985, GPL – Richard Stallman, publikovanie: 2002, licencie Creative Commons – Lawrense Lessig, Hal Abelson, Eric Eldred).
Okrem ideovej inšpirácie poskytlo hnutie otvoreného softvéru vznikajúcemu hnutiu otvorenej vedy aj cenné nástroje, ktoré pomohli prevádzkovať novú infraštruktúru a sprístupnili postupy otvorenej vedy celému svetu. Príkladmi sú softvér GNU EPrints pre inštitucionálne repozitáre, alebo systémy, ktoré vznikli od roku 1998 v rámci Public Knowledge Project (John Willinsky, Univerzita v Britskej Kolumbii, Vancouver, Kanada): Open Journal System na správu otvorených vedeckých časopisov, Open Monograph Press na vydávanie kníh, Open Preprint Systems na zdieľanie preprintov a ďalšie.
Inšpiráciou z oblasti otvorených dát je zavedenie princípov FAIR (princípy efektívneho a zodpovedného manažmentu výskumných dát, sformulované v roku 2016, na základe ktorých by dáta mali byť: Findable – vyhľadateľné, Accessible – dostupné, Interoperable – interoperabilné a Reusable – opätovne využiteľné) aj do oblasti výskumného softvéru. Pracovná skupina FAIR for Research Software (FAIR4RS) v roku 2022 sformulovala odporúčania (Barker et al. 2022, dostupné na: https://doi.org/10.1038/s41597-022-01710-x).
F: Softvér a s ním spojené metadáta môžu ľahko nájsť ľudia aj stroje.
F1. Softvéru pridelíme globálne jedinečný trvalý identifikátor.
F1.1. Komponenty softvéru, ktoré predstavujú úrovne granularity, dostanú vlastné jedinečné identifikátory.
F1.2. Rôzne verzie softvéru dostanú vlastné jedinečné identifikátory.
F2. Softvér je opísaný prostredníctvom bohatých metadát.
F3. Metadáta jasne a explicitne obsahujú identifikátor softvéru, ktorý opisujú.
F4. Metadáta spĺňajú princípy FAIR, dajú sa prehľadávať a indexovať.
A: Softvér a jeho metadáta možno získať pomocou štandardných protokolov.
A1. Softvér je možné vyhľadať podľa jeho identifikátora pomocou štandardizovaného komunikačného protokolu.
A1.1. Protokol je otvorený, bezplatný/slobodný a univerzálne uplatniteľný.
A1.2. Protokol umožňuje postupy overovania a autorizácie, ak je to potrebné.
A2. Metadáta sú prístupné, dokonca aj keď už softvér nie je dostupný.
I: Softvér spolupracuje (je interoperabilný) s inými softvérmi výmenou dát a/alebo metadát, a/alebo prostredníctvo interakcie cez aplikačné programové rozhrania (application programming interfaces, APIs), opísané prostredníctvom štandardov.
I1. Softvér zapisuje, číta a vymieňa si dáta spôsobom, ktorý spĺňa štandardy komunity relevantné pre danú oblasť.
I2. Softvér obsahuje kvalifikované odkazy na iné objekty.
R: Softvér je použiteľný (môže sa vykonať) a zároveň opätovne použiteľný (je možné ho pochopiť, pozmeniť, stavať na ňom, alebo ho včleniť do iného softvéru).
R1. Softvér je opísaný dostatočným množstvom presných a relevantných atribútov.
R1.1. Softvér má jasnú a dostupnú licenciu.
R1.2. Softvér je spojený s podrobnými informáciami o jeho pôvode.
R2. Softvér obsahuje kvalifikované odkazy na iný softvér.
R3. Softvér spĺňa štandardy komunity relevantné pre svoju oblasť.
Chcete vedieť viac?
Webinár
Viac o otvorenom softvéri sa môžete dozvedieť zo záznamu webinára CVTI SR zo 4. 6. 2024: Otvorený softvér pre vedu (https://video.nti.sk/rec/?10824349SBG4S0258).
Príručka
V roku 2024 vydalo CVTI SR preklad príručky Otvorená veda: Zdrojový kód a softvér, z cyklu Cesta k otvorenej vede (dostupná bezplatne v repozitári Zenodo: https://zenodo.org/records/11401532), ktorá stručne vysvetľuje základy problematiky otvoreného softvéru aj pre študentov a vedcov mimo odboru informačných technológií.
Vzdelávací program LPI Open Source Essentials
Hlbšie do tejto témy môžete pomocou materiálov pre certifikačnú skúšku LPI Open Source Essentials, ktorá pokrýva princípy licencovania, projektového manažmentu a softvérového inžinierstva (v angličtine).
Vzdelávací program: https://www.lpi.org/articles/lpi-launches-the-open-source-essentials-education-program/
Sylabus: https://wiki.lpi.org/wiki/Open_Source_Essentials_Objectives_V1.0
Certifikácia: https://www.lpi.org/our-certifications/open-source-essentials/.
Slovensko
Na Slovensku tiež existuje Spoločnosť pre otvorené informačné technológie (https://www.soit.sk/), ktorá združuje záujemcov o tvorbu a používanie otvoreného softvéru, snaží sa v poradných orgánoch štátnej správy presadiť otvorené riešenia a organizuje konferenciu Otvorený softvér vo vzdelávaní, výskume a IT riešeniach (http://ossconf.soit.sk/).
Zapojte sa
Kontaktná kancelária pre otvorenú vedu CVTI SR sa venuje problematike otvoreného softvéru v rámci implementácie Národnej stratégie pre otvorenú vedu, Strategická oblasť 6 – Podpora využívania otvorených IT nástrojov a existujúcich otvorených dát. V rámci pripravovaného monitoringu otvorenej vedy plánujeme zmapovať využívanie open-source softvéru na Slovensku a hľadať cesty, ako ho podporiť. Ak by ste s nami chceli na tejto téme spolupracovať, prosím, kontaktujte nás na adrese otvorenaveda@cvtisr.sk.
Krátky dotazník
Stále zbierame dáta o softvéri s otvoreným zdrojovým kódom v slovenskom akademickom prostredí, aby sme zistili, nakoľko je u nás otvorený softvér známy a používaný a vytvorili zoznam odporúčaných nástrojov, ktorý zverejníme na stránkach otvorenej vedy. Budeme vám vďační, ak si nájdete 5 minút a vyplníte náš krátky dotazník: https://tinyurl.com/ynrhje9m.
Predbežné výsledky prieskumu:
- Pojem open source softvér je v slovenskom akademickom prostredí pomerne dobre známy – len 8 % respondentov sa s pojmom open source softvér zatiaľ nestretlo. V slovenskom školstve však stále ostáva veľký priestor na lepšie šírenie povedomia o otvorenom softvéri. Ako napísala jedna z respondentiek, študentka farmácie: „Nevedela som na čo to je ani že to existuje, preto som sa o to nezaujímala.“
- 17 % respondentov sa s pojmom open source softvér stretlo ale nepoužíva ho.
- 58 % otvorený softvér používa pri vyučovaní alebo vo výskume.
- Otvorený softvér nepoužívajú len vedci a pedagógovia v odboroch informačných technológií a prírodných vied, ale aj v biomedicínskych, spoločenských a humanitných vedách.
- Dôvody používania otvoreného softvéru môžu byť ekonomické, alebo praktické (vyhovuje potrebám používateľov lepšie ako komerčný softvér, je prispôsobiteľný).
- Ak respondenti používajú komerčný softvér, je to zväčša preto, že nemajú na výber (napr. ide o softvér výrobcu prístroja, s ktorým pracujú, alebo im na výber nedáva politika inštitúcie. Podľa jednej z respondentiek, knihovníčky z oblasti ekonómie, je dôvodom „najmä nariadenie zamestnávateľa (povinný kancelársky balík, obmedzená možnosť inštalácie, obmedzenia na používanie súkromných zariadení)“. Vedecký pracovník z odboru ekonómie odpovedal priamo: „Škola ma núti používať Microsoft.“), iba v niektorých prípadoch ide o nedostatok času preskúmavať alternatívy alebo o to, že komerčný softvér vyhovuje potrebám respondenta lepšie.
- Niektorí vedeckí pracovníci si však vybrať môžu, ako naznačuje odpoveď vedeckého pracovníka v odbore informatiky: „Ja už ani iný ako OSS softvér nepoužívam. Nemám na to vlastne žiadny dôvod. Všetko, čo robím, od programovania, cez 2d printové veci, strihanie videa a audia – všetko robím len pomocou OSS.“
- Vedecký pracovník v odbore umelá inteligencia: „Som za slobodnú a otvorenú vedu, aby sa nástroje aj výsledky slobodne zdieľali medzi vedcami. Skúsenosť mi hovorí, že takýto postoj rozširuje a prehlbuje pokrok vedeckého poznania vo svete.“
Tento zoznam sme vytvorili na základe dotazníka a podnetov slovenských vedeckých pracovníkov a pedagógov. Dúfame, že v ňom nájdete inšpiráciu na používanie otvoreného softvéru aj vo svojej inštitúcii. Ak by ste v tabuľke našli chybu alebo ak používate open source softvérový nástroj, ktorý v zozname ešte nie je uvedený, dajte nám, prosím vedieť na adresu otvorenaveda@cvtisr.sk.
Základný softvér (operačný systém, programovacie jazyky, databázy) – tab 1.
Aplikačný softvér – tab. 2
Obrázky – zdroje
Tabuľka:“Proprietary and Open Source Software“ by sandraschoen is licensed under CC BY 2.0. Flickr.
GNU logo:https://commons.wikimedia.org/wiki/File:The_GNU_logo.png
WWW-LetsShare logo:Fakefunk, CC BY-SA 4.0, via Wikimedia Commons
Linux logo:Larry Ewing <lewing@isc.tamu.edu>, Attribution, via Wikimedia Commons
Open Science-UNESCO:UNESCO.org, CC BY-SA 4.0, via Wikimedia Commons
Ostatné obrázky sú printscreeny z webových stránok alebo zdrojov CVTI SR.