Legal Code In a Version Control System? 334
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?"
Too early yet (Score:3, Insightful)
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.
Re: (Score:3, Insightful)
Re: (Score:2)
The idea is fine and good, which is why it is unlikely to be implemented. After all, if you can filter changes and search by text, then how are you going to hide riders [wikipedia.org] in your bills.
You have the politicians you vote for, you know, at least in the part of the world with direct elections. I don't believe most politicians are evil or subversive, though some of course are.
But have you ever tried to convince your colleagues to do something a better way? It is not always easy (my current colleagues are of course *brilliant* and always a step ahead /waves/)
Re:Too early yet (Score:4, Insightful)
As long as people walk into the voting booth going, "I have no idea who to vote for. I'll just vote for the name I recognize," politicians will sit in office for year-after-year. I suspect this is how we end-up with these lousy politicians like Conyers, who never bother to read the bills, and who should be kicked-out. We should be encouraging people NOT to vote if they have absolutely no clue what they are doing. i.e. Don't vote just for the sake of voting.
This is what I did in the last election - I voted for my president, my senators/congressman, and then saw a whole bunch of names for lower-level people I never heard of. Rather than make a random guess, as many voters do, I just left that part of the ballot blank. Sometimes a non-vote is better than just putting the previous bum back into office.
You can't climb back up this slope (Score:4, Insightful)
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.
Re: (Score:2)
It's a fantastic idea, I'm too cynical/lazy/apathetic to push for it though. Hopefully someone else will though.
Re: (Score:3, Interesting)
I've worked on some large technical documents (several hundred pages) in this way. The document is built up from many smaller chunks which are stored in a version control system. Then to get the entire thing you need to 'build' it. It's actually a major pain in the ass because there simply aren't too many good ways to do this. Whenever anything breaks it's a pain in the ass for everyone.
When comparing this to an enterprise-level document management system, I don't see any advantages at present. The document
Re: (Score:2)
I've worked on some large technical documents (several hundred pages) in this way. The document is built up from many smaller chunks which are stored in a version control system. Then to get the entire thing you need to 'build' it. It's actually a major pain in the ass because there simply aren't too many good ways to do this. Whenever anything breaks it's a pain in the ass for everyone.
When comparing this to an enterprise-level document management system, I don't see any advantages at present. The document management systems can include version control and diffing with file-format specific implementations. You wouldn't want to do a binary diff on a word doc for example. It's also usually smarter for these kinds of tasks workflow wise. I'm sure everyone working on these bills have access to some kind of document management system. They're not just passing around USB keys and checking their gmail. The systems they're using are probably perfectly suited for what's being done.
Legal documents appears to be plain text, actually, perhaps with some simple headings.
I expect better systems to evolve but simply trying to drop something in CVS has a lot of hidden costs.
CVS? Are you pulling my tail? SVN is antiquated enough without mentioning CVS!
Re: (Score:3, Insightful)
Re:Too early yet (Score:4, Insightful)
Also when they do refer to the bill, they do so in a dishonest fashion. When our president said "Does not provide coverage for illegal residents," and some guy yelled "You lie", the congress persons and other media commentators immediately looked at the bill and said, "Right here - will not cover illegal immigrants."
Yes it does say that. What it did NOT say, which nobody realized until about a week later, is that patients were not required to show any ID. The bill as written allowed people to simply walk into a hospital and demand healthcare, whether they were american, illegal residents, or foreign tourists just dropping-in for a visit.
This bill just like the Patriot Act has a lot of loopholes and flaws, which will only be discovered later, after it's passed. And when the Congressperson says, "I didn't know that was in there," they should be immediately voted out.
Re:Too early yet (Score:4, Informative)
The bill as written allowed people to simply walk into a hospital and demand healthcare, whether they were american, illegal residents, or foreign tourists just dropping-in for a visit.
How is that different than the situation we have today?
Re:Too early yet (Score:5, Insightful)
How is that different than the situation we have today?
The taxpayer would get stuck with all of the unpaid hospital bills (right now the hospitals eat them or try to make up the cost on those who have credit and can pay). Right now you only pay if you visit the hospital, but if the taxpayer has to pick up the tab then everyone pays regularly, even healthy people who rarely need hospital services. As bad as the present situation is this only makes it worse. The grandparents are correct: this bill is dishonest and the Democrats are pushing it dishonestly...period. Why do the Democrats shy away from having a head on debate about socialism and socialized medicine? Shouldn't they be proud of their socialism? Why do they try to sneak it through the back door? If their true position is too weak to stand up to real debate then they deserve to fail.
Re: (Score:3, Insightful)
Re: (Score:3, Insightful)
>>>many hospitals are funded through their municipalities
Not where I live. All the hospitals are private businesses that rely upon having a positive cash flow to survive. One of them is owned by a church, which is strictly forbidden from receiving ANY taxpayer money (separation of church and state). The biggest hospitals in this region are owned by magacorporations. So when a poor person comes-in for emergency care, and can't pay the bill, the money comes out of the megacorp's pocket.
i.e. The u
Re: (Score:3, Informative)
This isn't the health bill, but here is an example of the crap that Congress comes up with. This is unacceptable. These people earn almost $200,000 a year and this is the best they can come up with? They don't want to read it because they would then be forced to fix it.
http://volokh.com/2009/09/23/recent-computer-crime-legislation-the-actual-text-so-you-can-read-it-yourself/
Text of H.R. 5938 [110th]: Former Vice President Protection Act of 2008
(a) In General- Section 1030 of title 18, United States Code, is amendedâ" (1) in subsection (a)(5)â"(A) by striking subparagraph (B); and(B) in subparagraph (A)â"(i) by striking â(A)(i) knowinglyâ(TM) and inserting â(A) knowinglyâ(TM);(ii) by redesignating clauses (ii) and (iii) as subparagraphs (B) and (C), respectively; and(iii) in subparagraph (C), as so redesignatedâ"(I) by inserting âand lossâ(TM) after âdamageâ(TM); and(II) by striking â; andâ(TM) and inserting a period;(2) in subsection (c)â"(A) in paragraph (2)(A), by striking â(a)(5)(A)(iii),â(TM);(B) in paragraph (3)(B), by striking â(a)(5)(A)(iii),â(TM); â(4)(A) except as provided in subparagraphs (E) and (F), a fine under this title, imprisonment for not more than 5 years, or both, in the case ofâ" â(i) an offense under subsection (a)(5)(B), which does not occur after a conviction for another offense under this section, if the offense caused (or, in the case of an attempted offense, would, if completed, have caused)â" â(I) loss to 1 or more persons during any 1-year period (and, for purposes of an investigation, prosecution, or other proceeding brought by the United States only, loss resulting from a related course of conduct affecting 1 or more other protected computers) aggregating at least $5,000 in value; â(II) the modification or impairment, or potential modification or impairment, of the medical examination, diagnosis, treatment, or care of 1 or more individuals;â(III) physical injury to any persons; â(IV) a threat to public health or safety;â(V) damage affecting a computer used by or for an entity of the United States Government in furtherance of the administration of justice, national defense, or national security; or â(VI) damage affecting 10 or more protected computers during any 1-year period; or â(ii) an attempt to commit an offense punishable under this subparagraph; â(B) except as provided in subparagraphs (E) and (F), a fine under this title, imprisonment for not more than 10 years, or both, in the case ofâ"â(i) an offense under subsection (a)(5)(A), which does not occur after a conviction for another offense under this section, if the offense caused (or, in the case of an attempted offense, would, if completed, have caused) a harm provided in subclauses (I) through (VI) of subparagraph (A)(i); or â(ii) an attempt to commit an offense punishable under this subparagraph; â(C) except as provided in subparagraphs (E) and (F), a fine under this title, imprisonment for not more than 20 years, or both, in the case ofâ" â(i) an offense or an attempt to commit an offense under subparagraphs (A) or (B) of subsection (a)(5) that occurs after a conviction for another offense under this section; or â(ii) an attempt to commit an offense punishable under this subparagraph; â(D) a fine under this title, imprisonment for not more than 10 years, or both, in the case ofâ" â(i) an offense or an attempt to commit an offense under subsection (a)(5)(C) that occurs after a conviction for another offense under this section; or â(ii) an attempt to commit an offense punishable under this subparagraph; â(E) if the offender attempts to cause or knowingly or recklessly causes serious bodily injury from conduct in violation of subsection (a)(5)(A), a fine under this title, imprisonment for not more than 20 years, or both; â(F) if the offender attempts to cause or knowingly or recklessly causes death from conduct in violation of subsection (a)(5)(A), a fine under this title, imprisonment for any term of years or for life, or both; or â(G) a fine under this title, imprisonment for not more than 1 year, or both, forâ"â(i) any other offense under subsection (a)(5); or â(ii) an attempt to commit an offense punishable under this subparagraph.â(TM); and (D) by striking paragraph (5); and (3) in subsection (g)â" (A) in the second sentence, by striking âin clauses (i), (ii), (iii), (iv), or (v) of subsection (a)(5)(B)â(TM) and inserting âin subclauses (I), (II), (III), (IV), or (V) of subsection (c)(4)(A)(i)â(TM); and (B) in the third sentence, by striking âsubsection (a)(5)(B)(i)â(TM) and inserting âsubsection (c)(4)(A)(i)(I)â(TM). (b) Conforming Changes- Section 2332b(g)(5)(B)(i) of title 18, United States Code, is amended by striking â1030(a)(5)(A)(i) resulting in damage as defined in 1030(a)(5)(B)(ii) through (v)â(TM) and inserting â1030(a)(5)(A) resulting in damage as defined in 1030(c)(4)(A)(i)(II) through (VI)â(TM).
If the legal code is too confusing (Score:5, Insightful)
Re:If the legal code is too confusing (Score:4, Interesting)
I would rather deal with complicated texts and have more power in the hands of the voters (theoretically) than which ever judge you happen to get. In small towns judges would have more power than anyone.
Re:If the legal code is too confusing (Score:5, Insightful)
So instead what winds up happening is the men and women voting for the law don't understand the law themselves.
It gets voted in and suddenly there's a bunch of consequences which they never envisioned because the law gets implemented more-or-less as written and if that's radically different to what was intended - tough.
This has already happened a few times in the UK with the Regulation of Investigatory Powers Act - local councils were given a bunch of snooping powers (which, we assume, were originally intended to help them weed out those who cheat council-administered benefits) are using them to track down the person who insists on putting paper in their glass recycling box.
Re: (Score:2)
That is an issue: Law makers habe to understand the decisions they are making. Of course not everybody has the knowledge to evaluate evry single consequence of every law, but the representatives have to keep the control.
Re: (Score:2)
Re: (Score:2, Insightful)
I would rather deal with complicated texts and have more power in the hands of the voters (theoretically) than which ever judge you happen to get. In small towns judges would have more power than anyone.
That only works if the laws are kept simple enough that voters can control them. But if they are so complicated that voters can't even understand them (or even read hundreds of pages of legalese every time a new law relevant to them is passed), it won't work.
Even representative democracy doesn't help here as most politicians don't read through all the laws they sign either. In the current system each politician may have hundreds or thousands of pages of text delivered to him daily (not only the legal text b
Re: (Score:2)
A politician having a moderate chance to understand a law he is passing is pretty bad I admit. But is using pure precedents and handing all the law making power over to judges better in any way? Just sounds like a way to make the courts more expensive (somehow amazing).
Re: (Score:3, Interesting)
We're not really talking about writing to cover various loopholes. We're talking about writing in plain English, instead of jargon such as "the party of the first part and the party of the second part, on the first day of the seventh month of the procedural year (as defined in section 2.13.2) will be required..."
They could just say, "Party 1 and party 2 on July 1 of 2013 will..."
Lawyers write in complex language because it's job security... you can't read the law yourself; you have to hire a lawyer to tran
You're an idealist. (Score:4, Insightful)
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?)
Re: (Score:2)
I think a direction we should proceed should be to codify and restructure law. At the m
Re: (Score:2, Interesting)
Yep, that must be right. Maybe in OZ, or Wonderland.
Too bad you couldn't have said that a few days earlier. I would have tried to nominate you for one of those Ig Nobel prizes.
Off w
Re: (Score:2, Informative)
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.
Sigh. Another round of religion-bashing.
Keeping the bible in Latin worked because 1) Latin was the language of literacy throughout Europe, much like English is the language of commerce and international communication today worldwide; 2) none of the peasants could read anyway; 3) back then, it took years of work to copy a book, preserving all the artwork by hand - you might as well made sure everyone could read it when you're done; 4) most of the languages weren't exactly ready for these kinds of translation
Re:If the legal code is too confusing (Score:5, Insightful)
Re:If the legal code is too confusing (Score:4, Insightful)
Re:If the legal code is too confusing (Score:5, Insightful)
Power to the People!
What? I'm serious. Better to put the power in the hands of the people, than a priest class, lawyer class, or some other oligarchy.
Re: (Score:3, Informative)
Methinks you doth protest too much. Surely keeping the bible in a language that only appointed priests could understand and have access to learning worked to the benefit of those priests and the people who had influence in appointing them (King, and Pope). The breaking up of this monopoly was a direct result of the invention of the printing press - which allowed plain English/German/Dutch/French translations to be mass produced for the first time. This caused blo
Life is complex (Score:4, Insightful)
Re:Life is complex (Score:5, Insightful)
You don't need to understand the linux kernel source to do some shopping in Konqueror. The kernel developers and GCC understand it perfectly, and that's what matters.
All of use are supposed to understand what the law says. Ignorance is not an excuse. But if Supreme Court judges can't even agree on what the law means, what hope is there for the rest of us?
Re: (Score:2)
Re: (Score:3, Insightful)
A very good point. And I hasten to point out that without a version control system, it would be virtually impossible for a large group to craft such a complex thing as the linux kernel. Now, since making laws is a collaborative exercise often resulting in highly complex legislation (like health care reform), then it stands to reason that the only way to achieve its goals without lots of "bugs" (ie unintended consequences, resource leak
Re: (Score:3, Insightful)
Your analogy is flawed. Asking lawyers to drop legalese is like asking programmers to drop programming languages.
Re: (Score:2)
Re: (Score:3, Insightful)
Look, I gave up a law degree to do computer science. But the fact is that if aliens abducted lawyers and programmers, the lawyers would be jauntily farewelled and the programmers forgotten.
But once the bank equipment stops being upgraded, people won't be saying "I wish we still had programmers". They'd be wishing they still had lawyers so they could work out how to get their money back without having to shoot people.
Re: (Score:2)
Re: (Score:2)
Re:If the legal code is too confusing (Score:4, Insightful)
If programming languages was written in plain words we wouldn't need programmers, but the secret order of computer programmers refuse to do it that way - simple programming is not possible they claim. What they really are afraid of is the fact that normal humans (non programmers) could just diff the text to look for bugs and even make their own software.
PS! A lot of the people here at slashdot.org are members of this secret order so they will probably mod me down and try to shut me up - BUT justice will prevail.
Re: (Score:2)
Disagree strongly — e.g. imagine clarifying how a robot mimics human gait.
CC.
Re:If the legal code is too confusing (Score:4, Informative)
If laws had the same nature of programming languages, we'd have robot lawyers by now.
Re: (Score:2)
That's very true.
Also, if we see laws as a bunch of code, I'm amazed there's zero maintenance done on them. We're still stuck with 200+ years old texts, whose language is so outdated as to be barely comprehensible.
Re:If the legal code is too confusing (Score:5, Informative)
I think you're missing the point.
Here [loc.gov] is an example of bill.
Go to section 3.
You will see that the bill is actually a diff on previous laws.
To read the law modified by this bill, you need to get the text of the laws referenced by this bill.
Hence the idea of using a version control system, to be able to read side-by-side the law before and after the bill.
Seems consistent with every issue (Score:5, Interesting)
Re: (Score:2)
Re: (Score:3, Insightful)
E.g. with "death panels"?
Yes, and about every other publicized issue in the U.S. over the last 10+ years.
It's the whole "it doesn't have to be right, just repeat it enough until it sounds plausible" mentality. When you have a population that is so easily manipulated, you end up with critical issues being decided based purely on which terminology gets the most publicity.
Re: (Score:3, Informative)
Death Panels are real. I don't know what the fuss is on this score. We have a Death Panel here in the UK, which with a complete lack of irony we call NICE. Insurance companies run Death Panels, which decide what they're willing to pay for. And of course, in more individualised health care systems, like Singapore's, the individual acts as their own Death Panel.
Death Panels are mandated by the simple fact that our resources are not limitless while the number of ways human bodies can fuck up more or less is. M
Re: (Score:3, Informative)
Australia 362
Canada 388
United Kingdom 434
United States of America 460
Out of the above four nations, the US has the most expensive health system on a per capita basis, and gets the lowest quality care in return. Conflating Stalin with health care over the last 40yrs has done
Re: (Score:2)
If you can't blind them with brilliance, baffle them with bullshit -- Unknown
Well, we knew it all along... (Score:2)
Anyone willing to bet that most of them haven't even read the freaking bill either? Certainly sounds like Carper isn't reading them!
Re:Well, we knew it all along... (Score:4, Interesting)
Have you seen the size of these bills? That size and the complexity of the language means that there is no way any congress person could have read the bill. Even the author of the bill, has probably not read the complete text.
That is not as big a problem as it sounds, though. Each congress person and the committees have staffers whose job it is to do just this type of thing. They have teams of technical experts (analogous to software developers) who understand the code of the law. This is one reason that policy debates often focus on reports from all sorts of obscure government agencies. You need highly technical experts to comb through this stuff and make sense of it. The policy debates get down to which set of experts you believe and trust.
I think a lot of us think of congress people as coders who are working on the law, but they are really more like vice presidents directing teams of coders in broad policy directions. In that sense, it is okay (and even preferable) that they not micromanage too much.
The legislative language isn't that important... (Score:2, Informative)
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, mayb
Re: (Score:2)
Re:The legislative language isn't that important.. (Score:5, Insightful)
"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.
Re: (Score:2)
Like in the case of the law [slashdot.org] that assigns 'the right to personal privacy' to corporations
CC.
Re: (Score:2)
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!
Re: (Score:3, Informative)
Re: (Score:2)
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 ac
Needs disipline (Score:5, Interesting)
I have built a version controlled document management system around mercurial [selenic.com] 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.
Lawyers (Score:2)
... 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.
Google Wave ? (Score:2)
Asking way too much of the lawyers. (Score:5, Insightful)
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.
What would you gain? (Score:2)
Re: (Score:2)
I'm not a citizen in the US, but in many countries bills ake allready like patches.
If you want to change the law "Everybody must pay one dollar" to "Everybody must pay two dollars" you will not pass the whole law again, you will pass another bill that says that "one dollar" is replaces by "two dollars".
This way, the bills get huge - but the actual law is far less voluminous.
Formatting to minimize diff size is a huge problem (Score:2, Insightful)
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?
Use Tex (Score:2)
Re: (Score:3, Insightful)
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."
More importantly (Score:5, Funny)
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?
Re: (Score:2)
Alternatively we could write it in Lawa instead so we could have the law interpreted in real-time in a virtual legal system. It might be a less efficient legal system but it would have the advantage of being completely portable to any other country without modifications, given a compatible virtual legal system. Should work quite well, I'll try writing a Habeas Corpus in Lawa later today and see how that works.
Re: (Score:2)
I realise you're making a joke, but a few years back I proposed something like that. [clubtroppo.com.au]
Of course, in my experience, if I have a flash of brilliant insight, somebody else had it years ago. So YMMV.
The law is a kind of code, but ... (Score:5, Interesting)
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. [clubtroppo.com.au] 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.
Fortunately, this is a much smaller problem. (Score:3, Insightful)
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, adm
What the hell is he on *any* committee for? (Score:4, Insightful)
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.
Re: (Score:2)
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?
Because being a lawyer is not a requirement of being elected. To read and understand the legal language you have to have significant legal training. Just because he is not an expert on the legal language does not mean he does not understand the broader policy objectives. The healthcare debate is hugely complicated and is going to have far reaching consequences on hundreds of millions of people for decades to come. I would much rather have my representative become an expert on these health issues and far
It's the way the Congress is structured. (Score:2)
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
SVN must die! (Score:3, Insightful)
Maybe we should switch to more distributed (federalized? :) ) system? Like, allow states to branch laws in their private repositories?
Re: (Score:2)
And anyway, this is the Government; they'd end up using SourceSafe
This idea floats in the air (Score:2)
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.
where are the doc management lobbyists? (Score:2)
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)
Re: (Score:3, Informative)
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$?
It would probably not be profitable for them. Developing a special system for Congress gives you exactly one customer. To be profitable with only one customer you have to charge a huge amount of money for your system. That makes doing business with the government a completely different beast than anything else you do. And then since the government is spending public money there are all sorts of arcane procedures in place to prevent abuse and you have to know how to work that system.
In general, companies
Formal language (Score:3, Insightful)
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.
Re: (Score:2)
Exactly. There should be definitely more math and engineering in lawmaking. I'm not being sarcastic.
The law has to be inconsistent. (Score:2)
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.
Splendid Idea, but will need to start elsewhere (Score:2)
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 t
why don't they put it in SVN (Score:2)
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?"
I'm reminded of the GPLv3 Drafts (Score:2)
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/ [co-ment.net] which looks interesting.
Great idea (Score:2)
Rv2.0 (Score:3, Funny)
You want to tkdiff a bunch of B.S.? I got one commit for you:
$ git commit -m "revolution"
Go all the way to normalized english (Score:3, Insightful)
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 [utk.edu]:
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.
I've been thinking about this for a while (Score:3, Interesting)
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 [github.com] 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.
Bills are already written as a 'Diff' (Score:3, Interesting)
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.
Political elitists (Score:3, Insightful)
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.
Re: (Score:3, Insightful)
Or, if you want to think the worst - perhaps those drafting the laws (frequently not those voting for them) don't want it to be easy to tell what changes a given law will introduce.
Re:Lack of training/intelligence? (Score:5, Insightful)
... don't expect to actually read the legislative language ...
If United States Senators can't be bothered to read and comprehend the legislation they're voting on, then:
(1) why are they elected to posts that, as the most basic of job requirements, requires the ability to do so, and
(2) why haven't they been removed from office for complete and utter failure to serve the American people?
That's right, folks... your elected officials are attempting to pass legislation that will have massive consequences for our generation and several more to come, without having actually read the material they're about to vote on. Here's the best part: this is nonthing new. It's been the status quo for a huge chunk of Washington's electoral finest for longer than I've been alive. Outstanding work!
Re:Lack of training/intelligence? (Score:4, Informative)
Lawyers generally use MS Word's version control system when negotiating new contracts. It may not be as good as CVS or Subversion, but it is at least something.
Re: (Score:2)
Re: (Score:2)
I am guessing that legal code in text would need to have some kind of mark-up. Vanilla version control systems won't understand that so they will present diffs and merges as being more complex than they need to be. One advantage of wikis is that their version control systems usually understand the markup language so changes are easier to understand.
Re: (Score:2)