Docs Italia beta

Documenti pubblici, digitali.

Glossario

CAD

Il Codice dell’Amministrazione Digitale, ovvero il Decreto Legislativo 7 marzo 2005, n. 82, è il testo unico che riunisce e organizza le norme riguardanti l’informatizzazione della Pubblica Amministrazione italiana

Code Hosting (strumento di)

Una piattaforma che consente la pubblicazione di codice sorgente, organizzato in più repository. Gli strumenti di code hosting offrono spesso anche funzionalità legate all’evoluzione di un software quali sistemi di ticketing (ovvero sistemi per tenere traccia di problemi o proposte di modifica), processi per la contribuzione di codice da parte di terzi, area per il download dei rilasci, ecc.

Ad esempio, GitLab, GitHub e Bitbucket sono piattaforme di code hosting popolari.

Codice sorgente

Il codice sorgente (spesso detto semplicemente “sorgente”) è il testo di un programma scritto in un linguaggio di programmazione (es. C o Visual Basic) dal quale si deriva il programma finale che l’utente usa. L’accesso al codice sorgente è fondamentale per poter modificare un programma.

Community

Aggregazione di persone, fisiche e giuridiche, e risorse (ad esempio forum, chat e tecnologie per riunirsi e interagire in una località virtuale), dotata di regole e di una struttura, finalizzata alla realizzazione e/o gestione di un progetto comune.

Formato aperto (di dato)

È un formato di rappresentazione dei dati, versionato, documentato esaustivamente e senza vincoli all’implementazione. Un formato aperto è riconosciuto da un ente di standardizzazione e mantenuto in modo condiviso tra più enti che forniscono implementazioni concorrenti, con un processo trasparente. Il formato deve rimanere consistente con la versione dichiarata.

JPEG, PNG e ODF sono alcuni esempi di formati aperti.

Interoperabilità

In ambito informatico, la capacità di sistemi differenti e autonomi di cooperare e di scambiare informazioni in maniera automatica e strutturata, sulla base di regole condivise.

Licenza

Il testo legale che permette al titolare dei diritti d’autore di un’opera (software, contenuti, dati, …) di concedere determinati diritti anche agli utilizzatori finali. In assenza di una licenza esplicita, si assume generalmente «tutti i diritti riservati» e gli utilizzatori finali non possono usare, studiare, modificare o diffondere l’opera senza un permesso scritto fornito dal titolare dei diritti.

Licenza di software libero

È una licenza che concede a chiunque usi un software, i diritti di uso, copia, modifica, distribuzione di copie anche modificate; per fare ciò, è necessario anche che il codice sorgente sia liberamente disponibile.

Lista di licenze di software libero.

Nel Codice dell’Amministrazione Digitale è chiamata “licenza aperta”.

Lock-in

Fenomeno di natura tecnica ed economica in cui un generico utente non riesce a svincolarsi da una scelta tecnologica precedentemente effettuata. Tale incapacità è tipicamente causata degli elevati costi legati al cambio di tecnologia ma, in molti casi, può anche dipendere dall’adozione di soluzioni proprietarie che impediscono di effettuare migrazioni. L’utilizzo di formati aperti per il salvataggio dei dati, e l’accesso libero a questi dati (soprattutto nel caso di soluzioni SaaS) sono prerequisiti per evitare fenomeni di lock-in.

Repertorio o Repository o Deposito (di codice sorgente)

All’interno di uno strumento di code-hosting, un repository è l’unità minima di contenimento del codice sorgente di un software. Il termine “repertorio” è la sua traduzione italiana (usata per esempio nel CAD Art 69, comma 1).

Riuso

Nel contesto di questo documento, si intende il processo delineato dal CAD (art. 69) con il quale una amministrazione distribuisce (“mettere a riuso”) un software di cui ha titolarità come software libero, a favore di altre amministrazioni che possano utilizzarlo (“prendere a riuso”). Tutto il software a riuso è software libero, ma non tutto il software libero è a riuso (poiché non tutto il software libero è di titolarità di una amministrazione).

SaaS

Software as a Service. Indica una modalità di distribuzione del software in cui questo non viene installato sui computer o sui server del cliente finale ma che viene fruito direttamente dai server del fornitore al quale si delegano gestione dell’infrastruttura, manutenzione, aggiornamenti, etc. Tipicamente, si tratta di applicativi web.

SAST

Static Application Security Testing. Indica una tecnica di analisi del codice sorgente di un software per individuare possibili vulnerabilità di sicurezza.

Software libero

È una modalità con cui il software può essere concesso in licenza (vedi Licenza di software libero)

Deve rispettare queste caratteristiche:

  • Libertà di eseguire il programma come si desidera, per qualsiasi scopo

  • Libertà di studiare come funziona il programma e di modificarlo in modo da adattarlo alle proprie necessità. L’accesso al codice sorgente ne è un prerequisito.

  • Libertà di ridistribuire copie in modo da aiutare gli altri

  • Libertà di migliorare il programma e distribuirne pubblicamente i miglioramenti apportati (e le versioni modificate in genere), in modo tale che tutta la comunità ne tragga beneficio. L’accesso al codice sorgente ne è un prerequisito.

La definizione completa di software libero.

Nel linguaggio comune è usato a volte il termine open source come sinonimo. Malgrado non tutto il software open source sia anche software libero, lo è nella maggior parte dei casi.

Software proprietario

Software che ha restrizioni sul suo utilizzo, sulla sua modifica, riproduzione o ridistribuzione, imposti dal titolare dei diritti di sfruttamento economico, cioè l’autore o - in caso di cessione dei diritti patrimoniali - il cessionario dei diritti in questione.

TCO

Total Cost of Ownership: approccio utilizzato per valutare tutti i costi del ciclo di vita di una risorsa IT calcolato su una finestra temporale adeguata al contesto della valutazione e che include il costo di migrazione verso altra soluzione (eg., acquisto, installazione, gestione, manutenzione e smantellamento). Il calcolo del TCO è basato sulla considerazione che il costo totale di utilizzo di una risorsa IT non dipende solo dai costi di acquisto, ma anche da tutti i costi che intervengono durante l’intero ciclo di vita della risorsa, comprese le attività di dismissione della stessa.