Programari acadèmic

El programari acadèmic està guanyant importància i s'equipara amb altres resultats d'investigació com les publicacions o les dades de recerca. En l'informe Scholarly Infrastructures for Research Programari de l'European  Open Science Cloud, es diu que "el programari ofereix coneixement usant llenguatges de programació, de la mateixa manera que les publicacions ofereixen coneixement usant llenguatge natural".

 

La importància del programari acadèmic es mostra en algunes agències de finançament. Per exemple, el programa H2020 indica que "els projectes han de proporcionar informació a través del repositori seleccionat sobre les eines que es necessiten per a validar els resultats, per exemple, programari especialitzat o codi font, algorismes i protocols d'anàlisis. Sempre que siga possible, han de proporcionar aquests instruments".

 

Organitzacions com l’ comencen a demanar que s'incloguen en els programes de finançament clàusules específiques sobre la disponibilitat del programari acadèmic amb una llicència de codi obert per defecte. D'altra banda, cada vegada més personal investigador es fa ressò de la necessitat de disposar del programari acadèmic utilitzat en les investigacions per a poder validar i reutilitzar les dades.

 

La Declaració de San Francisco sobre l'avaluació de la investigació (DORA) reconeix la importància del programari acadèmic en l'avaluació de l'activitat investigadora. Cal no oblidar que la Universitat Politècnica de València és una de les institucions que s'ha adherit a la DORA.

 

Davant d’aquesta situació, és molt possible que cada vegada més agències de finançament afigen aquest tipus de clàusules, tal com va passar en el passat amb les publicacions de codi obert i les dades d'investigació seguint els principis FAIR.

 

Els principis FAIR fan referència a com han de tractar-se les dades d'investigació perquè siguen localitzables, accessibles, interoperables i reutilitzables (Findable, Accessible, Interoperable, Re-usable). Encara que tècnicament el programari acadèmic és un tipus de dada de recerca, hi ha diferències entre tots dos:

  • Les dades són fets o observacions que ofereixen evidències, mentre que el programari és el resultat d'un procés creatiu que ofereix una eina per a fer alguna cosa, per exemple, amb les dades

  • Les dades tenen un temps de vigència més alt que el programari, ja que és habitual la realització d'actualitzacions sobre el programari

  • El programari és executable i realitzat a partir d'un altre programari

 

Basant-se en els principis FAIR per a dades, s'han publicat unes recomanacions per a aplicar els principis FAIR al programari acadèmic. D'altra banda, el Netherlands eScience Center i DANS han establit cinc accions senzilles per a complir els principis FAIR per al programari acadèmic:

  1. Usar un repositori públic que admeta el control de versions

  2. Afegir una llicència

  3. Registrar el programari en registres de la comunitat

  4. Facilitar que es puguen fer citacions del programari

  5. Usar llista de control per a assegurar la qualitat del programari

 

A continuació, es mostra una taula comparativa entre els principis FAIR per a dades i per a programari acadèmic:

 

 

Font: Lamprecht, Anna-Lenna et al. Towards FAIR principles for research software. DOI: 10.3233/DS-190026

Quan s'inicia el desenvolupament d'un programari acadèmic, una de les primeres qüestions a plantejar és quin serà l'entorn de treball per a desenvolupar el programari. Actualment hi ha diverses opcions que es poden utilitzar: GitHub, GitLab, BitBucket, etc. El Software Sustainability Institute ofereix informació sobre aquestes plataformes i què cal tenir en compte per a seleccionar una d'aquestes (per exemple, si funciona amb el control de versions).

 

No obstant això, el dipòsit del programari acadèmic en un repositori adequat garantirà que el programari es preserve correctament i complisca els principis FAIR. Aspectes com l'assignació d'un identificador persistent; la selecció de llicències específiques per a programari, o mecanismes d'accés i identificació són imprescindibles per a seleccionar un repositori.

 

En r3data.org es poden trobar múltiples repositoris on dipositar el programari acadèmic. Des de la Biblioteca de la UPV recomanem la utilització d'un repositori temàtic d'ús generalitzat dins de la disciplina. En cas de no localitzar un repositori temàtic, el programari acadèmic es podria dipositar en un repositori multidisciplinari:

  • Zenodo: repositori finançat per OpenAIRE que conté diferents tipus de publicacions acadèmiques, incloses dades d'investigació i programari acadèmic. Es poden pujar tot tipus de formats d'arxius, amb una grandària màxima de 50 GB per arxiu. A més, ofereix un DOI que permet identificar de forma unívoca i persistent el programari acadèmic i admet el control de versions. També es pot integrar automàticament amb GitHub

     

     

  • Software Heritage: repositori que recopila de forma automàtica el contingut de diferents plataformes (GitHub, GitLab, BitBucket, etc.) per a preservar i compartir el codi font disponible públicament. Tot el programari pot ser referenciat a través de l'identificador SWHID. També és possible pujar el codi de forma manual al repositori

     

     

  • RiuNet: és el repositori institucional de la UPV. Actualment té una col·lecció específica anomenada Software, on es permet el dipòsit de programari acadèmic provinent d'entitats o serveis de la UPV, així com projectes en els quals participe personal investigador de la UPV. El dipòsit en RiuNet presenta diferents beneficis: es poden associar llicències específiques per a programari; hi ha possibilitat de restringir l'accés al programari per un període de temps, si és necessari; emmagatzematge i preservació de les dades que en facilite la difusió al llarg del temps; admet el control de versions, etc.

 

La correcta descripció del programari acadèmic és imprescindible si se’n vol facilitar la compressió i reutilització per part d'altres persones. Amb aquesta finalitat, s'ha de descriure el programari tant a nivell intern (codi font) com a nivell extern (metadades que acompanyen el programari):

  • Nivell intern:

    • La redacció d'un arxiu README.txt que acompanye el programari permet conèixer aspectes com ara: data de creació, versió, autoria, finalitat, funcionalitats, requisits de programari/maquinari per a executar el codi, etc.

    • La documentació del mateix codi font és fonamental, tant en la fase de desenvolupament del programari (diversos programadors poden treballar de forma conjunta) com per a permetre la comprensió a persones que vulguen reutilitzar el codi font

    • Per a assegurar una correcta documentació, i unes bones pràctiques en el desenvolupament del programari, hi ha llistes de comprovació que contenen diferents aspectes per a descriure correctament el programari

 

  • Nivell extern:

    • El registre del programari acadèmic en diferents comunitats –per exemple, segons el llenguatge de programació o la temàtica– és una pràctica que ajuda a difondre el programari que s'ha desenvolupat. No obstant això, també ajuda a descriure correctament el programari, ja que normalment s'utilitzen unes metadades pròpies d'aquesta comunitat que estan associades a la informació que s'introdueix durant el procés de registre del programari

    • Igual que ocorre amb el registre del programari en diferents comunitats, el dipòsit del programari en un repositori (Zenodo, Software Heritage, RiuNet, etc.) també permet associar metadades que estan vinculades a la informació que es proporciona durant el procés de dipòsit del programari

És fonamental assignar al programari acadèmic una llicència per a poder establir els usos que es poden fer del programari que s'ha desenvolupat. D'aquesta forma se’n facilita la reutilització i es compleixen els principis FAIR.

 

Hi ha múltiples llicències que es poden assignar al programari acadèmic. Algunes de les més utilitzades són les següents:

  • MIT License: se’n manté el copyright, però se’n permet la distribució, la modificació i fins i tot la reutilització amb finalitats comercials

  • Apache License v2: se’n manté el copyright, però se’n permet la distribució, la modificació i fins i tot la reutilització amb finalitats comercials. Els canvis realitzats han d'estar documentats, i es dona permís exprés per a patentar el programari

  • GNU GPL v3: se’n manté el copyright, però se’n permet la distribució, la modificació i fins i tot la reutilització amb finalitats comercials. Els canvis realitzats han d'estar documentats, i es dona permís exprés per a patentar el programari. Si es distribueix, s'ha d'oferir el codi font i utilitzar aquesta mateixa llicència

 

Per a la selecció de llicències es recomana la utilització de l'eina License selector, que permet triar la llicència a partir d'una sèrie de preguntes. 

 

Hi ha diferents mecanismes d'afegir una llicència al programari acadèmic:

La citació és una part fonamental per a obtenir un reconeixement pel proramari que s'ha desenvolupat, i fa que el programari siga considerat com un producte de la recerca científica. Dos factors que facilitaran la citació del programari acadèmic són:

  • El dipòsit del programari en un repositori

  • La vinculació del programari amb un identificador persistent, per exemple, un DOI

 

Realitzar una citació d'un programari acadèmic pot no ser trivial. Per aquest motiu, és important facilitar com cal fer les citacions de programari acadèmic. Hi ha diverses recomanacions sobre com fer citacions de programari acadèmic:

  • Software Citation Principles de FORCE11: s'estableixen les diferents metadades bàsiques que s'han d'incloure segons diferents situacions (vegeu la taula 2)

  • Utilització de la citació proposada pel repositori: quan es diposita el programari acadèmic en un repositori (per exemple, Zenodo), el mateix repositori ofereix la referència bibliogràfica que s'ha d'usar quan es fan citacions de programari en una publicació

  • Utilització del Citation File Format (.ciff): és un arxiu de text pla llegible per persones i màquines per a informar sobre com es fan citacions de programari. Per a generar automàticament l'arxiu CITATION.ciff, és possible utilitzar un formulari o usar diferents eines

  • Utilització de BibLaTeX: BibLaTeX és un paquet que produeix referències bibliogràfiques des de BibTeX i que admet diferents tipus de referències bibliogràfiques per a programari:

    • @programari: per a programari

    • @softwareversion: per a una nova versió d'un programari

    • @softwaremodule: per a un mòdul específic d'un determinat programari

    • @codefragment: per a un algoritme present en el codi o en una biblioteca (library)

 

Font: Software Heritage (2020). Tutorial: citing software using biblatex-software

Pujar