Hacker News new | ask | show | jobs
by gortok 4052 days ago
Sadly, this happens all the time. And it does it in really sneaky ways, things like "Strike paragraph 1a from USC 1234 that says 'June 30, 2015' and replace with 'June 30, 2019'". That way if you're searching through the bill, you not only need to know what those other bills are, but those specific paragraphs are; and there's no way from just reading a bill what the intent is.
2 comments

It's like a really slow, broken, expensive, rigged version of Github.
Just as newspapers, radio and television, etc. have brought increased transparency and clarity to the inner-workings of government, likewise we should definitely be using even more recently developed tools like branching, revision histories, hyperlinks and various diffing algorithms to elucidate exactly what has been or is being proposed or adopted and by whom.
It should be a point of procedure that all bills be voted in page by page.
It should be a point of procedure that all bills do exactly one thing. Small and easily reviewable commits, please; software engineers learned this long ago.

Page-by-page of a single bill doesn't work, though; see also attempts at a "line-item veto". For the most obvious failure mode, consider a bill that replaces one tax with another and a veto on the removal of the old tax. Or consider a bill that adds a tax and a service funded by that tax, and a veto on the service but not the tax.

Or, maybe each congressperson casts a tri-state vote on each line item (bill must contain this, bill must not contain this, or no opinion). Congress then runs a SAT solver to determine if there is any combination of line items that pass the criteria given by a majority of congresspeople. If none exist, the bill fails. If multiple candidate bills succeed, each congressperson is allowed to nominate one candidate bill for consideration, and the legislative body then votes on the best candidate via approval voting.
Well, "one thing" isn't a coherent concept. That's the same problem that the line-item veto has.

It's a fuzzy ideal that you can try to stay close to, but it can't be a point of procedure because it has no actual definition.