Legal Code In a Version Control System?
coldmist writes "Sen. Thomas Carper (D-Del.) is on the Senate Finance Committee, which just finished work on the health care bill. The committee recently rejected an amendment which would have required them to post the legislation for public viewing for 72 hours before it went to final vote. Several senators felt that the actual legal code would be too cryptic and complicated to be useful. Carper himself said, 'I don't expect to actually read the legislative language because reading the legislative language is among the more confusing things I've ever read in my life.' So, why don't they put it in SVN (or some similar version control system) where people can tkdiff the changes (i.e. new legislation is in a branch) or output a patchset? If a bill is passed, it's merged into the trunk. It just seems so logical to me, yet I can't find any mention of doing this on the web. What do you think?"
The idea is fine and good, but the system probably runs too far behind everything else to take this up for some years to come.
Religion is regarded by the common people as true, by the wise as false, and by rulers as useful.
CHANGE THE LAW. Keeping the bible in Latin worked only for the priests and keeping the law in legal speak is working only for the lawyers.
If you can't convince them, confuse them. -- Harry Truman
Cue Jefferson Mark 3 Constitution (a.k.a. "utopia in two megabytes")...
The people who are in control of passing and managing such legal documents are probably not aware of version control systems; much less on how to even use them. Even if they were told of such a system, they'd probably need to be brow-beaten into trying it out or adopting it before it would actually become used in the real world environment (hint: maybe we need to drown them in suggestion letters?). Think of how hard it is to even get a Windows user to check out Linux or Mac. It'd probably be much harder introducing new technology to some 60+yo senators. On a side note, maybe someone on slashdot could setup a site called Law-Hub, like git-hub but for legal documents? Hopefully you won't get sued from some asinine reason like copyright infringement ><
Anyone willing to bet that most of them haven't even read the freaking bill either? Certainly sounds like Carper isn't reading them!
perhaps it's time to rethink Gary G. Niger's proposal that a law is only valid if and only if a mathematician can understand and prove that it's non-contradictionary.
I think this would help a lot.
Generally, if you want to learn the content of a bill, you can read the plain language version that's passed out of committee. That's the version that matters, that's the version that the members of Congress read, and that's the version that's controlling. The version of the bill that's translated is the legislation that is passed on. If that does not match up with the intent from the committee, then it is corrected to match the plain language version.
And as for whether some sort of tkdiff makes sense, maybe it does, but really for only a select few people who actually are writing and or editing the bills. Of course, if there was something free and open to the public, that wouldn't be a bad thing either. But generally, there's just not a whole lot of demand.
I have built a version controlled document management system around mercurial for my wife's architectural practice. I have found it very difficult to convince users to follow the conventions we use for software. They are too used to putting version and project information in file names. It means nothing for them to rename a file from a.dxf to a_new.dxf and commit it.
The formal structure of software tends to keep this behaviour in check. The environment we are talking about here may be formal and controlled enough for this to work, but it is going to take training and enforcement to get it to work.
http://michaelsmith.id.au
... and people who use them to wage legal wars.
Easy to understand laws are bane of them. Future without precedent digging nightmare.
So many high paying jobs lost, so many ordinary people being able to sleep well ... not good.
-- Technology for the sake of technology is as pathetic as eschewing technology because it's technology.
Google Wave ?
Sig (appended to the end of comments you post, 120 chars)
It is surely Mediawiki and other wiki's that are designed for this task ? Code revision systems are by their very nature designed for code not text.
In a perfect world, where politicians and citizens wouldn't be digitally illiterate, a VCS woud be ideal.
Git could be used, in the sense of direct democracy and participation: anybody could propose changes, let them be voted and propagated up the hierarchy, and get them approved as the official laws of the state. Laws would even carry the full history of amendments (commits) and the names of the people who actually wrote them. /me dreams
As PJ (over at Groklaw) likes to say, law is squishy.
Source code and law look a lot alike, but we have to remember that law is squishy.
We also should remember that lawyers are often seeking for an advantage for their clients (or constituents). This seeking for advantage runs counter to the work patterns of many of us who deal with free/open source stuff, but it is quite common in the legal world.
It would be a great tool for legislators who want the law to make sense, but such are too rare. The others would quickly find ways to pervert the tools.
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
The complexities take power away from judges, I suppose, but then they put the power in the hands of the lawyers, who have to interpret the laws for the judges.
I prefer keeping the law simple and being able to recall judges who get out of control.
Injustices are going to happen anyway, the only way to deal with that is to learn rudimentary social skills, so you can get others to help you correct them. (Or am I being unreasonably idealistic in asking that?)
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
I don't get your point. Confusing legal language does not get more usefull or logical when you put them in SVN. Of cource: SVN - or probably another solution better suited for the task - could help to track changes over time - but this not the problem of the health care reform bills, is it?
One big problem is that the content would need to be in a consistent format that minimizes the size of diffs, or it will blowup immediately. Line breaks, indentation, page breaks, and other artifacts of formatting need to be ignored to make it intelligible. I'm not aware of any version control system that does this. Is anyone else?
Legal code these days is the equivalent of assembly language, it's complicated but it describes on a low-level what has to be done. While it's fine and dandy, the problem these days is that too much code is produced. Hence I propose that we make a GCC-Legalese or LLVM-Legalese fork so that we can -Os legislation. Better yet, we could simply write law in a higher level language, intent, and the compiler's intent preprocessor would turn that into faithful lower level code.
I also propose that we start forking Valgrind as to automatically find legal loopholes, conflicts and grey areas before a law is passed. Finally I think we should rewrite common law in Objective-Law++ so we can benefit from the many advantages offered by objection-oriented law over procedural law. Any thoughts on Convict Collection?
You just got troll'd!
A few thousand people in the whole world can really understand the source code of the linux kernel. Why would Linus make it so complicated? Is this "openness" just another prank? No, some things are complex. To make laws is a highly complex issue, Of course, there are many problems with the processes of law making - but just simplyfying the language would not do any good.
when swiss citizens vote if they want to change a law or not (switzerland has a direct democracy) they get a brochure with a summary of the proposal, questions and answers of both sides (yes because.. no don't, because..) a diff of what (raw) legal text would be added/deleted/exchanged to which law and a recommendation of the parliament and the government representatives. the recommendation sucks because it clearly biases people that don't have a clue and just want to have it done in 5 minutes. and the diffs are usually ignored by most people because it's raw undigestible legal text. not perfect but clearly the way to go..
1. There's an enormous amount of existing code. Look at how much Slashdot talks about COBOL, which is around 50 years old. In common law countries (eg Britain, the USA and Australia), the law has code nearly a millennium old, written in a variety of languages.
2. Corner cases. There are lots of these. Much like software, they are usually discovered in "maintenance mode"; ie after the law is passed. As time goes on, legal draftsmen begin to include lots of standard boilerplate, which will only rarely actually be applied.
3. Legal draftsmen. Never heard of these? Who do you think actually sits down and writes the law? It's not the politicians. They give drafting instructions, which are translated into legalese.
Expecting politicians to read and comprehend legalese is a bit like expecting businessmen to read and comprehend assembler. It will never, ever happen. The idea of "plain english" law is a lot like "automatic programming". A total pipedream that will never happen.
The law is a semi-structured language. You can think of it as a distributed rule system created by a mix of engineered modules (Acts of Congress / Parliament) and reverse engineering.
The reverse engineered parts are case law. Lawyers feed in black-box test cases, then carefully record what the CPU (the judges) output. Over time they map out what the law "is". The reason legalese repeats the same phrases over and over again is because they have been proved, in court, to have specific and reliable semantics. "It ain't broke", so to speak.
I personally think there's enormous scope for borrowing software engineering practice and tools for legal drafting, but it's no panacea. I even used to think that we could treat legalese as a kind of assembler and develop a higher level language that "compiles down" to it. But it doesn't solve the problem, just moves it around.
Laws are flawed and problematic because they deal with humans. Humans who are complex and motivated and intelligent. No purely rule-based system will ever completely tame human ingenuity, just as no code will ever fully describe all subject domains.
Disclaimer: I used to be a law student, until I came to my senses.
Classical Liberalism: All your base are belong to you.
It depends on what is contained in the version control system. I agree that diffing the output would be bad, as would if the source format was something like MS Word. If the source was something like Tex or Latex then the differences would be quite sensible and easy to understand.
+1 Demand. I am not a lawyer.
-IOVAR Web Dev Platform
This "legal versus conceptual language" business is a problem which technology could certainly help solve. I think there have already been zillions spent on "legislation tracking systems" for congress ... probably by mainframe types.
Half the readers on this list munge (hyper)text for a living, and could probably improve the pror solutions a ton.
But before we decide what mechanism should be used, we need to understand what the problem is. I've appended a totally random sample of an enacted bill (ie, one that was signed by the Prez). This is what "legal language" actually looks like...
H.R.4685 One Hundred Seventh Congress of the United States of America AT THE SECOND SESSION Begun and held at the City of Washington on Wednesday, the twenty-third day of January, two thousand and two
An Act To amend title 31, United States Code, to expand the types of Federal agencies that are required to prepare audited financial statements.
Be it enacted by the Senate and House of Representatives of the United States of America in Congress assembled,
SECTION 1. SHORT TITLE. This Act may be cited as the `Accountability of Tax Dollars Act of 2002'.
SEC. 2. AMENDMENTS RELATING TO AUDITING REQUIREMENT FOR FEDERAL AGENCY FINANCIAL STATEMENTS.
(a) IN GENERAL- Section 3515 of title 31, United States Code, is amended--
(1) in subsection (a)-- (A) by striking `Not later' and inserting `(1) Except as provided in subsection (e), not later'; (B) by striking `each executive agency identified in section 901(b) of this title' and inserting `each covered executive agency'; and (C) by striking `1997' and inserting `2003'; (2) in subsection (b) by striking `an executive agency' and inserting `a covered executive agency'; (3) in subsections (c) and (d) by striking `executive agencies' each place it appears and inserting `covered executive agencies'; and
(4) by adding at the end the following:
(e)(1) The Director of the Office of Management and Budget may exempt a covered executive agency, except an agency described in section 901(b), from the requirements of this section with respect to a fiscal year if--
(A) the total amount of budget authority available to the agency for the fiscal year does not exceed $25,000,000; and
etc
PS We should insist on a cap on the length (in characters) of the US Code. No new laws unless you rescind an old one.
Could you please give a reference to this information. I would like to be able to use this to explain why there are so many quotes about "not reading the bill" going around lately. However, just saying. "Someone on Slashdot who calls themselves 'Trickster' said it." is not going to cut it.
Thanks
You are forgetting that they don't want you to be able to read bills before they pass them. If they can pass a lot of bills vary fast, it is harder for normal people to find the time to read all the bills. If you don't have the time to read all the bills, you may skip the bill that they are hiding in the mud of crap.
In Italy we already have such a system, with a diff between tha actual law and the proposed changes. I don't know if it's publically accessible.
So if he won't read the legislation, and says he can't understand it, why the fuck is he on any committee that is tasked with looking at specific pieces of legislation?
It would be sad, if it was not such an obscene state of affairs. Yet, it is a general indication of the state of politics and how it is trending. The election of George W. Bush, based on the persona he projects, was a clear indication that there are more and more people who are proud to be stupid. I'm not sure if the US leads the way in chasing ignorance, or just has a higher profile in doing so. I do know that, while entertaining to watch, this glorification of fucktardery made me shake my head when Forrest Gump was released. At least there, the stupid guy is good.
As to applying software development and maintenance techniques to legislation? Interesting idea. And the guy is talking bollocks when he says it is pointless to make legislation generally available for review.
Slashdot proves that concerned members of the public can read this stuff. We've got New York County Lawyer. So, yes, the set of people who can comment may be very restricted outside the legal profession. Yet, people like NYCL can give an interpretation of the legislation, sort of reverse-engineering it to whatever talking points the politicians fed to their highly-paid legalese generators. They can then point at the specific bits of the legislation, and you can judge for yourself if they match the analysis. Well, if you've not been indoctrinated to vegetate in front of Glenn Beck et al.
As long as you know where these volunteer legal analysts actually stand on issues, this would very valuable. They help tease out parts of the proposed laws that have obviously been fed into the process by lobbying groups who do not have the public's general welfare at heart.
Apart from the obvious implication that an elected official thinks, "the public who elected me are too stupid for me to make any effort to keep them informed of what I'm doing. It is a near-criminal offense to refuse to give people a chance to have their say on vital laws. In this case, the majority do want a public option, and in an ideal well-informed democracy those who do not would accept that.
As with all things political, and in a huge number of other areas, you should always follow Deep Throat's advice to Bob Woodward. Follow the money.
Where's the Kaboom?
There's supposed to be an Earth-shattering Kaboom.
Maybe we should switch to more distributed (federalized? :) ) system? Like, allow states to branch laws in their private repositories?
I once even spend an insane amount of time trying to explain to a fellow lawyer why adapting software practices for lawmaking will be interesting, but he seemed unable to understand.
I then abandoned the issue altogether, but would be lucky to join anyone who is bold enough to impose such a system on lawmakers.
This is a problem I have understood for quite some time. The 'management' wants dark age technology, and will resist change; this is clear.
What I do not understand, is where are the lobbyists for the larger document management companies, (Documentum, Hummingbird, Filenet, or any others, and no I'm not endorsing here). Why is this space so quiet from those seemingly interested in Profit$?
The only explanation I can think of, well, assumption actually, is the congress doesn't want to pick say IBM (for example) to manage The Bills while having to say No to all others. I can imagine the competitive bid process for That Contract.
A few years ago, there was a bill that got passed late at night, at the very end of a session of congress. Some joker stuck in some weird provision that everyone objected to, and it got written into law because no one had time to 'look'. Version control would have clearly highlighted such a sneaky move, in time. In fact the first order of business of the new congress was to change that particular aspect of that law. Kudos to whoever can provide more precise details than me.
More importantly, what they need is to use a formal definition of the law, coupled with a system that can check and prove there is no inconsistency within it.
It would also make law trivial to apply, since the system can simply deduce what applies in the given situations, which means we wouldn't need lawyers anymore, and the role of judges would be greatly reduced and simplified.
More than a version control system, I think that the law needs a bug management system that people can use to put bugs in regarding language that's too open, phrases that allow "security flaws" and other interpretations that were not what the authors intended, etc.
I've actually asked that question myself - whether some sort of version control system could be very useful in handling and understanding the making of and changes to the law.
Unfortunately, expecting to get such a process actually adopted is probably unrealistic at the present time - there are FAR too many people and interests who would object to the transparency implied by being able to track changes to laws (although they would doubtless find some other way to justify it - say by claiming it would raise the costs of the lawmaking process to unreasonable levels and slow down emergency bills which would Harm The Children In Need, etc...)
My suggestion on how to approach such a system is as follows: Begin with the available online resources (thomas.loc.gov, Carl Malamud's work at http://public.resource.org/, etc.) and start a non-profit, wikipedia style effort to import existing and historical legislation (and whatever other material may be relevant) into a version control system. It would be an EXCELLENT project for students of political history - perhaps some university departments could be persuaded to get behind it. Initial import would be quite difficult in that change sets and ordering probably couldn't start "from the beginning", so some sort of preliminary work might have to be done in either a specialized or new type of VCS. Such a project would help shake out what is needed for such a system and how to make it robust.
Once a system is up that can display historical changes in legislation and has as its contents the history of such legislation, begin to use it and continually update it with new legislation as it appears. If the utility of the system is demonstrated (as it probably would be by media and interest groups using it to decode the process) you might begin to compel the actual legislative process to look at using it.
But in the meantime it would help the public understand the end results and the history of its development, which is already a massively worthwhile goal.
"I object to doing things that computers can do." -- Olin Shivers, lispers.org
Someone will understand the law and be willing to explain it. Someone else will be able to produce diffs. Maybe some people are altruistic enough to provide this for free.
Where's the problem in publishing? Nothing to be gained in not publishing.
"Carper himself said, 'I don't expect to actually read the legislative language because reading the legislative language is among the more confusing things I've ever read in my life.'
So, why don't they put it in SVN (or some similar version control system) where people can tkdiff the changes (i.e. new legislation is in a branch) or output a patchset? If a bill is passed, it's merged into the trunk. It just seems so logical to me, yet I can't find any mention of doing this on the web. What do you think?"
Because legislative language is designed to be so confusing that no one can read it and the various vested interests and pork-barrelers can sneak the various self-serving clauses get passed Senate. If they did what you want then people would know what their politicians really do, as distinct to saying. And then where would we be, government would grind to a hault. What are you some kind of commie-socialist-liberal.
Maybe like open source code they could offer an option for people to contribute (obviously I'd still want people to vote on it.) I can also imagine a side benefit, laws might be simplified since you'd see them and realize how ridiculous it'd be not to merge things.
and the comment system that was put in place for that discussion. I wonder if paring such a system with a version control system would be a very interesting way to manage reviewing diffs between versions of legislation. Apparently the code for the GPLv3 draft debate isn't maintained any more, but the discontinued project recommends: http://www.co-ment.net/ which looks interesting.
"I object to doing things that computers can do." -- Olin Shivers, lispers.org
Sounds to mean like how Cory Doctorow started committing his novel writings to an source control repository. That way, you can see how his novel develops as he writes it. A lot of information is lost about how authors write when they write on computers, because you are often only left with a final copy. When it was done on typewriter, or via pen and paper, there was often multiple hardcopy revisions historians and others could look back on to see what they were thinking while writing a book.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
You want to tkdiff a bunch of B.S.? I got one commit for you:
$ git commit -m "revolution"
:T:R:A:N:S:
In thinking it makes sense to logically track versions, one must assume the authors WANT the reader to understand what is written. Big assumption!
As a conservative I shouldn't be defending Carper, particularly when it comes to this crap called Health Care reform, but I can see his point on this issue.
Senators are deal makers. Actually deciding and negotiating how we will live versus organizing those rules are two entirely different jobs - representing, and lawyering. Representation is about power and deal making, and lawyering is really a technocratic function. Asking a Senator to actually organize their laws into the US code is really a lot like expecting a developer to organize everything into assembly by hand. Senators put down contracts on plain paper text, then, they hand it off to staffers whose job it is to organize the stuff into law. Sure, we could naively say that the senators should just pass the law as is, but, we would wind up with spaghetti law, a huge blob of laws that no one could follow because they were not organized. The law has to be organized to be useful, just like large computer program.
Now what would be useful would be a grammar system that did that job of taking the legislature's requirements, their "meta law", and have the computer compile that into the US Code. Actually, we'd probably just scrap the US Code or reverse engineer it into the new system, just so everything could be consistently organized. That way, you could enter a list of attributes for parties and a situation between them, and see what the law says, and you really wouldn't need a lawyer for much things any more.
This is my sig.
Sorry, but the law has to be inconsistent, otherwise, I doubt it could exist.
It just needs to be more organized. Consistency doesn't matter.
This is my sig.
"Plain language version"? "Corrected"? "Translated"? "Legislation that is passed on"? What on earth are you talking about? This is horrifyingly wrong. There is no "plain language version". Legislation is not "translated". Committees report a bill with specific language; though it may be amended later (generally on the floor, or in conference) there is no "correction".
And "The legislative language isn't that important"? That is so amazingly, completely, and gravely wrong that I have no idea where to start debunking it.
Yes, I AM a lawyer and I work on issues involving legislation every single day, so I fully expect I will get modded down. The perils of crowdsourcing.
Penny - plain text accounting
oops we've just overflowed to the execitive branch.
If that does not match up with the intent from the committee, then it is corrected to match the plain language version.
... err
Like in the case of the law that assigns 'the right to personal privacy' to corporations
CC.
TaijiQuan (Huang, 5 loosenings)
How a bill becomes law.
You see anything in here about "translated"? Or a "plain language version" being "controlling"?
Yikes, modded up to 5. Slashdot's mod system ends up being a place where the uninformed moderate up the uninformed on topics like this. Then again, maybe that's what happens all the time and I just don't know it!
Penny - plain text accounting
Generally, if you want to learn the content of a bill, you can read the plain language version that's passed out of committee.
I think you missed the bigger picture here. Not whether or not we can read the plain language version, but that our elected representatives in the government only read that version, and won't even let us see the final product until we have to obey it as the Law of the Land.
FTA: "The idea of reading the legislative language: It's just anyone who says that they can do that and actually get much out of it is trying to pull the wool over our eyes."
I see three problems here.
First - They do this as their fucking job. In this interview, Carper just admitted (and implicated pretty much all of his colleagues) to gross incompetence as regards the performance of their duties. Just - wow.
Second - They use a plain English version. He mentions forcing credit card companies to use plain English. Has it occurred to the honorable Senator Asshat(D) that, just possibly, they should force congress to use plain English for the final version? Or would that just make too much sense to tolerate?
Finally - These monkeys actually voted to deny the public the right to see this abomination, on the grounds that if they can't understand it, neither can we? Read a tech manual sometime (oh wait, they most likely couldn't). Phenomenally boring, yes. Often poorly written, even. But unlike politicians, I know when I've skimped and don't know the material, and I damned well take the necessary steps to correct that (ie, re-read it until I do "get" it). I find it insulting that they project their own massive inadequacy on the rest of us.
Then again, to pull the wool off the blind elephant in the room, we all know why they don't want the public seeing the "real" bill, and I only wish our country allowed lynching for betrayal of public trust by an elected toadie.
Whoops, should have previewed...
How a bill becomes law:
http://www.votesmart.org/resource_govt101_02.php
Penny - plain text accounting
I think it happens all the time. Even in dinky town meetings, what gets passed (which often looks like a bunch of context diffs) is the law; we may discuss it in terms of what it looks like with the diffs applied, and we may catch errors in the diffs and correct them before we vote, but what we vote on is the official thing. Sometimes we have to vote again, a few months later, to correct what are clearly clerical errors, and the clearly clerical errors, if they can easily be ignored in the interim, are ignored, but nobody pretends that they aren't law.
It does sometimes happen that the people in charge of enforcing the law, do not understand what is intended, or perhaps the law is not written clearly; at a recent public meeting the town planning and economic development manager professed not to know what the phrase "six or zero" meant for side setback, when it had been repeatedly described as intended to mean "a minimum of six feet, except that zero is also allowed" (which is perhaps how it ought to be phrased, but it was patched into one of those tables with a column titled "minimum"). The idea is that if buildings are not actually abutting, then the alley between them must be usefully wide enough to allow trash removal, etc.
if we go so far as to say that legalese is the way it is for logical reasons, implying syntactical consistency, and it can written using programming tools like version control, then why not go the next step and apply semantic analysis to it to weed out the contradictions and useless clauses.
After that a legalese compiler that accepts legalese and outputs common language would be the next step then everyone could understand the law. Oops, would that put lawyers out of business?
Another interesting possibility would be using titles instead of numbers to identify laws, i.e., "border controls" instead of "law 7441". This would also add the possibility to include wiki-style links in the texts. All of this would greatly simplify the interface for the casual user.
My first program:
Hell Segmentation fault
My understanding is that, in at least some respects, you're both right. The Senate Finance Committee DOES have a plain language version of the bill out first (the Chairman's mark is actually readable), and once members have offered amendments and debated the bill, it's then translated into legalese. (There was actually a dust up earlier where some jerkwad Republican Senator wanted to delay the process several weeks by making the committee wait for the legalese version to be scored by the Congressional Budget Office before voting, which no one had ever thought was a good idea before and no one will think is a good idea again). But the Senate Finance Committee is unique in this practice; most other committees in the Senate and the House just have a legalese version that no one can really decipher, which is just an abomination. Probably the first step to improving anything on this front is having all committees adopting the Senate Finance Committee's rules.
Oh, and yeah, "The legislative language isn't that important" - it's pretty darn important since it's what is actually put into law. When things go correctly, it's "not that important" since it is a direct reflection of the meaning of the plain language version. But that's only really 100% possible if you had a computer program without an agenda to precisely translate plain language to legalese, and we don't have such a program, so...
An amendment can be written as edits to an amendment, which is written as edits to a bill, which is written as edits to the U.S. Code.
They don't draft legislation. They patch it.
If the legislation is too complicated for people to understand (and therefore not worthy of being posted for public scrutiny), what is the probability that the average senator will understand it before he or she votes? And if so, on what basis will the senator vote? Will he or she vote based on his or her analysis of the content, or based on what he or she has heard from neighbors, party officials, friends, lobbyists, priest or rabbi, or who else? What is the probability that Sen. Thomas Carper himself has read it and understands it? Scary thought indeed...
Why not make the source itself a formal language? That way the idea of source code control for law would fall out naturally along with a better legal system.
From Example of Normalized English Input to NLESB:
Normalized English has been developed by Layman E. Allen and his colleagues; see for example, Layman E. Allen, ``Language, Law and Logic: Plain Legal Drafting for the Electronic Age,'' Computer Science and Law (Bryan Niblett ed.), 1980, pp. 75-100. Normalized language has been used in the Tennessee statutes (Tenn. Code Ann. sect. 33-6-104(a) (1991)).
An example of the form of Normalized English used as input to the NLESB system follows. Note that the formatting is for the sake of readability, and is not necessary for NLESB.
Subsection (a). IF AND ONLY IF
(1)(A) A person has threatened or attempted suicide or to inflict serious
bodily harm on himself, OR
(B) The person has threatened or attempted homicide or other violent
behavior, OR
(C) The person has placed others in reasonable fear of violent behavior
and serious physical harm to them, OR
(D) The person is unable to avoid severe impairment or injury from
specific risks, AND
(2) There is a substantial likelihood that such harm will occur,
THEN
(3) The person poses a "substantial likelihood of serious harm" for
purposes of subsection (b).
Subsection (b). IF AND ONLY IF
(1) A person is mentally ill, AND
(2) The person poses a substantial likelihood of serious harm because of
the mental illness, AND
(3) The person needs care, training, or treatment because of the mental
illness, AND
(4) All available less drastic alternatives to placement in a hospital or
treatment resource are unsuitable to meet the needs of the person,
THEN
(5) The person may be judicially committed to involuntary care and
treatment in a hospital or treatment resource.
Seastead this.
Does the legislative language create adequate specificity such that legal interpretation is clear? Does it provide adequate clarity that the "common man" should understand their rights and obligations under the law? Does the current framework create a government of, by, and for the people?
Do bills that legislators can't read before voting on create a solid legal foundation for future interpretation?
Something needs to be fixed.
In the real world, people use Microsoft Word change bars, instead of SVN and tkdiff. When people do everything right, they fulfill the same function. You can also run diff-like tools over word processing documents.
That's why the OP suggested subversion instead of CVS. The other laws are just like other files in the same repository. Then, the pending bill is a patch with one new file added and changes to the text of a while lot of other bills.
Seriously, though, it seems that a team of people could set up a repository that includes the other impacted bills and where the pending bill has been (manually) converted to such a patch file. It would be a rather effective use of staffer time and make it possible to visualize the pending bill. We have the CBO to estimate costs for legislators as a group. We need to create a "congressional version control office" to do the same for legislation.
And I think there's a lot of value to it, especially if you use a distributed VCS, like git or mercurial.
In fact, I've even set up a github project that tracks the US Code. I have a small Python script that retrieves the entirety of the code from uscode.house.gov and extracts and organizes the titles. There's a cron job that runs this process daily and commits any changes to the local repository, then pushes them to github. So you can use the github project to track the changes that are delivered into the final version of the law.
Where this gets really interesting, though, is if you use the DVCS in the process of crafting the law, not just to store it and track changes. The README file at the top directory of my github project describes some ideas. I have some more ideas about how the whole thing could be integrated with a sort of legislative social networking site, like github or launchpad, but with some important differences, and much more user-friendly. Here's the content of the README:
This repository contains the complete United States Code. Its purpose is to publish the federal code in a way that makes it easy for interested individuals to access both its content and its changes over time.
Another purpose for this repository is to explore some ideas around how to better facilitate the legislative process. Legislation comes in the form of bills which are essentially patches to the existing legal code. Many different versions of a patch may float around to be debated, discussed, amended, etc., before a final version is applied to the "trunk". The process is extremely similar to how developers manage software changes, particularly in the open source world.
I think it would be very cool if something like github were used to manage the actual law, all in the open and fully visible to everyone. I imagine the official code as sort of a master repository. Each legislator could fork this repository and hack on his own copy. Legislators could pull from one another as they massage the language to get it right. The House and Senate would each have their own forks, as would the committees. The president, too would have a fork of the official repository.
The legislative process would then be fully visible to anyone who cares to look. Congressman Blowhard commits a change to his code and pushes it to the public fork. Congressman Slick looks at it, likes it, pulls, commits a change and tells Blowhard about his change, etc. Eventually, the bill makes it to committee, and the committee may have several branches indicating the status of bills as they progress through the committee. Eventually, if the bill is voted for presentation to the House, it is pulled into the committee's "trunk".
If the House votes to approve the bill, then it's pulled to the House's trunk, available to be pulled by the Senate. The Senate can make its own modifications, and perhaps the result must pass through a House/Senate reconciliation committee, before being pushed to the "Passed" branch (or fork), with a message to the president.
Anyway, that's the idea. It may seem kind of silly, but if you've ever actually tried to track the progress of a bill through the existing web interfaces, it's horribly difficult, and there's a lot of information about the bill's movement through the process that simply isn't available. I think using revision management tools just might make the whole process both easier and more transparent.
And that's what I want to play with.
I fully recognize that many legislators may not WANT the sort of transparency that the system would facilitate, but I think that there are a crop of young reformers every year who would embrace it, and in another decade the "facebook generation" will start entering the legislative halls in a big way. It would take a long time to get something like this incorporated into the process, but the result would be a great improvement to our republic.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
I work (for a few different gigs) on interpreting laws (policy) into rule based systems, the resulting logic gets used to provide advice on arcane topics. I am not a lawyer (just work with em, don't worry I wash my hands regularly). Just a working stiff, yer logic chopped and rules wrangled, for a fee.
Many folks ere' on slasherdot flog the analogy with procedural code, yuss that sort of exists, but clouds the issue a bit cos it needs flow of control logic, which is irrelevant see...; instead jest think declarative stuff, yer basic natural language rule based documents and application...
we could:
express the rules in the laws using natural language (some mildly constrained version of English)
include decent definitions, examples and structure
be intended for normal folks to read and use; "normal" is overrated, but you catch my drift, the audience shoudl be anyone with a reasonable level of common sense and basic: Readin, Ritin and Rithmetic
be published prior to becoming law (draft plain English form)
the language could and should express laws in ways that can be tested and verified by logic choppers
the documents should be placed into version control and organized for retrieval and use and research (candidate solution, Hire Google, et-al)
The internet (thanks Tim, et-al), shines a stark and ghastly light on the multiply regurgitated texts that come out of the legal sausage factories. Publication online will shock people when they realize what the politicos have been doing, so expect changes; also expect this process to be publicly supported and privately resisted by the politicians and legal jaberrwocky merchants.
Politicians are now unnecessary anyway, classic buggy whip makers, they need to morph into something useful.
Their current role was needed when we could not all assemble and vote together because of distance, hence the need for a "representative".
The corrupt and self serving crooks that huddle in remote "legislatures" are not respresenting we the people, they are representing the highest bidders for their votes. The few decent ones we send are (a) lost in the crowd and thus ineffective (b) ephemeral, as they are fiscally ill-equipped to survive.
Could be Sarcasm:
Currently law is clearly not written to be understood, by anyone. Obscurity, obfuscation, the sheer volume of the texts, lousy cross referencing schemes, absent citations, absent change logs, these and many other methods are used to render the law as a write only document, inaccessible to those who must remain ignorant of what it really says (any member of the public). No one in software engineering would stand for this bullshit for even ten seconds.
The resulting sausage quality is insanely poor: with innumerable glaring errors, obvious conflicts, silly omissions, absent or unusable definitions, lack of examples, poor organization and formatting, no version history or change logs, etc...
There is no quality control, because no one takes any responsibility for the legal text, no feedback loop, no one ever gets fired for errors no matter how massive: Even the politicians that vote on it don't read this muck, so no one does.
The "technology mindset" of the people involved in drafting laws is mid 17th century, think quill pens and green eye-shades, they are boldy striding into the century of the fruitbat.
At the same time... there are many wealthy and self satisfied industries of people who's only "value" is to interpret (for a fee) the resulting legal sausages. This is, of course, not a situation the will want to change.
Sam Sixpack (aka jane doa) has been "edumacated" to believe themselves incapable of understanding the law, despite the fact Sam and Jane are(a) contributing members of society and thus more valuable than the dickheads that wrote the legal drivel (b) expected to be intelligent enough to comply with the stuff.
A semi serious suggestion:
Let's require a capability test: Before any "representative/crook" can vote on a bill
There is no god; get over it already! Never exchange a walk on part in the war, for a lead role in a cage.
If anything goes wrong, then stick to the Code. Aye, the Code.
http://www.statutelaw.gov.uk/
With annotations and revisions and everything. Not perfect, but a pretty good example of "how it ought to be done".
From HR 3200:
"Part A.--Section 1814(a) of the Social Security Act (42 U.S.C. 1395f(a)) is amended--
(A) in paragraph (1), by strikeing "period of 3 calendar years" and all that follows and inserting "period of 1 calendar year from which such services are furnished; and"; and
(B) by adding at the end the following new sentence: "In applying paragraph (1), the Secretary may specify exceptions to the 1 calendar year period specified in such paragraph."
The reason why these guys don't want to read the law is because they're reading a Diff; it takes additional work to dig up the original law and figure out what the diff actually means.
It's why there should be a legislative analyst (such as the one in California who interprets Initiatives for the voters) who can impartially summarize the actions the law will likely take, the potential costs or savings, and who can produce the original law with modifications, using strikeouts and italics to show where the changes take place.
And the output of that analyst should be made available to the public as well on forums such as Thomas.gov, so the lay public doesn't have to chase down the three or four dozen other laws (from Social Security to HIPAA) which laws such as the Health Care Reform Bill would touch.
The health care bill requires that insurance policies all be written in "plain language" and refers to government regulations that define what that means. It should live up to the same requirement for all legislation. All bills should be clear, published for public review, brief, focused on a single topic, etc., in other words like good modular code that is subjected to peer review.
Many will assert that issues like health care are very complex and require complex legislation. This is not true for several reasons.
1) The U.S. Constitution is only 4,400 words and less than 10 pages.
2) Complex law is bad law because it will be subject to arbritary interpretation like our tax code.
3) Congress should not even try to manage our lives or the executive branch at a level of detail that requires thousands of pages to define.
4) The current practice is used purposefully to hide special earmarks and other features that would never pass if exposed to public scrutinany.
Translation: The voters who elected us are not only too stupid to make their own personal financial and healthcare decisions independent of government, but they are also too stupid to understand the laws that we are enlightened enough to impose on them.
They need to get over themselves. A friend of mine from Romania became a new American citizen this year. I showed him a "pocket" copy of the Constitution I have, and we started talking about it. He said that the greatest thing about it is its simplicity. Anyone with a decent vocabulary can read the Constitution and understand its plain language, even if English is their second language, even though it's now more than 200 years old.
It was a law written to be understood by the people. When the law is no longer simple enough to be understood by those who live under it, it becomes a weapon of tyranny.
And these politicians want to tell us that we are too stupid to understand how our own government works. They tell us this because if we believe it, they have power over us.
Good judgment comes from experience.
Experience comes from bad judgment.
It would never work, the legislators would be too afraid of the "blame" function.
Entire contents copyright (c) 2009 by the United States government. Any republication without the express written consent of Congress is prohibited. Language of the finished bill will vary from the contents of the repository. May not include late earmarks for taxpayer-funded projects in the districts of Senators and Congressmen deemed to represent important floor votes. Budgetary figures may be estimates to be used as guidelines. The President of the United States may attach "signing statements" that materially affect enforcement. Actual results will be worse than forecast. Some provisions may be ruled unconstitutional by Federal courts. Neither CollabNet, Inc, the United States Congress, the executive branch of the United States Government, or the organization hosting the web site are responsible for errors or service outages. Consult with your local Congressman or Senator for details.
r1.3 added "actual results" disclaimer
I'm not aware of any version control system that does this. Is anyone else?
Huh? You're not aware of any version control systems at all? Strictly speaking it is the particular diff tool rather than the VCS that matters in this case, but every diff tool I've ever worked with has options specific to suppressing exactly the kind of trivial differences you've inexplicably cited as a "big problem."
Blasphemy is a human right. Blasphemophobia kills.
This has bee experimented with, in Australia (see, for example, the Social Security Acts). It has failed fairly badly.
The problem is that the whole purpose of rules is to establish things at a level of generality and abstraction, with courts left to interpret how that general rule is to apply to an individual situation.
Once you start trying to write out in detail every possible occurrence that might be raised with what an area of law is dealing with, it becomes huge. The social security legislation in Australia was written to be 'plain English' and it largely is, but it's so damn large - it's out to 3,000 pages long about - and so many sections are cross-linked, need to be read with definitions, and you need to read just so damn many sections to get an idea of the scheme of things, it becomes justs as obtuse as any concise legalese.
Judges have commented on this strongly: plain English doesn't make things easier for laypeople. It just moves the problem, being that law has to cater for so many situations and with human issues with no clear issues, that it's hard and can be complex.
I've seen self-represented litigants in social securities tribunals grappling with plain English statutes just as much, if not more, than any old statute from the 1903 onwards.
Putting bills into version control would make sense - if one wanted people to be able to check the contents. In fact, most bills contain numerous special-interest amendments that are intended to sail through without any undue notice. If the legislators themselves are neither willing nor able to read the legislation they pass - let's just say that this is a giant clue as to the state of our governmental system. In fact, changes are generally made to a bill up until a few hours before the vote, meaning that - even if they wanted to - legislators could not possibly be aware of the exact contents.
The best thing Congress could do to remedy the situation would be to require the text of any bill to be finalized and made available to the public two weeks before it is voted on.
Enjoy life! This is not a dress rehearsal.
http://www.opensourcecountry.org
A website for creating legislation using git as the version control system. Currently very Alpha, just a forum working at the moment, doing the initial git development work now.
The problem is they're *all* "shitty bums." So it rarely matters what you do in the voting booth.
The root problem with our voting system is that it is specifically designed, both at the citizen level, and at the legislator level, so that any two uninformed individuals (of which we have a vast surplus) can outvote any informed person (of which we have a severe shortage.) Consequently, our system is degenerating at a steady pace, our liberties evaporating, our privacy eroding, our founding ideals moldering.
There is a (ridiculous) mindset out there that says that reasonably qualifying individuals to vote is "prejudicial"; these loonies imagine that it is racist or otherwise unfairly disenfranchising. However, the only people it disenfranchises are people who fail to become informed on the issues they're voting for. Obviously handing over this responsibility to a representative was supposed to solve the "uninformed" problem, but also obviously, it doesn't.
Watching the country implode upon its own founding precepts has become the national spectator sport. The chief betting issue being only whether the next blow to the country will come from the legislature, the courts, or the executive.
I've fallen off your lawn, and I can't get up.
Hence the idea of using a version control system, to be able to read side-by-side the law before and after the bill.
This allows you to look at the diffs after they become law, not before, but it demonstrates the idea.
http://github.com/divegeek/uscode
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
I think that each legislative bill should be required to be approved by a committe of high school english teachers. They should verify that it is clear, understandable and plainly written.
There's an enormous amount of existing code. Look at how much Slashdot talks about COBOL, which is around 50 years old. In common law countries (eg Britain, the USA and Australia), the law has code nearly a millennium old, written in a variety of languages.
Fortunately we're talking about a much smaller problem.
We're not talking about putting THE LAW into a revision control system. We're talking about putting THE STATUTES and PENDING LEGISLATION into a revision control sysetm. This excludes common law, administrative law, judicial interpretation and precedent, judicial striking of law for constitutional issues, judicial district differences in precedent, enforcement priorities, and a host of other things.
The constitution, the statutes, and their proposed revisions are exceedingly well structured for a computer-code-style revision tracking system.
Later such a system might be augmented to track things like judicial precedent, law review articles, history of enforcement, and the like in much the same way that current sysems can (or should B-) ) track documentation and its connection to code.
But the immediate target is eliminating the "too complex to understand so I didn't bother to read it" excuse that the legislators are using to pull con games on their opposition and the public.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
Why not make the source itself a formal language?
It already IS a formal language: American English Leagalese.
This language started out as essentially the language as spoken at the time the early laws were written, then various words had their meanings defined, clarified, and frozen by court decisions. Further laws, contracts, and legal arguments and decisions used these words whose meanings were clarified in preference to other words that had not been so clarified. Meanwhile, in the absense of public education in the law for people who weren't making a carreer in the legal system, the spoken language drifted away.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
Put the entire USC, regulations and pending legislation into SVC? Or better yet, an expert system.
Its been done. But there are (highly profitable) industries who provide consulting or advisory services based on this sort of knowledge base. But this on a free web page and millions (billions?) of dollars in profits vanish in a puff of open source smoke.
If you want this sort of access, you can buy it. Well, maybe not you, unless you are quite wealthy.
Have gnu, will travel.
This sort of revision tracking can be added on later.
Initially it MUST be added on, by porting the current laws and the legislative history to a revision tracking system. Later legislation can be entered and connected as the bills are submitted, amended, voted on, passed or rejected, sent to conference, signed or vetoed, etc.
There is ALREADY a government office that is MANDATED by congress to do EXACTLY THIS - making legislation in progress electronically accessible and searchable: It's the Library of Congress, with its Thomas project. They started it as a solution to a publication problem. But it's been improving and evolving toward a revision tracking system.
IMHO what is really being asked for here is a system more explicitly organized AS a revision-tracking system (with a public read-only interface), with the useful code-clarifying tools that have been developed for software ported over to the legal code. And to make this available to the legislators while mandating that they (i.e. the staff) use it for the new stuff in their day-to-day operation.
And it seems to me that the logical audience for such a suggestion is not the Slashdot community (though perhaps discussing it here is useful for getting the proposal together and mobilizing a mob to lobby for it B-) ). Instead the right audience is:
- first the Thomas group in the Library of Congress, asking them to incorporate more computer-code revision-control insights to improve their (already very nice) system's functionality (with an eye to also making it useful to congressional staffers),
- then congresscritters' staff (to get them to use it to help THEIR work),
- then the congressional printing office (to get the congressional record more integrated with it),
- then finally the congresscritters themselves (to get them to make it the official way to do their INTERNAL publications).
= = = =
A possible downside to applying revision tracking to legislation is McClary's Third Law: "Code complexity expands to saturate the available code management tools." - derived from Mark Miller's observaton during the Xanadu project that "The complexity of a database is limited by the number of colors of magic marker available for making the whiteboard diagrams."
Think your laws are complicated NOW? Just wait.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
And to nerdy, which means that it will never get passed because there is certainly some old and obsolete law that says that such methods are unreliable or unsafe and can't be used because it's a threat to democracy, the state or the head of state.
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
Remember that many politicos are old and are just getting the hang of email and other electronic media. There is still a huge amount of faxing going on. The idea of posting documents electronically is one thing, the idea of providing deltas, versions and even configuration control is something else entirely.
I hate being bipolar; it's awesome!
http://politics.slashdot.org/comments.pl?sid=179029&cid=14838389
Supposedly Congress does have a revision control system. But nobody uses it. Seems like it would be easy to put it online, which would tie in with Obama's transparency pledge.
We already went through this: http://politics.slashdot.org/politics/07/03/06/231232.shtml
First, making versions of the code available to the public is obviously a step towards better accountability in government. By itself it won't come close to fixing the problem but it would be a step in the right direction. There is no good reason why laws should not be made comprehensible before passage. Ignorance of the law is, after all, inexcusable in court; why should our legislators expect to be less accountable?
Second. I thought it important to point out that what legislators pass is called statutory law and is the statute, but what the citizenry and courts are required to abide by is the code of federal regulations which is written entirely by the executive branch after the legislation becomes law. The "Code of Federal Regulations" is another area where technology might be of use in making certain that the practical results of legislation better match the idealistic rhetoric that preceeds passage.
If we the people could actually see the laws that were being passed we'd hue and cry at the rampant abuse, and our legislators wouldn't be able to snuggle up to the piles of campaign cash they get from special interests.
Sorry, but cockroaches don't like sunshine.
Then progressives are idiots for expecting the hospital to eat it.
Of course they add the cost to the bills of others who use the service.
I wouldn't put the UK up as a success story if I was you.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Putting the laws in some sort of source/version control will not help as much as having dedicated testers that can take the specification of the law (the bill being proposed) and find the loopholes BEFORE the bill is implemented (becomes law.) And no, lawyers and judges don't fulfill those roles, at least not as I'd like to see them filled. Judges don't get to try out test cases before the law is passed; in fact, they only get to consider those cases once a "customer" has already found a bug.
Here in the UK, you can look forward to the FreeLegalWeb: http://freelegalweb.org/
The idea is to collate all law stuff, like case law and statute law, and put it in one place, using the most innovative of technologies, the hyperlink (which the government is slowly getting more comfortable with). This will help with understanding law. Speaking of diffs on bills, I believe there is another project working to that end, but I forget its name.
If any one cares, this idea is one of the key things that Ted Nelson (you know, the guy who invented the word "hypertext"), wanted from his Xanadu system. He was really interested in tools to assist in inter-comparison of multiple versions of text. In fact, he apparently wanted tools that are a little more complex than the usual version control front-end, for example, he liked the idea of letting a writer organize some thoughts in three different ways, then pick which version seems best without risking losing an important point in one of the other versions.
But yeah, it would seem to be a rather useful public service for someone to take the publicly available info about pending legislation, and just load it all into a mediawiki site, or some such, so that people can easily browse through the history of the changes. Just to pick an example at random, there are four versions of this bill in the THOMAS database: H.R.3221, and that page provides links to all of the versions, without any obvious way of comparing them.
By the way, there's an awful lot of interesting stuff out there apparently dying in committee, just waiting for some bright young political blogger to pick up on them:
S.J.RES.4:
S.48
Oh, dear: I'm very aware of source control systems. "The particular diff tool" should, in my opinion, be considered a part of the source control suite: it's built into the various 'diff' commands built into the source control suite. And even GNU diff's reasonable handling of whitespace was not well incorporated into systems like Subversion until quite recently. (I recently had to spend way too much time with a 1.1.x installation for RHEL 4, with an engineering acquaintance who refuses to upgrade anything "unless he has to".)
The bill obviously is a diff on the existing body of law. I don't know how it is produced in the US, but one way of producing it - showcased in some research projects in the EU - is by simply editing the existing body of law stored on a version management system and then have the editor generate the act from a generic template for bills, a set of sentence models, and the diff. Nobody has to read it, since the result of applying the act is already known. The legislator's approach to this is very much like version management in software development, except that 1) the codebase is centuries old, 2) thousands of people work on it, generally without deep knowledge of what other committees are doing, causing occasional confluence between amendments, 3) hundreds of millions are affected by it, and 4) most of the people involved don't have the mindset of a programmer.
To laymen who don't know what the existing body of law looks like, neither the bill (lacks context) nor the set of amended documents (too much) are very useful. You need to understand the situation being changed to form an educated opinion on the change. A tkdiff is worse than a bill. At least the legal system tries to pretend it is natural language.
It is certainly arrogant to believe that nobody understands them (I do, since I have read dozens of them, and worked on software to generate them) but it is equally arrogant to believe that SVN is better. It is not. SVN fails to make fundamental distinctions that legal amendment procedures do make. Programmers could benefit from copying best practices from amendment manuals and understanding for instance the bibliographic distinction between item, manifestation, expression, and work level changes to a text (look up MetaLex XML).
Glad to see optimism has not yet died out. You must have missed the part where the Senator was no intention of actually reading what they are going to vote upon. Mixing technology in will not help make the Laws any better or less confusing if the folks that are suppose to vote on these matters are not even bothering to read the documents.
I completely agree. The problem is twofold:
1) Laws are being written to target such a broad and deep scope of circumstances that understanding all of the ramifications, interactions with existing case law, and possible side-effects may be difficult or impossible for an individual
2) It greatly benefits politicians for the law to be difficult to be understand in such cases, usually because if people understood it they would have a problem with it
The only solution, of course, is for the law to not attempt to guarantee everything to everybody (something which goes against basic politics).
There are systems which version-control the drafting of legislation. See for example http://www.teratext.com/products/teratext-for-legislation.asp
I am working on this. ;)
The problem we have is that too much complicated, archaic language in legislation. Whatever happened to government of, by, and for the people? We should have an amendment that states that all legislation be in plain, modern English. That would get rid of half of the "lawyer" problem as well....
---- "Never underestimate the power of a small group of people to change the world. In fact it's the only way it ever has." - Margaret Mead
The author sounds like a programmer. Which explains why he used logic, reason, and lots of dev terms.
Of course, this is also the main problem.
All those things are anathema to politicians, especially when they realize it might actually increase the publics understanding of what the politicians are actually doing.
So even though slashdotters probably love the idea, the politicians will never implement it.
Without major changes (such as getting the libertarian or reform party into power) something like this will never happen. It's the mission of modern legislators to slip in pork-barrel spending, projects earmarked for their buddies and campaign contributors, and also increase reliance of the people on the government.
If they were required by law to post these bills prior to voting on a publicly-released draft, they just might be held accountable, and representatives' and senators' office and home telephones would be ringing constantly due to the outrage caused by reckless spending, tax increases, self-serving clauses, and so on - and they just might have to finally, you know, actually represent the people whom they were elected to represent because they just might be held accountable for once in their miserable lives.
Heck, it's possible even the current president doesn't read the bills; there were clauses requiring federal funding of abortions in the health care bills at the time Obama swore up and down there weren't any, so if it was simply a matter of not reading the bills because they are too complicated for him to understand (which I'd believe), it could be "plausible denyability" - he wasn't lying because he purposely didn't read the legislation. I believe he was lying to his teeth, but by not reading the bills, politicians from top to bottom have a (shitty) excuse to say "Oh, but I didn't know!" after the fact. Unfortunately, too many of us consider that an acceptable excuse nowadays. :(
I'm not saying that all politicians are so lazy, scummy and egotistic, but looking at the current state of affairs, it's obvious that the vast majority of them are.
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
It helps open up how and when a Bill is "changed", and by whom. It could easily allow for cost, logistics, companies affected, and employment analysis. It's a damn fine idea.
The law is far too complicated for mere mortals to understand. If we let you read it your head would explode.
Let's face it; politicians think in terms of social interaction and perception (deception). If they thought in terms of logic and reality they would be coders.
There are already a number of semi-automated legislation interpreters in the rule engine field, albeit like early OCR systems, but the application and testing of formal logic to new or amended acts cannot come soon enough! I can just imagine future proposals requiring successful test runs of existing and new test scenarios before voting proceeds.
Read the Bills