Not really. It is arguing for version controlled legislation. So who’s responsible for what portions of literal laws and policy. I hope your "not clone-able" is in jest
There's actually two kinds of changes here: changes to the law, and changes to your description of the-law-and-its-changes (metachanges). For example, if you make a mistake in recording a change to the law, you need to fix that (unlike eg a source repo where mistakes in a commit message are forever).
So to make this a git repo, I guess you'd make the snapshots be the law plus markup for all the changes, and the diffs are the metachanges. For each snapshot S, you could generate a git repo whose snapshots are the law and the whose diffs are the changes in the law (as described by S).
I'm not an expert in this domain but I'm aware there has been prior work to attempt this. I'd appreciate if someone knowledgeable could post some of that context.
Something akin to this is a big part of the products that companies like LexisNexis or Thompson Reuters charge your lawyers a whole lot of money for. Because for a lot of legal questions, you don't just need to know what the law says now, but what it said at the time of the incident in question. And every legislative body around the country (at least at the time I was working in this space a decade ago) publishes legislative changes in completely different and often times not easily parsable forms. Web scraping and PDF scraping was far more common than you'd think. Some state legislatures published changes in more reasonable forms, and some states contract their official legislative compilation to companies like LexisNexis or Thompson Reuters and work to publish an actual change stream with proper standardized references. There's a lot of manual work that goes into making stuff like this work, a lot of lawyers and other legal professionals manually reviewing that the right pieces were removed or added in the right places, matching up references to parts of the law that might have changed between the time the legislation was passed and the time the change was published and figuring out what order everything actually goes in. And the actual text of the law is only part of the equation. Legal decisions from courts can dramatically impact the reading of the law, or effect effectively strike laws from the books (even if the laws are technically still on the books, just not enforceable). So often the right way to represent a diff of two points in time depends on the question you're trying to answer.
I wanted to do something like this for a single section in Washington law, to show why a particular funding restriction had been added, but was no longer achieving the intended goal. Git alone wasn't enough of a UI, because the 'why' was only in the introductory text of the bill that changed the law, and not in the law itself - and then there was the move of that article to a different section, and a re-numbering of sections, and a change in definition in a different section that affected the scope of this one... fascinating stuff!
I thought legal document versioning software would cover some of these problems but it doesn't seem like a similar enough process.
Following renumbers has to be one of the worst parts of this. As an example, the text of the US code that was modified by the BCRA in 2002 has been renumbered / moved since Citizens United v FEC was decided. But the text itself is the same as it was since the BCRA passed, because courts don't remove the actual law text with their decisions. So if you want to know what parts of the current US code were ruled unconstitutional by the courts in that decision and are therefore unenforceable, you need to first find the text of the BCRA, because the ruling refers to the sections of that piece of legislation. Then you need to find the version of the US code that was on the books when the BCRA was passed to find the section references that the law talks about. Then you need to find the law that renumbered that part of the US Code and find the new parts. Then you need to see if any changes have been applied since (there hasn't really) and then you need to match the changes to the referenced sections in the old version of the code to the equivalent text in the current version of the code, modulo any changes to references that changed as part of the renumbering but are otherwise the same.
I'm not saying lawyers aren't really really expensive, but you don't have to spend a long time digging into just a simple question like "what parts of the law are no longer enforceable after a supreme court decision" before you start to understand why they charge the prices they do.
Unlike code, natural language laws have many exceptions and context dependencies, so trying to manage them cleanly with Git seems like it would be tough as data structuring costs and exception handling (hardcode-style responses) increase.
> Unlike code, natural language laws have many exceptions and context dependencies,
In the interpretation of the law, yes, but that doesn't matter for version controlling the text of the law, and in that sense, you can absolutely manage the text pretty cleanly in git. Most laws are just text. Many bills are literal git-diffs, except in prose, which can make it hard to understand a bill.
> exception handling (hardcode-style responses)
This is basically non-sequitur (there no such thing as a "hardcode-style response" in git…), and again, I think you're misunderstanding the idea here.
This brings us to my even more unlikely idea - when whoever wrote that line in the legislation dies or retires, the line enters a short review period where it's either renewed with a new author on the line to speak to it or is deprecated. This way someone would always be there to just answer for the intent. Also would help garbage collect legislation that is no longer useful.
That seems like a great way to turn functional legislation into swiss cheese as one line at a time things are either kept or removed on the whims of the current people in power. Laws are collectively voted on as a complete package, and a law that worked and was acceptable can become useless, dangerous, and undesirable with a small number of choice lines removed from them. It also sounds like a great way for you to lose longstanding freedoms and protections that should never be at risk of deprecating just because some one gets voted out or dies or retires.
Poland has an official, somewhat manual version of this - the ISAP system.
Actual bills are written in the form of patches ("§1. In the law X paragraph 5, the words "such and such" are replaced with "this and that". §2. The law X paragraph 4 is striked. §3. After law X paragraph 8, a new paragraph 8a is added that says "etc. and so on".)
After a patch or a collection of patches are passed, they are combined together and a unified version of the law is published. These documents aren't technically the law, they just show a snapshot of what the law is at the specific moment.
ISAP system is an online collection of all bills that were passed, plus crosslinks between laws that change/supercede/otherwise interact with each other, plus current and archival unified versions, plus related administrative orders and other miscellanious documents. Makes looking up laws and changes to laws very easy.
First PDF is the original, second PDF is the unified version, then there's links - 4 others changed, 4 explicitly obsoleted, 12 implicitly obsolete, 707 administrative orders, 12 Constitutional Tribunal rulings, 11 previous + current unified versions, 212 patches, 14 relevant EU directives.
YES PLEASE, but I suspect it will degenerate into another paid service with 1000 tiers... I think you cannot access the US law without paying for it? odd... I will wait for claude law to appear and hope they share the torrent...
I had this idea over 10 years ago but never finished it. I hope this takes off. I do fear it's not very practical for many big pieces of legislation which are often written in secret.
Likewise, a younger, more idealistic me thought it'd be great to use a GitHub-esque platform for laws. Pull Requests to suggest laws, gated behind reviews/approvals, branches so each house could work on their own versions before finally reconciling and merging into the Code, literally.
Transparency has a cost. There are several good reasons, but my favorite is intellectual freedom. Policy makers would be much less likely to explore bold reforms or risky bipartisan compromises if their draft quality notes and correspondences were publicly tied to their political reputation. It takes significant work to produce successful legislation, and much of that work can be productively and safely done without direct public oversight. This is the same reason an individual might value a private journal.
If you have a problem with your representative’s behavior, call their office and ask about it. They will certainly have a reason. Tell them if you disagree, and vote when you can.
> Policy makers would be much less likely to explore bold reforms or risky bipartisan compromises if their draft quality notes and correspondences were publicly tied to their political reputation.
Only if those bold reforms weren't in the interests of the people they serve. Risky bipartisan compromises should still be transparent along with what was gained in exchange for them. If the people feel that the compromise wasn't worth it they should be empowered to vote accordingly come election time. It's the job of representatives to assure the people who elected them that they are doing a good job and if they can't do that they deserve to lose their position. Refusing to support bold reforms that the people they represent want, or refusing to compromise when it would be beneficial to voters would become just as costly to their career.
> It takes significant work to produce successful legislation, and much of that work can be productively and safely done without direct public oversight.
Often most of that work is done entirely for them by corporations and lobbying groups and "law makers" just vote how they are paid to vote without even reading the bill put before them. Just because something can be done in secrecy doesn't make that the ideal way to do it. We've have extremely poor results with the system as it stands right now, so a change to introduce more transparency and accountability seems like a very good idea.
> This is the same reason an individual might value a private journal.
A public servant representing the interests of the public by making edits to laws while performing the duties they were elected to carry out is nothing at all like someone keeping a private journal. Laws are not their personal affairs, they the affairs of the public.
> If you have a problem with your representative’s behavior, call their office and ask about it.
When their behavior is conducted in secrecy behind closed doors the public doesn't have the ability to hold them accountable for it, which is exactly why it takes place in secrecy. Increasing the public's ability to hold elected officials accountable by increasing transparency can only improve outcomes for voters, and it would certainty be inconvenient for elected officials who want to put their own interests above the interests of the people who elected them.
Sounds neat, but not something a private company should be responsible for.
If transparency is the goal, the entire codebase for this should be public domain and not profitable. Otherwise there's a profit motive to rewrite history.
Cool idea but I can't find anywhere on the linked page to try it? It reads like a neat concept but it's not clear if this is a thing they've actually made or not (or am I just missing something super obvious?)
Sorry about that. There is a small-scale mock-up https://lexifina.com/watch which is what was on the video. I'll provide full public access/forkability in a few hours, watch this space.
I hadn't thought of using git to track the changes in legislation. This is a cool idea.
In Australia, I spent a bit of time trying to work out how to find which politician voted for what (both at state and federal level), so that when elections come, you can single out the individuals who voted for what legislation. I think AI may make this easier, but the challenge is in not spamming the "free and open" access to the online record of our legislation.
So far, it's probably a one-person $50K per year job to do this task manually, and the language of the public legislation record didn't lend itself easily to determining the laws or rights that actually changed when bills were passed into legislation. They are explicitly stated, but hard to distill with regexes, filters or other analysis tools (e.g. "Who voted to stop electric scooters going over 25km/h?") If you try reading the legislation, you will know what I mean.
"A complete and open record of the proceedings of our parliament" still needs people spend a good chunk of time interpreting and summarising it (e.g. the media, commentators, etc) which means it's a time-consuming hobby or a paid gig.
> In Australia, I spent a bit of time trying to work out how to find which politician voted for what (both at state and federal level), so that when elections come, you can single out the individuals who voted for what legislation.
That's an interesting project - I am guessing it's only targeting federal level, but could also include state level
The first problem I have in my mind is proxy votes, and votes that are made mandatory by the party they belong to - eg. a backbencher would struggle to go against the wishes of their party unless they felt it was worth risking their career over
> "A complete and open record of the proceedings of our parliament" still needs people spend a good chunk of time interpreting and summarising it (e.g. the media, commentators, etc) which means it's a time-consuming hobby or a paid gig.
The Hacker News Community (hah) needs to lobby hard to pass a law (what boostrapping!) to require the https://en.wikipedia.org/wiki/Office_of_the_Law_Revision_Cou... to maintain the repo as part of their duties, and do it retroactively for the entire history of the US Code.
It's a simple idea; it's cheap; there are no outstanding technical questions; it benefits almost everyone. Let's get this done.
Wow! This is very cool. I had an idea for something very similar to this when I found out the US federal government offered API keys, maybe three or four years ago. I found that while Congress did list bill revisions as they were made the format and retrieval of these was not an easy task. The idea was that I wanted to look at any line of any bill and see who proposed it that particular line’s inclusion.
For the record, and feel free to steal it if you like it, I called it “G(overnm)it-blame”
The tl;dr is that doing git-style change-tracking of the legislation isn't as helpful in practice as you'd think (especially because a lot of the very basic change-tracking is already available in the existing tools that lawyers use!).
I put a lot of thought into this last decade, I find that some bills are big blocks of new text, and other bills are convoluted instructions to modify other blocks of existing law, sometimes saying "strike this word and that word" other times referencing just a subsection of another law. hyperlinks to that other law or a model of what the legal code would look like is necessary
Agentically this could be done now, but it would still just be the tip of the iceberg
You're looking at quantum states of law and regulations, and that's just for one jurisdiction
If you're like me and also eager for cool uses for git, I'll share a cool one I use -- try out git for your resume! Commits change as you progress in life, and make branches for individually tailored resumes.
Without 64-bit time though, can't use it historically. Since current legislation is always changes built upon legislation from long before unix epoch, it kind of falls flat.
I love this, and I feel every legal document (of which there are many, for example, a random one: insurance companies' policies) should have something like this (and no, Word is not good for it)
"... Think of what version control software could mean for the Congress [...]. If bills were created under a system where strike-throughs and additions were carefully tracked, the public would know which legislator made which change to a proposed piece of legislation as it made its way through the Capitol.
At last, there would be transparency in the legislative process. Best-case scenario, it would shame legislators from inserting language against the public interest and only meant to reward political contributors; at worst, it would make such insertions public and allow the voters to punish the politicians who made them. ..."
There are a million frontends designed to simplify Git for non-programmers. In fact, lots of office software now has version management built-in. Very few people use it. This isn’t a technology problem.
To be fair, version control built into office suits are often hidden away or have other UX patterns that aren’t comfortable for nontechnical folk. So they either still get scared by it, or don’t even know it exists.
Yet there is a demand for version control for nontechnical people. And I know this because I’ve seen enough files called “copy of important thing” or “important thing 2”.
> Yet there is a demand for version control for nontechnical people. And I know this because I’ve seen enough files called “copy of important thing” or “important thing 2”.
This demonstrates LACK OF demand for technical version control, since the system you describe has been used since forever and found to be good enough.
No. It demonstrates nontechnical people adapting the skills they’re familiar with to suit a requirement they have.
It doesn’t prove that they don’t want a better solution should it have the right UX. And, as I said in my original comment, the current UX for version control in documents both sucks and is often hidden away where people might not even be aware it exists.
Yes, it is, but the issue is ease of use for non-technical users.
I was trying to avoid naming any products on purpose, but, for example, there is a commercial product that is easy enough for most people and affordable that would work for this- and there are a few open source clones that come close.
The open source clones are not quite polished enough for non-technical users, but they are the closest thing I can think of, basically crossing over a wiki + Markdown for knowledgebase creation with Git-like versioning.
We don’t need version control for legislative bills. We need journalists that track down who tried to insert what, summarize it, and present it to the public with context. That would satisfy the oversight purpose without getting lost in technicalities.
Our problem is that the press isn’t doing their job, not that legislation doesn’t have a commit graph. The latter, even if it existed, would not fix the former.
A revision control system is a tool the journalists could use to achieve this. Commits to the 'enacted' branch could have commit messges documenting the context (when, how, why, who). Unmerged branches could represent proposed but ultimately rejected (or still in progress) changes with the same amount of meta data.
Of course a tool itself doesn't solve the problem. You need somebody to use the tool. But the tool makes it easier to solve the problem.
Until journalists can be paid under the table to mislead the public, the problem will persist. Almost anyone can be bought on a Friday night for the price of a few drinks and benefits.
I am confused. Someone put in place a system that would allow journalists or citizens to meaningfully engage with the law in a much better way than they can now.
However you are proposing that journalists as a homogenous group do some extra work. I think that's a great thing but I don't get why you say the press aren't doing their job when they are at an historical low of compensation and respect.
If sounds like you are outsourcing your rage at the legislature and the press and journalists are the problem?
Sticking to the FTA someone made a first step in version tracking legislative texts but you do not think they've done enough?
We need that too, but the ability to git diff changes to the law is a great win for democracy and transparency in 2026 because git is an interface that agents are experts at using. If you're a journalist, activist or anybody else doing the type of research you just described this makes it faster and easier.
In the present day, mainstream journalists won't be meaningful advocates for democracy and the public interest any time soon. It's time to acknowledge that this idea is wishful thinking. The root cause is changes to the law like the Telecom Act of 1996 which allowed for the consolidation of old media under a few corporations.
For many years these mainstream journalists have been required to support corruption, cronyism, the centralization of power, and the increase of corporate power in order to retain their jobs. The law needs to be changed before they can become a net benefit to society again.
> because git is an interface that agents are experts at using
I'd actually argue that this is the wrong way around. Being able to git diff legislation is very good, but mainly for humans, who need tools to make work tractable.
An agent will use whatever interface is available, including no interference, won't give up due to the task being too onerous, and can be scaled by paying for more tokens. It could simply brute force diff the raw text, writing bespoke Python and regexes, etc.
LLMs make brute forcing intellect possible. It's humans who need finely crafted tools.
I am sure with LLMs the time to craft those tools to fetch the data and put them back in a git repo (for example one repo per legislative project) would not be too hard to do.
> Our problem is that the press isn’t doing their job
The general public isn't willing to pay for this, so it's very hard to do this. Especially given that most of this isn't exactly going to generate tons of views.
Let's be honest, in general, the public is very upset about all the injustice they perceive. But the public also lost all interest in the process, some can't even be bothered to vote once every other year....
It's too easy to blame others for your own inaction
> But the public also lost all interest in the process, some can't even be bothered to vote once every other year....
In the 1920s the German speaking world got a book whose first three chapters just hammer in how important it is for the average citizen to take an interest in his local politics. That book was subsequently banned by almost every European country in the decades since. I'm the only person I know who has personally read it, even though it is one of the most derided books in history.
I highly recommend the first three chapters to anybody who thinks they don't need to understand their local politics.
I don't think that the problem with legislative transparency is that there aren't enough middlemen sitting between the public and the legislative process.
I'm personally not interested in being dependent on the press -- which is just other people pursuing their own interests and assumptions -- to interpret artificially opaque sources, if those sources can just be made accessible instead.
Having a dynamic and pluralistic press is a good thing, and we need more investigative journalism, to discover what isn't visible to the public, but I'm not sure there's a lot of value in the sort of interpretive journalism you're proposing.
Every system gets gamed, and so is the current one. The goal is that the people can more easily stay informed. Even with mixed authors problem you highlight would be still an improvement.
This is already regularly done. One side or the other will propose or amend a bill that they claim does [popular thing x] and then add in some hyper-partisan clause at some point that they know will get voted against, so they can then claim that [other side] voted against [popular thing x].
The politicians wouldn’t have the option to game it if additional data is pulled in automatically like lobbying disclosure filings, public watchdog databases, etc. for the final overview. A shift turn from limiting the total sugar amount in soda would look quite bad if the politician got lobbied by Big Soda.
> it would shame legislators from inserting language against the public interest and only meant to reward political contributors
You’d just got a system of favors for who inserts what language. You’d hand tough edits to your safe-seat colleagues and insert messaging amendments designed to get voted down for own comms.
When a measure becomes a target yada yada.
(Note: this proposal is for the U.S. code. Not bills. Git for the USC works.)
Such a requirement would not do what you think it would. There would not be names legislator or even aids as commit authors. The commit authors would be members of the House Office of the Legislative Counsel[1].
The House Office of the Legislative Counsel is non-partisan, impartial, and confidential. Whether transparency has merit or not, tracking provenance would make the office partisan. Is more partisanship in government not a concern?
The second issue with transparency is that communication between legislators and legislative counsel member is subject to the attorney-client relationship. Breaking attorney-client privilege is a serious decision. Knowing how such a change would affect the organization and its members is not something to be taken lightly.
A more convincing argument for transparency would address impartiality and confidentiality. This is pretty clearly a Chesterton's fence type situation where advocating to change a system should anticipate criticisms. Addressing opposition preemptively is an implicit demonstration of knowing why the system exists which is table stakes for changing it.
There are several alternatives, like for example a political party where 1000 random citizens are picked up for analyzing and voting on every file. Next file next 1000 batch of random citizens are picked.
We could also let people vote directly on their own laws without intermediaries.
Sounds like a sort of jury system added to the legislative process. That might actually be a workable idea as an additional safeguard/sanity check before bills can pass.
2. It will create an incentive structure that will reflect the goals of political parties.
Transparency brings the office into the political sphere. Nothing in the political sphere escapes partisanship. It's pretty clear that no one knew this office existed before I brought it up and folks thought that lawmakers drafted their own bills. The fact that we're even now talking about it in terms of politics is evidence that it will devolve into partisan politics.
I get your instinct - transparency is in general a net good. But the more public an office is, the more it is drawn into partisanship.
Politics is especially prone to engineers disease and this is a great example of it. It assumes a technical solution in the spirit of transparency applies to complex human, social, and political domains where those frameworks do not neatly fit. When someone points out engineers disease, have some introspection before questioning their motives.
Sponsor of change should obviously be shown as at least partial author of the commit. Tag of "new book of laws" should show as authors all who voted yes.
Thank you for this informative comment, and I agree with the general idea in your Chesterton's Fence point.
When the HOLC provides wording, they do so in response to a request from an elected member or that member's staff, right? What I'm getting at is that it doesn't matter whether provenance is found via the commit author or via some other change-associated metadata -- the key thing is making precise change provenance trackable and (perhaps after some predefined delay) public. This would mainly aid journalists.
Is the HOLC currently functioning as an anonymizing service for changes to in-progress legislation? And if so, is that by design, or more by gradual and organic evolution?
Fundamentally, if we can't get at that provenance information in a reliable way right now at all, then version-control-style tracking would be a pretty big qualitative change in how things are done: information that wasn't available, except through unofficial channels, would now be available (again, maybe with some time delay or whatever, but in the long run it would be available). On the other hand, if that information is currently obtainable but is just not easy to obtain, then this would be more of an incremental improvement: since journalists and others with the requisite know-how could get the information right now, but maybe have to jump through hoops to do so, this would just reduce the number or height of the hoops.
I don't know which of those two scenarios best describes reality, but maybe you do?
That was the same for the software patent directive, we had leaks of amendments proposed by big companies, we could see that Members of Parliament were just copy pasting them.
By this point "the public" just doesn't care for this sort of stuff, we just want (stabler, for those still employed) jobs and day-to-day life that is not expensive as hell anymore. What the middle-class elites now call "democracy" has just become a glasperlenspiel, i.e. nothing of real interest to us, the masses, just a social differentiator between said well-to-do middle-classes.
More generally, the sooner us, the masses, spell it out that democracy is well and truly dead the better, that way maybe we can do something to alleviate our situation, but I'm afraid that won't happen anytime soon.
Bills are written in English but I'd view them as code. It's not interesting to track changes in code for outsiders. Sure, it's cool for programmers, but users of software do not care if you unrolled a for-loop and who did it. They don't even know what that is and the same holds for bills. We have journalists for that and nobody is willing to pay for that because nobody gives a shit about a functioning democracy. Now that's one hell of a problem git ain't going to solve.
The great promise of crypto-contracts was to be able to write rules as code and have them be deterministic (instead of requiring a judge to rule on it) and even have unit tests. Instead it seems we are moving towards a world where rules are written in English and judged by biased LLMs.
I couldn't care less about crypto currencies, but crypto contracts had the potential to replace much (although not all) of the bureaucracy around governments and justice systems. I am very sad it didn't take off.
There's a good chance it could have the opposite effect. The public doesn't pay as much attention to the workings of the government as donors do.
It's essentially an extension of the Sunshine Act of 1976, which made congressional votes public. There were claims that before it was enacted, legislators were able to vote their consciences, but then lie to donors and tell them they voted for their interests instead of their constituents' interests.
Since it passed, the public has been paying attention, but not like the donor class has been. Something needs to be not only bad, but have some sort of novel or salacious quality to make the news. If it's not near an election, people forget, if they paid attention to begin with. Donors pay attention. Representatives know this.
Ultimately, the problem is the money in politics, but this sort of thing can exacerbate the effects.
As long as there are people who allocate billions with a sign of the pen, with zero personal responsibility and skin in the game, there will be whole industries dedicated to swaying their hand.
We need to amend the Constitution to strike pardon power, give the Congress the power to pass property taxes (aka wealth taxes) and regulate donations to campaigns, candidates, parties and partisan causes. We also need law establishing mandatory retirement for Congressmen and judges, including justices, and probably a system where each President appoints one and only one justice to SCOTUS. Finally, yes, pass McCain-Feingold, pass a SCOTUS ethics bill and make corruption charges easier to bring.
It's amazing how you've managed to position "politicians were pursuing their own hidden agendas and then lying about it" as a desirable state of affairs.
It sounds like they were defrauding people into giving them donations under false pretenses, and the transparency measures were effective at mitigating that.
There's quite a lot of strange bias in your comment: the unjustified disjunction between "constituents" and "donors", the concept of a "donor class" as some singular bloc rather than an arbitrary aggregation of anyone who donates on behalf on all sides of all issues, the idea that donations are more important than the actual votes, etc.
That seems like an assumption, and a counterintuitive one: wouldn't you expect someone getting "fleeced" by the political system to be motivated to pay attention due to that very fact?
If you have a system of open transparency, then everyone who is motivated to pay attention has the means to do so. If they're not paying attention, it means they're not sufficiently motivated, and are choosing not to pay attention, not being constrained artificially.
This seems to be converging to some sort of "false consciousness" argument, where someone speculatively projects motivations and intentions onto other parties, then criticizes those other parties for not acting in accordance with the motivations strangers have projected onto them.
Needless to say, these sorts of arguments are utterly disingenuous, and in this case, somewhat ironic, because the people arguing that outcomes should conform to their speculative ideologies -- even in defiance of what the public themselves are manifestly choosing -- are themselves special interests trying to exert their own influence over politics.
> It sounds like they were defrauding people into giving them donations under false pretenses, and the transparency measures were effective at mitigating that.
There are no pretenses in political giving, because it is illegal to tie a donation to a particular position, vote, or action by the politician. It’s called a quid pro quo and is the test for whether a donation is a bribe.
In the U.S. the political system is based on people, not positions or policy. Donations to a politician are to the person. It’s not a proxy for buying an outcome.
In practice, of course people are going to support politicians who they like and think agree with them. But under the law, a politician can’t rip you off by taking your money and then voting contrary to your desires.
Which makes the initial promise to vote a certain way in exchange for donations itself illegal. That seems fine. So what is the problem with transparency, again?
This subthread is a discussion about pertains to politicians misrepresenting their voting intentions in order to get donations. My comment was a response to an argument that allowing politicians to do this is a good thing because it allows them to vote their "consciences" while pretending otherwise to people donating to them.
Perhaps not precisely, but it is a proxy for attempting to influence an outcome.
> under the law, a politician can’t rip you off by taking your money and then voting contrary to your desires.
Isn't that in conflict with:
> it is illegal to tie a donation to a particular position, vote, or action by the politician.
Are you saying that if I give a politician money and express my desire that they are then legally bound to vote according to my desire? Sounds like buying votes; I'm pretty sure that's not condoned by the law.
I don't know what the answer to public votes is. I see the benefit in them voting their conscience. But I also see how they can vote against my interests and then lie through their teeth that they are helping me if I can't see their record.
But voting today is such a performative act for them. There are great pieces of legislation that can't pass because someone has labeled it as radical so one side or the other can't be seen with their name on it so they don't pass it even though they know it is good and would benefit their constituents.
Git commits get rebased, squashed, cherry-picked and edited retroactively, written during pair or mob programming sessions or rewritten during code review. As a result, commit authorship and history don't tell you much about who exactly contributed or in what order.
The process is even messier when writing new laws. They get passed around between different departments, discussed & edited in various committees, etc.
Sure, you could force all participating parties to use git, prevent them from force-pushing or rewriting history even on their "feature branches", get them to sign their every commit, etc. But what you'd then likely just end up with is most negotiation & editing happening out-of-band.
Besides: At the end of the day it's the (majority of the) parliament that enacts a given law, so in my book they are all responsible to some degree, even if in practice laws get written by a small subset of people.
I'm blown away by the hand wringing of this. Someone would be forced to answer for the way they voted and inserted language. It makes it harder to do what you complain about because someone is going to take a hit. If its a little guy he might lose the next election. If its a big guy, eventually these things add up. Not sure what unintended consequences might appear. It sounds like you are resigned to the worst fate right now.
It shows git-like diffs plus an AI summary of what changed. There is no author attribution though - I'm not sure there is a business use case for it, lawyers don't care about who wrote a specific law.
187 comments
[ 4.8 ms ] story [ 55.2 ms ] threadSo to make this a git repo, I guess you'd make the snapshots be the law plus markup for all the changes, and the diffs are the metachanges. For each snapshot S, you could generate a git repo whose snapshots are the law and the whose diffs are the changes in the law (as described by S).
I thought legal document versioning software would cover some of these problems but it doesn't seem like a similar enough process.
I'm not saying lawyers aren't really really expensive, but you don't have to spend a long time digging into just a simple question like "what parts of the law are no longer enforceable after a supreme court decision" before you start to understand why they charge the prices they do.
In the interpretation of the law, yes, but that doesn't matter for version controlling the text of the law, and in that sense, you can absolutely manage the text pretty cleanly in git. Most laws are just text. Many bills are literal git-diffs, except in prose, which can make it hard to understand a bill.
> exception handling (hardcode-style responses)
This is basically non-sequitur (there no such thing as a "hardcode-style response" in git…), and again, I think you're misunderstanding the idea here.
French bills evolution versioned in git and visualized The Law Factory: french bills as git, opendata and dataviz https://www.lafabriquedelaloi.fr/
"Law is Code" on The Law Factory: french bills as git, opendata and dataviz - https://news.ycombinator.com/item?id=7817357 May 2014 (0 comments)
Actual bills are written in the form of patches ("§1. In the law X paragraph 5, the words "such and such" are replaced with "this and that". §2. The law X paragraph 4 is striked. §3. After law X paragraph 8, a new paragraph 8a is added that says "etc. and so on".)
After a patch or a collection of patches are passed, they are combined together and a unified version of the law is published. These documents aren't technically the law, they just show a snapshot of what the law is at the specific moment.
ISAP system is an online collection of all bills that were passed, plus crosslinks between laws that change/supercede/otherwise interact with each other, plus current and archival unified versions, plus related administrative orders and other miscellanious documents. Makes looking up laws and changes to laws very easy.
Example page for the traffic code https://isap.sejm.gov.pl/isap.nsf/DocDetails.xsp?id=WDU19970...
First PDF is the original, second PDF is the unified version, then there's links - 4 others changed, 4 explicitly obsoleted, 12 implicitly obsolete, 707 administrative orders, 12 Constitutional Tribunal rulings, 11 previous + current unified versions, 212 patches, 14 relevant EU directives.
If you have a problem with your representative’s behavior, call their office and ask about it. They will certainly have a reason. Tell them if you disagree, and vote when you can.
Only if those bold reforms weren't in the interests of the people they serve. Risky bipartisan compromises should still be transparent along with what was gained in exchange for them. If the people feel that the compromise wasn't worth it they should be empowered to vote accordingly come election time. It's the job of representatives to assure the people who elected them that they are doing a good job and if they can't do that they deserve to lose their position. Refusing to support bold reforms that the people they represent want, or refusing to compromise when it would be beneficial to voters would become just as costly to their career.
> It takes significant work to produce successful legislation, and much of that work can be productively and safely done without direct public oversight.
Often most of that work is done entirely for them by corporations and lobbying groups and "law makers" just vote how they are paid to vote without even reading the bill put before them. Just because something can be done in secrecy doesn't make that the ideal way to do it. We've have extremely poor results with the system as it stands right now, so a change to introduce more transparency and accountability seems like a very good idea.
> This is the same reason an individual might value a private journal.
A public servant representing the interests of the public by making edits to laws while performing the duties they were elected to carry out is nothing at all like someone keeping a private journal. Laws are not their personal affairs, they the affairs of the public.
> If you have a problem with your representative’s behavior, call their office and ask about it.
When their behavior is conducted in secrecy behind closed doors the public doesn't have the ability to hold them accountable for it, which is exactly why it takes place in secrecy. Increasing the public's ability to hold elected officials accountable by increasing transparency can only improve outcomes for voters, and it would certainty be inconvenient for elected officials who want to put their own interests above the interests of the people who elected them.
If transparency is the goal, the entire codebase for this should be public domain and not profitable. Otherwise there's a profit motive to rewrite history.
In Australia, I spent a bit of time trying to work out how to find which politician voted for what (both at state and federal level), so that when elections come, you can single out the individuals who voted for what legislation. I think AI may make this easier, but the challenge is in not spamming the "free and open" access to the online record of our legislation.
So far, it's probably a one-person $50K per year job to do this task manually, and the language of the public legislation record didn't lend itself easily to determining the laws or rights that actually changed when bills were passed into legislation. They are explicitly stated, but hard to distill with regexes, filters or other analysis tools (e.g. "Who voted to stop electric scooters going over 25km/h?") If you try reading the legislation, you will know what I mean.
"A complete and open record of the proceedings of our parliament" still needs people spend a good chunk of time interpreting and summarising it (e.g. the media, commentators, etc) which means it's a time-consuming hobby or a paid gig.
That's an interesting project - I am guessing it's only targeting federal level, but could also include state level
The first problem I have in my mind is proxy votes, and votes that are made mandatory by the party they belong to - eg. a backbencher would struggle to go against the wishes of their party unless they felt it was worth risking their career over
> "A complete and open record of the proceedings of our parliament" still needs people spend a good chunk of time interpreting and summarising it (e.g. the media, commentators, etc) which means it's a time-consuming hobby or a paid gig.
https://www.aph.gov.au/parliamentary_business/hansard and (linked from that page) https://www.aph.gov.au/Parliamentary_Business/Chamber_docume... would likely be good places to start
> How does your MP vote on the issues that matter to you?
previously covered on hn:
https://news.ycombinator.com/item?id=8485809
It's a simple idea; it's cheap; there are no outstanding technical questions; it benefits almost everyone. Let's get this done.
*from the US. Please remember that the Hacker News community is not limited to this single country.
For the record, and feel free to steal it if you like it, I called it “G(overnm)it-blame”
The tl;dr is that doing git-style change-tracking of the legislation isn't as helpful in practice as you'd think (especially because a lot of the very basic change-tracking is already available in the existing tools that lawyers use!).
Why would one need a trustless distributed system to store document deltas published by an inherently trusted entity (federal government)?
Agentically this could be done now, but it would still just be the tip of the iceberg
You're looking at quantum states of law and regulations, and that's just for one jurisdiction
Blew my mind when I realized I could do that.
Does it already exist?
https://news.ycombinator.com/item?id=47625366 - United States Code (federal laws) in Git (2026-04-03, 15 comments)
https://news.ycombinator.com/item?id=47621591 - Every Law a Commit – US Law in GitHub (2026-04-02, 32 comments)
I think it's parsing this data:
https://uscode.house.gov/download.html
Which was discussed here:
https://news.ycombinator.com/item?id=6135504 - The entire US Code is now online in XML (2013-07-31, 237 comments)
"... Think of what version control software could mean for the Congress [...]. If bills were created under a system where strike-throughs and additions were carefully tracked, the public would know which legislator made which change to a proposed piece of legislation as it made its way through the Capitol.
At last, there would be transparency in the legislative process. Best-case scenario, it would shame legislators from inserting language against the public interest and only meant to reward political contributors; at worst, it would make such insertions public and allow the voters to punish the politicians who made them. ..."
(from https://www.nytimes.com/2007/07/23/business/media/23link.htm... )
I do think there are some Markdown-based open source projects that might fit the bill.
Yet there is a demand for version control for nontechnical people. And I know this because I’ve seen enough files called “copy of important thing” or “important thing 2”.
This demonstrates LACK OF demand for technical version control, since the system you describe has been used since forever and found to be good enough.
It doesn’t prove that they don’t want a better solution should it have the right UX. And, as I said in my original comment, the current UX for version control in documents both sucks and is often hidden away where people might not even be aware it exists.
I was trying to avoid naming any products on purpose, but, for example, there is a commercial product that is easy enough for most people and affordable that would work for this- and there are a few open source clones that come close.
The open source clones are not quite polished enough for non-technical users, but they are the closest thing I can think of, basically crossing over a wiki + Markdown for knowledgebase creation with Git-like versioning.
Our problem is that the press isn’t doing their job, not that legislation doesn’t have a commit graph. The latter, even if it existed, would not fix the former.
Of course a tool itself doesn't solve the problem. You need somebody to use the tool. But the tool makes it easier to solve the problem.
Well, it's practically impossible to get a person to do something when their paycheck depends on their not doing it.
However you are proposing that journalists as a homogenous group do some extra work. I think that's a great thing but I don't get why you say the press aren't doing their job when they are at an historical low of compensation and respect.
If sounds like you are outsourcing your rage at the legislature and the press and journalists are the problem?
Sticking to the FTA someone made a first step in version tracking legislative texts but you do not think they've done enough?
In the present day, mainstream journalists won't be meaningful advocates for democracy and the public interest any time soon. It's time to acknowledge that this idea is wishful thinking. The root cause is changes to the law like the Telecom Act of 1996 which allowed for the consolidation of old media under a few corporations.
For many years these mainstream journalists have been required to support corruption, cronyism, the centralization of power, and the increase of corporate power in order to retain their jobs. The law needs to be changed before they can become a net benefit to society again.
I'd actually argue that this is the wrong way around. Being able to git diff legislation is very good, but mainly for humans, who need tools to make work tractable.
An agent will use whatever interface is available, including no interference, won't give up due to the task being too onerous, and can be scaled by paying for more tokens. It could simply brute force diff the raw text, writing bespoke Python and regexes, etc.
LLMs make brute forcing intellect possible. It's humans who need finely crafted tools.
The problem is, barely anyone is willing to pay the press for doing this job.
Outrage farming and clickbait make money, honest reporting does not.
The general public isn't willing to pay for this, so it's very hard to do this. Especially given that most of this isn't exactly going to generate tons of views.
Let's be honest, in general, the public is very upset about all the injustice they perceive. But the public also lost all interest in the process, some can't even be bothered to vote once every other year....
It's too easy to blame others for your own inaction
I highly recommend the first three chapters to anybody who thinks they don't need to understand their local politics.
The rough truth is you don’t need the general public to. Just the elites, broadly defined.
I'm personally not interested in being dependent on the press -- which is just other people pursuing their own interests and assumptions -- to interpret artificially opaque sources, if those sources can just be made accessible instead.
Having a dynamic and pluralistic press is a good thing, and we need more investigative journalism, to discover what isn't visible to the public, but I'm not sure there's a lot of value in the sort of interpretive journalism you're proposing.
Insert language you know will never get enough votes
Don’t strike out but add language to make it useless
Plus the bill sponsor often makes changes others ask for, so the true author isn’t noted
It would be a mess and ignored by the public after a while
You’d just got a system of favors for who inserts what language. You’d hand tough edits to your safe-seat colleagues and insert messaging amendments designed to get voted down for own comms.
When a measure becomes a target yada yada.
(Note: this proposal is for the U.S. code. Not bills. Git for the USC works.)
Git is a tool, or more accurately in this case, an interface. The measure is the attribution of edits.
The House Office of the Legislative Counsel is non-partisan, impartial, and confidential. Whether transparency has merit or not, tracking provenance would make the office partisan. Is more partisanship in government not a concern?
The second issue with transparency is that communication between legislators and legislative counsel member is subject to the attorney-client relationship. Breaking attorney-client privilege is a serious decision. Knowing how such a change would affect the organization and its members is not something to be taken lightly.
A more convincing argument for transparency would address impartiality and confidentiality. This is pretty clearly a Chesterton's fence type situation where advocating to change a system should anticipate criticisms. Addressing opposition preemptively is an implicit demonstration of knowing why the system exists which is table stakes for changing it.
1. https://legcounsel.house.gov/
We could also let people vote directly on their own laws without intermediaries.
Tracking who added what language is in no way partisan.
It's like the people that complain their favoured politician has more scrutiny on them when actually that politician just commits lots of crimes.
2. It will create an incentive structure that will reflect the goals of political parties.
Transparency brings the office into the political sphere. Nothing in the political sphere escapes partisanship. It's pretty clear that no one knew this office existed before I brought it up and folks thought that lawmakers drafted their own bills. The fact that we're even now talking about it in terms of politics is evidence that it will devolve into partisan politics.
I get your instinct - transparency is in general a net good. But the more public an office is, the more it is drawn into partisanship.
Politics is especially prone to engineers disease and this is a great example of it. It assumes a technical solution in the spirit of transparency applies to complex human, social, and political domains where those frameworks do not neatly fit. When someone points out engineers disease, have some introspection before questioning their motives.
When the HOLC provides wording, they do so in response to a request from an elected member or that member's staff, right? What I'm getting at is that it doesn't matter whether provenance is found via the commit author or via some other change-associated metadata -- the key thing is making precise change provenance trackable and (perhaps after some predefined delay) public. This would mainly aid journalists.
Is the HOLC currently functioning as an anonymizing service for changes to in-progress legislation? And if so, is that by design, or more by gradual and organic evolution?
Fundamentally, if we can't get at that provenance information in a reliable way right now at all, then version-control-style tracking would be a pretty big qualitative change in how things are done: information that wasn't available, except through unofficial channels, would now be available (again, maybe with some time delay or whatever, but in the long run it would be available). On the other hand, if that information is currently obtainable but is just not easy to obtain, then this would be more of an incremental improvement: since journalists and others with the requisite know-how could get the information right now, but maybe have to jump through hoops to do so, this would just reduce the number or height of the hoops.
I don't know which of those two scenarios best describes reality, but maybe you do?
By this point "the public" just doesn't care for this sort of stuff, we just want (stabler, for those still employed) jobs and day-to-day life that is not expensive as hell anymore. What the middle-class elites now call "democracy" has just become a glasperlenspiel, i.e. nothing of real interest to us, the masses, just a social differentiator between said well-to-do middle-classes.
More generally, the sooner us, the masses, spell it out that democracy is well and truly dead the better, that way maybe we can do something to alleviate our situation, but I'm afraid that won't happen anytime soon.
I couldn't care less about crypto currencies, but crypto contracts had the potential to replace much (although not all) of the bureaucracy around governments and justice systems. I am very sad it didn't take off.
It's a matter of time.
It's essentially an extension of the Sunshine Act of 1976, which made congressional votes public. There were claims that before it was enacted, legislators were able to vote their consciences, but then lie to donors and tell them they voted for their interests instead of their constituents' interests.
Since it passed, the public has been paying attention, but not like the donor class has been. Something needs to be not only bad, but have some sort of novel or salacious quality to make the news. If it's not near an election, people forget, if they paid attention to begin with. Donors pay attention. Representatives know this.
Ultimately, the problem is the money in politics, but this sort of thing can exacerbate the effects.
For example, we could behead people convicted of corrupting or being corrupted. That would be a significant deterrent.
This has historically done nothing for corruption and everything for one-party rule.
It sounds like they were defrauding people into giving them donations under false pretenses, and the transparency measures were effective at mitigating that.
There's quite a lot of strange bias in your comment: the unjustified disjunction between "constituents" and "donors", the concept of a "donor class" as some singular bloc rather than an arbitrary aggregation of anyone who donates on behalf on all sides of all issues, the idea that donations are more important than the actual votes, etc.
If you have a system of open transparency, then everyone who is motivated to pay attention has the means to do so. If they're not paying attention, it means they're not sufficiently motivated, and are choosing not to pay attention, not being constrained artificially.
This seems to be converging to some sort of "false consciousness" argument, where someone speculatively projects motivations and intentions onto other parties, then criticizes those other parties for not acting in accordance with the motivations strangers have projected onto them.
Needless to say, these sorts of arguments are utterly disingenuous, and in this case, somewhat ironic, because the people arguing that outcomes should conform to their speculative ideologies -- even in defiance of what the public themselves are manifestly choosing -- are themselves special interests trying to exert their own influence over politics.
There are no pretenses in political giving, because it is illegal to tie a donation to a particular position, vote, or action by the politician. It’s called a quid pro quo and is the test for whether a donation is a bribe.
In the U.S. the political system is based on people, not positions or policy. Donations to a politician are to the person. It’s not a proxy for buying an outcome.
In practice, of course people are going to support politicians who they like and think agree with them. But under the law, a politician can’t rip you off by taking your money and then voting contrary to your desires.
It is not. You’re not reading carefully enough.
Donations are always bribes.
> Donations to a politician are to the person.
Isn't that how bribery is normally done?
> It’s not a proxy for buying an outcome.
Perhaps not precisely, but it is a proxy for attempting to influence an outcome.
> under the law, a politician can’t rip you off by taking your money and then voting contrary to your desires.
Isn't that in conflict with:
> it is illegal to tie a donation to a particular position, vote, or action by the politician.
Are you saying that if I give a politician money and express my desire that they are then legally bound to vote according to my desire? Sounds like buying votes; I'm pretty sure that's not condoned by the law.
But voting today is such a performative act for them. There are great pieces of legislation that can't pass because someone has labeled it as radical so one side or the other can't be seen with their name on it so they don't pass it even though they know it is good and would benefit their constituents.
Git commits get rebased, squashed, cherry-picked and edited retroactively, written during pair or mob programming sessions or rewritten during code review. As a result, commit authorship and history don't tell you much about who exactly contributed or in what order.
The process is even messier when writing new laws. They get passed around between different departments, discussed & edited in various committees, etc.
Sure, you could force all participating parties to use git, prevent them from force-pushing or rewriting history even on their "feature branches", get them to sign their every commit, etc. But what you'd then likely just end up with is most negotiation & editing happening out-of-band.
Besides: At the end of the day it's the (majority of the) parliament that enacts a given law, so in my book they are all responsible to some degree, even if in practice laws get written by a small subset of people.
https://juriblio.fr/pourquoi-juriblio
It shows git-like diffs plus an AI summary of what changed. There is no author attribution though - I'm not sure there is a business use case for it, lawyers don't care about who wrote a specific law.