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.ymlwhich describes the software characteristics and allows to populate the Developers Italia catalogue.
Every public software repository must contain a file named
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.
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
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.
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:
- fill and include a
publiccode.ymlfile in the repository (leaving the
- include the repository URL in the list by opening a pull request on GitHub.