Congress Mulls API For Congressional Data 121
Amerika sends in a Wired blog post on the desire in Congress to make data on lawmaking more easily available to the public. The senator who introduced the language into an omnibus appropriations bill wants feedback on the best way to make (e.g.) the Library of Congress's Thomas data more available — an API or bulk downloads, or both. Some comments on the blog posting call for an authenticated versioning system so we can know unequivocally how any particular language made its way into a bill. "Congress has apparently listened to the public's complaints about lack of convenient access to government data. The new Omnibus Appropriations Bill includes a section, introduced by Rep. Mike Honda (D-Calif.), that would mark the first tangible move toward making federal legislative data available to the public in bulk, so third parties can mash it up and redistribute it in innovative and accessible ways. This would include all the data currently distributed through the Library of Congress's Thomas web site — bill status and summary information, lists of sponsors, tracking timelines, voting records, etc."
If this brings about more accountability (Score:2, Insightful)
...then I'm all for it.
Clarity is a good thing in government.
Re: (Score:3, Informative)
Re:If this brings about more accountability (Score:4, Funny)
You're right, we shouldn't have increased accountability.
Re: (Score:3, Insightful)
Re: (Score:1)
Then I misinterpreted what you meant to say. My bad.
Anyway, you're right. The system is broken. Those who manage to claw their way into political power seemingly do everything they can to remain there. The process itself is flawed and our current two party system needs repair something fierce.
Slowdown cowboy! it's been a good 90 seconds since you last posted. That's not nearly long enough of a wait!
Re: (Score:2)
and not only that, *rabid* supporters too! But seriously primaries are no contest either. I believe more members of Congress are replaced by death in office than by primary challenges (I can't remember the exact stat and can't google it. It was either "by death in office" or "by death in office and retirement").
Re: (Score:1)
I assumed there was some sort of API anyway, I assumed thats what sites like opencongress.org were using:
http://www.opencongress.org/ [opencongress.org]
Re: (Score:2)
I assumed there was some sort of API anyway, I assumed thats what sites like opencongress.org were using:
http://www.opencongress.org/ [opencongress.org]
Sort of. Thomas [loc.gov] outputs all of it's bill data in XML and all URLs are in a nice predictable form(okay, not so nice). It's basically a big REST [wikipedia.org] API in it's own right. Quite easy to parse.
An easier to use API would be an improvement, but congress already puts it out there and makes it quite simple to take and use. What I really want to see, is some sort of standardization of state legislatures. In the organization I work for, state legislation has to all be pulled by hand. Lots and lots of man-hours.
Law for geeks (Score:4, Insightful)
Legislation is a change to the code.
The legislative process is change control.
*It is perhaps not entirely coincidental that the "code base" of law in the US is designated by the prefix "United States Code".
Re:Law for geeks (Score:5, Informative)
Re: (Score:2)
Re:Law for geeks (Score:5, Interesting)
Re: (Score:2)
Re:Law for geeks (Score:5, Interesting)
I don't know about how git works for you, but for me, it requires a non-blank commit message. And if someone browses the log and sees a non-meaningful message, a message that doesn't explain the whole commit, or a singe commit which does "too much at once", questions get asked.
That's why we need "Git for government". Lots of small commits, references to why they happened (ie: links to C-Span video, audio or transcripts from meetings, etc)
This is something which needs to be taken on by someone on some level. It's not something which will happen immediately when someone passes a law requiring it. It'll need to be someone going up to a local lawmaker and dedicating all their time (100% of it) to tracking changes for them. Find out what's needed in terms of an interface to get real people to want to use it, make it so that non-programmers can benefit from it. Do this for one person, let anyone clone the results, and always be public about willingness to do it for anyone.
Re-election time comes around, and the person you're "sponsoring" gets to say: "I'm all for government transparency. Every last paragraph I've put into a bill over the past two years has an explanation attached to it. The service I use to make this available to the public is free for any lawmaker, and similar methods are available for free to all members of the public. Why has my opponent not bothered to do the same? What is he trying to hide?"
I would love to see an organization form around this very concept. "Free version control for government", a service provided by volunteers for absolutely anyone involved in writing laws or policy.
I don't see it as something which would ever really happen, of course.
Re: (Score:3, Insightful)
You're not going to get multiple tiny commits. You're going to get this from every single bill:
Rev1: Senator Whatshisname. New bill proposal. (contents copied verbatim from lobbyist e-mail request, but this won't be specified anywhere)
Rev2: Senate Committee chair. Updates from committee meeting. (massive replacement of the text, no names specified)
Rev3: Senate Committee chair. Merged with House bill upon committee recommendation. (more replacement, no names specified)
And simultaneously:
Rev1: House Wh
Re: (Score:2)
...which is pretty much what THOMAS gives you already. A diff function might be useful, provided the structure of the bill doesn't change much. Slashdotters are kidding themselves if they think legislators are going to track intermediate changes to draft versions.
Re: (Score:2)
The only revision history that ever really works is one that is completely invisible when used, and that you can't help but use. And those suck because they don't actually describe what or why something happened
Re: (Score:2)
Which is pretty much my point. It can't possibly work unless it's completely invisible to the actual lawmakers. Even something as simple as "Save to this particular server, everything will be diffed automatically, etc" is too much overhead and would never work. That's why I'm saying the only way it would ever work "properly" is if you had someone whose full-time job it is to follow a single lawmaker around and get copies of things as they are made, attend all the meetings and make notes about what was said,
Re: (Score:2)
Re: (Score:1)
Thank god someone mentioned that we already have Code Access and Revision Tracking protocols around. Pick one of them, any one, I wouldn't care if they chose CVS. Even CVS is better than what we have now!
Here's a list, pick any Open Source one: http://en.wikipedia.org/wiki/List_of_revision_control_software [wikipedia.org]
Re: (Score:2)
Re: (Score:2)
If something like that were really implemented, it wouldn't be used at all, save for a staffer occasionally being told to do the equivalent of a mass commit without merging, squashing everyone who gets in the way.
People just don't work in a way which programmers would like. There are lots of "change this word here", etc, which is very vcs-friendly, but there is also a lot of "Based on the meetings, I wrote these 100 pages last week. Please review it."
It's those "bulk commits" that we need to find a system t
Re: (Score:2)
SVN Blame, my friend. SVN Blame.
Re: (Score:2)
We really should be using a revision control system for laws the way we do for code. Make read access public, and have commit access tied to official's accounts, with the ability to delegate to staff if they so desired(ie, Senator X has an account. If he wishes, he can authorize a SenatorX.MinionY account, so Minion Y can work on legislation for him; but it is immediately clear who is responsible, have it wo
Re: (Score:2)
Re: (Score:2)
Also, there is a difference between how a law emerges and how legislation emerges - the first is like evolution, people try different things and some order emerges; the second is like 'Intelligent Design'.
Hmmph. (Score:5, Insightful)
It'd be more useful to see laws written in something resembling plain language. There is no excuse for 1,000 page omnibus bills. If it was line-item budgets, that would be one thing.
When you can't understand the law, you can't obey the law. And since ignorance of the law is no excuse, you can basically be arrested for anything. What a world.
Re: (Score:2)
Re: (Score:2)
When you can't understand the law, you can't obey the law.
That's the point. One big step towards a police state is making sure that everyone is doing *something* illegal at all times. 99% of the time if you're not causing problems they just let it slide. Once you get on their bad side they slap you with a "Oh, you didn't know it was illegal to register your Gmail account with your local police department because your 17 year old ex girlfriend sent you photos of herself nude 10 years ago?" That's an arrestin.
Re:Hmmph. (Score:5, Insightful)
Laws are fairly easy to understand when you read them through. The problem is that they are the driest most boring pieces of literature ever written.
Re: (Score:3, Insightful)
Yes, you've certainly explained the need for jargon, whether it's legalese or technical. Although jargon is confusing and excludes non-experts, plain language is just too ambiguous. Ever had a non-technical person explain a computer problem to you in "plain language"? Yeah, it's like that.
Re: (Score:2)
Re: (Score:3, Informative)
Too true. If you write in normal speech, you quickly have problems. Many words are just plain ambiguous. Even in technical specifications, it's something that has to be dealt with: if you're comparing two things for equality, what happens if one string has a precomposed Unicode character and the other one has the combining characteristics? Should the "K" (Kelvin sign glyph) and the "K" (Latin upper-case K) be considered equal?
Plain language is almost always hopelessly ambiguous. Most legalese is actually very readable if you have a bit of practice.
Not totally true. They are doing something about it [plainlanguage.gov].
Re: (Score:2)
People who write the law don't un
Re: (Score:1)
What if it is more a matter of them not trying very hard?
(I do agree that the tax code is needlessly complex...)
Re: (Score:3, Insightful)
I will grant that some obsfucation is deliberate, but a lot of it is an attempt to be precise. Plain language is all too often ambiguous. If you have ever tried to write a complicated contract, you will know what I mean. It's not that different from writing code - simple metacode may not be so simple once you have allowed for all possible exceptions and strange conditions.
Re:Hmmph. (Score:5, Informative)
Re: (Score:2)
Can anyone give an explanation for why bills are printed this way?
Re: (Score:2)
Leaves room for comments to be inserted, and most of the people who read them are old and blind.
Re: (Score:2)
Why do our senators have elderly interns and clerks?
Re: (Score:2)
Leaves room for comments to be inserted, and most of the people who read them are old and blind.
Where did you get this idea that legislators actually read bills?
Re: (Score:2)
Leaves room for comments to be inserted, and most of the people who read them are old and blind.
Where did you get this idea that legislators actually read bills?
Indeed. I'd say it's mostly twenty-something interns, 90% of the time.
Re: (Score:1)
Bigger letters are more important.
Re: (Score:2)
But they take up more hard drive space.
Re: (Score:2)
It'd be more useful to see laws written in something resembling plain language. There is no excuse for 1,000 page omnibus bills.
That 1,000 pages thing is misleading: bills are printed on half-sized pages, double-spaced, in rather large font (Times New Roman 16 or 18) with wide margins (at least 0.75"). Were it a normal ol' book, it would probably be in the 200-300 range.
Plain language is misleading.
Ambiguous, fuzzy, prone to misunderstandings. You say one thing, people understand it to mean another. Frustrations all around.
Plain language can be unambiguous. (Score:2)
There's a lot of arguing back and forth about whether the government should use plain language.
The argument for is that then everybody can understand the law better; the argument against is that plain language tends to be ambiguous and the laws are complex in nature.
I conjecture the following: plain language can be used to describe complex systems in unambiguous ways (to the extent the systems are unambiguous, at least).
As a starting analogy, consider lambda calculus: you have three rewriting rules (variabl
Re: (Score:2)
As another example, consider simple.wikipedia.org: it attempts to describe everything the "normal" wikipedia describes, but in a simpler language.
Not necessarily. Some subjects can't be discussed efficiently with only text. English Wikipedia works around this by allowing the limited use of non-free files under fair use rationales. But Simple English Wikipedia does not use non-free files at all. Therefore, any article about a non-free pictorial, graphic, sculptural, musical, or audiovisual work will lose any meaning that the file conveyed when translated into Simple English.
Re: (Score:2)
Some jargon is necessary. The vast majority is not.
Legal writing in this country is still obeying conventions that were formed in english common law hundreds of years ago: I'm not talking about laws, I'm talking about things like writing the number out, then following it with the same number in parentheses (e.g "Five (5)" ) which is a disambiguation that crept in to legal documents because of clerks with bad penmanship.
Indirect, passive grammar, certain torturous word choices "It having been said by the pla
Re: (Score:2)
A 1,000 page bill is preferable to a 3 page bill [wikipedia.org].
The less specific the law is, the more control the President and his appointees have in spending the money, and to do so with less oversight. I am sure that if you showed your average senator the source code tree for your average open-source application, he'd remark "there's no excuse for 5 million lines of code! How can anyone expect to understand it! It's obviously obtuse." The problem of course is he's talking about stuff that he doesn't understand, an
authenticated versioning (Score:5, Insightful)
Not a chance. They'd never be able to use the excuse "some anonymous person slipped in this provision at the last hour and I didn't want to not vote for the bill just because of this" again...
Re:authenticated versioning (Score:4, Insightful)
Yep . . . this would provide transparency in government . . . and all politicians will scatter away like cockroaches, when you turn on the light in the room.
No more secret reciprocal vote tradings, secret deals (my spotted owls, for your unneeded dam), etc.
This thing will get quietly scuttled for . . . "technical" reasons.
Re: (Score:2)
Oh how fantastic that would be. I see the textual bulk of legislation going down drastically as you cut out all the BS and make people accountable for the content.
Hey, one can hope.
You can't force them to use it properly (Score:2)
They're not going to commit any more than they absolutely have to. The revisions are just going to be snapshots of the bill at the various points where they are required to submit it to the record, as is the case now. Plus, the commits are all going to come from the same low-level staffer, who conveniently has a bad memory for who asked him to add what at the last hour.
Comment removed (Score:4, Insightful)
Re: (Score:1, Informative)
That would be the biggest improvement to THOMAS that they could make. Yes finding bills can be hard, but once you've found it, many time's it's incomprehensible because it reads exactly, no seriously exactly , like a raw diff.
"Modify 1(A)(a) Subsection 2(b) by removing the word 'and' and replacing it with 'or'," with no indication of what 1(A)(a) Subsection 2(b) is.
Re: (Score:2, Interesting)
Go to www.govtrack.us and ask for some funding to work on this as a project if you feel strongly about it.
Feedback. (Score:2)
Both. Duh.
Use wiki API as the guide (Score:3, Interesting)
The process of the bill writing seems to me to be very similar with how the Wikipedia articles get started / mature. Wikipedia API was designed specifically to work with the bulk data (see http://en.wikipedia.org/w/api.php [wikipedia.org] ) - we can just adapt a similar approach.
(Shameless plug: I was the dev who implemented the original wiki api)
Re: (Score:2)
Ooo, yes, and let us revert "vandalism"? ;-)
A logic based language (Score:5, Interesting)
I have long thought that there should be a logic-based language for laws, at least for laws like the Tax code. My original idea in this direction was prolog, but something built on top of XML is probably more appropriate today.
It should, for example, be possible to automatically check that some 400 page law doesn't contain 1 paragraph that totally changes some other law, or that, say, 20 pages of consumer protections are not negated by two lines 100 pages later. The legal language used is already close to meta-code, but right now this all has to be checked by hand, allowing untold mischief. It should also be possible to check for logical inconsistencies and missing if-then-else options.
Some I am sure will see the current ... flexibility as a feature, not a bug, but I think it is high time to be able to do some automatic checking of what the Congress is doing and what proposed laws actually mean.
Re: (Score:2)
Re: (Score:2)
But what if the bill doesn't reference a section of law that it changes. What if you have part of one law that says that "Ice cream can not be sold on Tuesdays", and then part of another law is proposed that says that "Ice cream must be sold on the third Tuesday of the month". Unless the people writing the new law know about the old one, there's no way for them to reference the old law. There is no easy way to detect conflicts like this.
Additionally a logical language for law would have additional benefits.
Re: (Score:1)
Unless you make a perfect language, there would still be mischief (because the mischief is intentional...).
Re: (Score:2)
there would still be mischief (because the mischief is intentional...).
All too true. There is an eternal arms race here, and I have no illusions that any automated means would prevent all wrong doing. That is, I think, a test of articifical intelligence that is considerably more stringent than Turing's.
However, just as people still use markup validators to check html, and compilers to check code, even though these will by no means catch all errors, putting law into a systematic form would certainly detect s
Re: (Score:2)
http://en.wikipedia.org/wiki/Lojban
I'm surprised this is at 0. Lojban might be an excellent choice. Perhaps our politicians can study it.
All I can say is "about time"... (Score:2)
that's why...for the thousandth time, we need (Score:1)
line-item vetos.
Seriously. How many failed bills get shoved through as a rider on a more important bill (see the "stimulus" package for an example) because our elected officials are afraid to veto an otherwise solid bill with utter B.S. attached to it because they're afraid it would kill their career?
There's too many examples to count of crap like this happening. It would be refreshing, to say the least. And it might remove some of the internal politicking from the process. (Vote for my bill and I'll le
Re: (Score:2)
You will never see line-item veto again since SCOTUS ruled it was unconstitutional.
Re: (Score:1)
One can only hope they ruminate on it again and change their mind.
Re: (Score:3, Informative)
You will never see line-item veto again since SCOTUS ruled it was unconstitutional.
If only there were a way to change the Constitution. What's a good word for that? Oh! Amending! Wouldn't it be cool if someone had thought of that when they wrote the thing?
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
Re: (Score:1)
It's more like their opponents get to go "Look how $name voted against this very necessary and solid bill!". Which wouldn't be much of a problem if your people weren't drooling morons that can't comprehend anything longer than a 5 second soundbite. Which is incidentally too short a time to defend yourself in by explaining why the evil addition was necessary to stop.
Re: (Score:2)
Hear, hear (Score:2)
I guess it takes a constitutional amendment to make that happen, and if so, let's do it. Also it's interesting that the Confederate president had line-item veto power explicitly granted in that constitution.
Re: (Score:2)
distribute airbags too (Score:4, Informative)
These are sort of like an ebay auction: 24 hours before the vote these start to stream in. Often they are placeholders "text to be supplied" or very obscure references to the organization designated for the earmark. Not even the toiling interns who are supposed to vet these for their bosses can keep up last minute submissions.
Ironically the TARP bill last year was very streamlined and only had one earmark. But that was a controversial federal judge raise.
Another nausea in the bills are that 90% are resolutions commending people or organizations in their districts. this reads like the gossip pages in the newspapers. You see this if look at the full list of recent bills.
Re: (Score:2)
There should be a rule that all text must be submitted into the bill 24 hours before the vote. No putting in "Text to be supplied" and sticking in stuff last second. No adding $2 mi
Re: (Score:2)
1 is more complicated than it sounds - if it's an "economic stimulus" bill, that's broad enough to cover just about anything, although I suppose it should exclude things like changes to criminal law.
2 probably doesn't have to be legislated, if you can get your 24-hour lockdown in place. Congressmen don't read the bills they vote for, because it's not reasonable for them to do so; make it reasonable, and they'll probably do it.
corruption (Score:3, Insightful)
I almost don't want to know. "Kickback" corruption spending is practiced by basically everyone in congress. Whenever an important bill comes up, everybody says they will vote against it unless there is language included to fund some boondoggle project from their major campaign contributors back home. So they all compromise and agree to add these little corruption amendments, then vote yes. They don't care about the main topic of the bill or their constituents. They just want their kickbacks.
If we have accountability, we will have a clear picture of a system which is rotten to the core. What help would it be to find a 100% corruption rate?
100%? (Score:2)
The number would be 99.8%. Dr Paul does not ever vote for those bills.
Re: (Score:2)
Use git (Score:3, Funny)
They should use git.
Re: (Score:2)
Git? Too good for a government.
Giv'em tarballs and patches.
Re: (Score:1)
an API designed by a congressional comittee? (Score:2)
Putting on my tinfoil hat, but ... (Score:2)
And then isn't the reverse true? Won't it make it easier to collect a lot more information about who is pulling what data? I'm not saying it's happened in the past [aaup.org] (I don't know if that suit ever went anywhere) but it is certainly possible.
CVS for all legislation (Score:1, Interesting)
Fantastic! (Score:2)
Using the API (Score:1)
Source Control (Subversion) for Bills? (Score:2)
XML (Score:3, Interesting)
[drumroll]
XML. The answer here is define to several XML schemas (schemata) to capture the structure of these documents and use existing standards and technology (i.e web services over http) to distribute. None of that is rocket science or would required years of development effort, but may required years of exectuion. Its not hard; its tedious. The tedious part will be converting all the old docs over to XML.
WRONG WRONG WRONG!!!!!!!! (Score:1, Insightful)
As much as I like the idea of tracking the legislation progress, and getting legislation and L.O.C. data published to the public uniformly or standardized, WHAT THE HELL IS IT DOING ON AN OMNIBUS APPROPRIATIONS BILL????
These should be 2 separate pieces of legislation. If this gets tagged to the Appropriations bill, FROM THIS POINT FORWARD, it now has to be amended through appropriations, which is tantamount to battling for the last cookie in a kitchen full of sugar junkies.
THIS DOES NOT BELONG on an omnibus
Didn't xml.house.gov do this? (Score:1, Interesting)
Didn't Congress already address part of this with xml.house.gov? Although, the schema they designed use the default namespace, yuck.
Don't forget the DRM (Score:2)
Apps for America Contest (Score:1)
I was recently looking for an API with this kind of data and found that votesmart.org has a pretty good one that offers information on federal, state, and local government representives, legislation, votes, and more. http://votesmart.org/services_api.php [votesmart.org]
Also, the Sunlight Foundation has an API with congressional data, and they are currently holding a contest for creation of any kind of application that would help improve accountability, transparency, and interaction in government. The app has to be release
Re: (Score:1)
Re: (Score:2)
At least it's one PDF containing all the scanned images. They could've just as easily put up scanned images, one per page on a web site.
And also, scanned images in a PDF are quite useful - you don't get the searchability, but if the publisher screws up or adds stuff to the document they're pri
Re: (Score:2)
pdf is unsearchable
Wrong.