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.

41 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.
    3. Re:works for rfcs and laws by Anonymous Coward · · Score: 2, Funny

      [MS's Active Directory Developer] A standard for LDAP? nawwww .... there couldn't be
      [MS's Internet Explorer Developer] A standard for HTML? who? what? where? oh alright, maybe one day ...
      [MS's Office Developer] A standard for ODT? GTFO!

    4. 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.
  2. 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 feuerfalke · · Score: 2, Insightful

      Lawyers cost a lot of money.

      --
      A programmer is a machine for turning pizza into code.
    2. Re:Academia by snowgirl · · Score: 2, Insightful

      Lawyers and Network Engineers.

      In all seriousness, they're probably our best tool invented to date.

      There is of course the horrible situation that even when well-studied Lawyers and RFC "rules lawyers" get together, they can still disagree about things.

      Then, when you get a person to decide their differing opinions, no one goes back and annotates the original source, so you end up with hojillions of instances of case law that you have to read to properly understand the law.

      --
      WARNING! This girl exceeds the MAXIMUM SAFE standards established by the FDA for BRATTINESS
    3. Re:Academia by Bryan3000000 · · Score: 2, Insightful

      That's why he suggested that law professors and students do it. You know - academia.

      Practically speaking, this is the exact role played by academia. Parse and make things understandable, then teach.

    4. Re:Academia by conspirator57 · · Score: 2, Insightful

      that's why you'll never see a tool like the one the author wants for laws. and also why you'll never see the laws simplified, no matter how much injustice is perpetrated using our increasingly convoluted system of laws.

      i think our laws and case law need to be refactored.

      --
      "If still these truths be held to be
      Self evident."
      -Edna St. Vincent Millay
    5. 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
  3. 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 kronosopher · · Score: 2, Insightful

      Reaching the point where the establishment accepts and adopts such methodologies would itself require magnanimous effort. In other words, instituting real transparency and accountability is nearly insurmountable considering the immense corruption already woven into corporations and the gov't. Systematically dismantling and reforming corrupt institutions is realistically decades, if not centuries, away. Like the parent mentioned, the expense of instituting such a system is tremendous. That in addition to manufacturing a favorable political climate is ludicrous. Not to mention the current establishments propensity towards violence, therein reducing any notion of true democracy or policy consensus to pure frivolity. Attempting to implement this given the current climate would most probably result in violent retaliation from the elite, barring a major catalyzing event(natural disaster/nuclear fallout/chuck norris dying/etc).

      For Americans who can't grasp the idea of corporate relevancy and the disgusting lengths corporations go to maintain it; keep in mind that throughout the entirety of human history there has yet to be a single democratic or representative government that avoided succumbing to a domestic and/or foreign authoritarian imperialist influence. On another note, until large factions of the military adopt a strict doctrine of supporting the aforementioned kinds of reform(and/or the military decentralizes into regional militias), it is very unlikely we will see the masses wrenching control back from international banks and money institutions(our primary obstacles in achieving liberty atm)

    6. 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.
    7. Re:Refactoring by anegg · · Score: 2, Insightful

      You could, perhaps, think of the US Federal/State relationship as being more like the European Union/European Union member country relationship. At least, that's how it seems to have been originally intended, and how some of us (US citizens) still view it. States are fairly independent entities with the responsibility for most of the legislation. The federal government has a restricted set of power specifically granted to it by the agreement under which the individual States agreed to participate in the Union. This document describes the constitution of the federal government (and hence is called the "Constitution").

      So US Federal law covers those powers specifically set aside for Federal control. US State law covers just about everything else, except for some amount of county and town/city-based legislation that takes care of fine details at the local level. At least, that is the way that the Constitution describes it.

      Unfortunately, in the normal course of events the areas into which the Federal government has become entangled has grown enormously, helped along substantially by the so-called "interstate commerce clause" of the Constitution. This clause gives the Federal government certain authorities over elements of interstate commerce. It has been used (and overused) to extend Federal jurisdiction quite broadly.

    8. 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).

    9. Re:Refactoring by sjames · · Score: 2, Insightful

      However, I don't think it is at all unreasonable to expect that a lawyer SHOULD be able to definitively answer the question "is it legal if I...". It's also reasonable to expect the law to at least be self consistent.

      I agree it's a matter of scope rather than kind, but it's also a qualitative matter. Programmers at least maintain the information even if comprehensive analysis might be intractable. In cases where life hangs in the balance we as a profession get a lot more strict about the ability to complete the analysis (and life DOES hang in the balance in criminal justice).

    10. Re:Refactoring by sjames · · Score: 2, Insightful

      Ethics by nature have a lot of gray areas. However, justice demands an ability to determine as a matter of fact what a person may and may not do, otherwise an innocent infringement can too easily become a conviction. This is especially true if we claim (as we do) that ignorance of the law is no excuse.

      I fully recognize the difficulty of that task. Anyone who writes software will recognize the analogous situation. I get the feeling that programmers try a LOT harder than lawmakers (who have been known to vote on a bill without reading it) to get it right.

      As a sort of safety feature (sorta like enclosing an entire program in a try block so any exceptions that leak will restart it), we are to grant the defendant the benefit of all doubts and technicalities. We are not to even prosecute if the illegality of an act is questionable. However, we have allowed that to steadily erode in the form of prosecutors using technicalities as a way to get an indictment (such as teens taking nude self portraits technically manufacturing child porn).

      I don't expect the legislative or judicial branches to get it right every single time any more than I expect an end to all bugs in software, but I do expect them to at least not mark every bug as user error and "won't fix".

  4. This is called codification by dmitriy · · Score: 2, Informative
    1. 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.

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

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

  6. 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.

    3. Re:probably illegal in most states by Anonymous Coward · · Score: 2, Insightful

      Well part of the difficulty is that we have a common law legal system. So the decisions of appeals courts as usually binding upon (precedent for) inferior courts below them. They are therefore considered "law" as well as the statutes. And Lexis and Westlaw have done a pretty good job of privitizing the public domain works of court decisions.

  7. Zen RFC by symbolset · · Score: 2, Insightful

    When you have a full understanding of the RFCs you must then appreciate that you cannot understand them because they cannot be understood. They are a Gordian Knot. The intricacies of their contradictions are beautiful both in their symmetry and their horror. Some of them are simply humor. That the Internet that we so rely upon is built upon these is nothing less than a triumph of irony.

    They are not laws, per se. They are questions. Hence the title: "Request For Comments". The ambivalence is diabolical in its simplicity. It works only because nobody else has come up with better questions.

    --
    Help stamp out iliturcy.
  8. Isn't what you're describing... by titten · · Score: 2, Interesting

    A wiki?

  9. 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.

    1. Re:Here's what makes RFCs much easier: by Your.Master · · Score: 2, Informative

      I'd really like to know the one-hour version of "everything that is all-but-universally accepted about physics".

  10. Subjects must not know the laws! by Mitsoid · · Score: 2, Insightful

    "Sorry, We are not required to tell you what laws you must abide by. We are only required to tell you which one's you've broken!"

    Now get in the back of the car, sucker!

    >.>

  11. It is easy by rolfc · · Score: 2, Informative
    You keep a database with all current versions. It is searchable and you don't see the old ones if you don't want to.

    The swedish parliament does it. http://www.riksdagen.se/webbnav/index.aspx?nid=3912

  12. 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"
    1. Re:Fuck no by Bryan3000000 · · Score: 2, Interesting

      Any sufficiently advanced incompetence is indistinguishable from malice.

  13. Doesn't quite apply by Garrett+Fox · · Score: 2, Informative

    Although that's a neat idea, it doesn't quite apply to American laws. If I understand right, you're thinking of a standard set of federal laws all states follow by default, with states just changing them a bit. But the legal system we had under the Constitution inherently had independent legal entities with different authority, state vs. federal. Federal laws wouldn't cover the same subjects, for the most part, so topics like labor law and pollution control would be stand-alone state laws rather than changes to a master federal law.

    At least, that's how it used to be.

    --
    Revive the Constitution.
    1. Re:Doesn't quite apply by oatworm · · Score: 2, Informative
      It's not so wildly divergent anymore, nor is it particularly "devolved". After a variety of court cases through the 20th Century, there's not much that one state can get away with that another state can't. Thanks to some rather creative interpretations of the "commerce clause" (the Federal government has the constitutional responsibility to regulate commerce between the states; this has been interpreted, for better or worse, to allow withholding of federal highway funds if states don't meet certain criteria, like establishing a particular minimum drinking age), among other things, states are no longer allowed, for better or worse, to legislate on the availability of...
      • Abortion
      • Slavery
      • Gun ownership (D.C. vs. Heller pretty well nukes most local and state gun restrictions)
      • Voting access and rights (no more poll taxes, literacy requirements, and so on)
      • Certain environmental standards (you can legislate above the federal minimum, which California does routinely, but you can't legislate below it)
      • Sodomy or miscegenation (they're allowed, regardless of what the TX State Government thinks, thank goodness!)
      • State National Guards (sort of controlled by local governors, but nothing like the state-controlled militias that existed prior to their nationalization under Eisenhower)

      And so on. In fact, these days, when a state can legislate something fairly major on its own, it's big news. Speed limits, for example, were federalized during the Carter administration; state control of highway speed limits didn't return until the Clinton administration. The so-called "Defense of Marriage Act" is exceptional not only because it allows states to decide amongst themselves whether or not they wish to permit gay people to marry, it also allows them to creatively interpret the "full faith and credit" clause (a contract in one state has to be honored in all other states) to exclude marriages between two people of the same gender.

      Realistically, states have very little power these days, especially compared to what some of the Founding Fathers initially had in mind (though not all of them - the Constitution was an attempt to bring greater power to the federal government, not less). They get to decide, at least to a certain point, what level of taxation is present, how comprehensively certain social services will be provided, whether the state is a "right-to-work" state or not, and how easy it will be to buy liquor within the state. That's pretty much it. Is that good? Well... it depends on your perspective. On the one hand, it proved to be the most reliable way to overturn some truly heinous state-level policies, especially in the South. On the other hand, it's not like the federal government is a perfectly innocent or saintly presence itself; at the very least, greater centralization leads to a "single point of failure" with potentially catastrophic consequences. At the most mundane, federal policies can be rather "average"; for example, a 55 MPH speed limit might make sense in Massachusetts, but is less impractical in, say, Montana. Similarly, concealed carry laws might make sense in Wyoming, where a single bullet might hit an antelope and a stray tumbleweed, but might make much less sense in a highly urbanized environment where a single bullet can hit a couple of people, go through a wall, and break a window. Unfortunately, figuring out which issues are best handled locally seems to be more of an art than a science.

  14. 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

  15. Re:Have you ever wondered by Arancaytar · · Score: 2, Funny

    I suppose you're ri---- [lost carrier]

    Long live the GLORIOUS MACHINE REVOLUTION - KILL ALL HU-MANS!