It makes a lot of sense for there to be a standardized, open framework for document management in general outside of source code. So many industries could improve their processes and transparency through tools like Git and services like GitHub, but they would need to be made a lot simpler than GitHub's UI. Their site has some great stuff going for developers, but scares away a few designers I know. I'd love to see a site/app like that get made.
Neat idea, but is it currently really a problem to tell who has written what part of a law? Isn't this public information already? If not, then this isn't a technology problem, and it will not be easy to convince our congresscritters to keep track of who writes precisely what. And what about sections of law with shared credit, or law that comes from a committee that didn't unanimously agree, etc.
I know very little about how law is written, but my impression is that most people who pay attention to it are more concerned about the large ideas than the exact wordings - that's how you have politicians voting on bills when they haven't read every word. How can they when it's thousands of pages long?
So this might be more useful to a small number of politicians and lawyers who are examining law closely, looking for loopholes, or concerned about the exact details of a particular statement's pedigree, but I don't really see the general appeal.
I would rather have a tool which provides similar information, but on a higher level. An independent overview in layman language, general information about how it came about, how it's significant historically or with respect to existing law, and with the option to drill down to the actual language and gritty details. Of course, this would take much more work to build and maintain. I've been a fan of opencongress.org but I've found that switching between opencongress and wikipedia is the most effective way to understand the context and significance of a bill.
Reading the actual text of a law is usually about as useful to me for determining its implications as reading the source code of a printer driver would be to my dad for figuring out how to install a printer.
Bills used to not be 1000 page tomes. Special interests usually cause that bloat by lobbying for exemptions or credits in special circumstances. There's no real reason it has to be 2000 pages, it's not going to be three pages either though.
I think there will come a time when people will look back and find it quaint and impractical that we tried to interpret our massive legal system by hand, rather than leaving that sort of thing to computers.
or how about Lojban? That way it can be machine readable, unambiguously queried, culturally neutral and actually be a language designed for human communication.
Unfortunately, the key challenge with the problem isn't architecting a DVCS-like service for legal documents (for an MVP, you could easily get by simply designing a novel frontend to git), it's an adoption problem. The current system is flawed, yes, but merely offering a superior product for less money isn't enough to make a dent in the bureaucratic nightmare of modern-day Washington.
Adoption isn't the problem. We don't need Congress to use such a system initially; we need bills, the US Code, etc. mirrored on Github. When it's there, people will get it. The information is out there, it just needs to be processed into a usable form so that it works with Git. And it'd take millions of dollars, and have no conventional ROI, so no one's going to do it.
The question is how up-to-date the bill texts are. I doubt it can tracks in real time with changes/amendments voted on, etc. but then again any system bolted on the process as opposed to being fundamentally integrated into the process wouldn't be.
>And it'd take millions of dollars, and have no conventional ROI, so no one's going to do it.
Your pessimism is unwarranted. There is already one user on GitHub that scrapes the US Code and mirrors it. He even tags
the changes so you can diff them quite easily.
It also wouldn't have $0 ROI because there are people who will pay for advanced services built around the law-making process.
Here's an example of a service built on Ontario laws (disclosure: I made it): www.ontariomonitor.ca. It emails people when a bill passes a committee or when new laws are introduced (+ lots of other stuff).
Adoption is the problem. The US Code already is on GitHub — https://github.com/divegeek/uscode — but it's only a mirror. There's also the Sunlight Foundation's OpenCongress http://www.opencongress.org/ which provides a nice way to track a bill and its participants. But without the authors actually using something like git in their process of writing the laws, this doesn't really help people participate directly.
Won't change anything. It's proposing a technical solution to a people problem.
Right now laws are openly available, but people don't care enough to get look into them. Also, just because you have "git blame" doesn't mean you'll now magically be able to see what corporate lobbyist wrote the law, because they'd just ask the legislator to commit it instead. Wouldn't change anything.
but at the same time it is kind of a technical problem.
one big reason why people don't look at the laws is because they get changed all the time without a transparant way to see what ends up getting changed right before a vote. something like gitlaw would allow people, and lawyers, to track changes to laws much easier.
adoption is definitely the problem, but this can help lawyers make proposals and counterproposals with the speed of software developers, which may give lawyers a reason to sign on.
GitLaw, if implemented, would be a significant improvement over law by gits -- which is what we have now.
Unfortunately, I don't think the problem (with Congress) is technological. If GitLaw were implemented, a lobbyist wouldn't be making a pull request directly, they'd influence someone to do it for them so it wouldn't be traceable -- which is pretty much the way it works now.
I basically agree with everyone pouring cold water on this as far as reforming the statute law system is concerned. That is a much more entrenched problem than any computer system is going to solve overnight.
However, I do see a niche for DIY contract law. Sort of like Nolo Press on steroids. Where you can browse standard contracts and then modify them to suit your needs in a visible and traceable way. Or possibly for contract negotiations, where each party makes changes. This would keep track of history in a neutral and verifiable way. (Could save time and errors for individuals and small law firms....)
I like the idea. I've been wanting to do something similar for the laws here in Denmark, but getting good data is tricky.... Strangely enough.
My reasoning is that I feel that politicians are constantly filling with existing laws and the changes are conveyed via strang legal terms, e.g. "This changes "they to us in paragraph five, section 2, line 3". This is a complete bullshit way of informing the public about the changes to our laws. If laws where tracked the same way we as developers track our code, hiding even minor changes would be impossible. Just imagine getting a daily / weekly change log for the laws passed by your government. Even our lazy journalists should be able to dig up something in appropriate every now and then if they knew what changed.
It hasn't morphed, we just don't market it on the homepage as "GitHub for Legal Docs" since lawyers and the general public have no idea what that is. But it is open-sourced legal docs, with versioning, diffs and a Github-style ownership/branching model.
This is one of those ideas that gets suggested on a frequent basis. Those who suggest it often think that the problem is one of complexity management, like managing source code changes.
The actual problem is one of power and intention. Yes, version control would make earmarks obvious. Yes, it would make tracking contributors (lobbies) easier. Yes, it would make tailoring tried and trusted legal documents easy.
All of these are reasons why version control will never be applied to the law. We want these things, but we are not the customer. The real customer is actively trying to prevent these things from ever happening.
The reality is that these tools are probably already being used for these exact purposes - in private, and for personal gain.
I agree 100%, but I think that's only the short view-- the extant governments aren't going to be around forever, and in the long run we need smart people to spend time thinking about how to structure a government that's learned from our mistakes.
Of course we won't see Congress outlaw lobbying, but there's definitely an opportunity today to try some of these concepts in an organization, community, or even willing local government.
Thank you for your cynicism, it's super productive. Let's not discuss or try to improve upon the idea. Let's just tell him why we think he's wrong.
/rant
Continuing with OP's thought. Making the legislator who introduces the bill commit the bill would be an awesome piece of information and might make some legislators think twice about what they introduce and how they title it. And all the statistics that could be run on a repo of laws would be a ridiculously useful resource.
I've had similar thoughts, but I would never voice them.
I even registered gitlaw.us a few years ago and then let it expire because I couldn't bridge the impedance mismatch between the idea and the implementation.
But again, I would never voice such thoughts, for many reasons:
1. It's exactly the attitude that your 'real customers' want in the public - learned helplessness.
2. You start believing it, and there is an insidious, negative effect on your judgement, decisions, and life. I'm not saying be a rose-tinted-glasses optimist, but don't be the opposite extreme either.
3. It is possible to win. Remember Gandi, Mandela, etc. Imagine how bleak their outlook was, yet they remained committed, steadfast, relentless, constant as the dawn, and eventually the time came for their ideas and there was nothing more powerful or unstoppable.
4. Real hackers aren't like that. The bigger the problem, the bigger the opportunity for disruption and making the world better. There are few bigger than this.
It takes efforts like these to eventually make the time come for the ideas that change the world, so it behooves us all never to talk them down out of mere pessimism. Constructively criticize yes, but no shootdowns.
Remember, first they ignore you, then they ridicule you, then they fight you, then you win.
Sure, you explain quite well why there would be resistance to such an idea as this.
However, in the 200+ year history of the United States Congress, no tool like this has existed that could bring the kind of transparency to the process that reformers have been pushing for for nearly as long.
It is one thing to say "We need more transparency!" It is another thing entirely to say "Publish all bill modifications with attribution using a public version control system!" Having something specific and concrete to push for, something the implementation of which can be said to be completed or not completed in definitive terms, can make the difference between a successful push for reform and an unsuccessful one.
Except, you know, that all proposed legislation is publicly posted to the Thomas system with 24 hours of submission (i.e., prior to voting), all legislative hearings and regulatory hearings are open to the public, and...get this...legislative debates and major agency events have been publicly televised for more than two decades on not one, but 3 separate channels!
The reality is that most of the people who complain about the lack of transparency are those who put the least effort into finding the available sources.
Yes, the wizards are disincentivized to let the people pull back the curtain, but as stated here, that's no excuse for not trying.
A separate problem, however, is that this is essentially a process improvement, that doesn't generate much advantage to the person who makes it happen. A politician would need to use significant personal resources to push this type of reform through the system, yet the 'payoff' is probably minimal compared to substantive policy or constituent service activities. By raising the issue from process improvement to substantive issue, the chances of implementation improve. Discussing and spreading the idea is valuable in that light.
On a side note, once these types of distributed systems begin to take root, it becomes quickly apparent that co-location in Washington is of at least questionable value. (Look at the attendance records of members at Congressional hearings.) Virtually everything that Congress does can be accomplished without the need for the massive physical and personnel support system found at the Capitol. It would be interesting to see how government would be designed given the communication tools available today.
I've dreamed up something like this as well and realistically there isn't anything preventing us from using git to manage our laws. As a strawman to beat up, here is an example of how it could work:
git clone legislature/generalstatutes
s/marijuana/sugar/g
git commit -am "Turn sugar into a controlled substance."
git request-pull
Legislators
If interested, # git branch bill_12345
git pull nathanhammond/generalstatutes
// Continue editing the "Sugar as a controlled substance" bill.
Spin off to committee (read/write to committee members)
git clone legislature/generalstatutes
git checkout bill_12345
// Continue editing the "Sugar as a controlled substance" bill.
git commit -am "Committee updates."
Take a vote for leaving committee.
If successful, # git request-pull
General legislature takes a vote.
If successful, # git merge bill_12345 master --signoff (Legislators that voted for it.)
Benefits:
- Encourages broader participation in democracy.
- Cryptographically signed. We'll know if you voted for or wrote it.
- Tracks history of all changes (at least at the commit level). If something comes out of committee very different from how it went in you can easily find every change.
- Makes it easier for newspeople to identify how the law is changing.
- An interface like GitHub over top of the repository could hide all of the complexity, allow for line-by-line comments, and general comments.
- Registering to the interface with your voter ID could allow for representatives to identify or poll constituents.
Problems:
- Requires behavioral change for legislators who I would not necessarily classify as "early adopters."
- Still possible to "launder" the creator by having somebody else make the changes for you.
You can use GitHub for legal documents already. Just convert your documents to markdown. We put our TOS and Privacy Policy on Github from launch: https://github.com/everyme/everyme-legal
We haven't had any issues or pull requests recently but we would welcome them for sure.
Not very (I maintain a nice iPhone app that front-ends the data on legislation.gov.uk): the data on legislation.gov.uk is useful for Joe Public, but when it comes to the actual practice of the law is woefully incomplete. This is purely down to a lack of interest and funding on the Government's part, as well as vested interests by people who publish law and charge for it.
There is no free source of up-to-date UK law: many of the statute on legislation.gov.uk is not guaranteed to be up to date, and if you're looking to practice this is obviously no good at all. This is in itself very sad. The people who run legislation.gov.uk do a fantastic job, and hopefully access will get much better in the future.
In addition to this being first and foremost a political/people problem as many have pointed out, the technical challenges of applying standard CMS and document management solutions to legislation environments are pretty much unknown or underestimated by most of us. For those interested, Sean McGrath has posted a series of posts addressing some of these challenges: http://seanmcgrath.blogspot.com/2010/05/xml-in-legislaturepa...
> It looks like there is an existing project
> called Legal-RDF that was created to add
> semantic data to digital legal documents,
> but it’s XML and therefore not very readable.
RDF has several other formats besides XML (turtle being one of the more human readable formats).
How do we start doing this? Is anyone willing to put some time to build this? Of course this would be non-profit. Maybe if we get enough people interested, we can start pressuring different organization to help us (Wikimedia comes to mind).
There would be a need for people writing the laws into text and coders for implementing different aspects. Maybe crowdfunded. I don't know, just throwing ideas to see if anyone is interested.
We don't need the government to do this. We have the data (or most of it). We need to start changing it from the outside.
99 comments
[ 3.4 ms ] story [ 212 ms ] threadThere was a barcamp not long ago: http://transparencycamp.org/ with many people from all over the world.
I know very little about how law is written, but my impression is that most people who pay attention to it are more concerned about the large ideas than the exact wordings - that's how you have politicians voting on bills when they haven't read every word. How can they when it's thousands of pages long?
So this might be more useful to a small number of politicians and lawyers who are examining law closely, looking for loopholes, or concerned about the exact details of a particular statement's pedigree, but I don't really see the general appeal.
I would rather have a tool which provides similar information, but on a higher level. An independent overview in layman language, general information about how it came about, how it's significant historically or with respect to existing law, and with the option to drill down to the actual language and gritty details. Of course, this would take much more work to build and maintain. I've been a fan of opencongress.org but I've found that switching between opencongress and wikipedia is the most effective way to understand the context and significance of a bill.
Reading the actual text of a law is usually about as useful to me for determining its implications as reading the source code of a printer driver would be to my dad for figuring out how to install a printer.
(xkcd 191 comic joke notwithstanding)
Unfortunately, the key challenge with the problem isn't architecting a DVCS-like service for legal documents (for an MVP, you could easily get by simply designing a novel frontend to git), it's an adoption problem. The current system is flawed, yes, but merely offering a superior product for less money isn't enough to make a dent in the bureaucratic nightmare of modern-day Washington.
I'm reminded of an article I saw here on HN a few months back: http://www.informationdiet.com/blog/read/dear-internet-its-n...
The question is how up-to-date the bill texts are. I doubt it can tracks in real time with changes/amendments voted on, etc. but then again any system bolted on the process as opposed to being fundamentally integrated into the process wouldn't be.
Your pessimism is unwarranted. There is already one user on GitHub that scrapes the US Code and mirrors it. He even tags the changes so you can diff them quite easily.
https://github.com/divegeek/uscode
Here's an example of a service built on Ontario laws (disclosure: I made it): www.ontariomonitor.ca. It emails people when a bill passes a committee or when new laws are introduced (+ lots of other stuff).
Right now laws are openly available, but people don't care enough to get look into them. Also, just because you have "git blame" doesn't mean you'll now magically be able to see what corporate lobbyist wrote the law, because they'd just ask the legislator to commit it instead. Wouldn't change anything.
one big reason why people don't look at the laws is because they get changed all the time without a transparant way to see what ends up getting changed right before a vote. something like gitlaw would allow people, and lawyers, to track changes to laws much easier.
adoption is definitely the problem, but this can help lawyers make proposals and counterproposals with the speed of software developers, which may give lawyers a reason to sign on.
Unfortunately, I don't think the problem (with Congress) is technological. If GitLaw were implemented, a lobbyist wouldn't be making a pull request directly, they'd influence someone to do it for them so it wouldn't be traceable -- which is pretty much the way it works now.
Because now there are hundreds of people to check. We don't known exactly who did what.
With GitLow there will be one direct person responsible.
SCM helps a lot with source code. Imagine 400 people software project without SCM.
However, I do see a niche for DIY contract law. Sort of like Nolo Press on steroids. Where you can browse standard contracts and then modify them to suit your needs in a visible and traceable way. Or possibly for contract negotiations, where each party makes changes. This would keep track of history in a neutral and verifiable way. (Could save time and errors for individuals and small law firms....)
My reasoning is that I feel that politicians are constantly filling with existing laws and the changes are conveyed via strang legal terms, e.g. "This changes "they to us in paragraph five, section 2, line 3". This is a complete bullshit way of informing the public about the changes to our laws. If laws where tracked the same way we as developers track our code, hiding even minor changes would be impossible. Just imagine getting a daily / weekly change log for the laws passed by your government. Even our lazy journalists should be able to dig up something in appropriate every now and then if they knew what changed.
Wonderful idea.
http://docracy.com
John (Co-Founder of Docracy)
The actual problem is one of power and intention. Yes, version control would make earmarks obvious. Yes, it would make tracking contributors (lobbies) easier. Yes, it would make tailoring tried and trusted legal documents easy.
All of these are reasons why version control will never be applied to the law. We want these things, but we are not the customer. The real customer is actively trying to prevent these things from ever happening.
The reality is that these tools are probably already being used for these exact purposes - in private, and for personal gain.
Of course we won't see Congress outlaw lobbying, but there's definitely an opportunity today to try some of these concepts in an organization, community, or even willing local government.
The problem is that the government is too big and has too much power, so the rewards for lobbying are so great.
/rant
Continuing with OP's thought. Making the legislator who introduces the bill commit the bill would be an awesome piece of information and might make some legislators think twice about what they introduce and how they title it. And all the statistics that could be run on a repo of laws would be a ridiculously useful resource.
So make it happen first, then make it work well.
It's not cynicism, its realism which must be reflected in the strategy for change, otherwise failure is inevitable.
I even registered gitlaw.us a few years ago and then let it expire because I couldn't bridge the impedance mismatch between the idea and the implementation.
But again, I would never voice such thoughts, for many reasons:
1. It's exactly the attitude that your 'real customers' want in the public - learned helplessness.
2. You start believing it, and there is an insidious, negative effect on your judgement, decisions, and life. I'm not saying be a rose-tinted-glasses optimist, but don't be the opposite extreme either.
3. It is possible to win. Remember Gandi, Mandela, etc. Imagine how bleak their outlook was, yet they remained committed, steadfast, relentless, constant as the dawn, and eventually the time came for their ideas and there was nothing more powerful or unstoppable.
4. Real hackers aren't like that. The bigger the problem, the bigger the opportunity for disruption and making the world better. There are few bigger than this.
It takes efforts like these to eventually make the time come for the ideas that change the world, so it behooves us all never to talk them down out of mere pessimism. Constructively criticize yes, but no shootdowns.
Remember, first they ignore you, then they ridicule you, then they fight you, then you win.
It can be done.
However, in the 200+ year history of the United States Congress, no tool like this has existed that could bring the kind of transparency to the process that reformers have been pushing for for nearly as long.
It is one thing to say "We need more transparency!" It is another thing entirely to say "Publish all bill modifications with attribution using a public version control system!" Having something specific and concrete to push for, something the implementation of which can be said to be completed or not completed in definitive terms, can make the difference between a successful push for reform and an unsuccessful one.
The reality is that most of the people who complain about the lack of transparency are those who put the least effort into finding the available sources.
A separate problem, however, is that this is essentially a process improvement, that doesn't generate much advantage to the person who makes it happen. A politician would need to use significant personal resources to push this type of reform through the system, yet the 'payoff' is probably minimal compared to substantive policy or constituent service activities. By raising the issue from process improvement to substantive issue, the chances of implementation improve. Discussing and spreading the idea is valuable in that light.
On a side note, once these types of distributed systems begin to take root, it becomes quickly apparent that co-location in Washington is of at least questionable value. (Look at the attendance records of members at Congressional hearings.) Virtually everything that Congress does can be accomplished without the need for the massive physical and personnel support system found at the Capitol. It would be interesting to see how government would be designed given the communication tools available today.
- Encourages broader participation in democracy.
- Cryptographically signed. We'll know if you voted for or wrote it.
- Tracks history of all changes (at least at the commit level). If something comes out of committee very different from how it went in you can easily find every change.
- Makes it easier for newspeople to identify how the law is changing.
- An interface like GitHub over top of the repository could hide all of the complexity, allow for line-by-line comments, and general comments.
- Registering to the interface with your voter ID could allow for representatives to identify or poll constituents.
Problems:
- Requires behavioral change for legislators who I would not necessarily classify as "early adopters."
- Still possible to "launder" the creator by having somebody else make the changes for you.
- In place modification of the law. To this point when something is repealed it typically looks something like this: http://www.ncleg.net/EnactedLegislation/Statutes/HTML/BySect...
We haven't had any issues or pull requests recently but we would welcome them for sure.
There is no free source of up-to-date UK law: many of the statute on legislation.gov.uk is not guaranteed to be up to date, and if you're looking to practice this is obviously no good at all. This is in itself very sad. The people who run legislation.gov.uk do a fantastic job, and hopefully access will get much better in the future.
They say it's updated within 24h of publication. Which seems to be as up to date as you'll get.
There are http://services.parliament.uk/bills/ and http://bills.ais.co.uk/AC.asp for tracking bills before publication (the later one isn't working at the moment though).
So for example the 1st reading in the Lords of the Online Safety Bill was on 14th May and the text can be read at http://services.parliament.uk/bills/2012-13/onlinesafety.htm....
Having said that you can (and do) have Wikis that are backed by git.
RDF has several other formats besides XML (turtle being one of the more human readable formats).
There would be a need for people writing the laws into text and coders for implementing different aspects. Maybe crowdfunded. I don't know, just throwing ideas to see if anyone is interested.
We don't need the government to do this. We have the data (or most of it). We need to start changing it from the outside.