Hacker News new | past | comments | ask | show | jobs | submit login
US Constitution – A Git repo with history of edits (github.com/jessekphillips)
1198 points by styfle on Oct 23, 2019 | hide | past | favorite | 378 comments



This is probably common knowledge to Americans, but I noticed that the latest amendment on the commit log was written by James Madison. I was confused as to how that came about so recently and found on the wikipedia page:

>It was submitted by the 1st Congress to the states for ratification on September 25, 1789, along with eleven other proposed amendments. While ten of these twelve proposals were ratified in 1791 to become the Bill of Rights, what would become the Twenty-seventh Amendment and the proposed Congressional Apportionment Amendment did not get ratified by enough states for them to also come into force with the first ten amendments.

> The proposed congressional pay amendment was largely forgotten until 1982, when Gregory Watson, a 19-year-old sophomore at the University of Texas at Austin, wrote a paper for a government class in which he claimed that the amendment could still be ratified. A teaching assistant graded the paper a "C" and an appeal to the professor, Sharon Waite, failed, motivating Watson to launch a nationwide campaign to complete its ratification.[1] The amendment eventually became part of the United States Constitution, effective May 5, 1992,[2] completing a record-setting ratification period of 202 years, 7 months, and 10 days


>When Watson began his campaign in early 1982, he was aware of ratification by only six states and he erroneously believed that Virginia's 1791 approval was the last action taken by the states. He discovered in 1983 that Ohio had approved it in 1873 as a means of protest against the Salary Grab Act and learned in 1984 that Wyoming had done the same 6 years earlier in 1978, as a protest against a 1977 congressional pay raise. Further, Watson did not know, until 1997, well after the amendment's adoption, that Kentucky had ratified the amendment in 1792. Neither did Kentucky lawmakers themselves — in Watson's desire for a 50-state sweep, the Kentucky General Assembly post-ratified the amendment in 1996 (Senate Joint Resolution No. 50), at Watson's request, likewise unaware that the task had already been attended to some 204 years earlier.

>In 2016, Zach Elkins, a professor in the UT Department of Government, became interested in Watson's story and began to document its origins. He tracked down Sharon Waite, who had left academia in the 1980s to work on her family's citrus farm. Elkins suggested to Waite that they change Watson's grade. In 2017, Elkins submitted a grade change form with Waite's signature and a grade change to "A+". In an interview with NPR, Waite stated, "Goodness, he certainly proved he knew how to work the Constitution and what it meant and how to be politically active, [...] So, yes, I think he deserves an A after that effort — A-plus!" The registrar approved a grade change to "A", because the university does not give grades higher than "A".

How has this not yet been made into a comedy?


>The registrar approved a grade change to "A", because the university does not give grades higher than "A".

It’s hilarious to me that the bureaucracy of this university couldn’t allow even a single grade above an A in this exceptional circumstance - I wonder if it actually came down to some hard limit in their grade keeping system, or if some grumpy recordskeeper just said, “Nope, this is how we’ve always done things, so this is how we will always do things.”


Maybe its my European mindset but I find it impossible to believe that any school can just start inventing extra grades.


Maybe it's my southern European mindset, but I find it totally possible.

The world is not as rigid as northern Europe thinks it is...


I'm from the Balkans.


Well, if you're from the Balkans you should surely see it as totally possible!

Far more rule and law-bending is happening than that, for the possibility of "inventing a new grade" to be really impossible/surprising.


Case in point, I know a university case where the professor body wanted to appoint their "own" candidate for a professorship position. The dean and several (majority) professors had already agreed under the table, and the few others didn't matter.

The only problem was they legally had to go through a open contest for the position.

So when someone came up with 5x the qualifications (citations, papers, conferences, better universities attended, etc, globally too) than their ho-hum friend (some relative of the dean), the professor body suddenly folded the position.

A few months later, they announced a new opening, with some specially crafted qualifications, so that only their friend could pass.


I can really see this happening, unfortunately, and I actually did many times. However, Southern bureaucracies are flexible only when they shouldn't be and insurmountably rigid when it's actually good, reasonable, or funny to make an exception. So, no, no extra grade for Watson here. But we might as well create a whole new professional category for the friend of my friend.


New grades are introduced all the time e.g., https://en.wikipedia.org/wiki/General_Certificate_of_Seconda...

> In 1994, the A* grade was added above the grade A, to further differentiate attainment at the very highest end of the qualification. This remained the highest grade available until 2017.

The grades are now 1-9, with 9 being the highest and above A*.

In this particular case, I think it certainly is within a University's remit to award a special grade given the exceptional circumstances.


>The grades are now 1-9, with 9 being the highest and above A*.

Another example of the US inching toward the metric system ;-)


This isn't the US -- these grades are from the UK.

Although yes, the UK too is in this hybrid world where gas (petrol/diesel) is in litres, temperature is in Celsius, but vehicle speedometers are in miles per hour and feet and inches are very popular for height, measuring rooms and furniture, etc.


Don't forget about measuring your own weight in "stones".


They're still miles away from converting.


That's just A levels (which are open to fiddling by the government of the day)

Universities have their own ideas


Seems like they're finding the path.


In all seriousness, the profs cant just invent grades that don't exist. Verbal "awesome work from X everybody read it" is for that purpose.

This is not some kind of overreach of bureaucracy.


The +/- letter grading scale has existed for as long as I can remember. For the particular college I attended, A+ corresponded to a GPA of 4.33 or a % score of >100 and was only given out to exemplary students - I believe this case would certainly be worthy of that extremely high grade.


The case got highest grade available in system that this particular college uses. There is not reason to expand the scale.


4.333333333333333333?

Bah! That's grade-inflation, pure and simple. In my day, the grades topped out at cough4.0. Back in my day, a 4.0 coughreally meant somethingcough, not like these cough hold on, I gotta re-up my inhaler-

Ok, where was I?

Oh, right - Get off my lawn!

:)


In all seriousness, the profs can choose to do what they want and the system most certainly can choose to allow it or not.

This is absolutely an example of rigid bureaucracy at work.

Also, you now are eligible for grade changes in past English classes because you used the word "can't" figuratively to describe a literal situation. Whether the grade changes occur and if they go up or down is up to the systems maintaining the grades and the teachers.


Next level grade inflation "A+++", "totally awesome A", "A totally even more awesome then A+++:.

In all seriousness, this is not rigid bureaucracy preventing something that would be useful. Just because prof have such an emotional reaction to someones unusual effort does not mean new grade has a reason to exist.


I guess it depends on the grading system doesn't it? I mean, if the top mark is essentially 100% to mean "there's nothing that reasonably could have been done to improve it" and A is defined as 80-100, then you can't to better than A. Or if the top mark is 1.0 and the worst passing mark is 4.0, and A means 1.0, then you can't do better than A.

They already went way outside, above and beyond anything I could've imagined. How do you change a grade decades after the course? Surely they're locked down soon after. To me, just going off and making it an A (rather than the professor just saying "well I've got egg on my face don't I?") is already incredible and a generous deviation from the bureaucracy.


Oh absolutely! I simply want to challenge the disempowering language of bureaucracy that involves saying someone "can't" do something.

There's literally an infinite number of ways to adapt the system to allow for a higher-than-A grade. Choosing to not do it is still a choice.

I'm not claiming they should've done anything different. I'm merely making sure bureaucracy's responsibility in this matter is pinned down.


"I can't do it" is pretty much normal way how to convey not just it is physically impossible. It normally means:

* It is not up to me to decide that, it would be overreaching my mandate to make that change. * This is against my moral values. * This is against rules that everyone else bothered to follow.

All these are valid choices and right choices. The bureaucracy responsibility in cases like this is literally to resist the pressure to make exception just so someone feels good.


I like the 19/20 French system.

Numberphile has a nice video about it: https://www.youtube.com/watch?v=QzrRkhU248A


Probably breaks some column constraints.


Definitely. Adding an extra grade I'm sure would require at least a couple hours of technical work and haunt subsystems and stats analysts for decades to come. Not worth it.


FWIW I remember a (peoplesoft, iirc) roll out that was so painful that certain departments changed their entire course numbering and taxonomy system, because that was easier than teaching the software new tricks.


the school's database may not store strings like "A", "B+", etc. I'd guess it stores grade points, which can be more directly used to calculate GPA. so at schools where A is the highest grade, it is already represented by 4.0. it's probably more trouble than it's worth to accommodate values outside this range just to symbolically correct a grade several decades later.


I’ve never been more proud of my alma mater.


Would love to see this as a movie. Or at-least a book


Not common knowledge at all. I learned about it back in the 1970s on a school field trip to Washington DC. I was looking at the original Bill of Rights in the National Archives and realized there were twelve amendments there rather than ten. I pointed this out to my teacher who told me to be quiet. (I think I was 10 years old at the time, so I complied.)


It's probably more commonly known among people who have taken government classes since 1992, since it's basically proof that government classes can have a real impact on public policy.


nope I took US history multiple times after that, still thought the bill of rights had 10 amendments


As far as I know, "bill of rights" is in fact the informal name of the first 10 amendments -- which were proposed and passed as part of the political compromise that got the constitution accepted at all.

The remaining amendments are, well, just amendments. They don't necessarily specify rights, and are generally not considered part of the bill of rights.


Did his grade eventually get upgraded to A, or was the paper just badly written in spite of this great insight?


Yep! Wikipedia says it was changed in 2017.

https://en.wikipedia.org/wiki/Twenty-seventh_Amendment_to_th...


Yep, I was at the popup theatre event where the teacher showed up and upgraded his grade!


The appeal went all the way up to the supreme court. In a controversial 5-4 decision he was awarded a B-.


This is pretty funny. I had something vaguely similar happen to me, although not nearly as major.

In my matric year (grade 12) I took three first languages (although I already had two first languages by grade 10). The department of education did not like it, but I did it anyway, with some encouragement from my language teachers.

Fast forward to the final exams, I did well enough to make the provincial top 40, but was excluded due to what I still think was a bug in their system. Funnily enough, I walked to the provincial minister for education (later the national Minister of Health) and told him what happened. For a short while I was a radio celebrity due to the minister personally telling people "Look, this white boy got a B in Sepedi so you guys really should stop complaining and do better." [1]

The error was not corrected and I was actually at the ceremony by chance for having gotten best in English in the province. I also randomly got a call from some trust and got about $100 for my creative writing essay.

In any case I guess the whole radio thing was more amusing to me and actually was a better prize in the end.

[1] In South Africa, a B is 70%—79%; I had gotten 76%.


More Perfect, a podcast by one of the hosts of Radiolab, has an episode on this in song form: https://project.wnyc.org/themostperfectalbum/#amendment-27

Side note: This podcast is excellent. The first two seasons are not songs, but investigative (and entertaining!) pieces on important Supreme Court rulings.


> This is probably common knowledge to Americans

I for one never heard of this, so thanks for sharing!


Of note, there is another amendment in a somewhat similar position, the Equal Rights Amendment: “Equality of rights under the law shall not be denied or abridged by the United States or by any state on account of sex.”

It's one state shy of passing and has been that way since the '80s. That said, there's a very strong argument that the amendment is no longer eligible to be passed because, unlike Madison's amendment, there was an explicit "this offer expires" date in the bill passed by Congress, and that date has long passed. Also, several states rescinded their ratifications. That said, there are plausible legal theories that states aren't actually allowed to un-ratify amendments and that proposed amendments can't expire.


Yep, this is why git has separate author and commit dates.



Yeah that should definitely be part of the commit message!


Did he appeal his grade after that?


  And with the benefit of hindsight, Waite says, Watson clearly doesn't deserve that C she gave him.

  "Goodness, he certainly proved he knew how to work the 
  Constitution and what it meant and how to be politically 
  active," she says. "So, yes, I think he deserves an A 
  after that effort — A-plus!"

  And that's exactly what happened.

  On March 1, Waite signed a form to officially change 
  Watson's grade. Thirty-five years after Gregory Watson 
  wrote his paper, he finally got his C changed to an A.
https://www.npr.org/2017/05/05/526900818/the-bad-grade-that-...


Note well, would-be faculty: this is the degree to which undergrads will hound you if you grade homework accurately.


At least in this case, it wasn't a parent.


Did that end up retroactively changing his grade in the course as well?


Yes, grade changes are done on the course level. The registrar doesn't keep track of the individual assignments.



Papers aren't graded on their real world effects!


Why legal professionals are not using version control goddamit?! It's exactly the tool they need. Just recently worked with a lawyer who was negotiating settlement agreement on my behalf. The agreement in MS Word, edits highlighted with a color background, change requests in the body of the email - after 2-3 rounds of corrections reaching the other party nobody is able to keep a track of anything anymore. Seriously? Years of studies, prestigious profession, peoples' careers and lives at the stake, and this is how you work?!


In a legal document negotiated between parties you don't want to keep track of every version of the file, just the latest version of the offered terms and counteroffered terms.

Changes by you are highlighted in one color.

Changes by other parties are highlighted in other colors.

If you need a diff between versions Word can generate one for you in seconds.

So yes, this is exactly how we work. Because it was designed to fit our workflow.


>In a legal document negotiated between parties you don't want to keep track of every version of the file, just the latest version of the offered terms and counteroffered terms.

Not true, at least from the point of view of a litigator.

The changes to an agreement can be crucial, especially in the absence of an entire agreement clause. There are, of course, rules about using evidence outside the agreement to construe its meaning, but many exceptions to this rule exist - eg, mistake. The biggest exception is ambiguity, where previous additions/deletions serve to highlight what the parties' intentions were at the time of agreement.


That would be awfully difficult to have accepted by a judge.

Even if it was, proving intent would be very difficult - after all just because you introduced a change doesn't mean I agreed to it.

Often contract clauses start off in a "no way I would sign that" state, and may get carried along for a while as you are focused on different things. The fact it existed in the history is, by itself, pretty meaningless.


As a former litigator, I have never found a judge willing to accept such evidence into the record.


i’d argue that it’s not “designed to fit our workflow” so much as designed around a subpar, but flexible tool that everyone was using. that don’t make it good; that just makes it ingrained


Track Changes tracks changes. By multiple authors. And allows comments outside of the substantive content of the document. It works across multiple versions of itself, and is even compatible with competing software. And best of all, it requires no additional software to learn or maintain.

That makes it superior for legal documents to all version tracking systems that I'm aware of that are used in the programming field.


Well yes, if you constrain the solution set to satisfy "requires no additional software to learn" then you'll end up with the status quo solution.

One thing I've always been concerned about when negotiating a legal agreement is how I verify that the tracked changes actually track every change. Because Word lets the user decide which changes to track, I'm always reading the untracked sections as well to confirm that no other changes were sneakily introduced. That's something that git addresses well. Does Word have a solution there? If not, does that ever concern you?


As a former attorney, I'd just do a diff. Save a copy, reject all changes, then do a diff and compare side by side. As a current software engineer, Word is definitely sufficient (and understood, which sf good) for two small adversarial teams. Key words being small (two huge firms negotiating a huge deal should not be using Word) and adversarial: I think a lot of times when tech-people suggest lawyers could do a better job they forget the other side isn't trying to be helpful.


Two huge firms negotiating a huge deal probably are in fact using Word, right?


Things like that probably have multiple outside counsel involved, and various versions of Word. :)


This is why you always do a diff.

In my limited experience, Word is used for the early back and forth, but final stages are done and reviewed in PDFs, and PDF diff tools used to identify any changes. No reason you couldn't do the same thing all in Word.

It does have such a tool, you would have rev A (old one) then collapse all the tracked changes in rev B and diff with A.


There is a Compare feature in Word exactly for use in these cases.


You say "requires no additional software", I say "doesn't allow me to use whatever software I want". For example, I can't edit a legal document while SSH'd into a host computer on my firms network.

Also, Track Changes doesn't allow two people to work on a document asynchronously, while git does.

I have seen a ridiculous number of errors in legal documents given the fact that a huge part of the legal profession is to produce solid/error-free documents.

But while the law profession's response to this seems to be just "be a better lawyer", the software industry's response is "build better tools that don't allow me to make errors". I'm sure I don't need to tell you which method I think is preferable in the long term.


I do not particularly agree with the some of the arguments made in this thread for and against the status quo, but some of your statements are factually incorrect.

>For example, I can't edit a legal document while SSH'd into a host computer on my firms network.

Track changes is supported by LibreOffice and its kin, so certainly possible to ssh into a computer on your firms network and edit it. Might require an X server on your local machine, I am not sure if libreoffice works in terminal (but its open source, so if you really wanted to you could add support!) That said, the recommended way to do what you are asking is to run an "Online Office Server", which gives you a online version of word (think google docs, but looks like MS word) that you can access through you VPN or company portal with ssl/tls. Different workflow for different folks I suppose.

>Also, Track Changes doesn't allow two people to work on a document asynchronously, while git does.

Office 2019 has added 'source control like' simultaneous/asynchronous editing when integrated with a Sharepoint server. Multiple people can have the file open, and the save button both commits your changes and pulls whatever other changes have been committed since, with options to resolve conflicts.

Furthermore, with the office 365 version of the office suite (or Online Office Server, which is nearly the same thing but self hosted) it is possible do live editing, whereby multiple people edit the same document simultaneously (google docs style). Not sure why you would want to do that, but it eliminates merge conflicts at least and seems to be pretty popular at my workplace. Especially useful when someone is presenting slides and there is something you don't like in them ;-)

Of course, as long as your document is on a sharepoint server, you get version control built in and can roll back to see the document at any save point, do diffs, etc.

It is true that the FOSS world is more civilized, but Microsoft isn't sitting by idly. They spent $8B on github for a reason, and it wasn't to get their business model.


Sorry, with the first point I wasn't very clear, but what I meant was editing a document from a SSH'd shell, using a CLI text editor like vim, emacs, nano, or any of the plethora of existing tools that work out of the box to edit documents. Editing which can then be checked into version control like git. That is obviously very different from "you can build a CLI for LibreOffice which is currently compatible with the Track Changes implemented by MS Office but might not always be".

Having to use MS Word in the cloud doesn't really scratch the itch I'm talking about either.

That's cool about Office 2019, I did indeed not know about that. Can I perform these Sharepoint-enabled changes while offline? It seems like all of the things you are talking about require a centralized online server in order to do. Regardless, I do not think there is a conflict between the statements "you need Sharepoint to do these things" and "Track Changes cannot do these things".


> a CLI text editor like vim, emacs, nano, or any of the plethora of existing tools that work out of the box to edit documents.

Asking a world that is used to what came out of Xerox PARC to switch back to 1970's technology on teletype emulators is...the only word I can think of is Quixotic.


The point is not that I want people to switch, it's that software developers have choice and lawyers / etc don't.

To write software, I can use a CLI text editor, a basic GUI text editor, an advanced text editor like Sublime or Atom or VS Code, or a full on IDE like the JetBrains products. I have so much choice, and all of these are interoperable with each other and have different places where they shine. All work with git. I just don't think the same thing can be said for the document-creation workflows around law and such.


A hammer is pretty much an ancient technology. A battery-powered plastic toy hammer, with buttons that play melodies, is a modern take. Yet serious people use the (modern implementations of) ancient-style hammer to drive nails.

That's my general response to "why use 1970s tech?", though I guess I'm being a bit unfair here. Word is, in some ways, a marvelous piece of engineering. The whole Office suite is. Unfortunately, thanks to path dependence and business strategies, it's also locked in a place where it's not interoperable with anything outside the Office ecosystem by default.

I guess I have an answer to the age-old question: in sci-fi shows, how come nobody in-universe notices their computing technology is, in many areas, ridiculously inefficient and ineffective compared to the old XX/early-XXI-century tech? The answer may be, the sci-fi future tech is built on so many layers of lowest-common-denominator, walled garden, non-interoperable tech that people no longer know how interoperability or efficient computing looks like.


I don't disagree a hammer is still a useful too, a lot like how a pencil and paper can still be a useful tool for architecting software, or when we need to sketch something out. However when it comes time to build a new construction, no, people are not out there hammering every individual nail. They're using nail guns and all manner of power tools to complete the job because it's more consistent and less time consuming.


Lol, claiming that using text files is somehow a regression is a pretty lame misdirection. You know what else came out of xerox parc? The GUI, the mouse, etc. You know what else is 1970s tech? The internet, databases, etc.

“Being old” is probably the lamest way to claim something shouldn’t be used.


You're asking for trouble if you are relying on track changes. Anyone can disable track changes, make changes without highlighting them and send it back with track changes reenabled. You need to compare any received file against what you last sent to see the real diff.

There's got to be a better way.


The better way is using the Compare feature that has been in Word for years, if not decades.


The problem with that is that it gives a change tracking tool that doesn't work, giving people a false sense of safety, relying on users to remember to manually diff every change sounds like a security issue in itself, that diffing should be either an automatic process instead of track changes or track changes should track everything by default.


If the other party attempts to sneak in such a change, usually you extract a concession from them when you catch them as many bar associations now regard that as unethical behavior warranting discipline.


Yes, but you still have to catch them, and the fact it's possible gives them the leeway to try, when the point of business is to do business, not to catch people out.


That's an imperfect solution for a problem that didn't need to exist in the first place that might even produce its own list of problems.


So if you have a set of documents that are all being negotiated at the same time between parties. How do you show what changed in DocumentA at the same time as the concessions in DocumentB? By comparing timestamps?

It feels like the CVS way of versioning (Every document has a history) rather than the modern way of versioning (A set of documents has a history).

Perhaps this is a smaller problem for these kinds of documents because while my changes are often a dozen changed documents in a set of a hundred thousand documents, these word processor changes are typically across one or two documents in a set of one to ten?


You don't have a set of documents. You just have the one document...

It's almost like you guys are deliberately ignoring all the lawyers with actual transactional experience to create hypothetical problems that don't exist in the real world so you can suggest version control as a solution.


No I realize the circumstances are different (like fewer documents in a process) but some times you don’t notice how your tools actually change your processes.

E.g: if you are in a process when there would naturally be two separate documents it may be that you are creating a single document becuse with the single document the change process works with the tooling.

Or is there something else inherent to the process that says a process/negotiation always includes one document?

I’m not sold on version control either - especially as structured text like word processors have such poor support - but it seems even change tracking in word documents should be able to track and show the differences in a set of documents such as a directory. I’m not arguing those tracking 3 word docs should use git.


Git has all those things, except yes it is a different tool.


Track changes in Word works pretty well for turns of a contract. What features do you think are provided by "version control" that aren't handled by Track Changes for contracts?


The ability to keep track of many, potentially thousands of individual changes and assign labels to significant versions. Track Changes is basically like Git if every file write triggered an automatic commit with no commit message and anyone could rewrite history at any time. SharePoint major versions are better but they’re not free, standard, portable or popular.


If you have a legal agreement with many thousands of changes at any point, someone is getting fired for royally fucking up...

Legal agreements are basically a war over each party's choice of standardized language followed by battles over customized terms.


That may be accurate for commercial contracts but lawyers write lots of other documents too, some of which are subject to thousands of edits. Think about judicial opinions, advices, written arguments, continuously updated legal commentary services, public reports, or indeed statutes. These documents are often carefully drafted over months and complex manual protocols get set up to manage it, due to the limitations of Track Changes and the lack of familiarity with the tools used by software engineers.


I agree. Most legal docs could probably be better captured in markdown or asciidoc rather than MS Word (and all the bloat it brings with it).


That’s the entire point of pull requests though? Or am I missing something


US Federal law works just like this but with an awful manual process that is screaming for a VCS:

- Laws are passed by Congress and signed by the President.

- The actual formal text of the law is printed in the “US Statues at Large”. Think of this like a commit log— it’s written as a series of add/modify/remove operations to the United States Code (USC), which represents the “master” branch of the repo; our current laws.

- Sometimes the add/edit/remove operations have implications in many parts of the code. There is a manually-intensive process that actually determines which parts of the USC must be modified and how. This is like code review on a PR.

- Periodically, after many laws are passed and many mods to the USC, it is “republished” (tag/release).

Why we couldn’t do this with our laws is beyond me. Institutional inertia I suppose.


Exactly parliamentary procedure was using content control well before computers where invented read Citrine or Roberts Rules.

But Executive's do get up to "naughty shit!" as a Uk Party Whip said to me once in a bar.


Most existing tools are written by coders for coders; they have diff engines and UIs built for plain-text source code, not human-readable rich text.

Word's "track changes" feature is good enough that an MVP for such a VCS product would need to have a very good UI.

(Source: talking about version control with a lawyer in the family.)


I use MS Office regularly and I would describe its interface as adequate for general use and infuriating for reading/writing formal documents. If that's the competition, I can't imagine it would be that expensive to develop an alternative (at least, not compared to what the US government current spends).

Why are legal documents recorded in a format that requires expensive software to access?

Why are LaTeX, Markdown, or HTML not sufficient formats? What makes plaintext not "human-readable"? I don't think anyone has trouble reading/writing their Facebook and Twitter posts in plaintext.

Why can't our government afford to develop a lawmaker-specific format and an editor (or plugin for an existing editor) to make it easy for lawmakers to work with?

Why can't our government afford to fund the creation of a VCS solution with a lawmaker-friendly interface and a public server to host the repository on?

Why can't all of our legal documents at least be hosted on a public server in their current state?

I'm guessing the answer to all of these is "because the public doesn't care enough, so it doesn't help anyone get re-elected and, therefore, there is no available funding". I have a hard enough time getting engineers to understand the value of good VCS, much less an average US citizen.


> Why are legal documents recorded in a format that requires expensive software to access?

Because lawyers can afford it, and don't really feel like expending effort evaluating software alternatives instead of just doing their work. And because of legacy/network effects. And because no one has pitched an alternative right for that audience.


> Because lawyers can afford it

Lawyers can afford free software too.


There's a reason that there is an “and” followed by a bunch of other things after the bit you quoted.


I have nothing to say about those points. I don't know enough to support or reject them.


It's clear what was meant was "cost is no object, so it's not an issue" - law firms probably pay more per-employee for things like travel expenses or coffee each year than for MS Office licenses.

I have seen that MS Office suite has become a hammer used to drive many non-nails in various businesses, and would like to see people using more open standards. But I totally understand that for many use cases it's good enough and that people consider the cost to be not particularly significant


edit: misplaced reply, moved to parent (too late to delete)


Ehhh ok? That’s kinda what I said


An individual business license of MS office 365 costs about 10 dollars a month per user. So even at minimum wage fully loaded costs this is approximately an hour. It's more like a minute or two for a lawyer.

Do you think having access to a tool with the least communication friction saves you 2 minutes/month of your lawyers time? 30 min of your junior marketing person? This isn't a hard call to make usually.


I'm more concerned about the people who are subject to the laws being written and (imo) deserve to be able to read them for free.

As for lawyers, just because they can afford to use expensive software doesn't mean they should. I can afford to write software in Word, but I don't plan to try that any time soon.

Also, I think people seriously overstate how "easy" it is to use Word. I have spent litteral days of my life in classes that taught me how to use Word. I have spent hours relearning MS Office interfaces as they've changed over the years. I'm pretty sure I picked up GitHub-flavored Markdown in less than 15 minutes.


Your first point is valid but quite separable, I think access is an important issue.

My point about the cost is that the network effects of the tool here are more important than the tool itself. You might be able to have a better local workflow using other tools, but if everyone you collaborate/work with doesn't use them then the cost of communication is far higher than any savings.

Realistically, legal work isn't much like coding. Although lawyers do spend time editing documents that isn't where the real time is. For that reason I'm not convinced that changing to a putative VCS workflow would have enough efficiency impact to pay for the training etc. except on a very long term. This sort of thing makes it very difficult to win out against network effects.

This is much the same reason that excel is used for a lot of things where better tools exist. The combination of network effects and having better things to do than learn a new approach and toolchain are hard to shift.


> Why are legal documents recorded in a format that requires expensive software to access?

Because the cost of the software is trivial compared to the cost of incompatibility or friction in communication.


Not for the citizens who just want to read the laws they're expected to follow.


Whose final form is probably PDF anyway. Even if it were .docx, there are lots of free softwares that can read or translate those.

So your real problem here is with the access to said laws, which is not a software problem.


Plain text wouldn't allow for annotations, TOC, references, etc. These get ignored more often than not but they're still requirements and some do use them properly. Something like latex would be better, but apparently it's too much to expect these highly educated lawyers to learn some basic markup.

I'd bet a tool like lyx (https://www.lyx.org/Screenshots) would go along way to being a better solution. It's a great document writer (as opposed to a word processor) and apparently has some VCS support (although I haven't tried this) and diff viewing and is a lot more reliable for annotations and all that stuff than word.

I've done some legal automation work before, it would have been so much easier (and get better results) to have a plaintext format we could manipulate with shell scripts than working with docx and word.


    - But doesn't plain text suck for difs?
    + But doesn't plain text suck for diffs?

    - Especially when you have a really long, multi-line
    - paragraph that has bmore than one change? And if we
    - relied on word wrap, then the scope of change would
    - be the paragraph and all hope is lost. At least 
    - this way we might eventually regain some 
    + Especially when you have an exceptionally long,
    + multi-line paragraph that has more than one change?
    + But if we relied on word wrap, then the scope of
    + change would be the paragraph and all hope is lost.
    + At least this way we might eventually regain some
      equivalency by chance and it's clear that nothing
      after that point has changed.
Git is great, but it's designed for code. Legal documents are probably structured more like code than any other prose with clear identified chunks and frequently breaking out into lists, but it's not the same thing.

(For clarity, I think probably a sentence-by-sentence diff would work well. But then it's not plain text; you're relying on some processor to collect sentences into paragraphs.)


Don't use plaintext, use LaTeX. Since paragraphs are separated by an empty line, you can have each sentence on a separate in a paragraph on a separate line and have it still formatted as a paragraph in the final document. This allows for better diffs. Here is an example:

https://github.com/dart-lang/language/blob/master/specificat...


> Don't use plaintext, use LaTeX

Markdown or Asciidoc has the same benefit as far as paragraphs.


Markdown doesn't address table of contents or references which were mentioned above.


Asciidoc does, and there are TOC tools for markdown, though they are add-ons to markdown processors.


The diff algorithm/display is orthogonal to the data format; for example, I use the --color-words option to the git tools to use a word-oriented diff everywhere. I've even seen plugins floating around online for visual image diffs in git!

But again, all those tools are built for developers, and especially the ones used by git for internal purposes like for conflict resolution make some strong assumptions that don't hold for prose.



> Why legal professionals are not using version control goddamit?!

For a start they’re using Word, which doesn’t work well with version control.

And asking most people to stop using MS Office is like asking them to go and live on the Moon, they look at you like you’re some kind of crazy person.


Word documents work well in version control. In case you're not aware, you can store word documents and do a diff between any 2 versions over git/svn on windows, it opens the diff view in Word.


You can store and diff them, but not merge them.

It's basically the same as using Word's own history features.


Wow, this is going to be very helpful for me. I had no idea. Thanks! So if I install git on Windows and do `git diff MyWordDoc.docx` in the command prompt it'll open up Word?


> You can also use the Git attributes functionality to effectively diff binary files. You do this by telling Git how to convert your binary data to a text format that can be compared via the normal diff.

First, you’ll use this technique to solve one of the most annoying problems known to humanity: version-controlling Microsoft Word documents. Everyone knows that Word is the most horrific editor around, but oddly, everyone still uses it.

...Now Git knows that if it tries to do a diff between two snapshots, and any of the files end in .docx, it should run those files through the “word” filter, which is defined as the docx2txt program. This effectively makes nice text-based versions of your Word files before attempting to diff them.

https://git-scm.com/book/en/v2/Customizing-Git-Git-Attribute...


I am using Tortoise. Not sure about the command line.


From direct knowledge of working with a State court system, I can tell you that WordPerfect is still very much alive and well!


Git is awesome.

But it's terminology is really confusing.

But yeah some layer of abstraction would be handy.

I always think of introducing it to my wife when she looses a document or something but god damn the terminology.


And if there's one thing that will deter lawyers, it's confusing terminology.


There are luddites and then there is the legal community.


I think we can get them on board. Need to rebrand some things with latin terminology, that's all. Let them file a petitio tracto instead of making a pull request.



I think svn is a better way of thinking when working with documents, the fact that the timeline is contiguous too helps


you can easily have a contiguous git timeline if you want to


is a376f1 older or newer than 89fa2b?

The lack of continuous versioning is a problem for most document like workflows.


The commit message doesn't encode the timeline in neither git nor svn, and no-one complains.

So why do you expect the git hash to encode the timeline?

Git encodes the timeline in the parent/child relationship of commits (and/or the date stamps). Trying to look for the timeline information in the hashes is going to be futile, that's not where it's supposed to be found.

For documents that get send back and forth via email, amongst more than 2 participants, git's DAG is actually a better representation than a linear timeline.

(But yes, if you don't like that, you can set up git to reject commits with more than one parent to enforce a linear history.)


My advice to people who want history-tracking but don't know how to use a version-control system is: use Dropbox or OneDrive (I think Google Drive has something similar).

You get 30 days of history for every file in Dropbox (120 days for Business users). Earlier you could pay a bit extra to get a full year of history -- but that feature, called Extended Version History, is no longer available.

OneDrive unfortunately offers only 30 days, I believe Google Drive is similar.


Wonder if one can create a new repo and commit the revisions with original Authors' names and historical date.


That would make a lot of sense to folks who are unfamiliar with hit.... also me.


It's off topic but I seriously want Apple to use a VCS for their license agreements.

Every once in a while, they update Developer License Agreement or Paid Application Agreement (updated over 100 times so far), and every time they just show a wall of text. I save it as a file and take a diff to the previous version.

They must be using a VCS internally but they make us repeat the same effort again and again. It's stupid.


Maybe that's a start? Techies would find it easier to promote the use of proper VCS for legal documents if their products used them for their ToS, and exposed them to users, e.g. in form of diffs. There's even a precedent - Wikipedia uses such interface for all their pages, including their ToS - see https://foundation.wikimedia.org/w/index.php?title=Terms_of_....

Beyond technical hurdles that could be solved with a set of FLOSS components and plugins to popular CMSes, I don't see any reason not to do this if one runs a honest company.


The agreement in MS Word

Consider yourself lucky. There are still legions of legal documents in WordPerfect.


Nothing like receiving "red-lined" documents with revisions in the comments to make you want to scamper back to git-land.


Facepunch Studios Ltd (game dev studio) have their legal docs on GitHub: https://github.com/Facepunch/Legal


I agree, another problem with Word (and similar products) is it’s bloat in terms of formatting meta-data but also in glyph code-points. I often get strangely coded white-spaces or strangely coded non-ascii characters when using Word et. al. Legal documents should have limited formatting and strict encoded glyphs therefore a UTF-8 + git + markdown solution would be preferable over using Word. You can create easy to use WYSIWYG software that makes it as easy, or easier, than Word given that Word changes it UI layout every few years


Well your post here has non-ascii characters. But perhaps you wrote it in in Word and copy-pasted it into Internet Explorer. I've seen that approach recommended to avoid data loss. It's not entirely clear what your objection is tho, since you recommend permitting UTF-8 which allows you to represent many many more non-ascii characters than ascii characters.


Are there any startups building legal tools with nice UX, but git as a back end?


We considered it. We even built some prototypes and showed it to various stakeholders. The response we got back was universal - "We want everything to feel like we are in MS Word."


This is so true! Developers often don’t realize how much MS Word can do and what its users think about the rest of the world.

B.t.w since it’s about the US Constitution it is customary for me to share a link to its book form on the web:

https://bubblin.io/cover/the-united-states-constitution-by-u...


Legal professionals don’t want version control because they don’t want their mistakes to be visible to anyone else.


Google Docs would actually be a good fit for this. You can suggest edits, comment, see a version history, ...


In Word, too. Without selling your soul the devil: Microsoft merely demands a fee for the product.


cognitive load


They same applies to software professionals who just would like "to code". Yet, the leverage of distributed version control proves to be exponential in the end.


It really doesn't.

In software, you need to track versions because you keep everything in multiple files, and you're making changes to multiple files, and you can have regressions with each new version.

In a negotiated legal document, you have just the one authoritative version: the offer you've sent to the other party (or the counter-offer they've sent back to you). For lawyers, this takes the form of edits to the document as highlighted by the Track Changes feature. (Prior versions are basically irrelevant except for historical interest.) And even then, the document going back and forth isn't even the executed (aka "production") document, it's just the development version. Once the document is executed, the development versions get deleted because the executed document is the only truth legally and so prior versions absolutely do not matter.


One can equally think of the entire code base as a single document, and of the release version as an executed document. In the long run the non-release repository states don't matter that much either, they're just helpful for anyone willing to gain an insight on why the things work the way they do.


One can equally think of the entire code base as a single document

No, you literally can't. They're separate files. A legal agreement is just one document. It makes a world of difference for version tracking.

Also, software has versions. If you have an issue, you can just rollback to a working version. Legal agreements don't have multiple working versions. They just have the one, and you don't get to update it, because if you change it, you have a different agreement that supersedes all old copies, which are now longer worth the paper they're printed or or the bytes that store them.

Sure, you could have needlessly more complicated version tracking for legal documents. But Track Changes in Word works fine, because the legal field doesn't need anything more complicated.


I literally can think of the entire code base as a single document. It happens to be multiple records in a database, but that's not intrinsic to it.

In the same way, i can literally think of my legal documents as a single document (say, a visa application) with multiple files (say, a petition, a copy of my wedding certificate and a reference from a friend). [Ironically, this language is precisely the reverse of what you would say with the printed copies.]

When they're printed out you can't tell what the boundaries are. Don't get confused by the implementation and the abstract concepts. If there's a distinction that doesn't work well, you can change it. Maybe version 2035 of Word stores every paragraph in a separate file inside a zip archive. There's no reason Generic Version Control System 2038 couldn't be written to peak inside those archives.


A legal agreement is one document, sure. But a large scale legal operation like a sale of a company must consist of thousands of documents that are changing in concert, right? Wouldn't that be a case for a more comprehensive and consistent change control process?


No, the sale of a company is governed by the one sale agreement.


manifest as one singular physical "file" with nothing incorporated by reference? Interesting.


That is correct. Nothing can be incorporated by reference. The closest you can get are attachments which must be incorporated by the time the document is executed.


This. Other versions of a proposed contract floating around a deal do more harm than good.

Ideally, settled issues should remain settled as remaining outstanding issues are resolved during the deal-making process.

But, this is a western tradition/convention, Asian deal-makers seem to be more than happy to look back and re-open settled issues, driving American lawyers insane.


If the legal field doesn’t need anything more complicated, I suppose you think this Git repo is a pointless novelty, not something that would actually be really useful if it were available and authoritative for all statutes?


We're talking about two very different things: a single legal agreement vs a database of laws.

Something like this already exists in multiple forms because it is very useful. It's so useful that the owners of those sites can charge lawyers a lot of money for access... Hundreds of $ per month.


They wouldn’t be able to charge so much if the laws were published using a machine-readable version control system. Citizens should expect this from their legislature; lawyers shouldn’t be allowed to paywall historical information about public laws. This Git repo is a good illustration of how easily the legislature could solve an important legal problem with free software engineering tools that facilitate reuse and permissionless innovation, rather than leaving companies to solve it with crappy paywalled web apps that contractually prohibit reuse of their content.


> In the long run the non-release repository states don't matter that much either

That's not true. Many a times I needed to comb through old commits for debugging purposes.

Also, with multi-branch development, you often have many non-release branches that are relevant at a specific point in time.


This is super cool. I wonder if it could be taken a step further?

Because to me, the interesting parts are not the final versions, but would be in seeing the version history of the constituion as it was drafted and language was changed and rechanged, even with commit notes taken from records of the constitutional convention.

For example, the currently topical impeachment language went through revisions on "be removable on impeachment and conviction of": [1]

> "malpractice or neglect of duty." -- two North Carolina members

> "treason, bribery, or corruption." -- five-member drafting committee

> "treason, bribery, or maladministration." -- George Mason

> "high crimes and misdemeanors against the United States." -- delegates

> "high crimes and misdemeanors." -- final version

It really would be fascinating to watch the constitution evolve in "real time" across all edits. I don't know if anyone's done something like that before. Obviously it would be a tremendous amount of scholarly work to put together.

[1] https://www.latimes.com/archives/la-xpm-1998-dec-19-mn-55593...


This is actually something I've played around with before. Unfortunately I haven't been able to find the free time to finish the project.

https://bitbucket.org/nsg-usa/constitution/commits/all


You can see some draft versions here

http://treasures.constitutioncenter.org/


I think this should be reviewer comments on the pull request or issue that drove the change. It's not nicely representable in git, but it is on GitHub.


The commit messages would eventually all be WIP or somedoc_version_xx.


The fact that GitHub marks the initial commits as 2016, and says 48 years ago when you click on one, even though it clearly says 1787 in the commit message makes me sad.

All these 6 figure salaries and we still can't write code that handles dates.

How does someone look at a date and think it should only have two digits? How's it possible that someone could look at a system that only stores enough time for 68 years in future and think that's fine? Why is so much code written with the assumption that a year is a four digit number?

The passage of time is guaranteed and yet programmers are somehow constantly surprised that it happens. The world is 14 billion years old and will exist for much much longer. Someone might need to write code dealing with any of those time periods, why do we make them expend mental effort on (what should be) such a reasonable, trivial task?

We have the bits to spare. It's a strange form of collective procrastination.


Github is primarily Rails/MySQL (or was last time I paid attention to any of their blogs), I'm guessing they're storing dates as a TIMESTAMP and not a DATETIME (4 bytes vs 8 bytes).

GitHub's BigQuery public data set has 234,759,841 unique commits, and it appears there's 2 dates per commit (author and committer dates). So an extra ~1.8GB per master/shard group.

Entirely doable but I have no idea what their scale actually is or how that translates to network throughput or anything else really.


I guess people have forgotten about the year 2k problem, where nuclear power-plants where to explode, nuclear missiles was to fire, the world would end, because the year would be reset from 99 to 00. A lot of resources was put to fix it. And when the millennium finally changed, nothing really happened.

That said, I cringe every time I see a date problem presented in a work interview or challenge. Like how to calculate the first Monday in a set year. Because I have done exactly that, professionally. And as the years went by - edge case over edge case showed up, making me rewrite the formula. So dates are non-trivial. You probably know there are leap years, but did you also know there are leap seconds ? So beware of that when you implement that time critical database redundancy and replication system.


> A lot of resources was put to fix it. And when the millennium finally changed, nothing really happened.

Don't you think these two things might be related?

Also: https://www.theregister.co.uk/2001/09/14/downs_syndrome_scre...


100 year olds are probably still receiving baby products, etc



Datetimes are easily in the top ten most annoying parts of programming.


https://stackoverflow.com/questions/21787872/is-it-possible-... seems to indicate it should be possible now.

In particular, https://stackoverflow.com/a/24977895 says:

”As I mentioned in 2017, in "Use future date while making git commits", Git has started to adopt a different and dedicated timestamp_t type.

As illustrated in Legilibre/Archeo-Lex issue 47:

Dates are now using the timestamp_t type, defined as typedef uintmax_t timestamp_t;, in place of unsigned long type, in order to fix some issues on 32bits platforms... and Windows 64 bits ^^.

The project archeo-lex.fr (which depends on older dates) is using git hash-object, combined with the Git repo viewer Legilibre/Archeo-Lex-web.

This is now (Feb. 2019) done, as commented by Seb35“

(https://archeo-lex.fr/codes has a history of French law)


It's still unsigned, so I don't see how it helps with pre-1970 dates.


> such a reasonable, trivial task?

Tom Scott has a pretty good video explaining exactly why writing code about time is not trivial:

The Problem with Time & Timezones - Computerphile

https://www.youtube.com/watch?v=-5wpm-gesOY


Git does not store commit dates pre 1971. The commit message has the correct date because it is just text.


Something about your comment rubs me the wrong way, and I think it’s a kind of toxic idealism that doesn’t acknowledge how software isn’t a mathematical object but situated in the real world.

You realize 48 years ago is the Unix epoch? Circumventing this problem to admit commits that were made before 1970, which clearly has no real world use case, is over engineering at its worst. Similarly, with designing a system to last longer than 68 years. The number of tech companies that have lasted more than 68 years can be counted on one hand.


And then you wonder why our technology is a pile of garbage built on top of a steaming pile of half-composted garbage, always breaking, and why a good chunk of software jobs consist mostly or solely of keeping it from falling apart. What's toxic is being penny-wise, pound-foolish repeatedly, at the scale of the industry.


It would be overkill to move from 32 bits of Unix timestamps to 64 bit signed ints just for this application.

But it might be a good idea in general, and then it would solve this issue as a side effect.


Sure, but that’s a problem way down the stack, a problem for language designers, not application developers.


Well, they are also getting six figure salaries.

But in any case, eg Python supports dates before 1970 just fine. It was a conscious decision by the application developers of git to restrict themselves to whatever C has to offer.


The word 'toxic' is toxic.


> The number of tech companies that have lasted more than 68 years can be counted on one hand.

IBM, Siemens, Texas Instruments, that's it of the top of my head. Anyone else?


Wasn’t the epoch 48 years ago? Wait, the epoch was 49 years ago, so that isn’t it.


The best part of this repository is that the authors and the commit dates reflect the true date of the event:

  James Ashley authored and JesseKPhillips committed on Dec 6, 1986

  8th Congress authored and JesseKPhillips committed on Jun 15, 1980


Honestly it seems like one of the worst parts, that the dates are limited by UNIX timestamps and aren't flexible enough to store the dates from centuries ago.


they do when you use signed 64bit timestamps (or 128bit ones if you need the nanos)


Apparently it's technically possible in Git as of a year or two ago, with some conversion bugs probably still lurking, but Github/Gitlab still don't support it. And the frontend tools like "git commit" don't support it. The project in this answer is using git hash-object to create the commit from raw bytes. https://stackoverflow.com/questions/21787872/is-it-possible-...


Unfortunately git rejects dates before 1970, at least when I set them using GIT_AUTHOR_DATE


This is especially troublesome when you need to cover up those 50 years of procrastination on a project.


You say 'procrastination' I say 'The means IS the end, yo!'.


No the dates are wrong, and the conversation used is stupid.


If you're curious of the origin of each word, a word-by-word "git blame", I just made a visualization of that [1]. For example, "We the people" comes from the draft by Morris.

Also, somebody else did the work a few years ago [2], would be interesting to compare them.

[1]: https://dam.io/word-blame-US-constitution/word-blame-by-comm...

[2]: https://github.com/anthonygarvan/theconstitution


So much legislation consists of "add the following text to USC 1.23: 'blah blah blah'" that I'm surprised there isn't something like this for pending bills.



It would be awesome if congress had something similar


I had this realization like four years ago, and bought `gitvernment.org` precisely to do this...one day.


I also had a similar idea for a project that tracked changes so citizens could see exactly which representative changed a bill. The OpenGovFoundation built Madison[0] to enable the public to comment on bills, but that project has been shuttered.

I still think there is some merit to the idea. The challenge, however, is to convince legislative bodies to use such a system.

[0] https://mymadison.io


Agreed, though I think to sharpen the analogy, the United States Code (U.S.C.) would be the "code" in the repository and pending legislation would be pull requests.


There's actually a group working on this exact thing at the federal level -- https://congressionaldata.org/bulk-data-task-force-reports-m...

It's a pretty complex task, especially at the state level where there often aren't consistent plaintext publishings, or in some cases even digital versions of the effected code/regulations.


> It's a pretty complex task, especially at the state level where there often aren't consistent plaintext publishings, or in some cases even digital versions of the effected code/regulations.

There are pretty much always digital versions, though they may not be freely available to the public or licenses in a way which would permit using them as a basis. (Lexis/Nexis has them, with change history, links to relevant case law, etc., etc., etc.)


I wonder, how are all the "change this text in this other paragraph" laws carried out then? Wouldn't at least the courts need a "current" version of all laws with all modifications applied?


(IANAL but I do work with digital legal data) — depends on the jurisdiction.

Generally the bills that change legal codes are timed to take effect all in the same near-future date, and so a new “printing” is issued. How often this happens varies, but can be as little as once a year.

In the cases where a law is immediately effected, judges and lawyers are smart and read the news, and services like lexis have alerting. The main legal providers will also “patch” things in themselves in advance of printings, and do change sets and redlines by hand.

Oftentimes bills instruct regulatory agencies to do things, which is a process that includes lots of published notice.


There is in a way. One of the selling points of LexisNexis’ law products are these sorts of “diff” views of the law


In my experience these services tend to have terrible UX, they’re not reliable or comprehensive, and they require human maintenance so there are usually huge subscription fees that scale with the number of statutes you have access to. Legislatures really should publish law in a machine readable format so that historical navigation and compilation can be fully automated including by members of the public. The human-readable statues can still be compiled artists; it’s a much easier and lower risk kind of modernisation than, say, converting paper forms into web apps.


ugh, “statutes can still be compiled artifacts”


Our nonprofit, Open Law Library, works with governments to do exactly this. For example, the DC Council uses our software to codify and publish their laws in xml and html on github: https://github.com/dccouncil/dc-law-xml. If you're interested in getting your government's laws published using git in human- and computer-readable formats, feel free to reach out to me at dgreisen [at] openlawlib [dot] org.


https://www.legislation.gov.uk/ tracks UK legislation -- you can see "as enacted" and "as amended". They even go through and note where new legislation has an impact on existing legislation without changing the text!

Only for already passed legislation, rather than pending, though.


JesseKPhillips was my favourite founding father. He was a genius for adding whitespace and readme.


I kinda wish they'd rebase the repository to put that stuff in so git blame would still give you the original authors.


> Add whitespace for better diffs

For those confused..

There is a commit saying this


Always amazes me that so many people think the constitution grants people the rights.

The constitution grants the govt rights.

The people have all the rights not expressly forbidden by law.

Law enforcement seriously lags in this as well


What really matters is what rights the people with the guns are willing to give you...


Which is the reason the 2nd amendment was written. The founders knew politics 101. Violence is required.


Well, it was. Now, not so much.


I assume you're responding to the GP's "Violence is required." Perhaps actual violence is not required now, but the threat of violence is still just as real and necessary.


Nope and nope. The threat of violence from the people is not real in the US any longer, nor is it necessary.


Interesting, if you think this is true, speed 5mph over the limit and refuse to follow directions from the officer. eg dont pull over

Let me know how the violence thing doesn't happen in a victimless crime.


? I'm not going to shoot a cop so I can go 5mph over the speed limit if that's what you're saying...

I'm trying to say that the threat of violence from the people isn't there anymore, for many reasons, one of which is the huge disparity between the military and consumer availability.


Sorry, I misread.

I disagree, recently one event has shown the violence is just under the surface.

https://en.wikipedia.org/wiki/Bundy_standoff

Large groups of people went to that mans ranch just to threaten the govt.


The government was not threatened in any meaningful way.

You're just going to disagree regardless though, aren't you?


Are the amendments really meant to be inserted at unspecified points in the main text? I never thought of them like this, and it doesn't always work well here.

Most glaringly, there is the part in https://github.com/JesseKPhillips/USA-Constitution/commit/7f... in the article talking about the President's powers, saying "The President shall have Power to [...] He shall from time to time [...]" and the diff inserts "No soldier shall, in time of peace be quartered in any house, without the consent of the owner, nor in time of war, but in a manner to be prescribed by law." between these sentences.

This doesn't work at all, not only because this amendment has nothing to do with the President's powers, but especially because the "He" starting the next sentence has nothing more to refer to.

Of course this would be a lot more boring if the amendments were just tucked on at the end, but I'm afraid reality is just boring here.


> Are the amendments really meant to be inserted at unspecified points in the main text?

The US constitution is unusual in leaving the main text unchanged and appending amendments at the end. Most countries don't do that.

For example, Australia's constitution [1] has been amended several times since it was first adopted in 1900. But, it is amended by changing the text of existing sections, inserting new sections or subsections (examples: section 105A, subsection 51(xxiiiA)), and deleting entire sections (example: section 127).

[1] https://www.aph.gov.au/About_Parliament/Senate/Powers_practi...


Most notably the 21st Amendment repealed the 18th, but both texts are still present in the amendments section of the US Constitution.


The Bill of Rights is more additional than modification.

The president is the commander an chief of the military, it seems reasonable he would not be allowed to quarter his troops in peoples homes.

Take a look at this one

https://github.com/JesseKPhillips/USA-Constitution/commit/0c...


Now do all pending legislation in a publicly visible, anonymous, read-only repo.

Branches and commits are done under accounts tied to elected officials (though clearly their staffs mash the keys).

We could have AI doing actual work of monitoring WHAT THE WHAT is going on.

Hence the unlikelihood of this ever happening.

Plus the reality that legislation is mostly a requirements document anymore, with the real work occurring in the Executive in the form of regulation concocted by unelected bureaucrats.


Most of the constitution is missing here. To properly compile the constitution, the dependencies, such as supreme court rulings defining terms, must be included. I don't see those deps modeled in this repo.


Case law interpreting the Constitution is part of constitutional law, but is not part of the Constitution itself.

You can thank the British for that.


You should thank them everyday. Common law is the secret power of a good legal system (Speaking as an American lawyer, of course).

In non-common law systems, extra-judicial experts (e.g., law professors) have too much weight in interpreting laws.

If a legal hair is to be split, a common law court should do it. And, the court's holding should have precedence until a democratic legislature with jurisdiction over the issue says otherwise.


In practice, Common Law jurisdictions and Civil Law Jurisdictions are not so different these days. (Democratic) legislation is an intruder to Common Law. And on the other hand, Civil Law systems give some at least informal weight to precedence.

I don't quibble with your description of the idealized versions.

See also http://www.daviddfriedman.com/Legal%20Systems/LegalSystemsCo... for some alternative systems of law.


Fully Codified Common Law would be the best of both.


What do you mean by that?

Do you mean https://en.wikipedia.org/wik/Codification_(law) or writing law in computer code, or something else?

If the former: Codification of Common Law is an ongoing process, and I guess will always be a bit behind the latest court rulings. (And that's by design.)


The Constitution uses a convention-over-configuration approach in almost all respects. Quite a lot of the actual effect are dependent on the build environment. Attempting to execute a source-identical Constitution outside of a Common Law context is not guaranteed to produce the same results, and is probably outright undefined behavior.


git submodule update --recursive --remote


>Keep in mind this is not a formal platform to establish Constitutional changes.


Yes, I loved that comment!


Someone submit a pull request to abolish the Senate, reform the House into a mixed-member proportional parliamentary system, mandate all state legislatures do the same, and replace the Electoral College with a ranked choice popular vote.

One of the worst things about growing up in America is being inundated with propaganda about how we should revere the founding fathers only to grow up and realize that much-revered Constitution is riddled with bugs and badly needs refactoring to accord with modern best practices.


The Senate was a negotiated compromise to get sovereign states to agree to join a federation. Obviously it gives some states more power — that’s the entire reason they agreed to it.

How do you expect to get them to agree to change it? I doubt people in Alaska or Montana think the Senate is a “bug”.

If you don’t think the structure of the federation works for your state, you can try to get your state to secede. That’s more logical, and more likely to succeed, than convincing others to vote against their own interest out of a sense of “fairness”.


>How do you expect to get them to agree to change it?

Believe me, I ask myself this question weekly. I don't know how it will happen, but the federation will not thrive without that change. In fact I would argue it is unstable currently.

>I doubt people in Alaska or Montana think the Senate is a “bug”.

I doubt people in Wyoming or Vermont consider the Senate to be fairly represent the federation. But you will rarely catch a politician admitting that. Oppressors will always opress, and that isn't my problem. It's theirs. The oppressed will always resist. Everything evens out in the end.


You cannot claim that people in NY State and California are oppressed, since their revealed preferences show them wanting to remain part of the federation. If people were unhappy with the current structure, you would see large and vibrant independence movements, whereas in actual fact those movements are a tiny fringe.

Despite its many problems, the US is one of the most prosperous, peaceful, and stable regions in the history of the world.

Without the Senate, the US simply wouldn’t exist (the smaller states wouldn’t have agreed to it), and North America would by now be a few dozen independent, competing, conflicting countries. It’s hard to imagine how that would be more stable than the current situation.

By the way, larger groups agreeing to give disproportionate power to smaller groups, in order to keep their union or federation together, happens all the time. Examples off the top of my head include Canada (where Quebec is massively overrepresented in the federal parliament), the UK (where England is the only constituent entity without its own legislature), Bosnia (whose three main ethnic groups split the Presidency equally despite having 50%/30%/15% of the population), and I’m sure there are many other examples...

The Bosnian example is particularly forceful, as this superficially “unfair” deal ended the bloodiest war in European history since WW2, in which more than 100,000 people died.


>their revealed preferences show them wanting to remain part of the federation

All of them? 20% of California is still 4.5 million people.

>America would by now be a few dozen independent, competing, conflicting countries

1. that is not proven. alternatives could have been chosen. 2. just because the Senate made sense among several mostly equal population states does not mean it makes sense today.

>Canada (where Quebec is massively overrepresented in the federal parliament)

And they have their own party. You cannot honestly believe that is an ideal situation.

>UK (where England is the only constituent entity without its own legislature)

The Scottish National Party exists, as do unionist and separatist terrorists in Northern Ireland.

>Bosnia (whose three main ethnic groups split the Presidency equally despite having 50%/30%/15% of the population)

Just because that makes sense for a young democracy does not mean it makes sense in California, a state with high cultural value given to equal voice and representation.

>this superficially “unfair” deal ended the bloodiest war in European history since WW2

Are you threatening war if California asserts its natural rights to self-governance? Unionization under threat of violence is not unionization. It is slavery.


What were the relative population differences back then between the big and small states?

Aren't they much worse now?


The founders knew we should not worship a document written by dead people, hence amendments.


One of the worst things about growing up in America is being inundated with propaganda about how we should revere the founding fathers only to grow up and realize that much-revered Constitution is riddled with bugs and badly needs refactoring to accord with modern best practices.

So you're saying we shouldn't revere the Constitution because it's not perfect?

Name anything in the world that's perfect.


Senate prevents true democracy aka mob rule.


Not since 1913 and the 17th amendment. The senate almost made sense when it was the states appointing their senators - now with direct election it is just a grossly biased legislative body where even in the smallest states each senator is meant to represent hundreds of thousands of people that no one can truthfully claim to do.


The USA is the United States of America, not the United Persons of America.

Dual sovereignty is a fundamental part of the American experiment. Though I would have no issue with going back to the old way to pick Senators.


It's interesting to imply that the US Government should (or does) exist to serve the states instead of the people. The first three words in the US Constitution are "We The People".

For the record, I don't disagree with the existence of an upper house (in Australia we somewhat copied the US Senate design, though territories get fewer representatives than states). But its practical purpose is to facilitate less partisan discussion of legislation (and in Australia we only get that benefit because we have a preferential voting system). And it should be noted that many countries have abolished their upper house and become unicameral, and have continued to function just as well as before[1].

[1]: https://en.wikipedia.org/wiki/Unicameralism


The Senate is more necessary than ever in this age of unconstitutional and almost unlimited exercise of federal power.

The Senate ensures less populous states have an equal vote in our united (federated) states.


The Senate ensures that representatives of as little as 7.42% of the US population can prevent a fascist president from being removed from office.


The number of representatives apportioned for each state does not dictate how they vote on any particular issue. The Senate has existed long before our current president.

The purpose of the Senate is to give all states equal suffrage in the legislature. Article 5 of the constitution states “no State, without its Consent, shall be deprived of its equal Suffrage in the Senate.“


Literally every president since I was born has been fascist in some way or another. The senators aren't the problem here.


> Someone submit a pull request to abolish the Senate

Unfortunately, that's basically the one amendment that the Constitution says is illegal to make. (Ignoring parts of the Constitution that are no longer in force.)

That said, you could first make an amendment making it legal to abolish the Senate, then make a second amendment actually abolishing the Senate. But obviously that may make things a lot harder.

> ranked choice popular vote

Note: I would advise against use of the term "ranked choice voting". This term is often used to mean IRV, effectively implying that IRV is the only way to hold a vote based on ranked choices. It isn't, and it isn't a particularly good voting method either (it's non-monotonic)! I'd suggest naming the specific voting method you mean if you have one in mind, or using another term -- an ordinal voting method, if that's what you mean, or maybe just anything other than FPTP, or maybe just anything satisfying a particular criterion such as being cloneproof...


I would love love love to see this effort individually applied to the French and EU constitutions.

I've heard the EU constitution is very bloated and gets into all sorts of minutiae. I've heard the French constitution has undergone a great deal of modifications across a span of many republics.

These two examples I've heard about in the context of being ridiculed in some comedic comments by some pundits and I always wanted to substantiate whether the substance of those jests was fair and accurate or exaggerated. Converting these two constitutional histories to Git would be incredibility insightful, probably even worthy of crowd funding.


The current French constitution was written entirely from scratch in 1958.

Saying it’s been modified a lot is a bit muddled. What actually happened is that the old constitutions are no longer in force and entirely new ones came into effect.

The 1958 constitution is France’s fifth (not counting constitutional monarchies), which is why the current French regime is called the “fifth Republic”.


Reminds me of this PR of the Declaration of Independence, with comments from the founding fathers: https://github.com/usgov/forget-the-king/pull/1


Man I wish ever bill and law was under version control so you could do a git blame


There is rarely a single person behind changes though. You would have to show a list showing the person who proposed it, the people who requested changes to it and the people who voted for it.


The actual writing of the words is usually outsourced.

Quite a few people are involved in that. Clerks, lobbyists, lawyers, etc.

Even the reading of the laws that lawmakers vote on is outsourced. (Ie lawmakers often don't read what they vote on.)


That is why you have merge request approvers and the merger. The work can be authored by many because each makes small contributions.

You can even have multiple protected branches where "policy makers" merge the work from their lawyer.


dude... stop over thinking it.


Love this! I just wish the Bill of Rights had been a pull request that was merged once the 11 ratifying states approved it.


I wish all legislation would be stored in modern version control.


Is there a way to automate this:

https://www.congress.gov/bill/116th-congress/house-bill/1569...

----------------------------

    To amend title 28, United States Code, to add Flagstaff and Yuma to the list of locations in which court shall be held in the judicial district 
    for the State of Arizona. <<NOTE: Aug. 9, 2019 -  [H.R. 1569]>>

    Be it enacted by the Senate and House of Representatives of the 
    United States of America in Congress assembled,
    SECTION 1. DISTRICT COURTS IN THE JUDICIAL DISTRICT FOR THE STATE 
                              OF ARIZONA.

    Section 82 of title 28, United States Code, is amended by striking 
    ``Globe, Phoenix, Prescott, and Tucson'' and 
    inserting ``Flagstaff, Globe, Phoenix, Prescott, Tucson, and Yuma''.
--------------------------

Note the use of "striking" and "inserting" which is basically a diff.

The reference doc is here https://uscode.house.gov/view.xhtml?req=granuleid:USC-prelim...

One possible low hanging fruit would be to automatically at least create diffs for these type of situations? Thoughts?

Perhaps create a script just for this:

https://www.congress.gov/search?q=%7B%22congress%22%3A%22116...


ccc Essen did a quite sophisticated project in 2013 regarding the German Grundgesetz (https://news.ycombinator.com/item?id=5756354)

https://github.com/c3e/DocPatch

docpatch genereates neat versioned markdown like this:

https://github.com/c3e/grundgesetz

now also here with the rest of german law text:

https://github.com/bundestag/grundgesetz


This is very cool. It would be nice to add commits for all the drafts of each amendment. For example, here are various drafts of the 2nd: https://en.wikiquote.org/wiki/Second_Amendment_to_the_United... It used to contain the phrase "but no person religiously scrupulous of bearing arms shall be compelled to render military service in person" but this phrase was dropped in the final version.


> ...where does the government get the power to ban drugs.

It likes to pretend that the interstate commerce clause gives them that power. _ie_ they're "regulating commerce" by waging the drug war.


See Wickard v. Filburn, whereby the Supreme Court decided that growing crops entirely for your own consumption while staying within the border of one state is still 'interstate commerce'. https://en.wikipedia.org/wiki/Wickard_v._Filburn


People keep posting this case like its supposed to be wrong.

But like the McDonalds Hot Coffee case, when you learn the facts about what actually happened, you realize the case was properly decided all along and those that say otherwise are just spreading ideologically based FUD.

Wickard is not about the crops Filburn grew for personal consumption.

It was about the extra crops he grew just cause. He didn't just grow a little bit extra. He grew hundreds of barrels of wheat extra, meaning several fields more than he was allowed. Filburn claims he was just going to use this excess wheat at home, despite having no means to consume such quantities. Clearly, unless he was actually going to let valuable quantities of crop go to waste, he was intending to sell them to someone.

And if Filburn got away with it, then everyone else would try to do the same. And in a year or two, the national wheat restrictions intended to stabilize the price of wheat would fail as prices collapsed from hoarded inventory entering the market. And wheat farmers would go bankrupt and pull out of growing wheat during a war. So of course SCOTUS ruled against him.

If Filburn hadn't completely blown past the wheat restrictions, there wouldn't be a SCOTUS case about him today.


Shouldn't it have been the state's burden to prove he was going to sell that to someone outside the state?


No. The fact that he harvested way too much was all they needed to prove. He needed to prove it was all for his own private consumption and could not.

Interestingly enough, he won at the trial level on different grounds (challenging the process by which the limit was set) but lost at the appellate level.


A better, more modern citation would be Gonzales v. Raich (2005), which upheld federal power to prohibit homegrown cannabis, even in a situation where it was stipulated (IIRC) that Raich's marijuana would never leave her house. https://en.wikipedia.org/wiki/Gonzales_v._Raich

Notably, both Justice Kennedy and Justice Scalia voted in the majority. Chief Justice Rehnquist was as apoplectic about that vote as Kennedy and Scalia were when Chief Justice Roberts sided with the majority to uphold the Obamacare individual mandate.

IMO, the liberal majority had the better argument on the individual mandate precisely because Scalia and Kennedy couldn't bring themselves to draw a line at homegrown cannabis. They were stuck relying on a ridiculous theory about affirmative obligations as they had already blew their chance at cabining the reach of interstate commerce, per se.


This is a buddhistic "everything is connected" legal interpretation.


Straddle two states with my farm ftw?


I think that will make your situation worse rather than better.


That would technically put almost everything you do that doesn't stay on one side or other, under federal purview. Not recommended unless you're a masochist


As I've said before, the Constitution and our current legislative models were devised in a time of very slow travel and communications, when it made sense to hold periodic elections and have legislators travel to a central location for terms.

There are no technical barriers to putting our entire legislative code online, dispensing with most legislative organs, and allowing people to edit it directly - a Wikiocracy, so to speak.


Based on our experience with Wikipedia, that would be the worst idea imaginable from a social and political perspective.

The wiki would just become a series of editing wars with multiple parties attempting to be the last to edit the wiki. For any sort of sanity, you'd need to lock down most of the wiki, putting the power in the hands of a few editors. And then you'd have the problem of selecting the editors....which would bring you right back to where we are today.


Not at all. You'd just have to get buy-in for commit changes. There is no editorial selection, the whole point of wikipedia is that anyone can edit it. I am not arguing that Wikipedia as-is is ready for deployment as a legislative corpus, but that no technical barrier exists to the creation of something built along similar lines.


There are significant technical barriers to what you're describing.

For starters, how do you limit edits to citizens? How do you verify citizenship? How do you handle racing commits? How do you determine "buy-in"? How do you store the data securely? How do you secure the authoritative single repository of all law for your jurisdiction? If distributed, how do you determine the authoritative source? How do you trust change commits coming from external sources such as the other distributed stores of the liki?


Not really. First, I don't, only to residents. With brakes, much as W handles edit wars. Buy-in is most likely a function of affective scope, and itself is up for debate. On LOC.gov, eventually or using some sort of blockchain.

I don't think most of these objections are technical so much as social. Nor am I offering it as a complete recipe ready to go; it's a proposal with very manageable problems, certainly no worse than those Wikipedia faced when first instantiated. You have to start somewhere.


Although this sounds reasonable having everything published and voted on in real time turns out to just end back up with a representative democracy. This article explains some of the challenges with that idea much better than I can. https://medium.com/civic-tech-thoughts-from-joshdata/so-you-...


This isn't what I'm proposing at all. I do get his points, which are sincerely made, but I have also been thinking about this for decades and put in a lot of time in participation and advocacy at all levels of the political process.

I'm proposing getting rid of legislatures and the whole legislative process and having the legal code publicly accessible for editing by the public. It would be on a blockchain (for verifiability purposes), and there would a derivative graph (for functional evaluation purposes - quite necessary because the whole meaning of a law could be changed by a relatively tiny textual edit like 'you must do X' -> 'you must not do X').

Up to now most network analysis of law has been applied to the legal infrastructure that grows around individual cases and treating legal code itself as axiomatic; consider, rather, analysis of the code's own network properties as tremulously explored in section VI herein: http://digitalcommons.law.umaryland.edu/cgi/viewcontent.cgi?...

The most immediate benefit of fully graphing the constitution/code/cases ecosystem would be the possibility of a serious pruning, to address the problem first pointed out in The Republic of a surfeit of laws that grows to such complexity that it crowds out confident understanding by the citizenry.

We are quite a long way from replacing our existing legislative technology with a publically edited version, but the time to start exploring this is now, given the increasingly precarious state of our institutions and the widening asymmetry between our technological and legislative capacities. Put another way, we are innovating aster than our legal or political systems can keep up, and absent a consensus or voluntary dissensus on the social deployment of such innovation, it is more likely to be weaponized than any other outcome.


This is great. Is there a tool to do this?

I mean, can I edit the times and the authors and create a history that I need with some software? Or did the author painstakingly go in and manually look up all the dates and make the commits? And then roll back for an error and just keep going?

The issue is how would you change a single commit from 8 commits ago if there was an error there?

And then how would you visualize the whole thing just to keep it straight in your head?


> This is great. Is there a tool to do this?

Here's a script doing the same thing but with another text [1].

In this case, we're storing each version as plain text files and then we make the git repo by compiling all of them.

> And then how would you visualize the whole thing just to keep it straight in your head ?

Like this for example [2].

[1]: https://github.com/regardscitoyens/historique_reglements_AN/...

[2]: https://web.archive.org/web/20160315050131/http://visualisie...


> The issue is how would you change a single commit from 8 commits ago if there was an error there?

Rebase would be my first hunch. There's plenty of GUI based git editors, as long as it's all historically in order it's all fine and dandy.


Rebase and then force-push to reset the remote


My approach would be to generate the git repo using a script of some kind. It wouldn't be particularly difficult, and then fixing a change is just a rebuild.


Would that be a constituting script in this case?


No tools, just manual lookup. There is now a history rewrite based on the feedback happening.


This is pretty funny. I had something vaguely similar happen to me, although not nearly as major.

In my matric year (grade 12) I took three first languages (although I already had two first languages by grade 10). The department of education did not like it, but I did it anyway, with some encouragement from my language teachers.

Fast forward to the final exams, I did well enough to make the provincial top 40, but was excluded due to what I still think was a bug in their system. Funnily enough, I walked to the provincial minister for education (later the national Minister of Health) and told him what happened. For a short while I was a radio celebrity due to the minister personally telling people "Look, this white boy got a B in Sepedi so you guys really should stop complaining and do better." [1]

The error was not corrected and I was actually at the ceremony by chance for having gotten best in English in the province. I also randomly got a call from some trust and got about $100 for my creative writing essay.

In any case I guess the whole radio thing was more amusing to me and actually was a better prize in the end.

[1] In South Africa, a B is 70%—79%; I had gotten 76%.


Edit: This is meant to be a comment on the latest commit—the 200 year old ammendment that got ratified in 1992, essentially due to a C being awarded for an essay about how the 200 year old ammendment could be ratified.


Note: this is now a duplicate, happy if mods remove this.


How do The Federalist Papers fit into it? [0]

Given that most states and the US Federal system use the Common Law method of judicial determination, The Federalist Papers act as an important method of interpretation of the intent of the original lawmakers.

Are they 'comments' on the law then?

What about the The Anti-Federalist Papers? [1] Though less well known, they are still very important to determination of the Constitution in our current government.

Also, pull requests? Though not every tiny little court case and high school essay that relies on the 1st Amendment needs to be recorded, it would be great to see what the various supreme court justices have pulled and when.

To be clear: I love this project and this idea! Super great job to the creators! You all rock!

[0] https://en.m.wikipedia.org/wiki/The_Federalist_Papers

[1] https://en.m.wikipedia.org/wiki/Anti-Federalist_Papers


I'd love to see this with US Code. Imagine getting to see a change made by a member of Congress, then a pull request to a committee branch, then a pull request to one branch of Congress, then a pull request to the other branch, and then a pull request to the US Code.


It's unfortunate that the issues are being used to make non-serious amendment proposals.


It is fine, this isn't a legal platform, the issues are being labeled and later closed.


I think that's the best part


What I find incredible is that the LEGAL industry has yet to adopt any 'git' style repo to manage all the multi-touch contract edits.

My gut tells me the simple reason is because that would effectively make them lose most of their arcane billing hourly fees.


Word documents have extensive markup and revision tracking features, and then they're passed around within emails that function similarly to commits. Git is only really useful when you're doing simultaneous changes to a large number of files.


In my experience Word's revision tracking is entirely inadequate to the task. I might take that back if everyone was editing a shared Word doc on Office365, but the typical scenario of emailing versions back and forth makes it very difficult to keep track of the current state of the document and ensure everyone is looking at the same thing.

I don't think standard git with MS Word blobs would be better though.

What I would like would be the conceptual structure of a git version history but with a commit viewer that could represent the commits in Word's revision control style as well as pull requests to track incremental agreements to change the document.


But would version control solve the email issue? I guess I would still rather get an email with a git repo or patch than I would a word document with a revision set.


Many lawyers don’t work by the hour though, so what explains them?


They bill in 6 minute increments, right?


I was referring rather to corporate lawyers who are paid salaries rather than hourly rates.


I really hope force push is disabled on the repo :)


Nope, a rewrite branch is in the works (to many glaring issues to start with.)


I love that the commits are attributed to the original authors:

  Amendment XXVII
  Author:    James Madison 
  Date:      May 7 15:00:00 1999 -0400
https://github.com/JesseKPhillips/USA-Constitution/commit/3c...

I wish the commits were dated with the changes' original dates. Perhaps they and GitHub's UI is just confused by pre-1970 epoch dates.


It looks like this is a limitation because Git stores dates as seconds after the Unix epoch (1970-01-01). The underlying file format allows storing negative numbers, which would represent dates before the epoch, but most toolchains don't handle them correctly. Here's a pretty good summary:

https://stackoverflow.com/questions/21787872/is-it-possible-...


Literally Pre-history


I did something like this a few weeks ago when I put the Irish constitution on a public Google document and invited people to make suggestions and edits that may have to be made in the event of a reunification of Ireland situation.

https://docs.google.com/document/d/1lJDjikCo4IHtEOcrEyNVIZeV...


Disclaimer: not supported within 100 miles of the U.S. border [0], [1].

[0] https://en.wikipedia.org/wiki/Border_search_exception

[1] https://www.aclu.org/other/constitution-100-mile-border-zone


Did you file an issue?


Like that would do any good. You have to have a friend high up in the U.S. government to escalate your case if you want things fixed.


against JesseKPhillips?

Multiple issues have been filed (see references in [0] for example).

[0] https://harvardlawreview.org/2019/06/the-border-search-muddl...


This is precisely what Clay Shirky was talking about back in 2012 in his talk "How the Internet Will One Day Transform Government":

https://www.ted.com/talks/clay_shirky_how_the_internet_will_...

Now if we could only move our legislators' legislative processes into git...


First we have to remove tech troglodytes from government by voting for sane replacements. Only then can we discuss rational advances to tech in government.

I see this as a distinct possibility if there is a wave election in 2020 with new voices who are open to actual non-lobbyist reform.


> First we have to remove tech troglodytes from government by voting for sane replacements. Only then can we discuss rational advances to tech in government.

No, first “we” have to learn to talk about things that matter to most citizens, which tech in government, as such, is not. You need to talk to the things that can be delivered, tech is just a means to deliver them.


> With the exception of the commits made in 1971, the year was actually 1791, I follow the simple path of ignoring the least significant digit. So 1996 means 196?as I chop off the 19, the year 1000 is implied and then tack on the next two significant digits of the year which is 96 and leaves off the specific year.

What? I have no idea what you mean by this.


It means:

  fakeyear = Math.floor((realyear - 1000) / 10) + 1900
or equivalently

  approxrealyear = (fakeyear - 1900) * 10 + 1000
except that 1791 is represented as 1971 as a special case because it's a nice anagram (it should have been 1979).


The git metadata should be updated with the approximate time stamps of when the changes were made.

I’ve long wanted to try to do this type of thing with the US code of law. Beyond just being cool to look through, I think it’d make a lot of accountability of lawmakers more clear, since tooling to parse and gain insights from git repos are plentiful.


An interesting backstory on the 27th: https://en.wikipedia.org/wiki/Salary_Grab_Act

Politicians never change! They've gotten better at this trick by making the bills 1000 pages long, while adding last minute changes.


Seem like a perfect use case for Git History : https://github.githistory.xyz/JesseKPhillips/USA-Constitutio...


Irish Constitution as a git repo with the commits as amendments.

https://github.com/adrian/irish-constitution/commits/master



I've got an issue with this one about muskets.

https://github.com/JesseKPhillips/USA-Constitution/issues/5


Among other problems with the sentiment you expressed, it should be clear to anyone that the 2A has always been intended to cover far more than just muskets. At the time the 2nd Amendment was created, rifles were already in popular use and were vastly superior to muskets since they could be shot far more accurately and were able to be reloaded faster than muskets. Saying it only covers primitive rifles (compared to modern tech) would still be inaccurate, but slightly less so.

Under a reasonable interpretation, whether one supports the 2nd Amendment or not, "Arms" covers (at least) anything an individual U.S. soldier might use in war; this includes full-auto weapons, suppressors, night-vision goggles, body armor, grenades.[1]

[1]: If we were shipping items to a foreign country to help them in war, would a news editor be comfortable using the term "Arms" in the headline? If so, the 2A probably protects its ownership by American citizens.


“Bear arms” is old fashioned jargon for “serve in a military.” This is extremely well documented. It has nothing to do with carrying a gun, except metaphorically. https://languagelog.ldc.upenn.edu/nll/?p=43559


Yes, "bear arms" absolutely does refer to using them in war. However, since you acknowledge that, it would be somewhat hypocritical of you to consider militias in the U.S. to be domestic terrorist organizations - I'm not saying you do, but that IF you do then it seems to me that you're holding two conflicting opinions.

And do you really think that the Founding Fathers wanted to limit gun usage to military members?

* The 2A was created to protect the citizenry from a tyrannical government, whether it was foreign or domestic; allowing only the government to have guns would work against that.

* You can read the Bill of Rights for yourself and see that all 10 Amendments are to protect the citizens from the government abusing its power against them. Why would the 2A be the only Amendment to grant the government a right?

* Since when does the government/military need a right to own arms? Of course the government can own arms, that's part of it's job. The 2A was created to preserve that right for the people so the government could never take it away.

Also, you're ignoring the part about citizens being allowed to keep their arms.


I do think we should replace the 2nd Amendment with this clarification:

> Because a well disciplined military is necessary for democracy, the right to join and serve in the military shall not be infringed.

Same meaning as the original, but no bullshit about AR-15 and atom bombs or whatever.


The same two questions I asked the parent comment:

* You can read the Bill of Rights for yourself and see that all 10 Amendments are to protect the citizens from the government abusing its power against them. Why would the 2A be the only Amendment to grant the government a right?

* Why does the government/military need a right to own arms? Of course the government can own arms, that's part of it's job. The 2A was created to preserve that right for the people so the government could never take it away.

I'm not trying to shout my "talking points" online. I really would appreciate answers to these questions, since I don't see how you can justify your opinion.

(Also, to nitpick your suggested alteration: The BoR is about God-given rights that nobody can take away without just cause. That means, for example, that I can say whatever I want no matter how hateful it may be. I don't have a right to join an organized force however, especially one that necessarily has restrictions on membership - fitness, intelligence - so using your suggested text instead would be problematic)


The Second Amendment was based on a provision of the 1689 English Bill of Rights. In the English Reformation, Protestant and Catholic mobs would periodically attack one another. At one point, James II disarmed the Protestant mobs. This proved unpopular, so the English Bill of Rights makes the following provisions:

> [whereas] …By causing several good subjects being Protestants to be disarmed at the same time when papists were both armed and employed contrary to law; > > […therefore] That the raising or keeping a standing army within the kingdom in time of peace, unless it be with consent of Parliament, is against law; > > That the subjects which are Protestants may have arms for their defence suitable to their conditions and as allowed by law;

The defense was collective (and legally regulated!), not individual. The part about the standing army is worth noting as well. The police weren't invented until 1829 century by Robert "Bobby" Peele. So how did they stop crime? Sherifs would round up a posse as needed, towns would have night watchmen, and areas would have militias. A standing army was a centralized military that was controlled by the king instead of by local forces. In the US, standing armies were super unpopular, but Washington and others recognized that practically speaking, you can't win a war with a militia (the equivalent of a police department). The founders said negative things about standing armies but couldn't bring themselves to ban them.

In the American context, there were two particular cases people worried about that the Second Amendment was meant to address, besides just having a non-federal military.

First, in border territories with Native Americans, every eligible white male would be drafted into the militia. If the Federal government wanted to cede some territory to the Indians against the wishes of the residents (ala Israeli settlers in Gaza), it could just make a law to disband the militia. This would effectively cede the territory because they wouldn't be able to prevent raiding. Not a likely move by the federal government, but possible and something to prevent.

Second, in slave territories, every eligible white male would be drafted into the slave patrol. If the Federal government wanted to force the end of slavery, it could just disband the slave patrols and the specter of slave revolts would make the continuation of slavery impossible. This was a real possibility and one that slavery supporters wanted to cut off.

So, is the second amendment an individual right or a collective right? It is an individual right to participate in the armed forces.

Why does such a right matter? Look at Hong Kong right now. So far, only the local police are involved. In Shenzhen, just across the water, there are enormous numbers of PLA troops hanging around and doing "exercises" but so far only the local police have been involved in the protest clashes. To win a revolution requires the organized people with guns to decide to go with the masses rather than their political leaders, and that requires the armed forces to be composed of and identity with the people. The HK police have already begun to turn against HKers. The PLA does not give one single crap about HK and if they come in, they will smash the city to the ground.

The only way to prevent tyranny in the US is for the armed forces to think of themselves as "Americans" and not "The President's Army". To the extent that we have crime problems in cities, it is because the people who are shooting and get shot don't trust the police to solve their problems, so they do it themselves. There must be unity between the masses and the people with guns for there to be democracy. That was the goal of the second amendment.


I wish we were able to meet in person to discuss further, since it seems like we could have an interesting discussion.

Thanks for your thought-out response. Just from reading your post I still don't see how you're arriving at some of the conclusions you are, but I'll research your angle.

Cheers!


Not even close.

What we would call modern rifles were not invented until 1890's, with semi-auto and fully auto rifles not invented until about 1910 and not widely available until the 1930's.

The minie ball was not invented until 1830's and did not see wide use until the American Civil war and after in the 1860's. The Founding Fathers were working with muskets and only muskets, they never imagined that the average person could own a AR15 (M4).


> semi-auto and fully auto rifles not invented until about 1910

Not true; see https://en.wikipedia.org/wiki/Machine_gun#Early_rapid-firing...

> In 1777, Philadelphia gunsmith Joseph Belton offered the Continental Congress a "new improved gun", which was capable of firing up to twenty shots in five seconds [...] Congress requested that Belton modify 100 flintlock muskets to fire eight shots in this manner

1777 was 14 years before our Bill of Rights was ratified, and 4 shots/second is faster than an average person can fire any semi-auto weapon, including an AR-15.

Also, do you really think the Founding Fathers didn't envision technological advancement? Of course they couldn't have predicted exactly what our current technology looks like, but I'm sure they saw the progression from clubs to swords to guns and expected weapons to continue getting more effective. How could anybody not expect technology to advance over time? It's literally been doing that since the beginning of the world.


> Not true; see https://en.wikipedia.org/wiki/Machine_gun#Early_rapid-firing....

I should have been more clear. I meant Machine Guns that a regular person could carry and fire without setting up a stand. Maxim and Browning had demonstrated Machine Guns around 1880 to 1900, but they were big and heavy and not something a single individual would carry and they clearly were not for the civilian market.

> 1777 was 14 years before our Bill of Rights was ratified, and 4 shots/second is faster than an average person can fire any semi-auto weapon, including an AR-15.

The evidence that these guns existed is scant; https://en.wikipedia.org/wiki/Belton_flintlock The 4 bullets pistols are the only example they have and that idea is an old and well known one.

> Also, do you really think the Founding Fathers didn't envision technological advancement? Of course they couldn't have predicted exactly what our current technology looks like, but I'm sure they saw the progression from clubs to swords to guns and expected weapons to continue getting more effective. How could anybody not expect technology to advance over time? It's literally been doing that since the beginning of the world.

You are looking at this with 21st century eyes where every 10 years the world changes so much. The world of the Founding Fathers in 1788 was a world very similar to the world of 1688 and 1588. The food and clothes were different and not much else. To say that the Founding Fathers could have imagined a AR15 or AK47 is real stretch of the imagination. I am pretty sure that if you walked into the Constitution Convention of 1787 and laid out an AR15 and said, "One day a young man with this weapon will walk into a school and kill 20 children and 6 staff members with one of these and mass shootings happen with regularity." I am pretty sure the 2nd Amendment would be a lot different and a lot more clear.


I'm sorry this got so long, but I don't want to rewrite the entire thing now...

> The evidence that these guns existed is scant

Yes, but the idea of them existing was enough to interest Congress, who tried to order 100 of them. They backed out of their order due to the cost. If they had existed at a reasonable price, one can assume Congress would have gone through with their order.

> The world of the Founding Fathers in 1788 was a world very similar to the world of 1688 and 1588

You're discounting the technological advancement of that era just because we've had more inventions in recent history. Innovation happened slower back then, but there were still large improvements in technology during the Founding Fathers' lives. Ben Franklin, who was one of the Founding Fathers himself, invented a lot of stuff during his life.

> You are looking at this with 21st century eyes

So are you. One of the reasons American citizens haven't had to bear their arms (some exceptions[1][2][3][4]) is because we have them and are able to use them if necessary. Few people are willing to die for a cause, and far fewer are willing if they have reason to expect their death will be in vain, and for their side to lose.

People are only willing to give up the rights they have now because they don't know what it was like without them.

> I am pretty sure that if you walked into the Constitution Convention of 1787 and laid out an AR15 and said, "One day a young man with this weapon will walk into a school and kill 20 children and 6 staff members with one of these and mass shootings happen with regularity." I am pretty sure the 2nd Amendment would be a lot different and a lot more clear.

We definitely agree that the Founding Fathers would be horrified by modern society. However, I don't think their reaction would be to limit firearm ownership. (Probably, they would probably want to know why tax dollars are going to the federal gov't to create public schools and why adults failed the kid) Would they have also changed the First Amendment to limit religion to Christian/Puritan variants? Probably not; they created the Bill of Rights to acknowledge rights that no human can morally take from another person, since the rights come from God*.

Ultimately, we can't prevent others from causing harm. Making black powder is easy and cheap, and tossing some fireworks in a pressure cooker or a pipe is something anyone can do. If we could hypothetically remove all guns from the entire world, badguys would cause harm through other methods, such as bombings or vehicle attacks[5]. We need to fix the root causes of these evils, not ban the weapon(s) they currently use so we can feel good about doing something.

-

Lastly, I'm assuming you made this mistake in good faith but implying that our priority for minimizing mass murders should be banning AR-15 style rifles is misleading. Most mass shootings are committed with handguns[6]. So why not ban handguns then? Because in America, guns are used in a defensive manner far more often than they're used to murder people[7][8].

[1]: https://en.wikipedia.org/wiki/Battle_of_Athens_%281946%29

[2]: https://en.wikipedia.org/wiki/Ruby_Ridge

[3]: https://en.wikipedia.org/wiki/Bundy_standoff (not an endorsement, but it's relevant)

[4]: https://en.wikipedia.org/wiki/1992_Los_Angeles_riots#Korean_...

[5]: https://en.wikipedia.org/wiki/2016_Nice_truck_attack

[6]: https://www.washingtonpost.com/news/local/wp/2016/06/16/why-...

[7]: https://en.wikipedia.org/wiki/Defensive_gun_use

[8]: https://ucr.fbi.gov/crime-in-the-u.s/2018/crime-in-the-u.s.-...


Yeah, because they were totally oblivious to "invention". They knew exactly what "arms" meant and it wasn't a static term.


Wikipedia says rifles were used during the Revolutionary War:

https://en.wikipedia.org/wiki/Rifle#Historical_overview

They were more accurate than muskets, but slower loading, so muskets were preferred.


It is also important to note that the firearm, while not as powerful, could be just as deadly with the limited medical knowledge, speed of transportation. It would be a little hard to identify a good parallel.


The opinions in Heller are worth listening to: https://s3.amazonaws.com/oyez.case-media.ogg/case_data/2007/...


This is cool, but I was a little disappointed to see the amendments as just commits. Should have been pull requests, with all the proposed amendments in there, with arguments about them, most of the PRs closed, only a few getting merged :)


Too bad the "amendments" to the constitution are all really just "appendments" tacked on to the end rather than actual amends to the main body of the text, which would make the Git repo more interesting.


The repo does edit the original document. The original amendment text is included in a separate file, but is not the purpose of the commit.


This may be of interest. It was formerly only available to Senators and their staff as a 3000-page hardcover.

https://constitution.congress.gov/


Diff with its most notorious fork, the constitution of the Confederacy:

https://jjmccullough.com/CSA.htm


Love this!

And this is the future of legislation that we all need, all bills having detailed attribution to each word and line, linked back to lawmakers and lobbyists who created them!


What I like about this so far is you can see that organic moment when the phrase 'United States of America' is born.


Can I submit a pull request to get rid of the phony bits? Perhaps I'd better make that a series of pull requests.


I'll bite...what are examples of phony bits?


This was a reference to news stories of the past few days characterizing parts of the constitution as "phony".

The people who downvoted my comment were probably doing the right thing: I think the comment is funny and germane in the sense that git is a revision control system, but the comment can be inflammatory and really only marginally adds to the discussion.

For the record I can't characterize any ratified part of the US constitution (even parts no longer applicable and/or deleted, such as the prohibition amendment #18) as "phony" (whether I think they are a good idea or not) as they are, by definition, authentic.


As a staunch Constitutionalist, I love this.


This needs to be done for congress and law in general. Merges done with presidential and congressional :shipit:


This is just awesome, i mean why not. Git -> history. This is great idea for other historical writings!


So are pull requests to this repo going to have to be implemented with rebases and force pushes?


At this point yes. But that is for historical in accuracy, like the 12 amendment being added twice.

Restructuring and formatting can come in as post edits.

There is currently a rewrite in the works.


pretty much what we use at zcash foundation https://github.com/ZcashFoundation/zfnd/tree/master/about


Nitpick. On a local Git they could've reproduced it with actual dates and names.


Legit obsessed with idea, merge This into master please


I was kinda surprised to see only one pull request


For a constitution, it's pretty readable.


arguably this would be even more useful for the patchwork of laws and conventions that make up the british constitution


Can I fork it to make my own country?


I tried to make libre contribution, but I prefer the concept of granted power and that was not their direction.

https://github.com/liberland/constitution


There actually should be one of these already.


George says that every American should have a vacuum cleaner in their basement!


The Constitution is just a piece of paper.


Is there a Patriot Act PR?


It was force pushed before code review.


Thanks you


I love HN


—We The People [..] +The President [..]

commit by _Trump_ November 2nd, 11:59pm 2020


Revolution == Rewrite. Ammendment == Patch. New Gov == Refactor.

This kinda makes it easy to see how a simple system turns to shit over the long run.


Time to amend it to counter Globalization




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: