Vai al contenuto
Le leggi che non tornanole incongruenze della legge italiana

Una legge del 2019 rimanda a un codice degli appalti che dal 2023 non esiste più

Il decreto legge 30 dicembre 2019, n. 162 è ancora in vigore e contiene un richiamo al decreto legislativo 18 aprile 2016, n. 50, abrogato dal 31 marzo 2023. Chi applica quella disposizione oggi deve capire da solo quale disciplina si sia messa al posto di quella richiamata.

Questo articolo è scritto da una persona, a partire dai fatti della segnalazione.

cosa succede a chi deve applicarla

Un decreto legge di fine anno è, di solito, un elenco di proroghe: si sposta in avanti una scadenza, si allunga un termine, si rinvia un adempimento. Il decreto legge 30 dicembre 2019, n. 162 fa esattamente questo, ed è tuttora in vigore.

Dentro, però, c’è un richiamo al decreto legislativo 18 aprile 2016, n. 50 — il codice dei contratti pubblici di allora — che dal 31 marzo 2023 non è più in vigore, abrogato dal decreto legislativo 31 marzo 2023, n. 36. Chi arriva a quella disposizione trova un rimando a un testo che nell’ordinamento non c’è più, e deve ricostruire per conto suo quale disciplina si applichi al suo posto.

Sono tre anni che il rimando è lì. Non è un caso limite: è una stazione appaltante o un ufficio che, per rispondere a una domanda semplice, deve fare un lavoro che la legge avrebbe dovuto fargli risparmiare.

cosa dice il dataset, e cosa non dice

Questo caso non arriva da una lettura interpretativa: arriva da un confronto di date. Il rinvio esiste nel grafo delle relazioni fra norme, l’atto richiamato risulta abrogato, e la norma che rinvia risulta ancora in vigore. Sono tre fatti registrati, non tre opinioni.

Quello che il confronto non sa dire è se il rimando crei davvero un problema applicativo. Un rinvio può essere recettizio: può cioè aver incorporato una volta per tutte il testo richiamato, e in quel caso l’abrogazione successiva non lo svuota. È una distinzione che non si ricava dai metadati e che va verificata leggendo la norma.

come si potrebbe sciogliere

I criteri che l’ordinamento mette a disposizione, qui, dicono poco. Il criterio cronologico è astrattamente invocabile, perché la norma che rinvia è posteriore a quella richiamata. Il criterio gerarchico non distingue: le due fonti hanno lo stesso rango. La specialità dipende dal rapporto fra le fattispecie disciplinate, e va valutata leggendo le due norme.

Il risultato è che il lavoro resta a chi applica. Ed è la ragione per cui questo sito raccoglie casi come questo uno per uno, con i testi originali accanto: perché siano contestabili da chi ne sa più di noi.

Il dossier

Da qui in giù non scrive nessuno: sono i campi del dataset, messi in fila. Servono a chi questa cosa la deve usare per lavoro, e a chiunque voglia rifare il conto da sé.

La segnalazione

gravità mediaLivello 1 — deterministicoApri la scheda completa

Chi applica il decreto legge 30 dicembre 2019, n. 162, art. 1, trova un richiamo al decreto legislativo 18 aprile 2016, n. 50, che dal 31 marzo 2023 non è più in vigore: deve ricostruire da sé quale disciplina si applichi al suo posto. L'abrogazione è stata disposta dal decreto legislativo 31 marzo 2023, n. 36. Il decreto legge 30 dicembre 2019, n. 162 è invece ancora in vigore.

Periodo: dal 31 marzo 2023, tuttora in vigore.

Le norme coinvolte

Gli atti citati dalla segnalazione, con lo stato di vigenza.
AttoStatoVersioni
Decreto legge 30 dicembre 2019, n. 162In vigore37
Decreto legislativo 18 aprile 2016, n. 50Abrogato dal 31 marzo 20231

La regola che l’ha trovata

Una norma ancora in vigore rinvia a un atto che è stato successivamente abrogato. Controllo deterministico di livello 1: nessuna estrazione automatica, solo attraversamento del grafo e confronto di date. Pubblicato in attesa delle prime 30 revisioni umane, dopo le quali varrà la soglia dell'85% come per ogni altro controllo. La precisione di questo controllo non è ancora misurata. La pagina del controllo.

SELECT r.sourceUrn, r.targetUrn, r.targetArticle
FROM Relation r
JOIN Act bersaglio ON bersaglio.urn = r.targetUrn
JOIN Act rinviante ON rinviante.urn = r.sourceUrn
WHERE r.type = RINVIA AND r.confidence = alta
  AND bersaglio.abrogated = true
  AND rinviante.abrogated = false          -- chi rinvia è ancora in vigore
  AND bersaglio.abrogatedFrom > r.effectiveFrom  -- il rinvio precede l’abrogazione

Se pensate che sia sbagliata

È il contributo più utile che esista, e non richiede né titoli né codice. Aprite una issue: le risposte cambiano la precisione misurata del controllo, e possono toglierlo dal sito.