Slashdot Mirror


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.

12 of 168 comments (clear)

  1. Academia by spydabyte · · Score: 2, Interesting

    Lawyers and Network Engineers.
    In all seriousness, they're probably our best tool invented to date.

    Like my professor said when I asked him if he had an auto-grader "Yes, it's called TAs".

    1. Re:Academia by x2A · · Score: 2, Interesting

      New generation of document databases like Apache CouchDB could be right up the street of a bit of codification. A "schema free, indexable, flat address space" sounds about right to me! You'd want to start initially (and quite easily) with a way of identifying addresses (eg, authority.act.section.clause) that appears within the texts (eg "ammends subsection x of the blah blah act of 2004") to create a dependency tree. When a law is repealed, that would be the end of that branch. Once you have your dependency tree, it can then be flattened, where at any point in time you can see the current state of the law in any area (like filesystem snapshots) where elements of older acts (or whatever they're called where you are) that are referenced/modified can be displayed inline, without having to jump between one thing and another. My guess is that with its chaotic nature, trying to guess what the next steps would be would be foolish, at least of me, but in getting that far all kinds of ideas would open up.

      Incidentally, here in the UK our statutes are still often refered to as a scroll (although 'statute books' often more, which does sound less archaic) as it is a single address space, with laws coming into effect at certain times (transactions are atomically committed)... you could scroll back all the way to 1215 to see I think it's 2 erm... "bits" that are left in effect now, with some others that are partially repealed in some situations (eg, the right for a trial in front of your peers, which has effectively been on our books since 1215, has been recalled once sometime last year, while trying to convict for an airport armed robbery for a third or fourth time, as somebody kept getting to members of the jury! But that's an aside...).

      --
      The revolution will not be televised... but it will have a page on Wikipedia
  2. Refactoring by Laz10 · · Score: 3, Interesting

    I have actually been thinking about this.

    Just like Computer Science got Design Patterns from architecture (http://en.wikipedia.org/wiki/Christopher_Alexander)

    Lawmakes should take the concept of refactoring from computer science (http://en.wikipedia.org/wiki/Code_refactoring)

    1. Re:Refactoring by Anpheus · · Score: 5, Interesting

      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.

    2. Re:Refactoring by DynamicPhil · · Score: 5, Interesting
      Well, someone (a hobbyist) is doing just that (in Sweden, with Swedish law): https://lagen.nu/

      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
    3. Re:Refactoring by Dr.+Eggman · · Score: 3, Interesting

      Such a system could possibly be implemented here as well. The Library of Congress's project Thomas (as well as the GPO) publishes all the public law information, including the various drafts taken into consideration during the process of developing them in the house/senate. Most of them are already available as an (example here) XML file, though perhaps not quite in the same format we'd need. This includes some of the more important pieces written before the project was started.

      --
      Demented But Determined.
    4. Re:Refactoring by sjames · · Score: 2, Interesting

      Well, sort of. The difference is that nobody bothers to provide a mechanism where you can check out a current instance with all of the patches appropriately applied in order to see what the law really is. Sometimes conflicting patches are checked in but there's no mechanism to detect the collision or to require reconciliation.

      Law has been around for thousands of years and computer programming for a few decades, yet programming is miles ahead in spite of never being able to handwave (or perhaps because of it). I can't be sure my program is correct and complete (just like the law), but I can say exactly what it is at any given time (unlike the law).

  3. Austlii by Anonymous Coward · · Score: 2, Interesting

    AusLii. You did mean Australian law, didn't you?

  4. probably illegal in most states by Anonymous Coward · · Score: 3, Interesting

    When I worked at a public library in Virginia, we were told that we weren't allowed to show someone how to use the index of the federal and state codes without having a license to practice law in Virginia. I've heard similar tales of Texas. I am not a lawyer, so I can't possibly understand whether or not what I just typed related to actual law or whimsy.

  5. Isn't what you're describing... by titten · · Score: 2, Interesting

    A wiki?

  6. Re:works for rfcs and laws by ThePhilips · · Score: 2, Interesting

    I presume the RTFA complains precisely about the index RFC, sometimes referred as RFC 0.

    And yes, it is spaghetti-like and not always up-to-date.

    --
    All hope abandon ye who enter here.
  7. Re:Fuck no by Bryan3000000 · · Score: 2, Interesting

    Any sufficiently advanced incompetence is indistinguishable from malice.