130 karma · joined September 29, 2010
https://sfgov.legistar.com/LegislationDetail.aspx?ID=2567089...
"Hearing on San Francisco's efforts to fund, design, and implement an open source voting system, including budget costs and projected roll-out schedule; and requesting the Department of Elections and the Elections Commission to report."
It's currently up for consideration in the budget.
SF resident Brian Behlendorf recently endorsed (along with EFF, Code for San Francisco, California Common Cause, local GitHub CEO Chris Wanstrath, etc), and we're looking for more high-profile supporters to help influence the Mayor's budget decision:
In theory, that sounds nice. But keep in mind that introducing more stakeholders also has significant downsides.
For example, government organizations are complicated, slow-moving beasts, so introducing more governments would likely slow things even more. Parts of San Francisco government first expressed interest in open source voting systems over eight years ago, and we are still in the "discussion" phase!
Introducing more stakeholders also increases the likelihood of scope creep on an already ambitious project, because other jurisdictions have their own interests, requirements, and priorities. I believe this is the main reason that Los Angeles County hasn't shown interest in partnering with other counties on their own voting system project [1] (VSAP, a project that may or may not turn out to be open source). It also introduces the question of how such a partnership would be governed.
Basically, it is politically challenging enough to get even one jurisdiction on board. So I would lean towards establishing such a partnership or organization to coordinate and maintain improvements only after an initial system is built and working.
In San Francisco, voters vote on paper ballots, and the ballots are electronically scanned. This generates a digital representation of the rankings cast on all ballots, which can be fed into tabulation software. SF actually releases these rankings publicly as a text file for each contest. See here, for example:
http://sfgov.org/electionscommission
PS - I'm the President of the SF Elections Commission.
http://sfgov2.org/index.aspx?page=4938
This took place this morning (Tuesday, November 10). I'm the lone member of the public who showed up and rolled the dice the first few times (5:15 into the upper video). :)
Instant-runoff voting (aka ranked-choice voting) is the law in San Francisco. It was passed by the voters back in 2002.
By the way, systems like approval and score voting suffer from the problem of voters having to vote against their favorite candidate to support a "lesser of two evils."
Think of an approval election with Donald Trump, Hillary Clinton, and Elizabeth Warren (where Warren is your favorite and Clinton is the lesser of two evils). Do you "approve" of Clinton, which would help defeat Warren? Or do you "approve" only Warren, at the risk of getting Trump?
As a software developer and open source contributor myself, I'd really like to see open source happen. But if no vendors respond to the RFI / RFP with a credible open source proposal, it will make things a lot harder.
Basically, SF would have to contract to build its own system. I made this point at last week's Commission meeting here: https://www.youtube.com/watch?v=SOOoXSOtR-s&t=1h04m55s
"> Can you say a little about the choice to use Salt instead of Chef? I don't really care either way, but am just curious. Is it because Salt is written in Python, or were there other reasons (functionality, etc)?
"I’d need to ask Ernest to be sure, but I believe it was mostly that he was more familiar with it. The fact that it was written in Python was a bonus as well ;) I don’t think that there was anything that Chef was missing or that Salt had over Chef, just familiarity of the person who did most of the work. I’ll double check with Ernest to make sure there wasn’t another reason :)"
[1] https://mail.python.org/pipermail/distutils-sig/2014-January...
http://math.mit.edu/~kelner/publications.html
http://math.mit.edu/~kelner/Publications/Docs/1304.2338v2.pd...
http://en.wikipedia.org/wiki/Representational_State_Transfer...
Applying this to one of Vambenepe's examples of an AWS method--
"AWS mostly uses RPC over HTTP. You send HTTP GET requests, with instructions like ?Action=CreateKeyPair added in the URL..."
you can see that it's not RESTful. A RESTful version of this method would have something like "KeyPairs" in the URL path rather than in the query string, and it would use POST rather than GET to signify a create operation.