German Elections Go Open Source
Get Behind the Mule writes "The Heise news ticker is reporting that the software used by the German government to handle the results of the Bundestag election (that's the national parliament) on September 22nd will be based on open source platforms. The system will be written in Java and deploy Tomcat, JBoss and MySQL, and is being developed by the Berlin software firm IVU (here's their press release), working with the Statisches Bundesamt (the federal statistics office). It's not clear from the announcements whether the source code of the application itself, and not just the servers it runs on, will be publically available. Nevertheless, one is reminded of the argument of Peruvian congressman Dr. Edgar David Villanueva Nuñez (seen recently in Slashdot) that open source software enables citizens of a democracy to see for themselves whether the work of government, such as elections, is conducted as it should be. All of the announcements are in German, so go fish. The software, as described in the announcements, will compute preliminary results (which are announced as soon as possible after the polls close), run plausibility checks, and determine the Bundestag membership as well as distribution of seats to the political parties. It will use web clients for entry of voting data, data import, presentation of results, and preparation of printed results. It will be based on a three-level architecture (apparently standard J2EE) and deploy Enterprise Java Beans."
An interesting concept, to be sure. Were that all of the political process was "open source".
:-)
And even though it is written in Java, they'll still likely have their election results sooner than we had ours in 2000
There is a certain sense of poetic justness about using OSS as the engine behind a democratic process.
Try the following translator instead of Babelfish.
I think it gives a more readable result, especially as it keeps the paragraph formatting.
http://translator.abacho.de/translate.phtml
----------------------------------- My Other Sig Is Hilarious -----------------------------------
It's not clear from the announcements whether the source code of the application itself, and not just the servers it runs on, will be publically available. Nevertheless, one is reminded of the argument of Peruvian congressman Dr. Edgar David Villanueva Nuñez (seen recently in Slashdot) that open source software enables citizens of a democracy to see for themselves whether the work of government, such as elections, is conducted as it should be.
It's clear from common sense that if the code to the platform is open source, but not the system itself then there is no way the citizens can see for themselves how the work is being conducted.
First off, congratulations to the German Government. It's good to see the German people upholding the values of democracy, in ironic counterpoint to the USA :P
The obvious question is this: The German Government now has the software for handling elections; will they now offer that software to the governments of other countries for (free|low cost)?
"Einstein argued that [...] God is not capricious or arbitrary. No such faith comforts the software engineer." ~ Brooks
I have seen way too many JBoss and Tomcat things jammed, that it makes me ill. Some people use EJBs just to print out "Hello World". Why don't they just use static HTML, and parse those 42 bytes using a custom apache module written in C, so things might keep trolling better. :)
...The UK government jump into bed with M$, having trialed electronic voting for the first time last week. Any bets on a landslide victory for Tony come the next general election? Irrespective of which button the pesky voters actually pushed...
Judging from the amount of posts that Slashdot drops anyway. You need to accurately record every vote, you can't drop 1 in 100,000 even.
Maybe if they are using MySQL 4 with transactions and all the other stuff, then fine. But really, Postgresql is a better match. And preferable is a solution where you can sue someone if it all goes wrong...
The election results would be prosponed forever, because every single candidate that lost. Have hired a horde of computer scientists to find possible problems with the software being used, that could have effected the results ;)
that open source software enables citizens of a democracy to see for themselves whether the work of government, such as elections, is conducted as it should be.
Nice troll.
If you think about it, using OSS doesn't guarantee that nobody is cheating. Sure, you have the sources, but how do you know that the sources you have are the ones actually running on the machine? It's not like they're going to let anybody who wants to reinstall the whole thing.
Yes, it does give you the posibility to check the code to make sure there are no bugs, but it also opens the posibility that anyone with physical access to the machine can install a version of the software which looks the same but has a back door. It used to be that only the original writers had that power, so now you have to trust a lot more people.
So, no, open source software isn't a magic bullet either.
They may NOT release the source, and they dont need to.
If they are using OpenSource components, such as the server enviroment application servers etc.
They dont need release the source. People ranting that they MUST release the source, etiher are lost in a fantasy.
If I write an application for counting chicken egg hatching probablity and It runs under Tomcat, JBoss and MySQL I needent release a single thing as long as I dont use any GPL suff in the code I am handling myself.
That said it would be nice if they do, who cares if they dont. A private software company is doing the development, they may or may not have some kind of agreement or future plans for the software being written.
I am getting pretty sick of all the OpenSource neophiles barking they must release the code blah blah blah. I think you are probably a large part of the reason MS calls the GPL viral, and people actually belive them. It isn friggin poison fruit. The other reason MS calls the GPL viral of course is projects like this get sold on building upon OpenSource applications, taking gold from a dragon has a tendency to piss it off a wee bit.
Sig went tro...aahemmm.....fishing........
"The software will...run plausibility checks"
Hopefully they mean on the votes. If you ran it on the candidate promises you'd have a 95% failure rate!
------
Today's Top Deals
I guess that should be "Statistisches" Bundesamt. Being a governmental organization, they might not be very dynamic, but to call them "static" is a bit unfair...
select * from politicians where clue > 0
And left open security holes, and been vulnerable to virii. But, but, fewer lines of code!
Do not touch -Willie
In a strange result of the September 2002 general election in Germany caused by an unknown quirk in the software, Linus Torvalds was elected Chancellor, with Richard M. Stallman foreign minister. Thanks to Stallman's diplomatic skills, 104 countries declared war on the recently-renamed GNU/Germany. Film at 11.
Everyone wants to be Ethelred. Even I want to be Ethelred.
Hi,
;-)
my wife is a teacher of a german primary school and there she is a representative for new technologies. So I get all the info-material the school gets from our government for consulting issues
And, i'm impressed of the OpenSource-activities they do for german schools. For example they support the opensource school-server project of the (IMHO best) german computer magazine c't and have a detailed brochure about the use of open-source software.
darkcookie
The press release forgot to mention what operating system the computers are using.
People might think the German government is using a Linux variant, but given that all the tools mentioned in the release probably work under BSD variants I have a feeling that they're using a combination of OpenBSD/FreeBSD, an OS that is much-liked for its ability to handle large numbers of transactions and its very high level of security.
Claus
OSS is actually very strong in Germany. If you take a look at the netcraft percentages, it's higher than in the US.
The German government could do worse. A proprietry package would probably do the job as well, especially considering that the actual counting is done by hand (although this does eliminate the possibility of machine error in the actual voting process and of someone cracking a voting line). The reasons behind this are probably economic: MySQL, Tomcat, JBoss on Linux with a web client cost a lot less to implement for all the counting stations than a proprietry solution and Germany has the positive effect of supporting it's own software industry (SuSE) rather than someone else's.
Considering that SuSE is German (and extremely popular in Germany as well) I would think that it ould be them.
The US Forefathers were smart - they intentionally left the specific details of how to collect the vote and tally the results to the states, and ultimately, the local county districts. They weren't concerned as much about regional cultural and financial differences as much as they were concerned about the integrity of the election process.
If I wanted to rig an election in the US, I would have to rig it ONE COUNTY AT A TIME, because each election office makes their own choice how to operate on the voting day in question.
With a centralized, standard voting system like Germany's open source plan, I would just have to know how to rig one system.
The Florida election worked exactly as it should have - the election was just really close. It sucks that we couldn't just call the election at 10PM and go to bed, but you know what? Your vote *does* matter.
"Lawyers are for sucks."
- Doug McKenzie
No, of course I'm not, but if there are say rounding errors or floating point errors in the code (this happens to everyone) and there *are* irregularities that get noticed, an independant commision of inquiry will be able to find the error with the help of a lot of coders who have used these tools and worked on the implementation compared to say having to go through an international court in order to get MS, Sun, Oracle or IBM to release some code.
I have never has a problem with PostgreSQL, its usability and speed kick over MySQL,
We have used out PostgreSQL server running millions of rows without a problem for a year or so now,
under MySQL I have performance drop off with only about 5000 rows...
I'm not so sure. In the US you have an electoral college and in Germany you have direct voting. I'm not sure whether the electoral college system is open to abuse but I think, considering that Gore had more overall votes, that Gore would have won in Germany.
If the US does move to a standardized electronic voting system proprietry or closed, considering that it is much easier to sue in the US than it is in Germany, I think you would be right in the effect but not in the system.
2000 US presidential election Bob Beckel proposed to invistigate electors and blackmail them. Guess what? He ain't a Republican, he is a Democrat.
In 1960 a worse problem than Florida in 2000 cropped up and it was left to the President of the Senate to choose which set of electors to use from Hawaii, a very close vote there. Richard Nixon chose the set that gave the election to John F. Kennedy, because it was the right thing to do.
Don't believe me? Look it up yourself on Google, I will not give you links that only support my side of the arguement.
Eve Fairbanks says I drive a hybrid!LOL
We are a free software project creating Java electronic voting software released under the General Public License (GPL). With this software we aim to:-
Provide a secure and private system
Create scalable and reliable software
Offer a non-commercial, non-partisan voting alternative
Use the GPL to create an open system that Internet users will trust
Release a system that can be used to support the growth of effective democracy anywhere in the world Additionally, in support of our wider development community, the project aims to:-
- Advocate the free software paradigm
- Evangelise the use of technology to strengthen democracy within a holistic understanding of the current malaise i.e. Internet voting alone isn't going to solve turnout problems
As an official GNU package and one of two electronic voting projects of FreeDevelopers.net our Free Software evangalism aims our particularly important.See:
O'Reilly article on the subject
Oracle's benchmarks (PDF)
In the second article, Oracle claims:
Gee, how could two identical benchmarks produce such different numbers? Sounds like a marketing war to me. I wouldn't take any of those numbers, Microsoft's or Oracles, without a grain -- or a pillar! -- of salt.
You don't need full ACID to be reliable, Just look at Sybase or MS SQL server, they both aren't truly due to the lack of multi-versioning that Oracle and Postgress have. That doesn't mean they are not reliable!
That said: I wouldn't trust MySql for anything. What makes it's acceptance in the open source community even harder to understand for me is the lack of a true GPL. Postgress is very reliable and is GPL. I also wouldn't know how to survive without referential integrity constraints, outer joins, subselects and nested queries!
But for a project like this, I would certainly go for Sybase or Oracle, I love free/OS software, which is often better than commercial products, but when it comes to database, I am not convinced yet!
Ummm... Had a bit of a problem with the fish's translation of their pages. For instance the jobs page says
Therefore you are with us as more curiously, open and more competent Far philosopher exactly correctly.
Wha???
Most people would die sooner than think; in fact, they do.
PostgreSQL is also easy to install, setup, and use (admittedly without replication -- that's true). It is just installed with RPM and "createdb". No biggie.
It's not ACID, but very reliable? That's a bit of an anachronism. ACID isn't a library or a protocol to which you must be compatible -- it's a minimum guideline for reliability. ACID is a contract that says that if you put it in, you will be able to get it out again, unharmed, unchanged, and every time.
Atomicity: In a transaction involving two or more discrete pieces of information, either all of the pieces are committed or none are.
Consistency: A transaction either creates a new and valid state of data, or, if any failure occurs, returns all data to its state before the transaction was started.
Isolation: A transaction in process and not yet committed must remain isolated from any other transaction.
Durability: Committed data is saved by the system such that, even in the event of a failure and system restart, the data is available in its correct state.
----------
In short, by saying that "it's not ACID, yet it's VERY reliable" in reality means "it's not 100% percent reliable, but it's at least 85%."
If I delete a record that is a foreign key reference for other records, will MySQL guarantee that the record cannot be deleted or that every record that points to it is also deleted dependant upon admin preferences? PostgreSQL does.
MySQL has many more utilities to repair and maintain integrity of its databases than PostgreSQL. It's true. But then again, the authors of PostgreSQL have designed and engineered the datastore so that catastrophic data integrity failure cannot occur in the first place. Hardware failures (memory loses bits or hard drive fails to write correctly) can cause it, but even pulling the plug, while putting the most recent changes in jeopardy, will not destroy your committed data.
And before anyone comes forward with tales of PostgreSQL data integrity issues, please check that you are talking about v7.1 or later (available for more than a year).
Now then, on to issues of vacuum. I admit this can be a time sink. As you run updates and inserts on a PostgreSQL database, the indexes are not quite as efficient as they started (hence the need for vacuum) but it's not all bad as that. Most people would only have to run vacuum every night at 3am (or something like that) from a cron job. In short, PostgreSQL requires a minimum level of maintenance for optimum perfomance. Note that I did not say that it needs maintenance to keep your data safe -- only to maintain optimum performance. And nothing replaces good backups for any database.
And before you say, "But PostgreSQL's vacuum locks the table so you can't get work done," please note that 7.2 removes this constraint.
Will someone honestly try to say with a straight face that you would trust a MySQL database with gobs of data for an extended time without performing at least minor maintenance? If someone does, please tell me that they aren't running the German election database...
- I don't need to go outside, my CRT tan'll do me just fine.
Female Prison Rape in NY
You might succeed, if you managed to subvert the central system, to have an incorrect result announced to the media on election day.
However this would soon be corrected, as the raw data for the permanent result will be published from the voting district level upwards.
The staff in the voting districts (which usually cover about 100-1000 registered voters) is made up of volunteers, mostly of nonpolitical city employees but also of party activists who volunteer to keep an eye on things. Occasionally, when appointed staff members have fallen sick, an early voter might get drafted. We are usually 8-10 persons and very, very unlikely to find anything in common to conspire for.
The counting of votes is open to the public (even if usually nobody, or the janitor of the school where the voting office is, looks in).
When we have counted, held a vote on any unclear ballot papers and the sums add up, we phone the results in to the city level. These results are further aggregated to the electoral district level and then, presumably, transmitted to Berlin in order to be processed by the software in question. Then we write up the protocol, package and seal the ballot papers into the voting box, and go home.
The local election commission (staffed by the town and by party representatives) later breaks the seal, reviews the unclear ballot papers (usually less then 1%), and perhaps also samples some votes for recounts. The result of the local election commission is the final one, and is aggregated into the federal final result. If I rightly recollect from the last federal elections, both the preliminary and the final results were published in our local paper on the voting district level. Of course we voting district volunteers would notice if results diverged from what we got on the evening of the election.
From the published voting-district level all calculations can be done with pen and paper, and will be by hopeful candidates who just did not get in.
The major safeguards of such a system are that the calculation of the final result can be checked by anyone on the outside. Of course, significantly, this only remains true if we stay with pen-and-paper ballots. The cost of that is that (at a rough guess) 1 % - 2 % of the voters have to serve in the voting offices
You know, you shouldn't use the F-word so much -- your liberal/socialistic bent is showing. ;)
About the 'illegal stripping of 100,000 voters of the rights...', the supreme court halted the vote because it did not recount the entire state and thus treated voters in different counties differently. Ironically, that's the one scenario where Gore might have won.
So how come VoterMarch hasn't been updated in over a year? The site is owned by Maybe this is why.... (NOTE- it's from a different Posner than the one who runs VoterMarch.)
Oh, yeah, and by the way, see what *this* Brit has to say about about Palast's book.
Your sources are biased and have an adgenda. Nice try.
"Lawyers are for sucks."
- Doug McKenzie