zlacker

[parent] [thread] 0 comments
1. nathan+(OP)[view] [source] 2012-05-13 20:50:53
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.

- 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...

[go to top]