Source Control For Bills In Congress?
grepya writes "An article in Slate talks about the sneaky way a major change in the Patriot Act reauthorization bill was made by (possibly) a Congressional staffer without even his boss knowing about it. (The change increased the power of the Executive at the expense of the other two branches of government.) Now, I write software for a large and complex system containing millions of lines of code and I know that nobody could slip a single line of code into my project without my knowledge. This is because everything that goes into the build goes into a source control system, and email notification is generated to interested parties. This is for a body of work that affects perhaps a few hundred thousand people at most (our company and the combined population of all our customer organizations). Shouldn't the same process be applied to bills being debated in national legislatures that affect potentially hundreds of millions of people?"
... maybe the US Congress should read the bill before they pass it into law.
They want it to be this way by design.
Bill Clinton: Pimp we can believe in. - The Shirt!!!
Shouldn't the same process be applied to bills being debated in national legislatures that affect potentially hundreds of millions of people?
You mentioned getting email notifications about changes to the repository. You work with the code every day (or nearly every day). You see, these representatives in congress often times vote on bills which they have not even themselves read. They get the executive summary.
That is like the difference between you reading the code for a newly modified parser class and getting one of your underlings to brief you about the changes. You might spend an hour or more reading source code for a whole new class, and only two minutes getting briefed on it. You have to get them actually read the bills first.
Maybe we should require that all bills be read aloud in their entirety in an open session of congress?
Its all done with paper.
Maybe if some of the politicians passing laws about technology were a bit more tech savvy we wouldn't see any of this. Corruption by camouflage. I bet that even though the changes weren't supposed to be in there. They won't be amended. That would just be silly.
Make Congress Read the Bills. If they have to sit through a reading, maybe they'll cut down on the length and complexity of the laws. Here, apparently nobody knew what they were passing into law.
This problem should really take care of itself. Just get a staffer to SQL-inject* the necessary clause as a rider for some boring budget stuff that no one will read all the way through, wait for Dubya to sign it, and then pop out and shout p0wned! Then they'll have to build that foolproof system, and we'll be all set.
*SQL = Staffer Quill Language
You see? You see? Your stupid minds! Stupid! Stupid!
I once had a conversation with a lawyer friend, who explained that there are portions of the law that refer to laws that have been repealed. I tried to explain to him that in computing this is directly analogous to de-referencing a pointer to memory that's been free()'d. We all know what this does in a program. In law, it perhaps there is a default judgement in cases like this. He was just a law student at the time, and IANAL, so maybe some real lawyers could explain how this situation is handled now.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
That would make "earmarks" and "pork" very difficult to insert in bills without leaving evidence of who did it. Congress would never allow such things to be audited.
Those who do study history are doomed to stand helplessly by while everyone else repeats it.
Courtney Love describes how all recording contracts became "Work for Hire" by a similar process:
l ove/index.html
http://archive.salon.com/tech/feature/2000/06/14/
people shouldn't vote for these fools.
Oops, seem to have made some bad mistakes voting in some idiots in the last election? No problems just type "cvs update -D 2000-01-01 congress" and get back the congress you had back then.
Engineering is the art of compromise.
There is another way to look at controlling legislation, IMHO much more important than mere source control:
A group called DownSizeDC.org is promoting a bill that would force every legislator who votes for a bill to sign a declaration that have either read the entire text of the bill, or had it read to them. The "Read the Bills Act" would also require that every piece of legislation be posted on the Net in its final form for a full 7 days before any vote could occur, giving the rest of us time to read and react...
There used to be requirements in US House and Senate for reading of the bills, but they both routinely waive that requirement. If it were required, the number and complexitiy of bills actually presented would go down dramatically.
We can't Congress to be transparent in the process of who votes for bill revisions such as earmarks or some other types of amendments AFAIK. Try getting those initial steps worked out first (right), then talk about pushing meaningful revision control.
For them, I'm guessing this idea ranks right up there with allowing more CSPAN cameras, databases on attendance (+other metrics), term limits, etc. If we get a bill addressing this topic, I'm sure it's title will match the concept far more than the content.
Another class idea that will be promptly ignored by the cretins more interested in personal power than public service.
If we could pass laws/amendments to "sunset" EVERY existing law, then our esteemed representatives could spend their time deciding what laws are important enough to renew, rather than making up new malarkey.
This issue is a bit more complicated than you think.
Sadly, this is a bit alarmist.
Bills are already drafted using XML assigned numbers. Any amenment to a bill has its own number, bills which are "engrossed" or passed have a different number. They know exactly what they are voting for.
http://xml.house.gov/
If all Congressional documents were stored in a Subversion repository, Homeland Security would positively short-circuit trying to follow up on all of the suspicious emails from young DC residents saying things like "Hey, are you sure the latest pages are committed to Subversion yet?" and "Something just bombed in my sandbox, I'm going to have to nuke everything in sight and do an update!"
If we shouldn't have any method of auditing votes for who we put into office, why should we have a method for auditing the revisions made to the bills the people we vote into office author?
As if we can expect people who think global warming and evolution are "completely lacking any evidence" and who believe the internet is a series of tubes to actually understand what version tracking is, anyway!
Going off on the same tangent, here's an example of a fragile base class. The Virginia legislature shortened (rather than completely eliminate, as in your malloc() dangling reference example) a list of businesses subject to some exemptions, not realizing that that same list was also used by another law saying which businesses had to be closed on Sundays.
The irony of slashdot telling people to RTFB is black hole massive.
Maybe if we just didn't elect corrupt morons and elected people who actually give a damn about freedom and this country.
Yeah - it's already required by law for public trading companies - it'scalled Sarbanes-Oxley. Maybe you've heard of it?
http://en.wikipedia.org/wiki/Sarbanes-Oxley_Act
"You had this look that of an angel, it was such a bad disguise" --Dishwalla
Such things already exist. I know someone who works for a company that makes version control software for documents. Their biggest customers are law firms. Nobody in a fortune 500 company wants some new hire paralegal modifying a clause in a billion dollar contract that it took months to negotiate. Congress people know the system could be made more fool proof but that would remove one more venue of plausible deniability they can use with their constituents. In Washinton crap just doesn't naturally roll down hill, it's designed to do so. Just as "Scooter"...
Congressmen do not read the bills for the simple fact that most of the major bills, tax, spending, etc., are not finalized (i.e., have major changes being made) utill the last minute. They often admit that they don't know what's in the bill being voted on.
They 'know' that cuts in any pet spending program cannot be made because we cannot 'afford to pay for the cuts'.
They hypocritically claim to know that we cannot afford to cut anything and yet admit that they vote for legislation that they do not know how much is being spent and what items it is spent on in bills.
The third Congressional sham is that they claim that reducing the rate of growth of spending on a particular program is a cut. A cut is an actual reduction in spending year over year. This is due to the 'baseline-budgeting' where spending on each program is automatically increased by 4% a year without congressional action.
These are reasons why you should not believe the parroted lines from each party.
Congress should be judged based on the actual bills they pass and not on the CNN Crossfire type of sound-bites.
That's one of the most brilliant ideas I've heard in years.
However, to be successful, it requires that legislators actually *care* what they are voting on. Realistically, they must have something like source control already. Voters have to send them the message that ignorance is no excuse. It's not technology that's holding them back.
Voting on a bill without reading it, if it can be proved, should result in expulsion. If you sign a contract on behalf of your employer without reading it, you would almost certainly be fired on the spot. If you work at a bank but "didn't read" the part about the amount of money, chances are you would go to jail.
Wasn't this in the last episode of "24"?
No, no no, you're thinking of the one where Jack yelled into his cellphone "Chloe, There's NO TIME!", got shot and died, was brought back to life, saved the President, yelled "DAMMIT!", confonted the bad guy (a different high ranking government official bad guy than last week), pulled out his gun, pistol-whipped the high ranking government official and threatened to kill him with "TELL ME WHAT I WANT TO KNOW NOW!"
DAMMIT! You just gave away the entire next season!
I can't wait to use this:
$ svn blame PATRIOT
... and then there were none
Has I understand it, it should be simple enough to just have somebody just slip this new Mandatory Read law in.
Anyone here at Slashdot know someone on the inside?
Letter To Iran
This is certainly a good idea. It puts responsibility for ideas with those that creates them. Which is probably the reason why this will never be implemented i.e. plausible deniability goes right out the window (at least if the records are made public).
But, I think that there is another much more practical problem with this. Do we honestly think that people that think the internet is a series of tubes will be able to handle something like CVS?
The legal system on an index card, volume 1:
1) Don't be a twit.
Sincerely,
Congress
THIS SPACE INTENTIONALLY LEFT BLANK.
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
Well, that would be a start, but I still don't think that it obviates the sort of version-control system that the GP is talking about.
... maybe it's because they're pushing half-baked, half-assed stuff out the door to the "users" (citizens)?
Just think: if you were working on a big software or documentation project, would you want your QA process to involve nothing but some guy standing up and reading the source code out loud? No way -- everyone would be asleep or bored to tears (well, unless it was Perl, then they'd probably be waiting for his face to just fall off).
There's a reason that change management is a big issue, in addition to peer review and transparency. In fact, they compliment each other. When you can produce a list of what each person has changed, you have a basis for what you want to concentrate your reviewing efforts on.
Now, change-management isn't a cureall -- anyone in software knows that just because something hasn't changed, doesn't mean it's not buggy. You could change something that causes something that hasn't been changed to break, or you could just discover a bug later; either of those things are possible with laws as well as software. Unless you also have some way of tracking dependencies within the bills (cross references, etc.), it might be possible to "break" the law (make it internally inconsistent) with a minor change somewhere else. So that would still require full readings.
Still, it's ridiculous that there isn't something in place right now, to prevent some staffer from just sneaking language into a bill that's a surefire pass, without anyone noticing until it gets printed up in the Congressional Record.
On the whole, maybe Congress needs to hire some QA people? I mean, it's obvious they have a "client satisfaction" (voters) issue, and that the "deliverables" (laws) really suck
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
Well, it does seem to come out online, and in plaintext format, too.
http://www.gpoaccess.gov/fr/index.html
There seems to be a way on that site, although I don't really want to try it myself, to sign up to receive the daily Table of Contents via email. That's about as close to `tail -f` as you can get to it, I think.
The other problem is that I'm not sure the Federal Register carries much that would help you track particular bills as they make their way through the Belly of the Beast -- for that, you'd need to be looking at the Congressional Record, which seems to be online here:
http://www.gpoaccess.gov/crecord/
It seems to also have daily updates. However -- there's a catch: the Record doesn't contain verbatim texts of everything that goes on in the Debates in Congress, even though it would be technically possible (bordering on trivial) for them to do this, if they wanted to. Instead, it's more of a heavily-edited Minutes, where various people can go in and edit what they said ex post facto (although WP claims they now print these edits in a different typeface). But even it doesn't, I don't think anyway, give you copies of draft legislation as it goes through Committee, or if it was voted on but never read on the floor; I think it would just contain the record of the vote itself.
But there's certainly the infrastructure there. All that you would need to do, would be to specify that the Congressional Record would need to contain more information -- like all the floor speeches, draft legislation, and text of bills regardless of whether they were read on the floor or not -- and then make sure that the output was in some type of standardized, machine-parsable format, with a lot of metadata. Plain text would be fine as long as you did the metadata consistently.
Then, the GPO could just expose the raw records, and let other people do the work of producing fancy frontends to manipulate the data and track particular pieces of legislation across the lifecycle.
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
First, we're talking about 109th Congress, H.R. 3199, section 502, "INTERIM APPOINTMENT OF UNITED STATES ATTORNEYS." Version control is in Thomas, run by the Library of Congress. (Unfortunately, you can't link to Thomas documents effectively; it's a front end to a non-Web system and the URLs are temporary.)
So where did that go in? The versions passed by the House and Senate are quite different, and this bill was rewritten in conference committee. This language isn't in either the House or the Senate version. We go to the Bill Summary and Status File, and look under "Amendments". This is the change log for the bill. Nothing about this is in there.
This change was added in the House-Senate conference committee, which is how stuff like this usually sneaks in.
The only reference to this change is in the conference committee's report, at House Congressional Record page H1130. The text is:
Section 502. Interim appointment of United States Attorneys
Section 502 is a new section and addresses an inconsistency in the appointment process of United States Attorneys.
That's where it went in. But there's no indication of who put it there. The members of the conference committee were appointed by the Speaker of the House, and they were:
One of those members of Congress is responsible.
You talk like paralyzing government would be a bad thing. No one's wallet is safe while Congress is in session. And besides, I think some bills Congress passes can honestly be considered threats to national security....
Good judgment comes from experience.
Experience comes from bad judgment.
Just think: if you were working on a big software or documentation project, would you want your QA process to involve nothing but some guy standing up and reading the source code out loud? No way -- everyone would be asleep or bored to tears (well, unless it was Perl, then they'd probably be waiting for his face to just fall off).
Reading source code out loud is a whole different beast, and, in my opinion, not a good analogy. In source code, you have variables, case-sensitivity, quotes matter, etc. Reading the English language aloud is quite different.
Most bills are already written on as patches, with the authors indentified.
Rethinking email
Not to be an ass, but have you ever read a law in its original form?
I'd hardly call it english. Legalise really is its own form of code.
I think the GP's point stands, it'd be useful to have some sort of independent QA organization that would validate a bill against its intent.
Of course, then again, I think Pork should be illegal as well. Putting a $100 million into a defense spending bill for Senator Tube's state to build a bridge to an island of 50 people should get someone hung.
Or maybe we shouldn't invest so much power in governments that create laws so complex that nobody can read and understand them prior to voting on their passage? You know--power, money => government == whiskey, car keys => 12 year old boys
The end of Big Government used more than a campaign slogan. This problem occures because the government has it's hands in way to many things. Our Federal government is bloated to an all time high thanks to FDR, the feds should only worry about military/national security (this would include highways), international trade, and disputes between the states. Not pandering to companies for campaign money or minorities/unions for votes with the promise of tax breaks or other incentives.
Knowledge = Power
P= W/t
t=Money
Money = Work/Knowledge so the less you know the more you make
I find your ideas amusing, all the more so because you have no idea what you are talking about, Mr. Anonymous Troll. Which 'honorable' countries are you referring to?
Spain? Raped and plundered the new world, lost some wars, was never a big player again.
France? Revolted against its 'Honorable Feudal systems'- because they were stupid. Revolted agaisnt most of its other systems too. "The French are revolting" has been true at almost every point in History.
Britain? Got involved in world conquest, but probably one of the most honorable governments, because they had a system of checks and balances.
Germany? WWII demonstrated the honor of the Germans.
Japan? Japan's war crimes- the mass rapes and slaughter- all occured under a feudal system.
Italy? Not only do they have no honor, they needed the Germans to bail them out.
Russia? Communism is arguably a step up from their feudal system- which should tell you how bad feudal systems are.
You probably read to many fanatasy novels as a kid talking about the glory of knighthood and chivalry. Read some real history and you'll find that the feudal system was typically a nightmare for the average person, and certainly did nothing to discourage warfare or strife.
You are reading a copy of my copyrighted post.
This is the point of having a painfully slow congressional process. Anyone who has ever watched the House debate something on the floor via c-span (or committees online) knows that the time taken to decide anything (*especially to decide that something is worthy of a decision) is outrageous. And that is exactly what the framers had in mind when they established the rules for engaging in Congressional debates.
There are discussions right now about the best ways to update the outdated Congressional IT policies, including the best way to make legislative records more accessible to the public via XML, APIs, etc. The Open House Project is drafting a report that they will be submitting to Congress. The project, incidentally, is supported by the Sunlight Foundation, Speaker Pelosi, and several other groups. There is also a mailing list and wiki for the project.
Seriously. Their job is to consider bills and make decisions. We don't just pay them to vote on bills. If all we wanted was 535 people who voted on bills with no clue what's in them, we could take 535 homeless people off the streets of DC and pay them a fraction of the amount to do it. At least that would be putting some unemployed people to work. The idea of a "Congress" that makes those decisions for us in an intelligent way is fabulous. I just don't think we have that at the moment.
An interesting anagram of "BANACH TARSKI" is "BANACH TARSKI BANACH TARSKI"
Do you think that part of the problem might be a set of rules that cause essentially every player in the game to behave the same way? The rules that Congress plays by to write and pass laws practically guarantee that type of outcome. Replacing the players and tossing new ones into the same game with the same rules and goals won't change anything, regardless of how great the newly elected members are.
The way to make a difference is to support people who actually try to change the rules. People who support something along the lines of the Read the Bills Act have my vote. People who fight against those changes don't have my vote. We simply need to make noise to encourage the scrapping of a system that can turn even those with the best intentions into the people we're complaining about.
An interesting anagram of "BANACH TARSKI" is "BANACH TARSKI BANACH TARSKI"
This is an interesting problem and after thinking about it for some time I've come up with a solution I think will work.
Kill all of the Bush family, put stakes in their hearts and bury them at crossroads. Burn down all their businesses and spread salt on their farms. Ditto for the Cheney family. You'd probably want to do the same for Rumsfeld and Wolfowitz too just to be safe.
Wait, what was the question again?
(note for the FBI, CIA, Homeland Security, Police, Secret Service and President Bush: this is a joke)
meh