The Open Source Force Behind the Obama Campaign

by Doc Searls

JFK said "Victory has a thousand fathers, but defeat is an orphan." So I'm here to claim Linux-based geek paternity for the successful presidential campaign of Barack Obama. The geeks didn't do it alone, of course. But their role was huge.

I had been following that role ever since covering the Howard Dean Presidential Campaign back in '03-04 for Linux Journal. Get your flashbacks at Saving the Net, The Syndication Solution, Letters from the Campaign Pressure Cooker, Hacking Democracy, Lessons on Open Source Politics from the Campaign Forge — in that order.

So, when it became clear that there was lots of geek power operating in and around the Obama campaign, an assignment developed: write about it for the November '08 issue of Linux Journal, which would hit the stands in late October, just before the election.

This I did. After working hard on researching and writing the piece, and whittling it down to three thousand words, it turned out that we had more than enough purely Linux-related stuff for that issue, and the piece was shelved until after the election, which is where we are now.

Rather than update the piece with more recent data and quotage, I decided to run it as I wrote it in August. To my surprise, the story isn't stale. Instead it marks a point — one among many — when history was being made. One suspected that at the time. One knows it now.

Here goes.

August 11, 2008

Since the dawn of mass media, the most obvious activity of political campaigns — especially presidential ones — has been image-making. You paint a flattering portrait of your candidate and an unflattering one of his or her opponent. In the 2008 presidential campaign "cycle" (as the professionals call it), the candidate with the best paint job so far (as of mid-August, when I'm writing this) has been Barack Obama. In "What Obama Can Teach You About Millenial Marketing" Advertising Age says ,...the unabashed embrace of select brands by millennials, from technology to beverages to fashion, has made this decade a true golden era of marketing for those who know what they're doing. And "...when it comes to marketing, the Barack Obama campaign knows what it's doing. Mr. Obama's brand management, unprecedented in presidential politics, shows pitch-perfect understanding of the keys to appealing to the youngest voters...His success, it seems, is a result of both product and the branding behind it."

Reading this I am reminded of Isaac Asimov's distinction (in Second Foundation) between "the answer that satisfied" and "the answer that was true". Because much of the Obama campaign's success so far isn't about branding, demographics, or even politics as we've known it for too long. It's about using technology to make democracy work.

The story begins in 2001, when a political operator named Joe Trippi went to work as an advisor to Progeny, the company headed by Ian Murdock, whose first name is the second half of Debian. Two years later Joe was running the presidential campaign of Howard Dean, who owed much (if not nearly all) of his grass roots support and fund-raising success to smart (and cheap) use of the Net -- and lots of open source geekery. "I always wondered how could you take that same collaboration that occurs in Linux and open source and apply it here," Joe told Larry Lessig in a 2003 interview. "What would happen if there were a way to do that and engage everybody in a presidential campaign?" When Larry asked Joe if that made Dean's an open-source campaign, Joe said, "Yes... I guess it’s about as open as you can do it in modern-day politics".

In his own blog, Ian Murdock said of Joe, "Within the first hour of talking with him, Joe understood the open source movement as well as I did and was able to show me things I hadn't been able to see even after eight years."

The first time I met Joe was in a video IM session. Joe's face was on the screen of my laptop in California, while my face was on Britt Blaser's laptop, which he carried around the halls and meeting rooms of the Dean Campaign headquarters in Burlington, Vermont — as if he were a waiter with a talking snack tray. The tour worked so well that I was already familiar with the layout of the place when I arrived in the dead of Winter and the height of the campaign's energy: mid-January, 2004, on the eve of the Iowa Caucuses.

Several memories of that visit stand out for me. One is of Nicco Mele minding racks of servers and other LAMP-based electronics, and grumbling about what a mess it was dealing with the various state and local party operators, each with their own patched-together tech, which usually qualified more as problems than as "solutions". Another is of Zack Rosen, sitting on a box in the corner of a cubicle with three or four other geeks, hacking something in Drupal. Zack got involved through HackersForDean, which he did with Josh Koenig. Another is of Dave Winer, working on what he called "a really interesting RSS project to roll out in time for the Iowa caucus results on Monday night." Posting that same day (January 17), Dave added, "I am neutral on the Democratic presidential candidates. I may have opinions, but in my technical work, they're simply not relevant. I believe in politically agnostic tools."

Looking back, I think what I saw was the equivalent for politics of the Tech Model Railroad Club or the Home Brew Computer Club. It was where a new and highly practical tech movement started. Britt Blaser calls it "the first campaign that functioned more like a Web service than a marketing blitz".

Dean dropped out of the race after losing in Iowa, but neither the techies nor their code were running for office. Instead the "Dean Diaspora" began the work of improving democracy with free and open technology.

One member of that diaspora was Jascha Franklin-Hodge. "After I got back to Boston I started reconnecting with some of my friends that I had been ignoring for six months", Jascha told me. "And the thing I kept hearing from people was, 'Oh you worked for Howard Dean. That's so cool. I went to a meet-up and a I started volunteering in my local democratic party. I went up to neighbors and knocked on doors'. These were people for whom the experience of being involved wasn't just about supporting a candidate. It was also about finding their own political voice, finding their own civic talent."

So Jascha got together with three other Dean tech veterans -- Clay A. Johnson, Joe Rospars, and Ben Self -- and started Blue State Digital. In a June 2008 story, Business Week called Blue State Digital "Obama's secret political weapon". By the end of July Blue State's work was behind more than $200 million raised online, 1,000,000 users and 75,000 campaign events. By the time you read this, those numbers will be way low.

I became acquainted with Blue State Digital's work for the Obama campaign on June 3 of this year, when I got an email pointing me to a MyBO ad with the filename "techinterest?foo". The ad recruited "exceptionally talented web developers" with "A deep understanding of LAMP development processes and best practices", "Experience scaling (a) large LAMP application", "Experience building complex applications using PHP and MySQL" with "deep knowledge of MySQL performance and query optimization" and "Advanced or expert CSS, Javascript, and AJAX skills". The email also noted that McCain's campaign site runs on Windows.

Blue State hardly needed the ad. As Jascha put it to me, "The work that we do does put us at a huge advantage when shopping for talent. What we do is bigger for a lot of developers than making software for a bank. We want geeks to get up and be happy in the morning, and think 'I'm building something today that millions of people tomorrow are going to use to help change the world'."

The Obama Campaign isn't much into "social computing" of the Facebook and MySpace sort. But it's outstanding at using computing to make the campaign social in the real world.

When I go to MyBO and look for events within 25 miles of my zipcode near Cambridge, 64 come up. They include: community organizing meetups, musical performances, speech-watching parties, gatherings at farmers markets and carnivals, fundraisers with notables, church picnics and barbeques, stagings for voter registration walks, carpool caravans, youth organization rallies, school alumni coffees... the list goes on and on. All within the next month. Each event is marked by a little symbol on a Google map. Above both the list and the map are three buttons: a green KML one for Google Earth, an orange XML one for RSS feed, and a green ICAL one to create calendar files.

To the right of the map is the my.BarackObama column. From the top it has My Dashboard, My Neighborhood, Friends, Events, Messages, Groups, Fundraising and My Blog. The last six are headings to the right of a "+". Expand those and you'll find 18 ways to engage with with other people, the campaign, or both. And still there is plenty of white space. The page's action is fast, smooth, simple and clean.

When I go to the McCain campaign website and look for events within the same 25 miles, 16 come up: 13 are appeals to join phone banks or to volunteer in some other way; 3 are for parties by individuals on the same "national event day", and each has the same canned copy.

Of course this isn't fair. Massachusetts is not only an exceptionally blue state, but home to Blue State Digital as well.

So I just ran the same test for 85018, a zip code in central Phoenix: the heart of McCain Country. There I get 23 events for Obama events and 16 for McCain. Obama's have the same variety as those around Boston. McCain's all seem to be stamped out under personalized headers. There are 13 parties (mostly given by individuals) on the same "national event day" as those in Boston. Each has the same boilerplate copy. Three are scheduled for other times. Two of those involve veterans.

So, how does Blue State do it? And how exactly are Linux and open source involved? Here's how Jascha put it to me:

Almost all of our tools put user interaction and user creation first. Take events management systems. In the past they were made so an organization could post its official calendar online. We said that's great but not nearly as interesting as letting your supporters create their own calendars. So we created tools where the first priority was to make it easy for somebody coming onto the website to host a house party, or to arrange to pick up litter alongside a highway while wearing t-shirts for their organization: everything from the mundane to the innovative. We wanted to make it easy to create an event, schedule it, make it searchable, handle RSVPs, and for people to do their own fund-raising.

The two services we use most in the context of events are Google and Yahoo's mapping and geocoding APIs. We'll geocode your address with lon/lat, and use that to place nearby events.

We have lots of databases of other geographical information. For example, the lon/lat center of a Zip+4. Congressional districts for zip codes, census information, census tract, block numbers... If you're just filling out a sign-up form, we don't require you to put in everything. If you donate later, we can get your address then if you don't want to give it at first.

The stack is LAMP: Linux, Apache, MySQL, PHP. On the back end we use lots of open source libraries and tool kits. We use YUI, and Ext, which are javascript UI libraries. One of our developers is the creator of the Horde project, which is a big open source PHP framework.

We don't like to re-invent wheels. So, for example, we don't write our own database connection library. We're using ADOdb, which is one of the more popular ones for PHP, and python as well. We use PEAR, which is PHP's library of tools and utilities. We use PEAR modules for everything from sending email to doing caching... We use things like memcached. We use open source monitoring tools.

We use RSS all over the place: events, blogs... we use it to link parts of our own system internally, say to share information between two different client systems, or between two parts of our system. Wherever possible we try to build those interface points around accepted standards for interchange. If they need to be opened up, or if the client wants direct access to them, we say "go ahead and use whatever RSS library you have".

If we're working with a tool and add a significant feature to it, or fix a bug, we of course share that with developers and the project.

The front end, however, is all stuff that we've purpose-built for political and nonprofit organizations -- or anybody that wants to engage membership with a bigger goal in mind.

While the Obama Campaign hogs the spotlight, other Dean-vintage hackers are busy working on something both Obama and McCain have been advocating as senators: transparency and accountability in government. Greg Elin, a data specialist with the Sunlight Foundation and the family of efforts it supports (,,,,,

Almost all of our projects and funded projects are open source -- though sometimes our code is a bit hacked so it takes a while to release it. Nearly every group I know is completely invested in open source: MySQL, PostgreSQL, Apache... The frameworks are being rapidly adopted: Rails, Django, Symfony...

The work I'm most interested in these days is dynamic-scripting -- what I think about as "flow-and-go" data sets instead of what Jeff Jonas coined as "rack-and-stack" data sets. Dynamic scripting is Unix pipes! That is, every application does input and output. We leave the world of databases-make-reports and enter the world of RSS-flows-in and RSS-flows-out.

Two examples of flow. A Sunlight database,, scrapes the Congressional Daily Record daily, transforming it into XML. Garrett Schure (Sunlight Labs developer) and Josh Ruihley did a word count algorithm on the Congressional Record to come up with Congress' "Word of the Day" and the microsite — which goes back to 2001 and has an RSS feed, API, and a widget people can put on their site. makes it easier to search the Congressional Record — and now there's a script boiling it down into tweetable content that others can use, too. Second example, from MySociety: TheyWorkForYou. It provides profiles of what Members are doing in Parliament by parsing the Parliament's daily record and votes. Lastly, many sites rely on the work of Josh Tauber's b/c. Josh scrapes all sorts of data on bills in Congress and transforms it into XML. Josh's data is open and so also is his code. It's a tremendous contribution.

And what about Howard Dean? Well, in 2005 he became Chairman of the Democratic National Committee. His old presidential campaign site, DeanForAmerica, morphed smoothly into DemocracyForAmerica, which supports many candidates instead of just one. Says Jascha, "He took all these people, who in some cases had taken over their local democratic party organizations, and helped them channel that energy and that civic spirit towards electing democratic and progressive candidates around the country. They've raised money for people. They've gotten the word out, coordinated volunteers. Here in Boston you had a city councilman, Sam Yoon, who won an at-large city council seat with tremendous support from DFA. All these people who had been involved with Dean went out and volunteered for Yoon."

Britt Blaser:

Before Dean, politicians don't know the Internet was created by makers, not by machers, which is political-speak for powerful deal-makers who rule politics through influence, money and arm-twisting. The Dean campaign's Internet staff -- its makers -- was the nucleus of a new class of political experts, focused on means rather than ends. Like Linux hackers, Dean’s makers felt and acted more like a guild than partisans, and they similarly related more easily to people outside the campaign than to their bosses. Since most of them were volunteers, the concept of boss didn't mean a lot to them. They were seeking collaborators outside the campaign for political purposes, but the tools they built map surprisingly well to governmental purposes, since every issue becomes law after a successful campaign for hearts and minds and money.

Which is all very good. But is it good enough? Of all the interactions I've had with Dean-vintage veterans, one with Liza Sabater stands out. Like several others, she lamented the late CivicSpaceLabs (a creation of Zack Rosen and others). Among other things, it did wonders with Drupal.

"The truth is that there is not one open source project out there that comes closes to the promise of CivicSpaceLabs", Liza says. "And that to me is the fundamental difference between the 2004 and the 2008 elections. For all the talk about Obama's campaign being netcentric and groundbreaking, the code to their site is still proprietary. I don't foresee the Obama campaign releasing that code to make it easier for any and all people to replicate what they have created. Same thing, by the way, with, Democracy For America and even the organizing tools created by the DNCC."

Phil Windley, former CIO for Utah, isn't happy with what he sees from either campaign: "My view from here is that the 'Net is being treated like a big broadcast medium with a built-in cash register".

Greg Elin puts this uneven progress in perspective:

Programmers and technologists who grew up with the web and with open source have been entering the political and e-government arena the past several years bringing with them the tools and practices of open source and Web 2.0. They are collaborating with -- and sometimes competing with -- existing technologists who were often activists who learned spreadsheets and databases and desktop publishing and then the web to communicate their message. So we are seeing a geek-i-fication of everything from campaigns to good government groups to government itself. More open source. More frameworks. More collaborative communication among individual developers. It's uneven, it's bumpy, but it is definitely happening. The tipping point has occurred now in politics and government -- the question remains only where the tree is going to land.

Democracy shouldn't be about candidates and campaigns as products or brands. Image matters, but it's still just superficial. The substance of democracy is what hackers have known for the duration: freedom, liberty, openness, generosity, and constructive responsibility. The best code doesn't just win. It just works.

We need to keep doing that. And teaching it too.