There are also a repository containing some laws in markdown format on GitHub. They even used PRs for actual changes proposed by the parties in the parliament. Also, the commits have their proper date, so you can `git blame` on the laws and even see which president signed-off that change.
Some time ago, someone from the digital service of Germany reached out and asked about my use case. Maybe there will be an official version of a "Git law" repo someday...
German laws might work different, but I'm not really under the impression that software version control is really that compatible with law making.
In source code we replace or modify the parts that doesn't work in place. Many laws does not work like that, they are a labyrinth of add ons. A new law is introduced with wordings like "This replaces the words "small businesses" with "nuclear rockets" in the law on "Workplace safety of fishing vessels of 1992", §12, section 3, line 5.
No amount of version control will ever find these changes.
I usually convert to markdown from PDF local laws when I need them as a reference for the functional specification. That way its easier to pinpoint to exact section of the thing.
Its not easy to convert general law to markdown, it involved online converters and manual fixes. Currently experimenting with marker [1] on local LLM hardware and so far it is the best out there.
I maintain a web site where I re-render to HTML a scrapped version of the (consolidated version of) the Official Belgian Journal[0].
One of the nice thing about having an underlying structured representation of those texts is that I can also render them to e.g. Markdown[1].
I've experimented about generating the Markdown files corresponding to multiple versions (archives) of a given text and committing them to the same Git repository to be able to see diffs or blames[2].
I would like to assign the proper dates to each commit, but given there are texts in e.g. 1791, it's not possible.
> They even used PRs for actual changes proposed by the parties in the parliament. Also, the commits have their proper date, so you can `git blame` on the laws and even see which president signed-off that change.
This is something I'm very interested in for a different use case: model legislatures. The infrastructure and tooling for model congresses and parliaments is very limited: largely relegated to wikis and Google Docs. And that's fine, but it becomes a problem long term with tracking and archival.
We had a situation where our model parliament did not own the Google Doc for a particular treaty with another model legislature. It was changed out from under us, which is not ideal. But that brings into question ownership of Google Docs, and what happens if that person withdraws from the game.
Another issue is respecting and maintaining the creativity of those who play. People put a lot of effort into their bills with the fonts, formatting, layout, and imagery they use. It would be a shame to erase all that effort by converting it a bland wall of text a la markdown.
Markdown also has its issues: if the legislature removes an entry of an ordered list, how do you prevent markdown from renumbering the list? And the ways around this involve extending markdown, or using plaintext (eg: https://www.apache.org/licenses/LICENSE-2.0.txt)
Another solution could be QuillJS (https://quilljs.com/), which serialises into a JSON array of Deltas. However, this would make any kind of git-diff difficult to read. You'd need a custom differ, which is not impossible, but that may be a lot of work and may not be supported on git sites like Github.
Another issue is that, if you're using commits-as-enactments, then that probably means using the commit message (or notes) for the enactment's text. To what extent is that supported? As in, how long can commit messages be before it starts wreaking havoc on git clients? Will my Github tab or GitKraken client crash if I view the commit history? Could the commit message itself contain a serialised QuillJS document? What if that document contained a base64-encoded image?
I don't know if they are doing it, but I always thought that it should be easy for regular citizens to see the historical reasons why a law or regulation exists. Because there is sometimes a good reason why a regulation exists, but nobody knows it.
I would love to see more governments operate on a Git-first basis, so that each and every decision/contribution can be tracked online for transparency.
For example in USA we would have budget ceiling crisis, and both parties try to ram through a law to bump up the debt ceiling "to prevent government shutdown". It is being sold as a measure to keep government afloat and running, and is usually ran through pre-holiday like Christmas.
But what actually happens, is thousands and thousands of pages of various pork is rammed through with various cutouts and carveouts for special interest groups due to lobbying.
Public needs to know who when and how is adding these lines and how is bipartisan consensus is being achieved in real-time, not post-factum.
> and how is bipartisan consensus is being achieved in real-time
This is a horrible idea in practice because everything that is public and open turns into a purity test.
You need people to be able to negotiate with each other in order for consensus to be established, and negotiations only work if the negotiators give up on something that they want to get something else. The moment you make this public all that you get is people turning negotiations into a way to generate soundbites and scared of doing any actual work because they'll just give ammunition to their opponents.
This is doubly bad in the US with the primary systems which makes legislators even more vulnerable to attacks from their flanks.
Legislators are not elected to be proxies for the voters, that's not how it's supposed to work. They're elected to use their judgement, that's why there usually aren't recall elections or restrictions on how they can vote etc.
As a matter of fact I'm of the opinion politics everywhere would be a lot better if plenaries, committees and hearings were not recorded or televised in the first place. I'm ok with minutes being made available but I'm convinced without being able to clip soundbites or tiktoks out of every meeting legislatures would be a lot more productive. Definitely more so than if we attached a camera crew to everyone in politics for "transparency"
> I would love to see more governments operate on a Git-first basis, so that each and every decision/contribution can be tracked online for transparency.
Alas, that sounds like a great idea in principle, but is probably a bad idea in practice.
Speeches in parliament (or on the senate floor, in the US) are already public. And that's a big reason those speeches are useless: they are just used as grandstanding to the general public.
The real work in finding compromises happens behind closed doors. That way you avoid producing sound bytes that can be used against you next election season. Especially from challengers in your own party, who could otherwise accuse you of being insufficiently pure.
> Public needs to know who when and how is adding these lines and how is bipartisan consensus is being achieved in real-time, not post-factum.
This is what the press and various independent groups already do. They have people that pour through the stuff, as well as getting tips and press releases from congressional reps and third party interest groups. It's just that there's only so much they can cover, and most of the public can't be bothered to do more than turn on the evening news.
There's a lot of good, in-depth journalism out there. You just have to look a bit harder for it.
How would using git prevent what you’re talking about? Instead of one congressman proposing a bill with thousands of pages he hasn’t read, he’ll submit a pull request with one commit whose content is thousands of pages he hasn’t read. What difference does it make?
I don't want to be mean or assert without evidence, but, I'm not really sure how to respond: #2 simply doesn't happen, or even close, and it's also not a common partisan interpretation I'm being smug about. It's just flat out wrong, both parties don't try to ram a bill through, the government actually does shut down, and there's no calendar association.
Like I get it, but English is fluid and is it really that far to make the assumptive leap from "git" to "github/lab/service", seems pretty clear what they meant (even if it's not completely/technically/um-actually correct because git != github).
I remember reading about someone simply adding legal texts to git. This is pretty much useless. I think that people who do this never saw a commercial legal database (or how it is called).
What one usually need, is for example, to have cross-references, i.e. when a law contains phrase like "the certification is issued by a relevant authority", you want to have the "relevant authority" wrapped in a hyperlink pointing to an government order that designates that authority. Also, you typically want to have links to court cases related to some paragraph near it etc. If some change is planned to the law you want to have a note in the text like "this is going to change on September, 1", etc.
Given that many countries have local laws, you might want to be able to filter by a place.
Github might be used for storing raw documents as some weird kind of a database, but it is useless for actually trying to find out the answers to legal questions.
To make an analogy, reading laws on Github is like reading source code without syntax highlighting and navigation.
iirc some european countries are currently exploring the idea of "law as code", i.e. law in a machine-readable format that can be parsed algorithmically. iirc austria already made some progress by converting some of their lawbooks to such a format. (I remember being in a presentation about that topic, and I explicitly asked about some actual laws being converted, and they actually showed some of these laws, but I can not find publicly available sources I could link, except some general corporate statements like this https://wwwdev.unisys.com/our-clients/advancing-public-servi... ). EU seems to work on something similar, e.g. https://interoperable-europe.ec.europa.eu/collection/endorse...
I used to revile (can you use this verb this way?) M$ in the 1980s/1990s as well, but at the moment I could think of several tech companies that I like even less. And yes, technically they can still be considered a monopolist because of Windows, but it has lost a lot of its significance...
Perfect, thanks for pointing that out - I was just starting to think it inverted votes, since all major parties except AFD were in favor, which contradicted what the text implied to me at first glance.
I agree. In the example you quoted, it’s entirely unclear what Yes and No even refers to. It doesn’t help that the summary appears to be generated by an LLM.
It exists. The "commits" to the legal code is published in a government gazette: https://en.wikipedia.org/wiki/Government_gazette The current laws are just the tip of the main branch. In theory you could run a git blame and find out exactly which update inserted which specific words into the code. There is even branches in case of state succession, like the breakup of the USSR.
I wish there were more beautiful government data aggregators like this one — most people don't even know how much stuff the gov makes publicly accessible (voluntarily or by means of FOIA), probably because it's all buried in 20-year-old Java applets.
What similar resources are out there? Any favorites?
I would also like to know. The German government actually has a decent API for accessing countless parliamentary documents, but it doesn't make the data very accessible to normal people...
This is IMHO a very problematic take. This suggests the more votes, the more initiatives, the better. But this is very obviously wrong. Generally most industry nations have "only" a handful of large problems. (Something along climate, pensions, health care, housing and economy)
What happens when these get solved in a Stakkato timeframe shows the current US government which at this point even fails to fulfill basic needs of supermarkets. Proper laws/initiatives aren't created/fleshed out by actual politicians but by a whole army of employees of the related institutions.
I first parsed this as [(German parliament) votes as a (Git contribution graph)]. But now I realize that the intended tree is [(German parliament votes) as a (Git contribution graph)]
Awesome! I was thinking about implementing something similar for the Swedish government APIs to improve transparency and knowledge of the democratic processes.
I wonder how easy it is to adopt this project to that?
Interesting visualisation! On mobile there seems to be an issue with the months where they all display as one word instead of being spaced out: JanFebMarAprMayJunJulAugSepOctNovDec
It would be fascinating to have side by side comparison for all countries and history. It would be full of brilliant and stupid solutions. It should really be convenient enough that law makers cant continue to pretend to be the first one to address a topic.
nikeee|11 months ago
Sadly, it is unmaintained.
https://github.com/bundestag/gesetze
jandinter|11 months ago
https://github.com/jandinter/gesetze-im-internet
I scrape the official website (https://www.gesetze-im-internet.de) once a week. The repository contains the "official" XML files with a formatting that is more focussed on presentation than on the logical structure of the legal acts, unfortunately (https://www.gesetze-im-internet.de/dtd/1.01/gii-norm.dtd).
Some time ago, someone from the digital service of Germany reached out and asked about my use case. Maybe there will be an official version of a "Git law" repo someday...
mrweasel|11 months ago
In source code we replace or modify the parts that doesn't work in place. Many laws does not work like that, they are a labyrinth of add ons. A new law is introduced with wordings like "This replaces the words "small businesses" with "nuclear rockets" in the law on "Workplace safety of fishing vessels of 1992", §12, section 3, line 5.
No amount of version control will ever find these changes.
majkinetor|11 months ago
Its not easy to convert general law to markdown, it involved online converters and manual fixes. Currently experimenting with marker [1] on local LLM hardware and so far it is the best out there.
[1]: https://github.com/VikParuchuri/marker
thu|11 months ago
One of the nice thing about having an underlying structured representation of those texts is that I can also render them to e.g. Markdown[1].
I've experimented about generating the Markdown files corresponding to multiple versions (archives) of a given text and committing them to the same Git repository to be able to see diffs or blames[2].
I would like to assign the proper dates to each commit, but given there are texts in e.g. 1791, it's not possible.
0: https://refli.be/fr/lex 1: https://github.com/hypered/iterata-md 2: https://github.com/hypered/iterata-archive
Defletter|11 months ago
This is something I'm very interested in for a different use case: model legislatures. The infrastructure and tooling for model congresses and parliaments is very limited: largely relegated to wikis and Google Docs. And that's fine, but it becomes a problem long term with tracking and archival.
We had a situation where our model parliament did not own the Google Doc for a particular treaty with another model legislature. It was changed out from under us, which is not ideal. But that brings into question ownership of Google Docs, and what happens if that person withdraws from the game.
Another issue is respecting and maintaining the creativity of those who play. People put a lot of effort into their bills with the fonts, formatting, layout, and imagery they use. It would be a shame to erase all that effort by converting it a bland wall of text a la markdown.
Markdown also has its issues: if the legislature removes an entry of an ordered list, how do you prevent markdown from renumbering the list? And the ways around this involve extending markdown, or using plaintext (eg: https://www.apache.org/licenses/LICENSE-2.0.txt)
Another solution could be QuillJS (https://quilljs.com/), which serialises into a JSON array of Deltas. However, this would make any kind of git-diff difficult to read. You'd need a custom differ, which is not impossible, but that may be a lot of work and may not be supported on git sites like Github.
Another issue is that, if you're using commits-as-enactments, then that probably means using the commit message (or notes) for the enactment's text. To what extent is that supported? As in, how long can commit messages be before it starts wreaking havoc on git clients? Will my Github tab or GitKraken client crash if I view the commit history? Could the commit message itself contain a serialised QuillJS document? What if that document contained a base64-encoded image?
ZuLuuuuuu|11 months ago
I don't know if they are doing it, but I always thought that it should be easy for regular citizens to see the historical reasons why a law or regulation exists. Because there is sometimes a good reason why a regulation exists, but nobody knows it.
LorenDB|11 months ago
tricoteuses|11 months ago
[deleted]
bilekas|11 months ago
Edit : I see you're focus is on another thing completely. Share it, could be a great topic also.
slt2021|11 months ago
For example in USA we would have budget ceiling crisis, and both parties try to ram through a law to bump up the debt ceiling "to prevent government shutdown". It is being sold as a measure to keep government afloat and running, and is usually ran through pre-holiday like Christmas.
But what actually happens, is thousands and thousands of pages of various pork is rammed through with various cutouts and carveouts for special interest groups due to lobbying.
Public needs to know who when and how is adding these lines and how is bipartisan consensus is being achieved in real-time, not post-factum.
arlort|11 months ago
This is a horrible idea in practice because everything that is public and open turns into a purity test.
You need people to be able to negotiate with each other in order for consensus to be established, and negotiations only work if the negotiators give up on something that they want to get something else. The moment you make this public all that you get is people turning negotiations into a way to generate soundbites and scared of doing any actual work because they'll just give ammunition to their opponents.
This is doubly bad in the US with the primary systems which makes legislators even more vulnerable to attacks from their flanks.
Legislators are not elected to be proxies for the voters, that's not how it's supposed to work. They're elected to use their judgement, that's why there usually aren't recall elections or restrictions on how they can vote etc.
As a matter of fact I'm of the opinion politics everywhere would be a lot better if plenaries, committees and hearings were not recorded or televised in the first place. I'm ok with minutes being made available but I'm convinced without being able to clip soundbites or tiktoks out of every meeting legislatures would be a lot more productive. Definitely more so than if we attached a camera crew to everyone in politics for "transparency"
daedrdev|11 months ago
ekianjo|11 months ago
Government and officials will fight to the teeth to avoid accountability and transparency because that's where the money and power is.
eru|11 months ago
Alas, that sounds like a great idea in principle, but is probably a bad idea in practice.
Speeches in parliament (or on the senate floor, in the US) are already public. And that's a big reason those speeches are useless: they are just used as grandstanding to the general public.
The real work in finding compromises happens behind closed doors. That way you avoid producing sound bytes that can be used against you next election season. Especially from challengers in your own party, who could otherwise accuse you of being insufficiently pure.
KennyBlanken|11 months ago
This is what the press and various independent groups already do. They have people that pour through the stuff, as well as getting tips and press releases from congressional reps and third party interest groups. It's just that there's only so much they can cover, and most of the public can't be bothered to do more than turn on the evening news.
There's a lot of good, in-depth journalism out there. You just have to look a bit harder for it.
umanwizard|11 months ago
__MatrixMan__|11 months ago
refulgentis|11 months ago
prawn|11 months ago
yallpendantools|11 months ago
trashchomper|11 months ago
Like I get it, but English is fluid and is it really that far to make the assumptive leap from "git" to "github/lab/service", seems pretty clear what they meant (even if it's not completely/technically/um-actually correct because git != github).
codedokode|11 months ago
What one usually need, is for example, to have cross-references, i.e. when a law contains phrase like "the certification is issued by a relevant authority", you want to have the "relevant authority" wrapped in a hyperlink pointing to an government order that designates that authority. Also, you typically want to have links to court cases related to some paragraph near it etc. If some change is planned to the law you want to have a note in the text like "this is going to change on September, 1", etc.
Given that many countries have local laws, you might want to be able to filter by a place.
Github might be used for storing raw documents as some weird kind of a database, but it is useless for actually trying to find out the answers to legal questions.
To make an analogy, reading laws on Github is like reading source code without syntax highlighting and navigation.
seba_dos1|11 months ago
adastra22|11 months ago
hnben|11 months ago
pcdavid|11 months ago
sam_lowry_|11 months ago
rob74|11 months ago
rozab|11 months ago
high_na_euv|11 months ago
Github is high quality, software engineering enablement platform
And git is letter management engine
rwoerz|11 months ago
werzum|11 months ago
Hackbraten|11 months ago
This needs human curation to be useful.
YmiYugy|11 months ago
bjourne|11 months ago
unknown|11 months ago
[deleted]
n2d4|11 months ago
What similar resources are out there? Any favorites?
Terr_|11 months ago
https://arstechnica.com/tech-policy/2018/11/how-i-changed-th...
mxschll|11 months ago
unknown|11 months ago
[deleted]
qrush|11 months ago
eru|11 months ago
mxschll|11 months ago
notTooFarGone|11 months ago
ThinkBeat|11 months ago
flobosg|11 months ago
Aka a heatmap.
mxschll|11 months ago
zaik|11 months ago
blablabla123|11 months ago
What happens when these get solved in a Stakkato timeframe shows the current US government which at this point even fails to fulfill basic needs of supermarkets. Proper laws/initiatives aren't created/fleshed out by actual politicians but by a whole army of employees of the related institutions.
Everything else is pure populism.
agnishom|11 months ago
xyzsparetimexyz|11 months ago
outside1234|11 months ago
rwoerz|11 months ago
Terr_|11 months ago
flohofwoe|11 months ago
lucb1e|11 months ago
bilekas|11 months ago
maxekman|11 months ago
I wonder how easy it is to adopt this project to that?
AlexChalakov|11 months ago
mcintyre1994|11 months ago
no-reply|11 months ago
https://xcential.com/blog/version-control-for-law-tracking-c...
a3w|11 months ago
pragmatick|11 months ago
6510|11 months ago
NooneAtAll3|11 months ago
zoobab|11 months ago
And everybody should be able to submit improvements to the law.
Prunkton|11 months ago
https://github.com/abstimmung-eu/abstimmung.eu
mvdtnz|11 months ago
throwaway290|11 months ago
littlecranky67|11 months ago
mcintyre1994|11 months ago
JanSchu|11 months ago
unit149|11 months ago
[deleted]
RKFADU_UOFCCLEL|11 months ago
[deleted]
_7acn|11 months ago