Herding free-range cats

Herding free-range cats: An exploration into the organizational dynamics of an open software project

On a mid-September weekend in 2004, about two dozen people sat around a table on the fifth floor of an ecologically friendly building in San Francisco. Almost everyone there was under twenty-five, almost everyone there was male, almost everyone there had a laptop fired up and connected to the internet over WiFi, and everyone there was interested in finding ways to better use technology to bring about social change.

It was the first CivicSpace Summit. A year and a half earlier, a couple college kids who had become excited about electoral politics through Howard Dean’s presidential campaign had started talking together. They wanted to build the ultimate open source campaign tool. It would use some sort of content management, syndication of articles, maybe some sort of buddy list, etc. All the sites would be connected together.

They formed a group called Hack4Dean and they got in touch with Zephyr Teachout, who was working for the Dean campaign on Internet organizing. Zephyr described the project to Joe Trippi saying that she wanted to meet with these guys. Trippi said that no one understood what Zephyr was talking about, but that she should go down and meet with them.

I had gotten involved at the same time. Unlike Zack or Neil, I’ve worked for years as an IT executive and am in my mid forties. While a lot of people didn’t understand what Zack, Neil and Zephyr were talking about, there were several of us greyhairs that did and were very excited about it.

Over the following months, the group changed names to the more politically correct, ‘DeanSpace’. Zack and Neil worked on the Dean campaign, and numerous DeanSpace websites were setup. Each state could have its own website. Some sites were set up by the campaign; volunteers set up other sites. Most of the sites retrieved information from the Dean campaign via syndication.

When Gov. Dean ended his campaign, everyone involved needed to figure out what to do next. Gov. Dean asked people to consider running for local office. My wife decided to run for State Representative. The folks in DeanSpace decided to create CivicSpace, a next generation version of DeanSpace that could be used for other campaigns and advocacy.

Somehow, they managed to find funding for this and CivicSpaceLabs was formed. Using CivicSpace, I set up SmartCampaigns. The goal of SmartCampaigns was to help small campaigns, that otherwise wouldn’t have good campaign websites set up very powerful campaign websites. Of course the first campaign website was my wife’s.

Thus, I ended up out in San Francisco to talk about where CivicSpace was going. The first day was mostly about users talking about their experiences, their sites, and what they would like CivicSpace to do. It was an enjoyable friendly gathering. Many people went out to dinner together.

The next morning was when the real work needed to be done. It was just the developers. There wasn’t a clear agenda for the day, other than to talk about how to meet the users needs and what needed to get put into version 1.0.

There were a lot of talk about usability, the interface and the users’ experience of CivicSpace. There were discussions of architecture and long-term goals. There was a big of a split between the developers and user interface people, and questions about how functionality should be implemented led to long drawn out discussions. Another dynamic was between the need for immediate fixes and action items to come out in the first version, and longer-term goals. This was compounded by issues such as CivicSpace not being a project by itself but based upon the Drupal platform, which is another open source project. Some of the issues would best be resolved by changes to the Drupal core. That requires negotiations with other groups in the Drupal community.

I’ve managed programming efforts before, and it has often been said that managing programmers is like herding cats. Open source programmers are the feral free-range cats. Herding them is even more of a challenge. Open source programmers work on projects because they are cool, fun, and achieve some sort of goal that the open source programmer likes. If the open source programmer gets bored or loses interest he just stops programming, and gaps can be left in the functionality. This was a problem in the early days of DeanSpace, but now, with funding, CivicSpace can hire people to work on the most crucial elements.

During my years managing technology projects, I’ve gotten very interested in organizational dynamics. One of the first things I’ve always tried to focus on with any group I’ve been part of is defining the primary task. I was somewhat frustrated by a lack of clarity in terms of a primary task or specific sets of apparent goals for the summit.

There wasn’t a clear definition of what CivicSpace is. There wasn’t a clear understanding of how all the different people involved in CivicSpace interact, or how we would define success. Yet in many ways, this was highly appropriate. CivicSpace seems committed to a bottom-up, emergent approach to activism. People work on what is important to them, and from that a true vision emerges. In many ways, the summit exemplified this approach. Tying it to my organizational dynamics perspective, it reminded me of the article, Our Best Work Happens When We Don't Know What We're Doing.

At the end of the second day, several people sat around for a meta discussion about the summit. For programmers, it can be difficult to stay meta. They want to get back to specific coding issues. After all, specific coding issues are usually easier to address than the meta issues of a project.

I did not feel that I came away with a clearer sense of an organizational structure, primary task, goals, or much of that from the summit or from the meta discussion at the end of the summit. However, I did observe that I’ve worked with other groups with much clearer goals, and leaders with much stronger personalities that were not able to get nearly as much done as CivicSpace has been getting done. In spite of all the different personalities, goals, agendas, etc., CivicSpace is doing important work, not only in developing and distributing some important software, but also in modeling how progressive open source software groups can work together.