Forgot your password?
typodupeerror
Government

Legal Code In a Version Control System? 334

Posted by Soulskill
from the they-might-actually-know-what-they're-voting-on dept.
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?"
This discussion has been archived. No new comments can be posted.

Legal Code In a Version Control System?

Comments Filter:
  • Too early yet (Score:3, Insightful)

    by EsbenMoseHansen (731150) on Saturday October 03, 2009 @05:14AM (#29625065) Homepage

    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)

      by camperdave (969942)
      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.
      • 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)

          by commodore64_love (1445365) on Saturday October 03, 2009 @08:58AM (#29626021) Journal

          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.

      • 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)

      by Mia'cova (691309)

      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

      • 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)

      by jmccay (70985)
      You are kind of missing the point. Congress doesn't want us to know what the bills say, and they don't want to really know what the bill says. If they don't actually read the bill, they have plausible deniability. If you can't read the bill, then they can say you don't know what you're talking about, and if that doesn't work, they'll just call you a racist for disagreeing. Take health care for instance. What Obama and the Democrats have been saying the bill does is not what the actual bill says. They
      • Re:Too early yet (Score:4, Insightful)

        by commodore64_love (1445365) on Saturday October 03, 2009 @09:09AM (#29626053) Journal

        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)

          by Hatta (162192) * on Saturday October 03, 2009 @10:29AM (#29626723) Journal

          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)

            by CodeBuster (516420) on Saturday October 03, 2009 @12:31PM (#29627753)

            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)

              by ahabswhale (1189519)
              Bullshit. Are you so fucking stupid as to believe that you don't already pay for their health care? Really? Are you that ignorant as to how this all works? Do you have Beck and Limbaugh cock shoved so far up your ass that you just can't see straight? You, me, all of us already pay for illegal aliens who go to hospitals for emergency care because by law they must treat anyone who comes in for emergency treatment. So how do you think this is paid for? Do you think hospital administrators wave wands tha
  • by selven (1556643) on Saturday October 03, 2009 @05:20AM (#29625083)
    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.
    • by Idiomatick (976696) on Saturday October 03, 2009 @05:33AM (#29625133)
      The goal isn't to make the law confusing (most of the time), the goal is to take power away from judges. If we wrote things to be not confusing they'd be simple. And while simple may seem nice it would mean handing control of the more complicated issues to the judges. That or you end up with huge miscarriages of justice.

      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.
      • by jimicus (737525) on Saturday October 03, 2009 @05:55AM (#29625215)

        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.

        • by tmk (712144)

          So instead what winds up happening is the men and women voting for the law don't understand the law themselves.

          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.

        • Nope, people vote for parties who have people in them who hire people that hire people that make laws. Still, the other way sucks too.
      • Re: (Score:2, Insightful)

        by Anonymous Coward

        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

        • Your last line was on my side :/ ... Writing down all these stupid situations and odd little complexities; While it may complicate the law and make lawyers necessary... It is better than having to argue that stuff in the court room.

          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

      • by reiisi (1211052) on Saturday October 03, 2009 @06:01AM (#29625247) Homepage

        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?)

        • The idea is that in debate the two lawyers fighting for each side eventually the law will come through. If it were one lawyer interpreting the law to the judge and the judge making a decision that would be terrible. Given two very good lawyers they may be able to dig up all kinds of weird laws and positions supporting their side. But hopefully because of this a judge will get a very full picture before making a decision.

          I think a direction we should proceed should be to codify and restructure law. At the m
      • Re: (Score:2, Interesting)

        Mr. Idiomatick, you win the award for the most convoluted, fucked-up logic I have seen in a long time. Yeah, we need to keep laws complicated so that judges don't understand them. Let's keep legal understanding away from the people we ELECTED to judge and enforce the law, and give that power to expensive lawyers instead.

        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)

      by Jurily (900488)

      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

    • Life is complex (Score:4, Insightful)

      by tmk (712144) on Saturday October 03, 2009 @06:16AM (#29625315)
      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.
      • Re:Life is complex (Score:5, Insightful)

        by jonbryce (703250) on Saturday October 03, 2009 @06:45AM (#29625455) Homepage

        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?

        • by tmk (712144)
          I guess the kernel source code and 100 pages bills are the same in this aspect. You don't need to know every little regulation in every field and in every part of the process. You have elected representatives who have to deal with complex legal issues. The 1000 pages are simply not relevant to you, but you should if you get health coverage and who has to pay for it. It is relevant for you that there is no "death panel". It is relevant for you if you can go to a doctor of your choice.
      • Re: (Score:3, Insightful)

        by LaughingCoder (914424)

        No, some things are complex. To make laws is a highly complex issue, ...

        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.

      • by selven (1556643)
        We need programmers. We don't need lawyers.
        • 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.

          • by digitig (1056110)
            Except that without the programmers they won't know how much, if anything, they are owed.
            • by dr2chase (653338)
              No, you're owed what the judge says you are owed. The programmers draw the lines, the judge makes the calls, and the lawyer makes your case to the judge.
        • by agurk (193950) on Saturday October 03, 2009 @06:56AM (#29625501)

          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.

          • by foobsr (693224)
            If programming languages was written in plain words we wouldn't need programmers

            Disagree strongly — e.g. imagine clarifying how a robot mimics human gait.

            CC.
      • by ianezz (31449) on Saturday October 03, 2009 @09:19AM (#29626099) Homepage

        Your analogy is flawed. Asking lawyers to drop legalese is like asking programmers to drop programming languages.

        If laws had the same nature of programming languages, we'd have robot lawyers by now.

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

    • by alexhs (877055) on Saturday October 03, 2009 @08:47AM (#29625967) Homepage Journal

      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.

  • by cjfs (1253208) on Saturday October 03, 2009 @05:20AM (#29625089) Homepage Journal
    If you can't convince them, confuse them. -- Harry Truman
    • by tmk (712144)
      E.g. with "death panels"?
      • Re: (Score:3, Insightful)

        by cjfs (1253208)

        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)

          by jabithew (1340853)

          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

    • If you can't blind them with brilliance, baffle them with bullshit -- Unknown

  • 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.'

    Anyone willing to bet that most of them haven't even read the freaking bill either? Certainly sounds like Carper isn't reading them!

    • by cetialphav (246516) on Saturday October 03, 2009 @07:47AM (#29625693)

      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.

  • 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

    • by lannocc (568669)
      +1 Demand. I am not a lawyer.
    • by massysett (910130) on Saturday October 03, 2009 @08:11AM (#29625783) Homepage

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

    • by foobsr (693224)
      If that does not match up with the intent from the committee, then it is corrected to match the plain language version.

      Like in the case of the law [slashdot.org] that assigns 'the right to personal privacy' to corporations ... err

      CC.
    • by massysett (910130)

      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)

        by dr2chase (653338)
        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 ig
    • by pla (258480)
      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 ac
  • Needs disipline (Score:5, Interesting)

    by MichaelSmith (789609) on Saturday October 03, 2009 @05:35AM (#29625139) Homepage Journal

    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.

  • ... 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 ?
  • by reiisi (1211052) on Saturday October 03, 2009 @05:55AM (#29625217) Homepage

    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.

  • 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?

    • 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.
    • Re: (Score:3, Insightful)

      by radtea (464814)

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

  • by 4D6963 (933028) on Saturday October 03, 2009 @06:11AM (#29625301)

    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?

    • by 4D6963 (933028)

      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.

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

  • by Jacques Chester (151652) on Saturday October 03, 2009 @06:21AM (#29625327)

    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.

    • 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

  • by Ronald Dumsfeld (723277) on Saturday October 03, 2009 @06:33AM (#29625391)
    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.
    • 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

    • 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)

    by Cyberax (705495) on Saturday October 03, 2009 @06:36AM (#29625411)

    Maybe we should switch to more distributed (federalized? :) ) system? Like, allow states to branch laws in their private repositories?

    • Only on Slashdot could we go from a discussion about hypothetically adding legal documents to a VCS to arguing about what VCS they should use.

      And anyway, this is the Government; they'd end up using SourceSafe ...
  • 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)

    • Re: (Score:3, Informative)

      by cetialphav (246516)

      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)

    by loufoque (1400831) on Saturday October 03, 2009 @07:24AM (#29625613)

    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.

  • 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

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

  • 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.
  • Rv2.0 (Score:3, Funny)

    by transami (202700) on Saturday October 03, 2009 @07:59AM (#29625739) Homepage

    You want to tkdiff a bunch of B.S.? I got one commit for you:

        $ git commit -m "revolution"

  • by Baldrson (78598) * on Saturday October 03, 2009 @09:45AM (#29626307) Homepage Journal

    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.

  • by swillden (191260) <shawn-ds@willden.org> on Saturday October 03, 2009 @10:34AM (#29626777) Homepage Journal

    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.

  • by w3woody (44457) on Saturday October 03, 2009 @10:56AM (#29626931) Homepage

    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)

    by Dannon (142147) on Saturday October 03, 2009 @11:04AM (#29627003) Journal

    Several senators felt that the actual legal code would be too cryptic and complicated to be useful.

    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.

Whoever dies with the most toys wins.

Working...