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?"
Absolutely. I was just discussing this with someone today - if the "readings" in Congress were mandatory and could not be bypassed by consent, we'd have a much better legal system for a variety of reasons - Congressional representatives couldn't claim ignorance, there would be an incentive to keep bills shorter, and an unexpected change would be noticed more readily.
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"?
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/
There are already people who agree with you...
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.
You know, this is a damed good idea. So simple that I just HAVE to look for pitfalls.
First, I read about something called the Federal Register the other day. As I understand, it is a daily publication of the GPO, responsible for creating a record of public government communication.
Where does this fit into the equation? Wikipedia says it has been operating since the 1930s. That to me suggests existing infrastructure. Could this program be adopted to handle pending Congressional legislation? Does something similar exist already? Are these even valid questions? I'm trying to get a sense of the public accounting context that exists today.
Now, once we set up a legislative mechanism to get the information in place, there are practical considerations. I happen to agree with the parent's cynicism. Open government is less corrupt government, and there will surely be resistance to a program like this. What is the likelihood that something like this would be ignored? The aforementioned Wikipedia states that the Register is for public notices not "classified." Do government agencies really bother? Would Congress bother? Would it matter, practically speaking?
Then there's the question of volume. I understand the current Register is thousands upon thousands of pages. What would be the best way to handle all this data? Pressure our Congressmen to form a committee to look into the possibility of proposing vaguely worded, easily subverted legislation that would create a billion dollar, privacy infringing, twenty-year behemoth of a program? Or dictate simply that the data should be available in a specified format (something akin to a patch) in a timely manner.
I think the latter would be better, because it would force We the People to take a little responsibility for the program. I mean really, who doesn't think that an enterprising group of dedicated people, working for free in their spare time would work more efficiently than a monstrous bureaucracy? Sound like a familiar Slashdot battle?
Either someone will rise to the challenge and write a utility to "visualize" the data in an interesting way, or not. If not, I think we have bigger problems than Congressmen not reading their bills.
Make the data (near) freely available, then leave it up to The People to figure out how to use it. That's my take.
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.
I think there are two points you overlook here related to commit privileges.
First, you don't give commit privileges to interns. The only people with commit privs are actual senators/representatives/PMs. So some lackey can't change things without express authority from their privileged boss.
Of course, lackeys will still do all the typing and doc prep. Then somebody with access to commit privs will do the final commit without even proofreading it. So you say that everything is same old, same old. But the changelog will show who authorized the commit. You have to take responsibility for your commits. You didn't proofread before signing off on a commit? You take the blame. You gave your credentials to one of your staff lackeys to do commits for you? You take the blame.
And finally, if somebody tries to game the system by submitting 50 last minute changes everytime, you just vote no. Then you say, "I move to take a vote on changeset 1492, the last branch that has been stable for more than 90 minutes, and the only one that we have all been able to read." "Seconded." "A motion has been made and seconded... there will be a 30 minute pause while the build server compiles changeset 1492, after which the voting will commence."
Version control is just duck tape on a broken pipe. The real problem is that these bills are so unnecessarily long and convoluted that there is no chance a last minute change will be noticed, especially when that last minute change is not open to the public. The Read The Bills Act will require any yes-voter on a bill to read through the bill in its entirety (under penalty of perjury). This will ensure that bills will be short and concise. Furthermore, every bill must be published online for 7 days, unchanged, before the vote. This will ensure no last minute additions or deletions. Politicians are not technical people, they won't be able to understand version control. It will just be delegated to their underlings, just as the actual reading of the bills is delegated.