Pubblicare software per la PA

Tutte le indicazioni per la pubblicazione del software come dalla normativa e dalle linee guida.

Perché pubblicare software per la PA? 

Pubblicare software per la PA non dovrebbe essere solo un adempimento formale. È un’azione strategica che permette di valorizzare il lavoro svolto, aumentare la qualità dei servizi digitali pubblici e contribuire a un ecosistema tecnologico nazionale ed europeo più aperto, efficiente e collaborativo. 

Come procedere 

Che tu sia l’ente o un fornitore, questi passaggi ti aiutano a pubblicare software per la pubblica amministrazione: 

La pubblicazione è un passaggio chiave del ciclo di vita del software e deve ricevere la stessa attenzione di altri aspetti come la sicurezza e l'accessibilità. 

  1. 1

    Definire la licenza del software

    La scelta della licenza è necessaria per poter pubblicare un software secondo le Linee Guida dell’Agenzia per l’Italia Digitale su acquisizione e riuso del software nella PA.

    • Preferenza per licenze open source (OSI) e Free Software riconosciute, per la PA si consiglia la EUPL, riconosciuta e validata a livello EU
    • L’ente deve motivare eventuali eccezioni qualora non fosse possibile pubblicare il software come open source

  2. 2

    Definire la licenza dei metadati

    Oltre al codice, anche i metadati devono essere rilasciabili e riutilizzabili.

    • I metadati sono generalmente pubblicati con licenze aperte e permissive, come CC BY 4.0 o CC0
    • Devono descrivere chiaramente: nome del progetto, versione, ambito funzionale, amministrazione titolare, tecnologie usate, requisiti, documentazione e contatti
    • La qualità dei metadati è essenziale per rendere il software trovabile e indicizzabile nei cataloghi dedicati

  3. 3

    Preparare il repository del codice

    Prima della pubblicazione è necessario organizzare il materiale in modo strutturato e conforme alle linee guida:

    • Scegliere un sistema di code hosting o un servizio di code hosting
    • Registrare l’amministrazione sul portale Developers Italia
    • Pubblicare il software seguendo le linee guida, tra cui ricordiamo:
      1. file LICENSE con la licenza scelta
      2. file README con spiegazione chiara della soluzione, prerequisiti e modalità di installazione
      3. eventuale documentazione tecnica
      4. istruzioni per il deploy e per contribuire al progetto (CONTRIBUTING.md, se previsto)
      5. changelog per tracciare le modifiche

  4. 4

    Verificare la sicurezza del codice e la qualità

    Prima della pubblicazione è raccomandato eseguire:

    • scansioni di sicurezza (static code analysis, dependency checks);
    • controlli sulle vulnerabilità note
    • revisione tecnica del codice e della documentazione.

    Questi passaggi aiutano a garantire che il software pubblicato sia affidabile, manutenibile e conforme agli standard di sicurezza della PA.

  5. 5

    Preparare pubbliccode.yml

    Per rendere il software ricercabile dalle altre PA è necessario compilare correttamente la scheda informativa che è codificata nel formato pubbliccode.yml con:

    • titolo del software
    • descrizione funzionale
    • link al repository
    • licenza
    • contatto dell’amministrazione titolare
    • categoria e parole chiave
    • stato di manutenzione (attivo, in evoluzione, deprecated).

    Una scheda chiara e completa facilita il riuso e rende il software più attrattivo.

  6. 6

    Pubblicare tramite i canali ufficiali della PA

    Una volta pronto il repository, il passo successivo è la pubblicazione nei canali previsti:

    • Developers Italia – Catalogo del Software a Riuso. È il principale punto di riferimento nazionale. Permette ad altre PA di trovare, valutare e riutilizzare il software. La pubblicazione richiede il rispetto delle linee guida AgID e la presenza di un repository ben strutturato.

    • Cataloghi e portali tematici. Se il software rientra in particolari ecosistemi (es. API, interoperabilità, design system), può essere pubblicato anche nei loro cataloghi di riferimento.

  7. 7

    Pubblicare tramite i canali ufficiali della PA

    Una volta pronto il repository, il passo successivo è la pubblicazione nei canali previsti:

    • Developers Italia – Catalogo del Software a Riuso È il principale punto di riferimento nazionale. Permette ad altre PA di trovare, valutare e riutilizzare il software. La pubblicazione richiede il rispetto delle linee guida AgID e la presenza di un repository ben strutturato.

    • Cataloghi e portali tematici Se il software rientra in particolari ecosistemi (es. API, interoperabilità, design system), può essere pubblicato anche nei loro cataloghi di riferimento.

  8. 8

    Verificare la sicurezza del codice e la qualità

    La pubblicazione non è il punto di arrivo, ma l’inizio del ciclo di vita pubblico della soluzion.

    • Aggiornare regolarmente repository e metadati
    • Registrare nuove versioni
    • Rispondere ai contributi o alle segnalazioni (issue/pull request)
    • Mantenere trasparenza sullo stato evolutivo del progetto

Una buona manutenzione aumenta il valore del software e ne garantisce la longevità.

Continua a esplorare le guide