Publish software for Public Administration

When an Italian Public Administation develops or commissions software it must comply with the art. 69 of the Codice dell’Amministrazione Digitale which mandates to publish it in a public open repository covered with an open license in order to allow other administrations to reuse it.

Such a process is described in details in the Guidelines issued by the Agency for Digital Italy. The guidelines technical attachments are formulated to be directly included in contracts and specifications related to software development, software modification and maintenance, in order to fulfil the release obligation.

The process brief:

  • The administration must always obtain full ownership of the software.
  • The software must be published in a public repository (e.g., GitHub, GitLab, BitBucket etc., also on-premise installations providing that they are publicly accessible).
  • The software must be covered by one of the licenses approved by the Open Source Initiative (the guidelines suggest some in particular, in order to allow maximum reusability).
  • The repository must contain the file publiccode.yml which describes the software characteristics and allows to populate the Developers Italia catalogue.

publiccode.yml

Every public software repository must contain a file named publiccode.yml containing all the information useful to populate the Developers Italia catalogue. publiccode.yml is a standard originally created in Italy but it is in the process of being adopted internationally.

publiccode.yml specifications Editor/validator

Catalogue publication

The catalogue publication, as well as the updates transposition, is automatic since Developers Italia, through a crawler, will periodically find and import all the repositories containing a publiccode.yml file.

Please note: to allow the Developers Italia crawler to find its own repositories, each administration must register the code hosting account used to publish all its projects (e.g., the organization’s GitHub account). This is a one-off operation. See the guidelines for more information.

Rules of the software catalog Code hosting account registration form

Third party open source software

The third party open source software, such as those which are not put into reuse by the Public Administration but are potentially interesting for the public sector, can be included in the Developers Italia catalogue. As such, it is necessary to:

  1. fill and include a publiccode.yml file in the repository (leaving the codiceIPA key empty);
  2. include the repository URL in the list by opening a pull request on GitHub.

See also:

back to contents