There's a change control system behind all this. Here's a history of a bill, again, in XML.[4] There are change transactions, which are also in XML, but they're not in this database.
[1] https://www.gpo.gov/fdsys/bulkdata [2] view-source:https://www.gpo.gov/fdsys/bulkdata/BILLS/114/2/hconres/BILLS... [3] https://www.gpo.gov/fdsys/bulkdata/BILLS/114/2/hconres/BILLS... [4] https://www.gpo.gov/fdsys/bulkdata/BILLSTATUS/114/sres/BILLS...
It is understanding that bills are patches, and thus the law works like darcs—patch-oriented rather than revision-oriented.
Does this sound correct to you? I arrived at this conclusion asking people who know nothing about VCS, so something mighthave been lost in translation.
I also hear the applying of all these patches is a slow manual process only done periodically? :|
The user guide for the XML data is on Github.[1]
[1] https://github.com/usgpo/bill-status/blob/master/BILLSTATUS-...
We can't build good tools without good data. The only way to get it is to work directly with governments and make it easier for them to publish their official laws as clean xml than to publish their laws as PDFs.
Revision control and the law deserves its own blog post. In addition to being patch-based, patches can be created today, but apply retroactively, or languish for years, then suddenly apply because a triggering event occurred.
Our system ingests official laws and outputs an xml version of the official law. A government attorney uses our IDE to review the xml output and annotate it with codification instructions. Our system then uses those instructions to automatically codify the law, which is then published openly on the web in multiple formats.
We have been rapidly iterating on our xml format. You can see the beta version for our first partner, the District of Columbia, here: https://github.com/dccouncil/dc-law-xml/tree/development (feedback welcome).
As we partner with more jurisdictions, we will build a foundation of open, clean, accurate, and timely computer-readable laws on which anybody can build tools to improve government, citizen engagement, and access to justice.
Hmm, interesting! I always assumed the patch applied immediately but the new law might contain some "effective z/y/z, ...".
This is rather unfortunate (of course not your fault), because as we all know rebasing is not necessarily conflict-free.