Oddano: 9. 11. 2010 - Sprejeto: 19. 1. 2011
Strokovni clanek
UDK 004.42:005.921.1(497.4)
Izvlecek
Podjetje ComTrade ima sirok spekter dejavnosti v informacijsko-komunikacijskih tehnologijah; razvija spletne aplikacije, lokalne programe, sistemsko programsko opremo, gonilnike in programsko opremo, vgrajeno v razlicne naprave. Podjetje je pridobilo tudi veliko znanja in prakticnih izkusenj o tehnologijah dolgorocne hrambe podatkov v digitalni obliki. Ta sirok nabor dejavnosti in znanj daje podjetju dobro osnovo, da lahko problem trajnega ohranjanja digitalnih virov osvetli sirse - z vidika trajnega ohranjanja racunalniskega programa, ki je z razliko od ohranjanja digitalnega gradiva - podatkov, dokumentov, tudi multimedijskih zapisov v elektronski obliki, mnogo manj raziskano. Posebej pomembno vprasanje je, kako lahko ohranimo funkcionalnosti, znacilne za racunalniske programe. Prav funkcionalnost, dinamicen odziv na vhode iz okolja, je tista kategorija, v kateri digitalni viri bistveno presegajo klasicne. Prispevek odpira vprasanja, ki so pomembna na zacetku poti trajnega ohranjanja digitalnih virov, z namenom, da bodo uravnotezeno pokriti vsi pomembni vidiki. V prispevku se bomo vprasali, cemú trajna hramba programov, kdo naj jo zagotovi in za koga. Kdaj je potrebno razmisljati o trajni hrambi programa, kaj ohraniti (izvorno kodo, zaslonske slike, dokumentacijo, druzbeni kontekst programa - npr. odzive nanj v medijih, ...), kje in kako? Teoreticno je razprava podprta tudi z idejno zasnovo virtualnega muzeja slovenskega elektronskega bancnistva.
Kljucne besede: racunalniski programi, arhiviranje racunalniskih programov, trajno ohranjanje digitalnih virov
Professional article
UDC 004.42:005.921.1(497.4)
Abstract
Comtrade Ltd. covers a wide range of activities related to information and communication technologies; its deliverables include web applications, locally installed programs, system software, drivers, embedded software (used e.g. in medical devices, auto parts, communication switchboards). Also the extensive knowledge and practical experience about digital long-term preservation technologies have been acquired. This wide spectrum of activities puts us in the position to discuss the often overlooked aspect of the digital preservation - preservation of software programs. There are many resources dedicated to digital preservation of digital data, documents and multimedia records, but not so many about how to preserve the functionalities and features of computer programs. Exactly these functionalities - dynamic response to inputs - render the computer programs rich compared to documents or linear multimedia. The article opens the questions on the beginning of the way to the permanent digital preservation. The purpose is to find a way in the right direction, where all relevant aspects will be covered in proper balance. The following questions are asked: why at all to preserve computer programs permanently, who should do this and for whom, when we should think about permanent program preservation, what should be persevered (such as source code, screenshots, documentation, and social context of the program - e.g. media response to it ...), where and how? To illustrate the theoretic concepts given the idea of virtual national museum of electronic banking is also presented.
Keywords: software preservation, software archiving, digital preservation
1 Uvod
V podjetju ComTrade imamo privilegij, da lahko spoznamo sirok spekter dejavnosti v informacijsko-komunikacijskih tehnologijah. Razvijamo programsko opremo - po narocilu za koncne stranke; za velika IT podjetja, ki resitve prodajajo na trgu koncnim strankam, in tudi samostojno za trg; po narocilu vzpostavljamo tudi resitve tretjih proizvajalcev in jih integriramo v okolje stranke. Nasi izdelki vkljucujejo spletne aplikacije, lokalne programe, sistemsko programsko opremo, gonilnike in programsko opremo, vgrajeno v razlicne naprave (npr. medicinske naprave, avtomobilska elektronika, telefonske centrale). Imamo mocno koncentracijo znanja in prakticnih izkusenj o tehnologijah dolgorocne hrambe podatkov v digitalni obliki. Ukvarjamo se tudi s svetovalno dejavnostjo, med drugim smo Arhivu RS pomagali vzpostaviti metodologijo za akreditirano preverjanje usklajenosti programske opreme v skladu z zakonom, ki ureja varstvo dokumentarnega in arhivskega gradiva v digitalni obliki.
Sirok nabor dejavnosti in znanj daje dobro osnovo, da lahko problem trajnega ohranjanja digitalnih virov osvetlimo sirse - z vidika trajnega ohranjanja racunalniskega programa. Na spletu najdemo stevilne razprave in informacije o ohranjanju digitalnega gradiva - podatke, dokumente, tudi multimedijske zapise v elektronski obliki, mnogo manj pa o tem, kako ohranimo funkcionalnosti, znacilne za racunalniske programe. Prav funkcionalnost, dinamicen odziv na vhode iz okolja, je tista kategorija, v kateri digitalni viri bistveno presegajo klasicne. Zato ne bi bilo posteno, da bi to prezrli.
Prispevek ni namenjen iskanju dokoncnih odgovorov, temvec odpiranju pravih vprasanj na zacetku poti trajnega ohranjanja digitalnih virov. Namrec izredno pomembno je, da se pred zasnovno resitvijo opredelijo teoreticna izhodisca. Posebej nas je zanimalo, cemú trajna hramba programov, kdo naj jo zagotovi in za koga. Kdaj je potrebno razmisljati o trajni hrambi programa, kaj ohraniti (izvorno kodo, zaslonske slike, dokumentacijo, druzbeni kontekst programa - npr. odzive nanj v medijih, ...), kje in kako? Teoreticno razpravo bomo popestrili z idejno zasnovo virtualnega muzeja slovenskega elektronskega bancnistva.
2 Od klasicnih dokumentov prek digitalnih vecpredstavnih vsebin do racunalniskih programov
V »starem svetu«, pred obdobjem vseobsegajoce digitalizacije in informatizacije, je bil odgovor na vprasanje, kako trajno ohraniti vire, tesno povezan z ohranjanjem fizicnih lastnosti vira. Pri digitalno zapisanih virih se je informacija bolj locila od fizicne oblike, slednja le sluzi kot nosilec zapisa »njenemu velicanstvu« informaciji.
2.1 Digitalni viri
Ob vse vecji digitalizaciji v svetu smo se soocili s problematiko dolgorocnega in tudi trajnega ohranjanja virov v digitalni obliki. To vprasanje se dotika tako poslovnih subjektov, javne in drzavne uprave ter posameznikov in druzin, ki bi zeleli karkoli ohraniti za prihodnje rodove. Pomembni dokumenti v digitalni obliki, elektronsko oddane vloge in digitalni posnetki z druzinske kamere ali fotoaparata predstavljajo nekaj tipicnih vrst virov iz prakse, ob katerih se srecamo z vprasanjem, kako jih ohraniti skozi daljse obdobje.
Arhivska stroka je ob podpori sodobne tehnologije do danes ze oblikovala ustrezne dobre prakse, ki jim lahko sledimo pri resevanju vprasanja dolgorocne in trajne hrambe digitalnih virov. Leta 2006 je bil v Sloveniji sprejet tudi Zakon o varstvu dokumentarnega in arhivskega gradiva ter arhivih, ki pravno ureja to podrocje.
2.2 Vecpredstavnost in dinamicne vsebine
Pri virih v fizicni in analogni elektronski obliki je bila moznost dinamicnih vsebin - npr. zvoka in gibljivih slik - v praksi omejena na specificne nosilce in dokaj tesno povezana z njimi (npr. magnetni zapis zvoka ali filma na traku, zapis zvoka na vinilne plosce). Za vire v digitalni obliki je znacilna moznost »proznega« dodajanja vecpredstavnostnih (multimedijskih) vsebin - slik, gibljivih slik, zvocnih zapisov ... Hranimo lahko vse, kar znamo digitalizirati in nato ponovno reproducirati v obliki, ki jo clovek s svojimi cutili lahko zazna.
2.3 Izvirnik je enakovredna reprodukcija
Fizicni nosilec sedaj postavlja le se kolicinske (kvantitativne) omejitve v kapacitete obsega podatkov in hitrosti njihovega prenosa. Kakovost reprodukcije vira pa je odvisna od logicnih pravil, ki dolocajo pomen konkretnih digitalnih podatkov (oblika ali format), in tehnicnih zmoznosti opreme, da vire reproducira ob upostevanju teh logicnih pravil. Pomen izvirnika je zvodenel, saj je vsak vir v digitalni obliki kodiran v skladu s pravili formata svojega zapisa in se ob prikazu reproducira v pojavni obliki, ki jo clovek zazna s cutili.
2.4 Hiperpovezave in nelinearnost
Digitalne oblike virov odpirajo moznosti ustvarjanja t. i. hiperpovezav, ki uporabniku omogocajo vpliv na potek reprodukcije. Npr. uporabnik lahko izbira enega od vec zapisov na medijih ali ob izbiri dolocenega objekta na reprodukciji skoci na drugi zapis (npr. klik na sliko prikaze dodatne informacije o sliki). Vecpredstavne vsebine, ki vsebujejo hiperpovezave, pogosto imenujemo nelinearne, z razliko od linearnih, ki potekajo neodvisno od izbir uporabnikov.
Eden od virov nelinearnosti pri digitalnem viru pa je lahko tudi vkljucevanje dinamicnih podatkov vanje, npr. danasnji datum, ki se vedno nadomesti z aktualno vrednostjo z notranje ure opreme, ali podatek o trenutnih koordinatah (geolokacija), ki se nadomesti z aktualnimi vrednostmi v GPS napravi, ki je sestavni del opreme.
2.5 Nelinearnost in racunalniski programi
Pri vecpredstavnih vsebinah je nelinearnost tipicno omejena na nekaj izbir ali dinamicnih polj, ki pri dolgorocni in trajni hrambi lahko povzrocajo manjse ali vecje nevsecnosti (npr. ne moremo vnaprej predvideti vseh moznih poti poteka).
Pri (netrivialnem) racunalniskem programu pa predstavlja nelinearnost, odzivanje na kompleksnejse vhodne podatke iz okolja, njegovo bistvo. Zato predstavlja trajno ohranjanje racunalniskega programa izziv, ki presega trajno hranjenje vecpredstavnih digitalnih virov, ki so linearni ali vsebujejo zelo omejene elemente nelinearnosti.
Slika 1 kaze hipoteticen racunalniski program in njegove povezave z okoljem:
- Program tece na neki platformi, npr. urejevalnik besedila Microsoft Word tece na prenosnem racunalniku Dell Vostro z operacijskim sistemom Microsoft Windows Vista. Program prek sistemskih klicev komunicira s platformo. Njegovo delovanje je odvisno od delovanja platforme.
- Program prek uporabniskega vmesnika (GUI, CLI) komunicira z uporabnikom (prejema ukaze in prikaze izhod uporabniku). GUI (ang. graphical user interface) je graficni uporabniski vmesnik, kakrsnega npr. poznamo iz programa Microsoft Word, CLI (ang. command line interface) pa je vmesnik z ukazno vrstico, ki je bila npr. znacilna v operacijskem sistemu Microsoft DOS (obstaja pa tudi v sodobnih operacijskih sistemih).
- Nekatere platforme (tipicno npr. v industrijski racunalniski opremi, pa tudi v nekaterih novejsih »pisarniskih« operacijskih sistemih, npr. Microsoft Windows 7, omogocajo zajem podatkov s t. i. senzorjev, vgrajenih ali prikljucenih merilnih naprav (npr. geolokacija z GPS, osvetljenost okolja, temperatura ...), in posredovanje teh podatkov »zainteresiranim« programom.
- Prek aplikacijskega programskega vmesnika - API (ang. application programming interface) lahko racunalniski programi komunicirajo z drugimi programi. Na tak nacin npr. lahko na spletni strani uporabimo Google Maps API (http:/ /code.google.com/intl/sl/apis/maps/index.html) in pridobimo prikaz zemljevidov na spletni strani.
2.6 Vrste racunalniskih programov
Racunalniske programe lahko razvrstimo na razlicne nacine. Tukaj bomo uporabili razvrstitev v nadaljevanju, brez podrobnejsih pojasnil. Namen seznama niti ni celovito nastevanje vrst, temvec zgolj ilustracija, kako so primeri racunalniskih programov lahko razlicni.
- Aplikacijska programska oprema - uporabniski program, ki opravlja eno ali vec funkcionalnosti za uporabnika, npr. Microsoft Word, namescen na racunalniku, za urejanje besedil, Google Gmail (spletna aplikacija) za delo z elektronsko posto, NLB Klik (spletna banka).
- Sistemska programska oprema (operacijski sistem, gonilniki naprav, sistemska orodja ...) - npr. operacijski sistemi Microsoft Windows, Linux in Mac- OS.
- T. i. (ang.) middleware - vmesna programska oprema, ki deluje kot skupni povezovalni sloj vec programskih komponent, ki opravljajo vsaka svojo funckionalnost - npr. Oracle Fusion Middleware.
- Vgradna programska oprema (ang. embedded) - vgrajena v razlicne krmilnike, merilne naprave - npr. za krmiljenje zavornega sistema v avtomobilu.
- Makro-ji v dokumentih - npr. makroprogram, ki poisce in sesteje zadnje vrstice vseh tabel v dokumentu v urejevalniku besedil.
- Relacijska podatkovna baza - npr. Microsoft SQL Server.
2.7 Obseg trajnega ohranjanja
V naslednjem poglavju bomo predstavili razloge trajne hrambe racunalniske programe, pri cemer bomo podrobneje izpostavili le nekaj pristopov. Sicer pa se pristopi razlikujejo glede na to, kaj zelimo ohraniti, npr:
- zaslonske slike, sekvence slik, filmi - videz, zvocni ucinki (ang. "look and feel"),
- tiskani izpisi,
- sporocila o napakah,
- izvrsna koda,
- izvorna koda,
- podatkovni model,
- vsebina podatkovne baze,
- nosilci zapisa za distribucijo programa,
- dokumentacija,
- podatki o okoljih, kjer je bil program uporabljen,
- podatki o razvojnem okolju,
- podatki o napakah in ranljivosti programa,
- zlonamerni programi, ki izkoriscajo ranljivost programa, in
- podatki o zapisih v medijih v povezavi s programom.
2.8 Obstojece iniciative
V svetu se je ze oblikovalo nekaj iniciativ in projektov za trajno ohranjanje racunalniskih programov, npr.:
- Computer History Museum - Software Preservation Group (http:// www.softwarepreservation.org);
- Software Preservation Society (http://www.softpres.org), ki se osredotoca primarno na racunalniske igre;
- The Classic Software Preservation Project (CLASP) (http://www.archive.org/details/ clasp);
- Software Sustainability Institute - Preserving Software (http:// www.software.ac.uk/what%20do%20we%20do/preserving-software);
- Software Preservation Wiki at STFC - e-Science (http://sigsoft.dcc.rl.ac.uk/twiki/ bin/view/Main/WebHome);
- Preserving Access to Digital Information (PADI) - Software Archiving (http:// www.nla.gov.au/padi/topics/412.html).
3 Razlogi za trajno hrambo racunalniskih programov
V splosnem lahko ugotovimo, da je motivacija za trajno hrambo racunalniskih programov v svetu in v Sloveniji precej sibka, saj so morebitne koristi opazne sele na dolgi rok in posredno, dodatno delo in potrebe po virih pa kar obsezni in takojsnji. Vendar menimo, da obstaja vrsta razlogov.
Poslovni razlogi. Iz poslovnih razlogov je program smiselno hraniti, dokler je ta v uporabi in narocnik zanj placuje vzdrzevanje oz. se na drugacen nacin zagotavljajo sredstva za njegovo vzdrzevanje. Ko enkrat ni vec rednih prilivov, vezanih na program, ali stroski njegove hrambe presegajo prilive, prenehajo neposredni poslovni razlogi za hrambo takega programa.
Pravni razlogi. Pravni razlogi obicajno prezivijo poslovne razloge. Dolocena dejanja, povezana s programom, lahko zahtevajo predlozitev racunalniskega programa tudi po tem, ko se ne uporablja vec. Npr. dokazovanje avtorstva ob morebitni tozbi. Vendar bi tudi iz pravnih razlogov tezko upravicili potrebo po trajni hrambi racunalniskega programa.
Tehnicna "kulturna dediscina". Skrb za tehnicno kulturno dediscino bi lahko bil glavni razlog za trajno hrambo dolocenega racunalniskega programa. Npr., ce se danes vprasamo, kateri je bil prvi slovenski racunalniski program, ali znamo poiskati odgovor na to vprasanje? Katera je bila prva slovenska racunalniska igrica? Ali, ce se vrnemo k primeru spletne elektronske banke, katera je bila prva spletna elektronska bancna storitev v Sloveniji? Kdo jo je nudil? Kako je izgledala? Kdaj so sledile naslednje? Kako je potekal njihov razvoj skozi cas? S casom bomo taksne informacije nepovratno izgubili, ce nihce ne bo pristopil k njihovemu sistematicnemu zbiranju in ohranjanju.
Analize in primerjave. Trajno ohranjanje racunalniskega programa lahko v prihodnosti omogoci razlicne analize in primerjave (npr., kako je napredovala hitrost, kaksen je bil razvoj nekega tipa programske opreme, ...), za katere danes ne moremo predvidevati, da nas bodo nekoc zanimale. Nehvalezna plat take hrambe je, da je potrebno ze danes investirati delo in denar v zadeve, ki bodo nekoc morda koristile, ali pa tudi ne. Na drugi strani pa bo racunalniske programe, ki bodo izgubljeni, z razumnimi sredstvi dejansko nemogoce v celoti rekonstruirati.
Zainteresirane stranke. Poglejmo se, kdo je ali bi moral biti zainteresiran za trajno ali vsaj dolgorocno hrambo racunalniskih programov:
- proizvajalci zaradi ohranjanja lastne "tehnicne kulturne dediscine" in identitete (ang. corporate identity),
- odgovoren organ za ohranjanje tehnicne kulturne dediscine na nacionalni ravni,
- zanesenjaki, to je verjetno skupina posameznikov, ki danes edina izkazuje resnicen interes za trajno ohranjanje racunalniskih programov,
- uporabniki - npr. organizacije, ki dolocen program uporabljajo in je zanje pomemben; zanje bi bila hramba zanimiva v kontekstu hrambe zapisov o svojih procesih.
3.1 Primer: Virtualni muzej slovenskega e-bancnistva
Za ilustracijo in lazje razumevanje bomo uporabili primer aplikacije za elektronsko (spletno) bancnistvo, ki nudi uporabniku:
- storitev na daljavo prek elektronske komunikacijske poti (internet, mobilna telefonija ...),
- vpogled v bancne racune (stanja, promet, lastnosti),
- moznost placevanja s placilnimi nalogi, trajnimi nalogi, direktnimi bremenitvami in e-racuni,
- spremljanje in upravljanje racunov (pooblastila ipd.).
Ce bi se nasla ustrezna kombinacija interesa, prostega casa, znanja in pokroviteljev, bi lahko vzpostavili virtualni muzej slovenskega e-bancnistva. Kot avtor clanka to temo predlagam, ker sem bil vecino svoje dosedanje poklicne kariere tako ali drugace povezan z razvojem e-bancnih storitev. V njem bi lahko na primerno strukturiran nacin hranili podatke in gradivo o elektronskih bancnih storitvah v Sloveniji skozi cas. Med teme bi npr. sodile:
- prva slovenska e-bancna storitev,
- prva slovenska e-bancna storitev z moznostjo posiljanja placilnih nalogov,
- druge zgodnje e-bancne storitve in njihov razvoj skozi cas,
- splosen pregled razvoja storitev in tehnologije po slovenskih bankah skozi cas,
- zgodovinski pregled javno objavljenih podatkov o zlorabah, povezanih z elektronskim bancnistvom,
- drugi zapisi v digitalni obliki, ki doprinesejo k razumevanju razvoja ebancnistva pri slovenskih bankah.
Za tehnicno realizacijo bi lahko uporabili odprto platformo (npr. TWiki - the Open Source Enterprise Wiki and Web 2.0 Application Platform (http://twiki.org/), FedoraCommons (http://fedora-commons.org/).
4 Analiza pristopov k trajnem ohranjanju racunalniskih programov
V tem poglavju bomo poskusali ovrednotiti razlicne pristope, tudi glede na vidik oz. obseg zajema, k trajnem ohranjanju racunalniskih programov. Osnovno vodilo pri hrambi je, da zelimo ohraniti tudi vso logiko odzivanja programa na vhode iz okolja. To je bistvena kvaliteta, ki jo ima racunalniski program v primerjavi s »pasivnim« dokumentarnim gradivom. Namen ni podajanje dokoncne ocene o primernosti in neprimernosti posameznega pristopa, temvec osvetlitev njegovih prednosti in pomanjkljivosti. Vkljucili bomo tudi opise nekaterih ovir pri trajnem ohranjanju racunalniskih programov.
4.1 Vkljucitev v elektronski sistem upravljanja dokumentov
Veliko elementov racunalniskega programa lahko trajno ohranimo tako, da jih zajamemo in vkljucimo v elektronski sistem upravljanja z dokumenti, ob upostevanju dobrih praks in predpisov za dolgorocno hrambo (npr. uporaba primernih formatov, osvezevanje, ...). Splosna prednost tega pristopa je, da z elektronskim sistemom upravljanja dokumentov, ki je ze uveljavljen pristop za dolgorocno hrambo digitalnih virov, pokrijemo hrambo stevilih elementov racunalniskega programa. Uporabnik za prikaz teh elementov praviloma ne potrebuje posebne opreme ali infrastrukture.
Pomanjkljivost tega pristopa pa je, da izkljucno na ta nacin ne moremo ohraniti vse logike odzivanja programa na vhode iz okolja. Na ta nacin lahko ohranimo naslednje elemente, povezane z racunalniskim programom:
- Izbrane zaslonske slike, sekvence slik, filme - videz, zvocni ucinki, (ang. "look and feel"),
* vec elementov pomeni boljso »pokritost« programa, hkrati pa vec dela z zajemom; to velja za vecino vrst elementov,
- tiskane izpise,
- sporocila o napakah,
- izvrsno kodo,
* hramba vec razlicic izvrsne, pa tudi izvorne kode lahko pomeni velike prostorske potrebe,
* uporabnik, ki ima ustrezno infrastrukturo (platformo, emolator, virtualno okolje ...), lahko izvrsno kodo tudi pozene,
- izvorno kodo,
- podatkovni model,
- napake (angl. bugs)
- dokumentacijo,
- strukturirano zapisane podatke:
* o okoljih, kjer je bil program uporabljen,
* o razvojnem okolju,
- zapise v medijih v povezavi s programom - npr. casopisne clanke, pomembne objave v forumih.
Primer takega pristopa, kjer se hranijo casovni preseki spletnih strani Internet Archive Wayback Machine (http://www.archive.org/web/web.php).
4.2 Vsebina podatkovne baze
Ohranitev vsebine podatkovne baze je pomemben element trajne hrambe v kontekstu aplikacij, ki uporabljajo vecravninsko (ang. multi-tier) strukturo, kjer je eden od slojev podatkovna baza. Poleg podatkovnega modela (struktura tabel v bazi) je potrebno skupaj s programom ohraniti vsaj sistemske podatke, ki jih program uporablja. Za prakticen prikaz delovanja programa pa je potreben tudi realisticen nabor vsebinskih podatkov.
Dolgorocno ohranjanje vsebine podatkovnih baz je bolje obdelano kot ohranjanje samih racunalniskih sistemov. Resitve navadno temeljijo na pretvorbi baz v XML obliko in vkljucitvi v elektronski sistem upravljanja dokumentov. O vprasanju ohranjanja podatkovne baze se je razpravljalo v okviru razlicnih projektov (Ribeiro in David, 2009; Bernstein, 2008), leta 2007 pa je bila v ZDA izvedena mednarodna delavnica na to temo (International, 2007).
4.3 Hramba virtualnih slik celotnega racunalnika
Uveljavljene tehnologije za virtualizacijo racunalniskih sistemov (VMWare, Oracle VirtualBox, Microsoft Virtual PC in HyperV) (Virtualization, 2010) lahko v precejsnji meri izkoristimo za dolgorocno hrambo racunalniskih programov. Na ta nacin lahko kot virtualne slike (ang. virtual image) celotnega racunalnika ali vec racunalnikov ohranimo:
- izvrsno kodo racunalniskih programov,
- razvojno okolje, skupaj z izvorno kodo ali loceno od nje,
- informacijsko-komunikacijsko okolje, v kakrsnem je bil program uporabljen,
- skoraj vse, kar lahko hranimo v elektronskem sistemu upravljanja dokumentov - le bistveno manj ucinkovito.
Prednost tega pristopa je zmoznost reprodukcije izvajanja racunalniskega programa. Temeljni izziv tega pristopa pa je dolgorocno oz. trajno zagotavljanje zmoznosti izvajanja virtualnih slik oz. zmoznost pretvarjanja iz virtualnih oblik, za katere lahko pricakujemo slabso podporo v prihodnosti, v oblike s pricakovano boljso podporo. Obstaja precejsnja nevarnost, da se z zacetno izbiro tehnologije »priklenemo« na dolocenega ponudnika tehnologije (ang. vendor lockin). Operativno tezavo pri uporabi tega pristopa lahko predstavljata tudi velika obseznost virtualnih slik (zlasti, ce jih hranimo verzionirano).
4.4 Uporaba emulatorjev
Emulatorji omogocajo izvajanje programov na zastarelih racunalniskih platformah, kjer programski emulator nadomesti zastarelo strojno opremo, navadno pa emulator vkljucuje tudi sistemsko programsko opremo. Koncept emulatorjev je soroden konceptu hrambe virtualnih slik. Emulator je nekako enakovreden virtualni sliki dolocenega tipa racunalnika oz. operacijskega sistema.
Koncept emulacije za namene dolgorocne hrambe je podrobneje razdelan v kontekstu univerzalnega virtualnega racunalnika (ang. universal virtual computer - UVC) (Universal, 2010). Po podatkih iz leta 2009 je pristop trenutno prakticno uporaben za hrambo staticnih digitalnih virov, potekajo pa raziskave v smeri njegove uporabe za hrambo racunalniskih programov in drugih nelinearnih digitalnih virov.
Emulacijo kot pristop k trajni hrambi podrobneje obravnava tudi Granger (2000) v clanku Emulation as a digital preservation strategy. Prednost emulacije je, podobno kot pri virtualizaciji, zmoznost reprodukcije funkcionalnosti racunalniskega programa. Namesto dela za pretvorbo zastarelih formatov zapisov v sodobnejse pri uporabi emulatorjev delo vlozimo v razvoj emulatorja. To je v grobem smiselno, kadar imamo veliko elementov v formatih, ki bi jih morali pretvarjati.
4.5 Podatki o napakah, varnostnih ranljivostih in izkoriscanjih ranljivosti
Z vidika programsko-inzenirske in informacijsko-varnostne stroke so zgodovinsko zanimive pomembnejse napake, varnostne ranljivosti in morebitni primeri zlonamernih izkoriscanj teh ranljivosti. Napake (ang. bug) so nepogresljiv del programerske kulture, okrog nekaterih se napletejo neverjetne zgodbe. Zmoznost trajne reprodukcije napake je vezana na hrambo razlicic izvrsne kode in njenega izvajanja: ohranitev pomanjkljive razlicice, testnega primera in testnih podatkov.
Zgodovinsko je lahko zanimiva tudi ohranitev zapisov o njenem odpravljanju. Ker gre pri napakah tudi za osebo, ki je napako napravila, je potrebno skrbno tehtanje interesa varstva osebnih podatkov vpletenih programerjev in ohranjanja tehnicne kulturne dediscine. Poseben izziv je hramba zlonamerne programske opreme (npr. virusov, ki napadajo dolocen program), saj je potrebno prepreciti njihovo nekontrolirano sirjenje. Primer zbirke zlonamernih programov je na spletni strani Offensive Computing (http://www.offensivecomputing.net).
4.6 Nosilci zapisa
Sami nosilci zapisa, ce gre za izvirnike, so nedvomno zanimiv predmet v kontekstu dolgorocne hrambe racunalniskih programov. S casom izgubljajo na kvaliteti, zato ohranijo le se vizualni ucinek, programov pa z njih ni vec mozno prebrati. Za parcialno hrambo vizualne podobe jih lahko tudi skeniramo ali fotografiramo in shranimo posnetke v elektronski sistem upravljanja dokumentov.
4.7 Avtorske pravice in poslovne skrivnosti
Eden od izzivov pri dolgorocni hrambi racunalniskih programov je tudi pravne narave, namrec, ali lahko za potrebe arhivisticne narave napravimo kopijo programa? Vprasanje nima univerzalnega odgovora, vendar je odgovor v dolocenih okoliscinah pritrdilen (prim. z Internet, 2010). Kdaj prenehajo avtorske pravic in poslovne skrivnosti, ki so lahko ovira za javno objavljanje in trajno hrambo s strani tretjih oseb? Tu so razlike med drzavami in pravnimi ureditvami, vendar se glede na zgodovinsko umescenost racunalnistva to obdobje se ni zacelo, zato se v podrobnosti ne bomo spuscali.
Na kaksen problem bi npr. utegnili naleteti na primeru virtualnega muzeja elektronskega bancnistva na Slovenskem? Predpostavimo, da bi dolocena banka zelela objaviti izvorno kodo zastarele resitve za e-bancnistvo. Del izvorne kode stare resitve, ki bi jo vkljucili v virtualni muzej, lahko vsebuje aktualne avtorske pravice in poslovne skrivnosti. Izvorna koda lahko npr. vsebuje ranljivosti. Taka ranljivost v objavljeni izvorni kodi, ceravno zastareli, ima potencialno negativen vpliv na dobro ime proizvajalca. Poleg tega je vzorec ranljivosti lahko prenesen v aktualne resitve.
4.8 Ohranjanje nefunkcionalnih zahtev
Poseben izziv predstavlja hramba nefunkcionalnih zahtev. Kako bi npr. lahko trajno ohranili dejstvo, da je nek racunalniski program v doloceni organizaciji deloval v nacinu visoke razpolozljivosti? Med zgoraj navedenimi pristopi bi lahko uporabili hrambo metapodatkov o infrastrukturi in tehnologiji za zagotavljanje visoke razpolozljivosti, celotne virtualizirane racunalnike in druge naprave (npr. omrezna stikala).
5 Zakljucek
Celovita trajna in dolgorocna hramba racunalniskih programov je v Sloveniji zagotovo podhranjena tema v okviru dolgorocne digitalne hrambe, in vprasanje je, ce ni na tem podrocju za nacionalno tehnicno kulturno dediscino ze nastala nepo-pravljiva skoda. Podrocje ni niti zakonodajno urejeno, programe bi npr. lahko vkljucili tudi v okvir Zakona o obveznem izvodu publikacij (2006), temvec je prepusceno posameznim zanesenjakom, zato bi bilo prav, da se zacne ta vprasanja urejati strokovno in sistematicno.
VODOPIVEC, Tadej. Software preservation. Knjiznica, 55(2011)1, pp. 159-174
Navedeni viri
1. Ribeiro, C. in David, G. (2009). Database preservation. Pridobljeno 19. 8. 2010 s spletne strani: http://www.digitalpreservationeurope.eu/publications/ briefs/database_preservation_ribiero_david.pdf
2. Bernstein, A. (2008). Database preservation: the international challenge and the Swiss solution. Pridobljeno 19. 8. 2010 s spletne strani: http://www. digitalpreservationeurope.eu/publications/briefs/database_preservation. pdf
3. International workshop on database prevention. (2007). Pridobljeno 19. 8. 2010 s spletne strani: http://homepages.inf.ed.ac.uk/hmueller/presdb07/program. html
4. Virtualization. (2010). Pridobljeno 19. 8. 2010 s spletne strani: http://en. wikipedia.org/wiki/Virtualization
5. Universal Virtual Computer. (2010). Pridobljeno 19. 8. 2010 s spletne strani: http://en.wikipedia.org/wiki/UVC-based_preservation
6. Granger, S. (2000). Emulation as a digital preservation strategy. D-lib Magazine, 6 (10). Pridobljeno 19. 8. 2010 s spletne strani: http://www.dlib.org/dlib/ october00/granger/10granger.html
7. Internet Archive gets DMCA exemption to help archive vintage software. (2010). Pridobljeno 19. 8. 2010 s spletne strani: http://www.archive.org/about/ dmca.php
8. Zakon o obveznem izvodu publikacij (ZOIPub). (2006). Uradni list RS, st. 69.
9. Zakon o varstvu dokumentarnega in arhivskega gradiva ter arhivih (ZVDAGA). (2006). Uradni list RS, st. 30.
Tadej Vodopivec je zaposlen v ComTrade d.o.o.
Naslov: Litijska 51, 1000 Ljubljana
Naslov elektronske poste: [email protected]
You have requested "on-the-fly" machine translation of selected content from our databases. This functionality is provided solely for your convenience and is in no way intended to replace human translation. Show full disclaimer
Neither ProQuest nor its licensors make any representations or warranties with respect to the translations. The translations are automatically generated "AS IS" and "AS AVAILABLE" and are not retained in our systems. PROQUEST AND ITS LICENSORS SPECIFICALLY DISCLAIM ANY AND ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES FOR AVAILABILITY, ACCURACY, TIMELINESS, COMPLETENESS, NON-INFRINGMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Your use of the translations is subject to all use restrictions contained in your Electronic Products License Agreement and by using the translation functionality you agree to forgo any and all claims against ProQuest or its licensors for your use of the translation functionality and any output derived there from. Hide full disclaimer
Copyright Zveza Bibliotekarskih Drustev Slovenije 2011