Posted
by
kdawsonon Monday May 03, 2010 @01:59AM
from the apt-get-law dept.

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.

And that unfortunately, is partly why some people believed (albeit wrongly) that the internet is going to break this week.

The problem with only doing enough to make something "work" is that it doesn't cope with the edge cases, but sometimes those edge cases are important. Introducing DNSSEC exercises many more of those edge cases.

For more information on how not implementing the DNS RFCs properly lead to poor middlebox implementations that could break the internet for some people see RFC 5625 [ietf.org].

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.

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

Here in the US our current code base was started over 200 years ago (with many ideas inherited or even copy and pasted from earlier projects). There has never been a major refactoring (and not much in the way minor refactors either), and most of the code was written by people with less sense of structure and architecture than your average VB 6 coder. Yeah, it needs refactoring.

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.

Such a system could possibly be implemented here as well. The Library of Congress's project Thomas [loc.gov] (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 [loc.gov] 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.

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

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 change

yes you would have to change to a model like the UK or France where the states (county's/departments) would have resposibilities for cleaning the streets running education but have no lawmaking ability.

Nah - think of the states as more like Law Distributions. They take the mainline legal "kernel", which is represented by the Constitution, US Codes, common law judgments, and so forth, then bolt on "community-oriented" laws on top of that base to create a "usable system". Just like Linux, US states have a fair amount of freedom in what they can bolt on, though certain actions are prohibited for policy or security reasons (slavery, fully independent National Guards; thanks, George Wallace, for screwing tha

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 criter

There are cases where state's laws modify Federal laws or regulations, usually by making them more strict. There are also completely novel laws, which as I said, could be maintained in a separate version controlled text.

yes and having actulaty been involved in this sort of process it makes me sad that peopel dont know how parlimentary procedure works though the avearge RFC author would be totaly lost wording in motions is absolutly crucial and the fluffy make it up as you go along that charactises RFC's wouldnt cut it.

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

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

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

Yes you have just described how organisations that are run by members work - your point is ?

the system you suggest doesn’t really work for the federal model you get citizens having different rights dependant on where they live (a zip code lottery if you will) for example.

If your suggesting that changing from a federal system(set up to suit the agenda of rich agricultural landowners) to a more centralised one might be more appropriate for a super power in the 21st century – I would probab

Actually not. A client of mine [propylon.com] does a lot of work on legislative projects to get very much the effect you describe. Doubtless there are others doing this too.

It's a little more complex than you imagine, though, as a patch on one statute may be a deletion on another, which in turn affects yet another, which has implications for a different section of the first statute, changes to which affect the first patch, end so on, somewhere between ad nau

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

Florida has Online Sunshine [state.fl.us] - Their deep revision history is hidden, but the current text is reasonably well indexed. Interaction with Federal and Local laws is left in the domain of weasels for hire [floridabar.org].

I'm not sure what part of this you are suggesting is new and different from the way the system works.

A bill gets passed (say, health care reform eariler this year) and it interacts with a bunch of other laws (the tax code, as a simple(ish) example). The bill says "Chapter such-and-such of Title whatever of the U.S. code is ammended as follows", and then if/when the bill becomes law (as this one did), the U.S. code itself is modified with in-place additions and deletions. I'm pretty sure the various versio

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

That's basically what the United States Code [wikipedia.org] is. Laws are compiled and sectioned into logical areas, so e.g. a bill that relates to both bankruptcy law and mining regulation (many laws have absurd things packaged together), will be refactored so the bankruptcy parts get codified into Title 11, while the mining regulations go into Title 30.

As another comment notes, the "Restatement of Torts" (and Contracts, &c.) series do that. It's important to note that those documents aren't just a "restatement" but an attempt to reshape the law. (See also the politics of the DSM in medicine...) That's grounds for eyeing those things with some skepticism, since the Restatements are slightly different from what you might think they are. Not just a helpful summary but a push in a particular direction, that is.

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)

Oh thats why Patterns suck so much then:-) you know of course that the only thing an architect sould be alowed to do is under strict medical supervison be alowed to select the paint colors for the walls.

And don’t forget that anomaly’s in law provide rich source of income for the legal profession - this is what a senior HR person in BT commented on the introduction of age discrimination laws a few years ago.

Those who think that refactoring can be blindly applied to lawmaking just don

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.

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.

So, in theory, there could be places where even saying "ask a lawyer" would be interpreted as "legal advice" and thus punishable.

That'd make for a really interesting court case though

DA: "I will show, that Snow Girl gave John Doe legal advice by recommending Dewey, Screwem & Howe."Judge: "Are you shitting me?"DA: "No, it's right here in section 4: Any kind of legal advice or suggestions may only be given by a lawyer, and Snow Girl clearly suggested that John Doe whould consult this law firm."

So, in theory, there could be places where even saying "ask a lawyer" would be interpreted as "legal advice" and thus punishable.

That'd make for a really interesting court case though

DA: "I will show, that Snow Girl gave John Doe legal advice by recommending Dewey, Screwem & Howe."Judge: "Are you shitting me?"DA: "No, it's right here in section 4: Any kind of legal advice or suggestions may only be given by a lawyer, and Snow Girl clearly suggested that John Doe whould consult this law firm."

Meh... I'm not going to say it's impossible, because some Bar associations actually appear to be that anal.

Like the Bar association who sued a father for representing his disabled son, because the son had obtained the age of majority. (They argued, the son was old enough now to disqualify for parental representation, you know... ignoring the fact that the father had a full and legal guardianship for the son.)

There really is a good reason why even when giving the simplest of advice people with any legal kno

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.

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 diabolic

I have long thought politicians should take a page from software practices, such as a version control system with a current "HEAD", instead of this multi-document spaghetti mess we have inherited from the ages. Of course, making law easier to understand would make us less reliant on lawyers, so they will probably make sure this never happens.

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.

A friend of mine is a SIP guru and often does presentations on SIP security. He usually shows a slide where all relevant SIP RFCs are listed. The slide (e.g. see here [fostel.org] on Page 5) was already very full in 2006.

RFC's are like democracy, it is the worst form of government known on the face of the planet, it is just better then everything else we have tried thus far.

At their best they are precise and ambiguous, at their worst they are inscrutable and comprehensible.

Specifications via consensus means that every pissant and their cousin gets to have a whack at making sure their sacred ox does not get gored, or conversely making sure that the sacred ox of someone they don't like does in fact get gored and gored badly.

Yup, its better to choose a protocol like MAPI and try and reverse engineer it instead of using published standards like SMTP / IMAP... Oh... thats not working out so well now, is it? IMAP / SMTP may have billions of mostly compatible implementations but MAPI has oh, 1 defacto implementation. I am glad that some open source projects seem to be getting close to parity with MS releases now (Over 20 years after the first MAPI release..).

Maybe machines can support the reading of documents (inference engines) like expert systems may help doctors.But law can not be interpreted by machines, because you have to understand what the law-maker wanted, not just the syntax of the texts. Judges will always have to look at the situation with common sense.

The problem stated is that of determining what the current version is.

Unfortunately I can't read Swedish so I can't comment on your link but here's a recent example of the problem from the UK.

This section [opsi.gov.uk] of the controversial Digital Economy Act adds new text to this section [opsi.gov.uk] of the Communications Act 2003. As far as I am aware, there is nowhere I can find a copy of the Communications Act after the changes from later legislation have been applied. This means that to ensure I am compliant with the law, I

You should try to IETF tools site, they have very good linking of the various RFCs and how they depend on each other. For instance, if you look at http://tools.ietf.org/html/rfc5395 [ietf.org] you can click on the RFC it replaces (=obsoletes) or the RFCs it updates.

how would you do that? an elected lay chamber (no lawyers allowed) that scrutinised all laws would be one way that it could work but do you have the knowledge and time to do this? IT takes at least one eection cycle to work out whats going on and how not to have the wool pulled over your eyes

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.

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

I've never subscribed to that view. I see the situation as an unfortunate interaction of incentives. I believe that my (USA) legislators make laws to justify their positions. They have to be seen to be doing something, or we might vote for someone else next term. (Active looks better than passive to us voters, you'll never get elected on a plat

I agree with you, Hierarch; unfortunately, the end result is indistinguishable.

One other incentive that you fail to identify is that people do not support limiting laws on themselves. The support limiting laws on their neighbors. You will often hear, "They should not be allowed to do that." McDonald's shouldn't be allowed to offer toys to children, because that will make children want to go to McDonald's just for the toy. No thought is given to the meta-concept that it is a dangerous step to remove the

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

There's a project called InfoLeg [infoleg.gov.ar] Trying to do exactly this... I'm not sure if they've been able to keep up, but they have a lot of content browsable in a way that resembles revision control a lot.

As an example you have here our copyright law [infoleg.gov.ar] passed in 1933. The three links there can show you the original text, the most recent text applying all updates (i.e. "HEAD":) ), and a link to a list of laws/decrees that updated modified it later.

That's more or less what you were looking for? I know people who were c

What the OP is describing exists already in various forms, all of which cost money. That they exist should not be surprising as they are extremely useful to attorneys, legislators, judges, etc.

There are two companies, WestLaw and LexisNexis, that have online databases of just about all the statutes, cases, regulations, constitutions, treaties, and academic articles ever published in the US and the UK, which is relevant to US law for certain common law issues. Access to both is not cheap, but using at leas