Visualize the changes of the Constitutional Referendum with Git/GitHub

A Proof-of-Concept to visualize the changes to the text of the constitution introduced by the incoming constitutional referendum using Git and GitHub.

In Italy, in the 20th and the 21st of September 2020, there will be a constitutional referendum to change the Constitution of the Italian Republic about the reduction of the number of eligible members of Parliament. In particular, for the Chamber of Deputies from 630 to 400 components, and for the Senate from 315 to 200.


As you might expect, all the news and the media talked about it more or less incessantly in the few weeks before the voting days. However, most people don’t check what changed in the Constitution. Of course, it is not a particular issue in this specific case, since the changes are quite minimal, and a voter should be more interested into the consequences that a reform brings, rather than the actual words, that might be too technical to appreciate them. Nevertheless, I believe it should be good practice for the “modern citizen”.

I decided to improve the accessibility to the changes and, being a software engineer, my first thought was to use the most successful version control system: Git. The process of changing the text of the laws might be roughly mapped into the famous Git Workflow:

  • on master, the current active version of the law;
  • on other branches, the work-in-progress for specific topics;
  • branching off from topic branches would be like amendments on the associated topic;
  • pull requests are proposals to apply the changes to the main text (only on GitHub though).

Nowadays, the development of a reform is discussed in the Parliament; however, would be interesting to keep track of all the changes made during the discussion, and it would be much easier to analyze and verify for all the citizens. It would surely make easier the task of accountability (who did what).

I tested the approach for the incoming referendum. In this repo, you will find the text of the Constitution (in txt format) and an open pull request with the changes proposed by the proposed reform (ID 19A06354). The changes are taken from the official source “Gazzetta Ufficiale”.

Changes introduced by the 2020's constitutional reform.

Potential future work:

  • automatize the process using NLP techniques to extract the proposed changes;
  • define a canonic form for the law text (e.g. each line must have a maximum length etc.)
  • being more formal in the namings and formats (IANAL :D)