夏武

夏武的分享

他的个人主页  他的分享

开放源码在选举方面的应用

夏武   2009年09月15日 星期二 11:58 | 0条评论

OSCON 今年的重点之一是开放的政府,包括在开放源码开发人员和更透明的政府之间可能实现的协作。我也参加了关于改进基于计算机的投票的可靠性的会议。

Tim O'Reilly 的开场演讲

OSCON 的开场演讲常常会定下大会的基调。Tim O'Reilly(他当然必须遵守大会计划)对于以后几天讨论的问题范围给出一些说明,然后谈到了他当前感兴趣的领域。与开放源码运动中的许多人一样,O'Reilly 最近把相当一部分精力放在政府项目上,与开放源码开发人员一起努力让政府信息资源发挥更大的作用。

在介绍他在 “Gov 2.0” 方面所做的工作之前,O'Reilly 先提到了另外几个有意思的主题,包括数据服务的 “联合” 和社交网络。O'Reilly 非常兴奋地讨论了向更小型的设备(主要是智能电话)发展的趋势,这些设备应用大量 传感器 (触摸屏、摄像头、麦克风、动作感应器、GPS),可以利用云数据服务实现多种功能,比如语音识别、搜索、定位、面部识别和与社交网络集成。云计算的主要优点是,数据服务之间的协作越多,每个服务的价值就越大;缺点是它有导致垄断的倾向。

说回政府方面。目前,在政府的运作中,各种信息的发布越来越开放,已经向 “开放的政府平台” 迈出了一大步;在开放的政府平台中,数据服务向公民(和开放源码开发人员)提供 SDK 和开放的 API。O'Reilly 高度赞扬了新的国家首席技术官 Aneesh Chopra 在这方面做出的贡献。

O'Reilly 指出,实体 Gov 2.0 具有几个特点。它强调社交网络的透明性,允许公民贡献和协作。它把政府当作一个平台,一种集体行动的方法,但是它更接近 Benjamin Franklin 的公民行动的概念,而不是 Donald Kent 所说的 “自动售货机式政府”。开放源码开发人员的态度是 “给我们工具,我们可以自己做”,这正反映了忙碌的公众的要求。

但是,仍然有一些因素妨碍 Gov 2.0 的发展,主要问题是目前仍然存在错综复杂的获取过程。O'Reilly 以 Brewster Kahle 和 archive.org 作为例子,这个项目希望以最低的成本反映白宫网站的历史状态,希望只花费几万美元构建一个敏捷的项目,而不是花费数百万(甚至上亿)资金开发不灵活和过度设计(且源码不开放的)项目,但是现有的获取过程导致这很难实现。因此,白宫工作人员现在仍然使用不方便又耗时很长的站点快照,与正确的方法相比,这么做效率很低而且成本高得多。

 

开放源码在选举方面的应用

我听了两场介绍开放源码在选举方面的应用的演讲。老读者可能看过我以前讨论开放源码在选举方面的应用的文章,了解我在 Open Voting Consortium (OVC) 做的工作。实际上,我在以前的 OSCON 上介绍过 OVC 的演示/原型系统的技术成果。

今年的一个演讲的演讲者是 Neal McBurnett,他为 Colorado 的 Boulder 市开发了一个使用 Django for Election Verification 的系统。除了他讨论的技术问题之外,引人注目的一点是他促使市政府在 2008 年 采用  了这些系统,由此提高了选举的可靠性和透明度。

McBurnett 的演讲没有很深入地讨论代码,而是主要讨论选举审计的设计原则和选举系统的一般原则。他提出的重要原则之一是 Rivest 和 Wack 的 “软件独立性” 概念。简单地说,这种思想要求对软件的依赖并不是必需的,每个组件都是可替代的并通过定义良好的界面操作。纸制选票和开放格式是软件独立性的主要元素。

McBurnett 的演讲主要讨论选票和记票的统计学检验的最佳原则。他介绍了取样的细节以及固定百分比和风险限制审计之间的差异。他的幻灯片很好地说明了这些问题(见  参考资料  中的链接)。

第二场演讲与这个主题密切相关,演讲者是 James Tillman 和 Richard Benham,他们在 Florida 开发了一个选举系统,与卓越的选举活动家 Ion Sancho 一起工作。他们介绍了一个良好的选举系统,这个系统还没有在目前的公共选举中使用(而且还没有发布源代码,但是他们承诺不久就会发布)。

Tillman 和 Benham 通过许多独立项目得出的结论与 OVC 在 2003 年做出的结论相同:最好的投票系统应该使用计算机设备(可能是触摸屏界面)生成投票者可以检查的纸制选票。使用计算机的优点包括:

  • 让有身体机能障碍的投票者也可以投票
  • 提供多语种功能
  • 减少由于填写不当造成的废票

总之,计算机应该只是一个神奇的打印机。与 OVC 的设计一样,Tillman 和 Benham 决定在打印的选票上使用 2D 条形码。OVC 的代码使用 Python、PyGame 和 Postscript 实现这种效果;Tillman 和 Benham 使用 Java™ 代码,大多数工作用 EML、XSLT 和 XSL-FO 等 XML 技术直接完成。在这两个解决方案中,重要的设计元素之一都是使用开放源码工具集,由此确保投票者可以检查系统。

有一个名为 “Hacking the Open Government” 的会议也很有价值,尽管它的重点不是选举。参加这次会议的有 Adina Levin、Silona Bonewald、Kevin Marks、Ilan Rabinovitch 和 California 的州务卿 Debra Bowen。州务卿 Bowen 的出席是吸引我参加的原因;我很高兴看到民选的高官也对开放源码感兴趣。在会议后的提问阶段,我很高兴有机会与州务卿 Bowen 简短对话。

对于这次大会,我特别感兴趣的另一个领域是并发。目前 Moore 定律差不多已经失效了,处理器速度不可能像以前那样快速增长了,所以处理器性能的以后改进方向主要是提供更多的核,而不是提高时钟频率。因此,在核和芯片(以及节点和网络)之间分布工作越来越重要了,这已经成为良好的理论性应用程序设计的重点。另外,良好的分布需要有良好的工具来实现和维护它。


评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !

暂时没有评论

Zeuux © 2019

京ICP备05028076号