Chains of RFCs and Chains of Laws?
AlexNicoll writes "I recently completed a DNSSEC library for the .NET platform (thanks to Wouter @ NLNetLabs for his help!). While writing the library, I encountered the extremely entertaining concept of following the long chain of DNS-related RFCs on the IETF website. Some RFCs were obsoleted, some were updated, some updates were obsoleted by others, and some were never really formally related or linked — so even finding them was a challenge in search-fu. Finally, I think I got the whole picture, but I'm not sure. Then I got to thinking: searching for the relevant RFCs in IETF RFC chains was a lot like trying to figure out how (in the US) local, regional, state, and federal laws interact with themselves and each other. Since I just recently moved, I thought I ought to know the rules of the place I live in. It turns out to be just as non-trivial, if not more so, than parsing RFC chains. So here's the question: given that the processes are somewhat similar, does anyone know of a project that has tried to consolidate all the information in one place, so that it's in one comprehensive and up-to-date document, for either laws or RFCs?"
Update: 05/24 14:24 GMT by
KD :
Ray Bellis from Nominet took up the challenge and compiled dependency graphs for DNS-related RFCs.
Don't forget the ubiquitous "Do whatever you want and write the spec later to match."
Remember, the VAST majority of RFCs are NOT de jure standards. They can become so; at which point they become STDs (or BCPs for "protocols" as opposed to technologies). They average less than two a year; there's less than 70 of them (about twice that many for BCPs).
When they become true standards, they almost NEVER become obsoleted (except from disuse) or amended; I think that there are all of about 10 that have truly been obsoleted.
Now, I see what you're saying; following de facto standards is good too. But it involves work, and it has been traditionally seen as unimportant because most standards are only proposed with the expectation that they will slowly find their way down the standards path to become true standard.
I guess it's kind of like Physics; if you want to know what is all-but-universally accepted, you could do that in an hour. But if you want to catch up on the developments of the last century since the last round of formal standards were agreed upon by consensus (other than a couple of relatively recent stand-outs)? Well, you'll need years. You are implementing something that is the pinnacle of the field, after all; if you weren't expert enough to understand the chain of RFCs, you wouldn't be expert enough to implement those cutting-edge standards.
The difference with laws, though, is that we (or at least, the system) DO expect all but the most incapable of us to know, understand, and abide them - all of them, all of the time. I don't really think it compares. Joe Random doesn't need to know the intricacies of DNSSEC to check his facebook, after all.
How about we version control the legal code, consider amendments to be patches, new laws to be insertions into the relevant sections, and deprecated text removed in a deletion patch?
State governments could then add their own changeset to the upstream (Federal) laws where they can and also maintain their own single cohesive text as a version controlled document.
Unfortunately such a thing is probably decades if not centuries away.
Technologically, he has a description of what he does. I'll try to translate:
he fetches laws from the Cabinet Office web server, which he converts into XML (XHTML2 med RDFa)
He then retrieves cases from the Courts Administration FTP server, also converts this into XML. (via words "save as HTML", and then converting).
He then compiles all the meta-data from all the documents into RDF -graph. This is used in conjunction with style sheets to create XHTML1.0 pages, ready for displaying in a browser.
finally, indexes and Table of contents are created and the result is hosted on Apache-servers. The code is written in python, with parts in XSLT.
Impressive, impressive work. Which landed him a job in e-gov (I hope he keeps the law-project going!)
"If it can be thought up, there exists at least one person trying to make it happen for real" - Phil