奥巴马竞选背后的开源力量
肯尼迪曾说:“胜利有一千个父亲,失败是孤儿。” 因此,我在此声明,基于 Linux 的技术极客们是巴拉克·奥巴马总统竞选成功的幕后功臣。当然,极客们并非孤军奋战。但他们的作用非常巨大。
自从 03-04 年为《Linux 杂志》报道 霍华德·迪恩总统竞选 以来,我就一直在关注这一作用。请访问以下链接回顾相关文章:拯救互联网、联合解决方案、来自竞选压力锅的信、黑客民主、从竞选锻造中学习开源政治的教训 —— 按此顺序阅读。
因此,当明确奥巴马竞选活动内外有大量的极客力量运作时,一项任务应运而生:为《Linux 杂志》11 月号撰写一篇关于此事的文章,该杂志将于 10 月下旬,即选举前夕发行。
我完成了这项任务。在努力研究和撰写这篇文章,并将其精简至三千字后,我们发现当期杂志纯粹与 Linux 相关的内容已绰绰有余,这篇文章被搁置到选举之后,也就是现在。
我决定不使用最新的数据和引言来更新这篇文章,而是按我在八月份的写作原样发表。令我惊讶的是,这个故事并没有过时。相反,它标志着一个历史正在被创造的时刻——众多时刻之一。当时人们就有所预感。现在人们已经确信这一点。
正文如下。
2008 年 8 月 11 日
自大众传媒兴起以来,政治竞选活动——尤其是总统竞选活动——最明显的活动就是形象塑造。你为你的候选人描绘一幅讨人喜欢的画像,为他的对手描绘一幅令人反感的画像。在 2008 年总统竞选“周期”(专业人士如此称呼)中,到目前为止(截至 8 月中旬,我撰写本文时)形象塑造最成功的候选人是巴拉克·奥巴马。《广告时代》在“奥巴马能教你关于千禧一代营销什么”一文中写道:“……千禧一代毫不掩饰地拥抱特定品牌,从技术到饮料到时尚,这使得过去十年成为那些知道自己在做什么的人的营销黄金时代。” 而且,“……在营销方面,巴拉克·奥巴马竞选团队深谙其道。奥巴马先生的品牌管理在总统政治中是前所未有的,它完美地展现了吸引最年轻选民的关键……他的成功似乎是产品和其背后品牌塑造的共同结果。”
读到这里,我想起了艾萨克·阿西莫夫(在 《第二基地》 中)对“令人满意的答案”和“真实的答案”的区分。因为奥巴马竞选活动迄今为止的大部分成功并非关乎品牌塑造、人口统计,甚至不是我们长期以来所知的政治。而是关乎利用技术让民主制度发挥作用。
故事始于 2001 年,当时一位名叫乔·特里皮的政治运作人员开始担任 Progeny 的顾问,该公司由伊恩·默多克领导,他的名字是 Debian 后半部分的来源。两年后,乔负责运营霍华德·迪恩的总统竞选活动,迪恩的草根支持和筹款成功在很大程度上(如果不是全部)归功于对互联网的明智(且廉价)使用——以及大量的开源技术。乔在 2003 年接受拉里·莱西格采访时说:“我一直在想,如何才能将 Linux 和开源中发生的协作应用于这里?如果有一种方法可以做到这一点,并让每个人都参与到总统竞选活动中,会发生什么?” 当拉里问乔,这是否使迪恩的竞选活动成为开源竞选活动时,乔说:“是的……我想这在现代政治中已经尽可能地开放了”。
伊恩·默多克在自己的博客中评价乔:“在与他交谈的第一个小时内,乔就和我一样理解了开源运动,并且能够向我展示我八年来都未能看到的东西。”
我第一次见到乔是在一次视频 IM 会议中。乔的脸出现在我在加利福尼亚的笔记本电脑屏幕上,而我的脸则出现在布里特·布拉泽的笔记本电脑上,他像端着会说话的零食托盘的服务员一样,在迪恩竞选总部位于佛蒙特州伯灵顿的走廊和会议室里走来走去。这次巡视效果非常好,以至于当我在一月份的寒冬和竞选活动最热烈的时候——2004 年 1 月中旬,爱荷华州党团会议前夕——到达时,我已经熟悉了这里的布局。
那次访问的几个记忆让我印象深刻。其中之一是尼科·梅勒照看着成排的服务器和其他基于 LAMP 的电子设备,并抱怨处理各个州和地方政党运作人员的烂摊子,每个运作人员都有自己拼凑的技术,这些技术通常更像是问题,而不是“解决方案”。另一个是扎克·罗森,他和其他三四个极客坐在一个小隔间角落的一个箱子上,用 Drupal 黑客攻击着什么。扎克是通过 HackersForDean 参与进来的,这是他与乔什·柯尼格一起做的。还有一个是大卫·威纳,他正在研究 他称之为 “一个非常有趣的 RSS 项目,将在周一晚上爱荷华州党团会议结果公布时推出”。在同一天(1 月 17 日)发布的文章中,大卫补充说:“我对民主党总统候选人持中立态度。我可能有自己的观点,但在我的技术工作中,这些观点根本无关紧要。我相信政治上不可知的工具。”
回首往事,我认为我所看到的相当于政治领域的 技术模型铁路俱乐部 或 家庭酿酒计算机俱乐部。这是一个新的、高度实用的技术运动开始的地方。布里特·布拉泽称之为“第一个更像 Web 服务而非营销闪电战的竞选活动”。
迪恩在爱荷华州失利后退出了竞选,但技术人员和他们的代码都没有竞选公职。相反,“迪恩流散”开始了用自由和开放技术改善民主的工作。
该流散群体的一员是贾沙·富兰克林-霍奇。“回到波士顿后,我开始重新联系一些我忽略了六个月的朋友”,贾沙告诉我。“我不断从人们那里听到的是,‘哦,你曾为霍华德·迪恩工作。太酷了。我参加了一个聚会,然后我开始在当地民主党做志愿者。我拜访了邻居并敲门’。对于这些人来说,参与其中的经历不仅仅是支持一位候选人。还在于找到他们自己的政治声音,发现他们自己的公民才能。”
因此,贾沙与另外三位迪恩的技术老兵——克莱·A·约翰逊、乔·罗斯帕斯和本·塞尔夫——一起创立了 Blue State Digital。《商业周刊》在 2008 年 6 月的一篇报道中称 Blue State Digital 为“奥巴马的秘密政治武器”。到 7 月底,Blue State 的工作已促成在线筹款超过 2 亿美元,用户超过 100 万,竞选活动 75000 场。当你读到这篇文章时,这些数字将会低得多。
今年 6 月 3 日,当我收到一封电子邮件,指向一个文件名为“techinterest?foo”的 MyBO 广告时,我开始熟悉 Blue State Digital 为奥巴马竞选活动所做的工作。该广告招募“极具天赋的 Web 开发人员”,他们需要具备“对 LAMP 开发流程和最佳实践的深刻理解”、“扩展(a)大型 LAMP 应用程序的经验”、“使用 PHP 和 MySQL 构建复杂应用程序的经验”,并“深入了解 MySQL 性能和查询优化”以及“高级或专家级的 CSS、Javascript 和 AJAX 技能”。电子邮件还指出,麦凯恩的竞选网站运行在 Windows 上。
Blue State 几乎不需要这则广告。正如贾沙对我所说的那样,“当我们招募人才时,我们所做的工作确实让我们占据了巨大的优势。对于许多开发人员来说,我们所做的事情比为银行开发软件更重要。我们希望极客们早上起床时心情愉快,并心想‘我今天构建的东西明天将被数百万人用来帮助改变世界’。”
奥巴马竞选活动不太热衷于 Facebook 和 MySpace 那种“社交计算”。但它非常擅长利用计算技术使竞选活动在现实世界中具有社交性。
当我去 MyBO 并查找剑桥附近 25 英里范围内的活动时,出现了 64 个。它们包括:社区组织聚会、音乐表演、观看演讲派对、农民市场和嘉年华的聚会、与名人的筹款活动、教堂野餐和烧烤、选民登记步行的组织、汽车合乘车队、青年组织集会、学校校友咖啡……名单还在继续。所有活动都在下个月内举行。每个活动都在 Google 地图上用一个小符号标记。在列表和地图上方都有三个按钮:一个绿色的 KML 按钮用于 Google Earth,一个橙色的 XML 按钮用于 RSS 订阅,以及一个绿色的 ICAL 按钮用于创建日历文件。
地图右侧是 my.BarackObama 列。从顶部开始,它有我的仪表板、我的社区、朋友、活动、消息、群组、筹款和我的博客。最后六个是“+”右侧的标题。展开这些标题,你会发现 18 种与其他人和竞选活动互动的途径。而且仍然有大量的空白空间。页面的操作快速、流畅、简单且干净。
当我访问麦凯恩竞选网站并查找相同 25 英里范围内的活动时,出现了 16 个:13 个是呼吁加入电话银行或以其他方式做志愿者的呼吁;3 个是个人在同一“全国活动日”举办的派对,并且每个派对都有相同的罐头式内容。
当然,这并不公平。马萨诸塞州不仅是一个非常蓝色的州,而且也是 Blue State Digital 的所在地。
所以我刚刚对 85018 进行了相同的测试,85018 是凤凰城中心的邮政编码:麦凯恩的腹地。在那里,我得到了 23 个奥巴马活动和 16 个麦凯恩活动。奥巴马的活动与波士顿周围的活动种类相同。麦凯恩的活动似乎都是在个性化标题下盖章的。有 13 个派对(大多由个人举办)与波士顿的派对在同一“全国活动日”举行。每个派对都有相同的样板内容。另外三个派对安排在其他时间。其中两个涉及退伍军人。
那么,Blue State 是如何做到的?Linux 和开源又是如何参与其中的呢?以下是贾沙对我的解释:
我们几乎所有的工具都将用户互动和用户创建放在首位。以活动管理系统为例。过去,这些系统的目的是让组织在线发布其官方日历。我们说这很棒,但远不如让你的支持者创建自己的日历有趣。因此,我们创建了工具,其首要任务是让访问网站的人可以轻松地举办家庭派对,或者安排穿着组织 T 恤在高速公路旁捡拾垃圾:从平凡到创新的一切。我们希望让创建活动、安排活动、使其可搜索、处理回复以及让人们自己筹款变得容易。
我们在活动方面最常用的两项服务是 Google 和 Yahoo 的地图和地理编码 API。我们将使用经纬度对你的地址进行地理编码,并使用它来放置附近的活动。
我们有大量其他地理信息数据库。例如,Zip+4 的经纬度中心。邮政编码的国会选区、人口普查信息、人口普查区、街区编号……如果你只是填写注册表,我们不要求你填写所有内容。如果你稍后捐款,如果你一开始不想提供地址,我们可以那时获取你的地址。
堆栈是 LAMP:Linux、Apache、MySQL、PHP。在后端,我们使用了大量的开源库和工具包。我们使用 YUI 和 Ext,它们是 Javascript UI 库。我们的一位开发人员是 Horde 项目的创建者,这是一个大型开源 PHP 框架。
我们不喜欢重新发明轮子。因此,例如,我们不编写自己的数据库连接库。我们正在使用 ADOdb,它是 PHP 和 python 中更流行的库之一。我们使用 PEAR,它是 PHP 的工具和实用程序库。我们使用 PEAR 模块来处理从发送电子邮件到进行缓存等所有事情……我们使用诸如 memcached 之类的东西。我们使用开源监控工具。
我们到处都使用 RSS:活动、博客……我们使用它来链接我们自己系统的各个部分,例如在两个不同的客户端系统之间或在我们系统的两个部分之间共享信息。在可能的情况下,我们尝试围绕公认的交换标准构建这些接口点。如果它们需要打开,或者如果客户端想要直接访问它们,我们会说“继续使用你拥有的任何 RSS 库”。
如果我们正在使用一个工具并向其添加重要功能,或者修复一个错误,我们当然会与开发人员和项目共享它。
然而,前端是我们为政治和非营利组织——或任何想要以更大目标吸引会员的组织——专门构建的所有东西。
虽然奥巴马竞选活动抢尽风头,但其他迪恩时代的黑客正忙于研究奥巴马和麦凯恩作为参议员一直倡导的东西:政府的透明度和问责制。格雷格·埃林,Sunlight Foundation 及其支持的一系列项目(OpenCongress.org、Congresspedia.org、FedSpending.org、OpenSecrets.org、EarmarkWatch.org、LOUISdb.org……)的数据专家
我们几乎所有的项目和资助项目都是开源的——尽管有时我们的代码有点混乱,所以需要一段时间才能发布它。我认识的几乎每个团队都完全投入到开源中:MySQL、PostgreSQL、Apache……框架正在被迅速采用:Rails、Django、Symfony……
这些天我最感兴趣的工作是动态脚本——我将其视为“流动式”数据集,而不是杰夫·乔纳斯创造的“堆叠式”数据集。动态脚本就是 Unix 管道!也就是说,每个应用程序都有输入和输出。我们离开了数据库生成报告的世界,进入了 RSS 流入和 RSS 流出的世界。
流动性的两个例子。Sunlight 数据库 LouisDB.com 每天抓取国会每日记录,将其转换为 XML。加勒特·舒尔(Sunlight 实验室开发人员)和乔什·鲁伊利对国会记录进行了字数统计算法,得出了国会的“每日词汇”和微型网站 http://capitolwords.org ——它可以追溯到 2001 年,并具有 RSS 订阅、API 和人们可以放在自己网站上的小部件。Louisdb.com 使搜索国会记录变得更容易——现在有一个脚本将其提炼成可发推文的内容,其他人也可以使用。第二个例子,来自 MySociety:他们为你工作。它通过解析议会的每日记录和投票,提供议员在议会中的活动的概况。最后,许多网站依赖于乔什·陶伯的 http://govtrack.us 的工作,因为乔什抓取了国会中关于法案的各种数据,并将其转换为 XML。乔什的数据是开放的,他的代码也是开放的。这是一个巨大的贡献。
那么霍华德·迪恩呢?嗯,他在 2005 年成为民主党全国委员会主席。他以前的总统竞选网站 DeanForAmerica 顺利演变成 DemocracyForAmerica,后者支持多位候选人,而不仅仅是一位。贾沙说,“他把所有这些人——在某些情况下,这些人已经接管了当地的民主党组织——聚集起来,并帮助他们将这种能量和公民精神引导到在全国范围内选举民主党和进步派候选人。他们为人们筹集了资金。他们传播了信息,协调了志愿者。在波士顿,有一位市议员萨姆·尹,在 DFA 的大力支持下,他赢得了一个不分区市议员席位。所有参与迪恩竞选的人都站出来为尹做志愿者。”
布里特·布拉泽
在迪恩之前,政治家们不知道互联网是由创造者而非 machers 创建的,machers 是政治术语,指的是通过影响、金钱和威逼利诱来统治政治的强大交易撮合者。迪恩竞选活动的互联网工作人员——即其创造者——是一个新型政治专家的核心,他们专注于手段而非目的。像 Linux 黑客一样,迪恩的创造者们感觉和行为更像是一个行会,而不是党派人士,他们也更容易与竞选活动之外的人相处,而不是与他们的老板相处。由于他们中的大多数人都是志愿者,老板的概念对他们来说意义不大。他们在竞选活动之外寻找政治目的的合作者,但他们构建的工具令人惊讶地非常适合政府目的,因为每个问题在成功赢得民心和资金的竞选活动后都会成为法律。
这一切都非常好。但这足够好吗?在我与迪恩时代的老兵的所有互动中,与莉萨·萨巴特的一次互动最为突出。像其他人一样,她对已故的 CivicSpaceLabs(由扎克·罗森等人创建)感到惋惜。除其他事项外,它在 Drupal 方面做得非常出色。
莉萨说:“事实是,目前还没有一个开源项目能够接近 CivicSpaceLabs 的承诺。对我来说,这是 2004 年和 2008 年选举的根本区别。尽管人们都在谈论奥巴马的竞选活动以网络为中心且具有开创性,但他们网站的代码仍然是专有的。我预见奥巴马竞选团队不会发布该代码,以便让任何人都能更容易地复制他们所创造的东西。顺便说一句,MoveOn.org、Democracy For America 甚至 DNCC 创建的组织工具也是如此。”
犹他州前首席信息官菲尔·温德利对他在两个竞选活动中看到的情况都不满意:“我从这里看到的观点是,互联网正被当作一个内置收银机的大型广播媒体来对待”。
格雷格·埃林从宏观角度看待这种不均衡的进展:
过去几年,在网络和开源环境中成长起来的程序员和技术专家一直在进入政治和电子政务领域,并将开源和 Web 2.0 的工具和实践带入其中。他们正在与现有的技术专家合作——有时也在与他们竞争——这些技术专家通常是活动家,他们学习了电子表格、数据库和桌面出版,然后又学习了网络来传达他们的信息。因此,我们看到从竞选活动到良好政府团体再到政府本身的一切都在极客化。更多的开源。更多的框架。个人开发者之间更多的协作沟通。这并不均衡,也充满坎坷,但它确实在发生。政治和政府领域的临界点现在已经到来——剩下的问题只是树木将落在哪里。
民主不应该将候选人和竞选活动视为产品或品牌。形象很重要,但它仍然只是表面现象。民主的实质是黑客们长期以来所知的:自由、解放、开放、慷慨和建设性的责任。最好的代码不仅仅是获胜。它只是有效。
我们需要继续这样做。并教授它。