back
115 comments
From the Why It Matters section:

The Council is able to publish the law better and faster than ever before. With the District’s previous codification contractor, updates to the DC Code were published three times a year, and there could be a five-to-seven month delay in seeing the latest laws. But the Open Law Library has shortened the publication process to about a week after a law is enacted.

It also means we’re all getting to see more of the actual law that governs us—not the law as it was months ago.

This is pretty common in government agencies from what I've seen. Many contractors take forever to do even the most basic of changes because of how contracting works in order to milk as much money as possible.

But agencies that move towards open source initiatives, non-profits etc end up being a lot more responsive and overall end up a lot better off. Unfortunately there's a lot of entrenched commercial entities (ex Oracle) that want things to remain the same so it's going to be hard to rout them. Initiatives like this give me a bit of hope though.

I saw that as the core message justifying the headline. He as a civic hacker has interest in modern methods arriving in administrative circles and bringing a spotlight to it - inspiring others to do as well.

I was surprised I knew the author - he maintains mail-in-a-box, a popular mail selfhosting package.

> My edit wasn’t substantive. This sort of “technical correction,” as lawyers would call it, didn’t need to be passed by the Council and signed by the Mayor.

Okay, so they didn't "change the law." It's a cool story but not a fan of clickbait titles either.

As with most things in the law, it is complicated. The District legislative process shares many similarities to the federal government's. They pass laws, which are the official representation of the will of the Council. These laws are kinda like hand-crafted change sets. Change sets that can change other change sets.

These change sets are almost impossible to use as they are, so the Council creates an official compilation of all the change sets as applied and organized by subject. This is the Code of the District of Columbia. Usually, when people think about "the law" they are thinking about the code, because that is how people interact with it.

The laws as passed by the Council cannot (and should not) be changed via pull request. Here, the useful representation of those laws, the representation used by everybody who actually interacts with the law, has been updated via PR to more perfectly reflect the underlying laws.

It would probably go over better if the phrase about changing the law were in quotations marks to indicate it is kind of being tongue in cheek. It's not entirely inaccurate, more like a smidgen of double entendre.

I mean, I'm sympathetic to your complaint. It implies something more substantive than it really means. But I also appreciate word play. (shrug)

A fix is indeed a change, even if minor.

To be fair, my own distaste for clickbait is palpable here. But I think I can suspend it in light of the importance of this article's bigger point.

I've always thought this sounded like a good idea, and to see it actually happening is pretty amazing. Here's hoping it catches on.

They didn't change it if you think of the intent of the law and the words it was written with to be different things.
Hi all, I'm a co-founder of Open Law Library, the non-profit that built the platform DC uses to codify and publish their laws. We were so excited when we saw a member of the public make a PR. I'm happy to answer any questions.
This is really awesome and I hope to see something like this come to my country.

One thing I was wondering is how you would deal with more tricky issues/pull requests. Obviously we probably won't see people writing whole new laws in the pull requests editor but what if it was something like a sentience was written in an unclear way and someone opened an issue asking for it to be clarified or maybe they made a PR rewriting it to make more sense while still keeping the intent the same?

Kind of out there, but what prevents modification of the law from bad actors? Git history plays a part but is it possible for someone to edit a change and play all the subsequent changes on top of it, with the hope that nobody notices the sha change?
This is such a great way of making access to the law more open and welcoming, which is a great thing to me!

I haven't been able to check yet, but does anyone know if you are allowed to use this process to propose new laws or clarifications of laws more substantial than simple typo fixes?

Sure, you aren't going to have non-lawyers crafting legislation, but could this be used to bring up clarifications that could impact rulings or increase/decrease scope of current laws or something similar? (I'm not a lawyer, so I don't know what are big and what are small changes here)

Imagine if proposed laws could be commented on, have changes offered, debated, and ultimately decided on in an open fashion like this! With a public "audit trail" of sorts showing the history of changes the law went through.

I know this is optimistic, but I wholeheartedly believe that more openness and more people involved will ultimately lead to better laws.

I haven't been able to check yet, but does anyone know if you are allowed to use this process to propose new laws or clarifications of laws more substantial than simple typo fixes?

"You" as in you, a citizen off the street proposing a new law? Unlikely. You could use it to form the basis for a ballot initiative, I would think?

In stark contrast to Georgia, which has actively made access to its laws harder through copyright enforcement.

https://www.eff.org/deeplinks/2018/10/appeals-court-tells-ge...

On one side it makes sense to have a public repository like git used for this, but having a private company being responsible for this it's bit strange.

The fact that a pull request was accepted was now that strange because it could have been done by the council representative.

For this kind of use case it would make more sense to me some sort of block chain, not controlled by a single company.

"This isn’t a copy of the DC law. It is an authoritative source. It is where the DC Council stores the digital versions of enacted laws, and this source feeds directly into the Council’s DC Code website at https://code.dccouncil.us/dc/council/code/."

Why would you use a blockchain? There's already a central authority - the DC city government. They should just host their own git instance.
To be fair, I don't think anyone believes that this is the one and only source of the law in all forms. As in if GitHub suddenly started changing it on their own, we wouldn't all throw up our arms and resign to our new GitHub overlords.

It would be treated no differently than someone else trying to tamper with the written law in any form.

Github is just the storage medium.

It's a bit like saying that the paper on which the law is printed may not be produced by a private company, which of course, doesn't make sense.

This is great, I would also love to see laws have applicable test cases created. For a practical example, in NJ they recently changed gun laws, and they forgot to include an exemption for police officers, so they ended up being restricted by the new laws the same way civilians are. (I really bit my tongue on this, not going to get political, here).

The law should have had a test case created, which would have the equivalent of ensuring that police officers are not in violation of the law, when they are serving active duty, or going home. NJ’s assembly had to rush in some middle of the night legislation to fix this “bug” in the law, that nobody caught.

I would love to see this applied to all laws. As the article states, software and law have a lot in common. Testing should be one of them.

Testing requires laws to be defined in a language understandable to machines and to be unambiguous. That’s not gonna happen anytime soon.
I don't think I can think of any computing problem in the world harder than what you just described.
A few years ago, while the French parliament was discussing the modifications in law to allow gay marriage, many people were scrutinizing amendments and proposed amendment, and a developer presented all the MPs work in a git repository. It really felt like the future of democracy:

https://github.com/steeve/france.code-civil/commit/dfd5918f9...

It's great that DC is making their latest laws available to everyone, however it's a little scary that the commits aren't signed, meaning that anyone who gained access to the github repo could forge them (and do more than fixing typos).

Hopefully DC (and others) will look at doing GPG signatures[0,1] so that they don't have to trust github's authentication as much. Github has a nice GUI that reflects signatures with the "Verified" tag, which you can see at[2].

0: https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work

1: https://help.github.com/articles/signing-commits/

2: https://github.com/QubesOS/qubes-doc/commits/master

There are a number of technical limitations to gpg signatures. Your hypothetical attacker who has access to github can simply add his/her key and show up as a verified committer. gpg signatures have many other issues including metadata corruption, not to mention the nearly insurmountable issues around key management. As mentioned below, we have internal systems that allow us to audit/authenticate the repository. We will be rolling out a UELMA-compliant authentication scheme based on TUF in the next several months that will allow the public to authenticate the repository.
> meaning that anyone who gained access to the github repo could forge them (and do more than fixing typos).

… which would immediately be noticed by everyone using the repo. How many scenarios are there where a compromise wouldn’t include GPG keys or the attacker simply uploading their own key?

This is neat as long as DC sticks to a policy of open source laws and free access. Github has always done this, but I fear that 50 years from now we could be in a situation like access to case law where you have to pay a third party to read.
Yeah it makes me slightly uncomfortable to put the law in the hands of a private company. Github is allowed to block me for whatever reason they want, does that now mean I get locked out of this?

Would much rather see this on a self hosted GitLab but this is a good start for sure.

Someone make a site that has French laws in GitLab https://www.lafabriquedelaloi.fr/articles.html?loi=pjl12-689
Hi, the GitLab for the french laws from La Fabrique is here: https://git.regardscitoyens.org/parlement

It's a only a small part of the laws published on https://lafabriquedelaloi.fr for now but should be complete soon !

Disclaimer: I work on the project

Is this type of thing something people want?

I have been thinking of running for local office (one seat in particular is always uncontested), and my platform would basically be: I'll set up a method for constituents to voice their opinion in a transparent way. I'm thinking something like change.org, but with some way to verify residency.

I think citizens don't get as involved as they want to because the barrier to entry is too high and the results are too opaque (don't know how many called, emailed, etc). I would love to start a movement for more open government, but I'm just not sure the demand is there.

I wrote this a while ago: http://www.kmeme.com/2010/03/healthcare-diff.html

I wonder how well code-style line-oriented diffs work for laws. If you word wrap then your single-line changes can cascade and effect many lines. If you don’t word wrap seems like you need a better way to see diffs within long lines. Seems totally solvable, but that what github does for code might not be right.

But this is so awesome, pull requesting a typo. Go DC really forward thinking.

Wikipedia seems to handle this just fine, as does most markdowns. Manual word wrapping seems like more of an issue for code than plaintext. I don't manually wrap readme's anymore, that's what window-width-aware editors are for.
My side gig, like most sites these days, publishes a privacy policy and terms of service. From the start, I published those documents in a public Git repository - it provides a clear source of what version was in force at the time of any given argument. When you might later be discussing the content of those documents in court, that can be essential.

Of course, it could also work against you, but either way, it's one less thing that's open for discussion.

While this is a great development, hosting AUTHORITATIVE text of the law at a private service (GitHub, owned by Microsoft) doesn't sound like a good idea.

Consider what would happen if Microsoft decided to delete the repo. There will still be copies of the law at different places, but there would no authoritative version. Imagine a lawsuit where each party is arguing that their copy of the law is the "correct" one.

There's a way to store this in an immutable and trustless manor, but the B word gets a lot of push back around here.
Surely there was an open procurement process, where they considered the available options for web-based version control, and came to the conclusion that GitHub was justifiably better than its competitors.

They wouldn't just have picked someone's favourite service without thinking, because fair competition is a fundamental ingredient of a well-functioning capitalist market economy.

Right?

I always reach that website when I randomly hit my keyboard in the browser's address bar to see if my internet connection is working.

Seems to be a great domain.

(Colemak user here)

If the law is on github, does Microsoft then own the law?
I've been wanting this for a long time, I wanted to take it further though:

I want draft laws, I want to see all representatives as contributors and be able to see their contributions and changes to draft laws.

the House should have a master branch that submits pull requests to another repository, the other chamber having one too

The Governor/President gets to approve PR's from that jurisdiction

It would become SUPER easy to track origins and changes of laws, let alone browse them, and comment on them.

I'd like to see this done retroactively all the way back to English law

Here is an example of a platform like what you describe if not exactly, for the Delaware legislature.

I am linking to a particular law I followed from inception to passage, an amendment to the Delaware limited liability company Act allowing company records to be kept on Blockchain.

https://legis.delaware.gov/BillDetail/26554

You get the name of the Sponsor and co sponsors, additional sponsors, sign status, next steps, committee reports, action history, etc...

I'm very much in favor of leveraging the advantages of version control software for legal text. Git seems perfect for this, but GitHub is a terrible choice to host it. Surely we don't want a large corporation owning the platform on which our laws are enshrined. It seems like it would be much better for this to be self-hosted.
They have what you describe, and moreover such a thing has existed in paper form since th this country was formed.

Real time access to laws as they are drafted is a Really Bad Idea. Good ideas need time to incubate. The system you want would lead to the sound byte version of legislating.

I would love to see a constitution drafted for a fictional country.
The only relevant link on the article https://github.com/DCCouncil/dc-law-xml
So by hacking GitHub, now laws can be changed?

I want sentences to be GitHub as well, so that an inmate can hack github to change his sentence.

I’m personally not OK with a system that enables a single individual (the "lawyer" in the article) to declare modification to a law as insubstantial, then modify the law.

Some review process needs to be there, and frankly, even a typo correction IMO needs to be run by the Mayor because she/he signed one thing into law and this process changes what they signed. We cannot ever assume we know the intent of the Chief Executive, even when “obviously” in error.

OTOH, a diff system for law is awesome. California uses a similar system but it is cumbersome to do things like “show me how this section evolved over time”.