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.

16 of 168 comments (clear)

  1. works for rfcs and laws by QuantumG · · Score: 3, Insightful

    Do what works.
    Don't get caught.

    --
    How we know is more important than what we know.
    1. Re:works for rfcs and laws by Anonymous Coward · · Score: 5, Funny

      Don't forget the ubiquitous "Do whatever you want and write the spec later to match."

    2. Re:works for rfcs and laws by PAjamian · · Score: 4, Funny

      Sounds like Microsoft's way of writing code. Since the OP is writing a library for .NET it should work fine.

      --
      Windows is a bonfire, Linux is the sun. Linux only looks smaller if you lack perspective.
  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 snowgirl · · Score: 3, Insightful

      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)

      They kind of do, consult Restatement of torts, etc.

      --
      WARNING! This girl exceeds the MAXIMUM SAFE standards established by the FDA for BRATTINESS
    2. 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.

    3. 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
    4. Re:Refactoring by snowgirl · · Score: 3, Insightful

      As a recently passed example, example: the full-text of SB-1070.

      Some laws already are passed as if they were diffs. Although, we do a poor job of keeping version histories navigable such as they are on Wikipedia, but a recording agency could conceivably keep track of the legal text that way.

      Common forms are to underline text that is being added, and strike-through indicating text that will be deleted.

      For instance, scroll down to "Sec 4. Section 13-2319": the original bullet "E." has been struck through, and replaced with "F."

      --
      WARNING! This girl exceeds the MAXIMUM SAFE standards established by the FDA for BRATTINESS
    5. 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.
  3. 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.

    1. Re:probably illegal in most states by snowgirl · · Score: 4, Insightful

      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.

      Some states have ridiculously pedantic laws about who can practice law, or give legal advice. Then they have really wide interpretations of what constitutes "legal advice".

      So often times, it becomes a matter of policy for various institutions to reduce their liability. They typically are told to do this by their lawyers.

      --
      WARNING! This girl exceeds the MAXIMUM SAFE standards established by the FDA for BRATTINESS
    2. Re:probably illegal in most states by Trepidity · · Score: 3, Informative

      For the federal codes, you can get full-text-searchable ASCII directly from the source.

  4. Here's what makes RFCs much easier: by Anonymous Coward · · Score: 5, Informative

    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.

  5. Re:This is called codification by matunos · · Score: 3, Informative

    Something tells me the Code of Hammurabi wasn't subject to a lot of revision. It was, literally, set in stone.

  6. Fuck no by ndogg · · Score: 4, Insightful

    If such a thing were done, it would make the laws easy to understand and follow, and we can't have that, otherwise we'll bankrupt the lawyers!

    As much as I hate the bitch, Ayn Rand was right about one thing--that governments make needless laws to create criminals of its citizens in hopes they'll pay them to not be criminals any more (well, paraphrased, anyway).

    This thought process doesn't really work for computer standards, so I couldn't give a reason for the disorganization of the RFCs.

    That said, one counter argument to the second paragraph of this is Hanlon's Razor--"Never ascribe to malice that which can be explained by incompetence."--which would play to the disorganization all around.

    --
    // file: mice.h
    #include "frickin_lasers.h"
  7. For law US Code does what you want by harlows_monkeys · · Score: 4, Informative

    The US Code is kind of what you are asking for. Before the US Code, the way Federal law worked was that the Congress would pass bills. Once a year, the Government Printing Office prints a volume containing the laws for that year, in chronological order. These are called the Statutes at Large.

    The law at any given time was the net result of applying all of the Statutes at Large up to that point, plus any bills that had been passed since the cutoff for the latest Statutes at Large and whose effective date had passed.

    Bills are often written as essentially diffs to previous bills. Figuring out the law at a given time under this system could be a pain in the ass, of course.

    To make it a lot easier to find and understand the law, the House or Representatives started producing the US Code. Essentially, this takes all the laws from the Statutes at Large, and arranges them by topic, rather than chronologically, applying all the diffs, resulting in an organized statement of the law. Note that a given bill from the Statutes at Large might end up going into the Code in several parts, because the bill might cover affect multiple topics.

    The Code was not official. If there was a conflict between something in the code and a bill from the Statutes at Large, the latter won.

    However, for some sections of the code, Congress has passed bills saying that those sections of the code ARE the offical statement of the law, superceding the Statutes at Large. This is called "enacting into positive law". An example of a section of the US Code that has been enacted into positive law is 17 USC, which covers copyrights. Thus, if you want to find the current copyright law, you could start with the version of the US Code that had 17 USC enacted into positive law. You'd still have to check the Statutes at Large, but only for bills that came after the enactment of 17 USC. On the other hand, 26 USC, the Internal Revenue Code, has not been enacted into positive law, so for the definitive statement of US tax law, you need to dig through the Statutes at Large for it all.

    The above is what the government does. There are third party companies that provide more. West Publishing, for instance, publishes the "United States Code Annotated" (USCA). USCA reprints the US Code, but for each section it gives citations to the legislative history, and citations to court cases that concerned that section, along with short summaries of the relevant points of those cases. This is a great resource for legal research, but its not cheap. The complete set is $7663, although you can buy individul volumes. Copyright, for example, is covered in two volumes at $159 each.

    I don't know if its still around or used much, but West also had a classification system of law, where they basically had a giant outline of all the topics that law might cover. They published annotated volumes that reprinted court cases, with each case preceeded with a summary written by West employees, which included references into that giant outline for all the topics that case covered, with short summaries of those particular points. They also published a big series of volumens that basically consisted of that giant outline, giving for each topic the case cites to the cases that involved that topic, and short summaries. If you were trying to resarch something, you could figure out where your topic appeared in West's outline, find it in those volumes, and quickly see the leading relevant cases and what they said. West is not authoritative, of course, so you'd then have to go read those cases.

    Another company, The Frank Shepard Company, published a set of volumes that listed cases for each year, along with citations to all subsequent cases that cited those cases, with a summary of whether they were cited favorably or disfavorably. Once you found a case that you thought you might want to use (say, through West's resources), you could look