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.
Do what works.
Don't get caught.
How we know is more important than what we know.
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".
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)
IANAL -> IANARFCL
in fact, organizing RFCs into something consistent would be perfect, but I guess there's no one to do it right, just as with the law.
The first civilization to codify its laws was ancient Babylon.
AusLii. You did mean Australian law, didn't you?
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.
so many laws so little time to break them all
Is it April 1st in kdawson land?
"What kind of music do pirates listen to?" -Paul Maud'dib
"Yeeeaaarrrrr n' Bee!!" -Stilgar, Leader of Sietch Tabr
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.
A wiki?
http://www.faqs.org/rfcs/rfc-activeT.html
I've been down the same path with IMAP related RFCs, which number around 38.
It's called wikipedia.
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.
I have read a few of the DNS-related RFC's and I have to say that they are probably among the worst of all RFC's. ... A math prof? or perhaps a meth addict, can't really tell for sure.
Most other RFC's seem to be written by people who are used to write software after specification. Some of the DNS-related RFC's are.. well.. possible written by someone sufficiently detached from reality.
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 on Page 5) was already very full in 2006.
CU, Martin
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.
Having actually sat down and traced through a few of these I feel your pain. At some point they pretty much kinda work, sorta, maybe. After a couple of cocktails and a few huffy e-mails you might actually get to grips with whatever the problem is and get some work done. Unfortunately by then you have forgotten what the hell you were trying to do in the 1st place.
Hey KID! Yeah you, get the fuck off my lawn!
Why lawyers are so essential to a legal victory, and are so highly paid? This is why.
If laws ever became navigable by ordinary people, lawyers would be obsolete - and if machines ever became sentient enough to understand what their users wanted, so would programmers. :P
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?
Yes, try here. I don't think that includes any local laws, but it's good for the government's stuff.
Oh, you meant laws in the USA? Sorry, can't help you there.
Ask me about repetitive DNA
> I encountered the extremely entertaining concept of following the long chain of DNS-related RFCs
Get out more.
Jiggity
"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!
>.>
The swedish parliament does it. http://www.riksdagen.se/webbnav/index.aspx?nid=3912
Most (all?) US state laws are online these days. As is Federal law. But there is the US Code, which is big and the Code of Federal Regulations, which is bigger. States also have codified laws
as well as regulations. If you want to know about interactions between laws and law or laws and regulations, I think Shepherd's
Citation Index is where a lawyer would start. Of course that assumes you have a starting point and aren't just browsing.
Did you look at www.rfc-editor.org?
But I would like to see peer review implkemented in the legislative proces in my country!
http://www.faqs.org/rfcs/np.html
For laws, Napoleon in the 18th century decided to join up all the laws in the Napoleonic Code, which is still the base for most law systems worldwide.
Is the UK's statute law database:
www.statutelaw.gov.uk
which shows you all the laws currently in force, as amended.
Two problems:
1 - You sometimes need the law as it was (eg as often happens in sex abuse cases, someone is charged with an offence committed decades ago - what did the law say then?). The solution is called a library - or an expensive privately managed database.
2 - not all laws are codified. In common law jurisdictions, statute is just one source of law. A settled line of decided cases can be another - and those are not necessarily all available in one place (or for free). Prime example - murder. There is no statute in England and Wales that defines or forbids murder - it is an offence against (and defined by) the common law.
And badly written statutes make me want to commit it.
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"
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.
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
The Library of Congress of course.
Excuse me, but please get off my Pennisetum Clandestinum, eh!
Askemos (www.askemos.org) treats chains of code like contracts and laws. Actually as ist constructing principle.
Askemos works like the web; but with servers replaced by a p2p network.
So often your personal node will in fact execute code which would normally run on a remote service.
To make sure that both parties (you (as node owner) and the owner of the website your machine serves want this to happen, the distribution/replication of code follows a chain of "executable contracts".
Westlaw http://www.westlaw.com/ lists Acts, Orders, etc with highlighted bits where stuff has been revoked, amended and replaced. I've used the Westlaw UK for my university course and it's proven quite helpful.
Death and taxes are both inevitable, however, death doesn't get worse year after year.
The UK has a statute law base provided by the government. http://www.statutelaw.gov.uk/Home.aspx Don't ask me how they do it.
It turns out to be just as non-trivial, if not more so,
You should be writing RFCs. Not reading them.
-- -- Warning. Do not stare directly at the sun.
just move to a civilized country, where every tiny village doesn't get to choose whether murder is illegal or not?
Get a sense of proportion, cocksmoker.
The IETF has a very large body of engineers and academics. These are people who *know* how to read papers, how to do research, and how to build a bibliography database BEFORE they start the real work. Obviously, the process is not optimized for the lazy (it would be useless to even try, anyway).
Here's how it goes re. RFCs (rough guide, feel free to improve):
Phase 1: Bibliography selection
1. You look for some base RFCs in the IETF RFC editor pages (http://www.rfc-editor.org/). These pages *already* give you all "superseedes/superseeded/enhances/modifies/obsolete" information, fully cross-linked. There *is* an index RFC (RFC 0). All RFCs have a relevant "references" section as well, and all references should be checked for relevance.
2. You locate the reference implementation. Anything worth bothering with has one (often two), and that reference implementation's documentation will reference relevant materials. At least one of the reference implementations is likely to be FLOSS, and its code will be a powerful documentation on border conditions... For DNS, the main reference implementation would be ISC BIND ("reference" does not imply "best", so let's not go religious on DNS servers here).
3. You go to the IETF pages, locate the proper work-group responsible for that area of knowledge, and check their references lists and published works. You should also locate their mailing-list, and take a look at the archives to check for relevant information.
4. You do some targetted internet searchs and ask around in the IETF mailing-lists and Usenet, if applicable. If you have access to such, you should also hunt down relevant papers for cutting-edge research (but the hunt for information in the IETF workgroup will likely have turned over any ongoing research of real relevance already).
Now you have a massive list of documentation to go over...
Phase 2: study the bibliography you selected
1. Read it all. Organize it. Select all relevant information for later use. Locate all obviously unclear functionality, and check the reference implementation. If you locate references to important information, search for it and add to your references database.
2. Document the flow and details of all protocols at the level of detail you will need for the implementation, so that you are sure you know the answer to all bondary conditions, etc.
3. Ask the people who know better (hint: there is at least the IETF work-group. For DNS, there is also NANOG, and the engineering bodies of just about every RIR) all remaining unclear information, and for bonus points, submit clarification proposals for the relevant RFCs (or a supplemental one).
Phase 3: system/software engineering
Outside of the scope of this slashdot post ;-)
If this is too hard, that is a hint that you should be doing something else for a living.
This reply has been superseded by reply 827.3c, which itself has been superseded by 827.3q, which was replaced with 923.2f, which may or may not have been resubmitted in a modified form by various vendors "extending" the standard. ::)
Rather ironic in this context, eh?
(Frequently used acronym)
Obi-Wan: "I felt a great disturbance in the Force, as if millions of voices suddenly cried out in terror and were sudden
There's a project called InfoLeg 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 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 close to the project in the past, I can get you a couple of names if you're really interested...
The American Law Institute publishes Restatements of Laws, which synthesize case law on a given subject and attempt to provide clarity. Some Restatements are updated more regularly than others. Restatements are generally persuasive but not binding authority, so courts are not required to follow anything contained in a Restatement. Of course, there are jurisdictional differences, so a state may historically not follow the Restatement position.
There are also Uniform Laws, which are promulgated by National Conference of Commissioners on Uniform State Laws and similar entities. These are frequently, but not always, well-drafted model laws that are recommended for adoption by various states. Of course, states are free to adopt all, parts, or none of such laws. In the area of trusts and probate law, for example, Delaware has consistently rejected the Uniform Trust Code and the Uniform Probate Code in favor of a much more settlor-friendly (that is, trust creator) approach.
Finally, many states have law revision commissions charged with reviewing state law, recommending the adoption of model laws, identifying obsolete laws, etc.
In all of this, you should understand that, despite what Lessig says, law is not code. It takes a long time to fix broken laws (2010 estate tax suspension anyone?), and new law is not better law. Just ask any lawyer if they would prefer to deal with a brand-new statute that has not been interpreted and explained by the courts, or with a jurisdiction like Delaware with a well-established statutory and case law base (of course, Delaware updates its statutes frequently but the law is sufficiently explained and interpreted).
(in Captain Teague Sparrow's low voice)
The code is the law!
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 least one is a necessity for an attorney. Their databases are actually even more extensive than that, but those are the important ones for the question.
WestLaw has a system (the West Key Number) that is sort of an ontology of the law: just about every individual issue imaginable is assigned a key number. So you can find cases in a given jurisdiction by looking up your issues in the index and then finding cases that discuss those issues. The key numbers are the same between jurisdictions, so once you know the number you can use it to find cases in every state or federal court.
LexisNexis offers a different system, which it took from Shephard's Digest, which was a kind of print citation history of every case and statute in the country. What 'Shephardizing' does is give you a list of every case that has cited a given case or statute and tells you how it was cited (e.g., favorably, unfavorably, overruled, etc). It can also tell you if a case or statute was overruled by statute. It can also tell you what academic writing has cited the case or statute, but that's mostly of interest to academics.
Both companies also offer services for tracking the revision history of statutes.
WestLaw still publishes a print version of its Key Number System indices, but the print version is expensive, laborious to keep up to date, and requires a full law library (e.g., print versions of the cases) to really use effectively. Online access is cheaper and more convenient in the end. The exception to this is using someone else's law library, which can be found at a law school or a very large public library. Many law schools make their collections available to the public during normal business hours, although books cannot be checked out.
There are many other approaches: legal encyclopedias, treatises, the American Law Reports, 50 state surveys, etc. To find out more, buy a book on legal research or become a law librarian, paralegal, or attorney.
As someone who works in software support we get customers who try to beat us over the head with RFCs. It would be awesome to compile a good way to look these up as I have tried and it is a piece here and piece there. The software engineers have a list of RFCs they have to use for a given protocol. This should be a good project for someone from the IETF or who is in control of the RFCs to have a good search engine to look these up and mark ones that are obsolete or have a newer RFC apply. Dogpile seems to work a little better looking up technical things I have found but still lacking.
Just think about all the lost time wending your way through the wonderful world of RFCs. Been there and done that, and wish to never do so again.
Laws: There's a reason why most attorney's offices are like little legal libraries, why there's been an electronic legal library reference service since at least the 80s, and why they tend to specialize in a particular area of law. The complexity of law in this country is just ridiculous even if you only consider legislative law and ignore the 1000s(millions) of items of case law. (Fortunately RFCs aren't nearly as bad as law yet...)
The answer to this question is necessary to formulate a response. Because there are Statutes, Court Decisions of varying precedential values, procedures, rules, regulations, customs, practices, restatements arguments, interpretations and more.
Each of these is potentially the basis of a government action, by an officer, by a judge, by a bureaucrat, which will indelibly affect your life.
And, all of these are constantly changing in form and power.
The closest things yet are westlaw and lexis, which try hard to be comprehensive collections of everything written down, although even they lack local rules in a lot of cases.
And, at the end of the day, at 4:55 the day a filing is due, you can walk in to the clerk, perfectly by the book prepared documents in hand, and she can say "these aren't right," and buddy, that's the law!
I'm not sure if this would help you in anyway.
http://www.ted.com/talks/hans_rosling_reveals_new_insights_on_poverty.html
Yes you cocksucker it's called STD lol.
Seek! Locate! TERMINATE!
See www.jureeka.org.
Yeah, I recently got elected to my condo board, which means that out of curiosity or a misplaced sense of responsibility I sometimes go looking for something in the NYC code.
It isn't all online, and the parts that are seem to mostly have been repealed. I think that's probably because those parts aren't changing any more so they are the easiest to post.
It's a freaking mess, but making sense of it provides jobs for a lot of lawyers and legal publishers.