Code4Lib: a first look

Since Code4Lib came up so often as we talked about the future role of a DLF program within CLIR, we decided to take a closer look. I attended Code4Lib 2010 in Asheville, NC, and offer this "first look" at a Code4Lib meeting.


One of the founders of Code4Lib told me, "I don't like to think of Code4Lib as an organization. It is people." Their wiki defines Code4Lib like this: "The Code4Lib community is a group of computer programmers and library technologists who largely work for and with libraries." Note it defines a "community" rather than an organization. This un-organization shows itself over and over in Code4Lib. The event is highly social as well as intensely technical.

Code4Lib started as a mailing list ( in 2003 and quickly expanded to include an IRC channel as well. IRC (Internet Relay Chat), is an instant text messaging service that allows groups of people to participate in a single ongoing "chat." This conversation takes place inside a "chat room" and is, essentially, never-ending. The Code4Lib community began the IRC chat room so that they could interact with one another as they worked, both asking and sharing technical advice, and trading social tips like the music they were listening to or the score of the latest hockey game. The ethos of an IRC chat is deeply engrained in the Code4Lib DNA.

The Code4Lib community now also sponsors the conference which I discuss below, a journal, an aggregation of blog feeds from around the library/technology community, a music channel, and more. It manages this without a single paid staff member or even a permanent bank account.

The Meeting

The meat of the Code4Lib conference is the program. It is designed to be a conference where coders can really learn how their peers are getting things done. More than that, it is designed to be a place you can actually work and play together, whether that is hacking on some communal code or playing a game of werewolf.

In February 2006 the first Code4Lib conference was held in Corvallis, Oregon, hosted by Oregon State University (an institution which was denied DLF membership soon after that). It was envisioned as an Access USA with a broader technological bent. This fifth annual conference in Asheville had over 240 registrants.

Code4Lib is quite male, by library standards. 26% of those registered were women, compared to the 45% women registered for the last DLF meeting. This week it was described as, "the first library conference where men have to line up for restrooms and women don't." Organizers have made efforts to address this, including a gender diversity scholarship. Women made up about a third of presenters this year and were a vigorous presence in the IRC backchannel and discussions.

The schedule included 12 pre-conference sessions, two keynotes, 22 20-minute talks, over 30 5-minute lightning talks, and a number of breakout sessions. The vast majority of these talks are given on a single track. Aside from the pre-conference and breakout sessions, everyone is at the same meeting. The presentations are quick, for the most part 20 minutes or less. At this meeting, though, the room is so big and the schedule so tight that there is only limited question and answer after each talk. A new innovation to get the room talking was an "ask anything" session that had the whole room both asking and answering questions.

The talks are, for the most part, very strong. Easily equivalent to the typical content of a DLF Forum talk, though usually a bit more willing to dive into the weeds than would be typical at DLF. They are a bit less about "look at the cool thing we did" than they are about "here's how we did what we did and what worked and what didn't." Some of the sessions were about tools, such as SOLR, Blacklight, OCLC Web Services, Drupal, Puppet, or Google Wave. Other sessions are about technique: improving relations between system administrators and developers, integrating testing into development, or applying agile development processes to library priorities. A few sessions are about new directions, ideas, or collaborative opportunities, including a proposal for a Cloud4Lib, and OCLC's announcement of its Innovation Lab, which OCLC Research authorized Roy Tennant to roll out at Code4Lib because this is exactly the kind of community OCLC wants to reach with this new effort. The lightning talks offer an even wider array of glimpses into the accomplishments, lessons, and techniques by giving any attendee an opportunity to share through a manageable five-minute slot.

Outside these presentations the expectation is that some serious work will go on. People gather in the hospitality room and hack together, or take part in pre-conferences where they have an opportunity to get their hands dirty installing and learning how to use new tools. The premium, at Code4Lib, is on doing. The talking is only a byproduct or a precursor to the doing, it is not the goal in itself.

Even during the presentations the environment is set up so that attendees can do things. The last few years the venue has been set up with tables for laptops, though pictures of the first conference show a high laptop/attendee ratio even without tables. With power and networking present, you can tune into sessions you care about, and work through those that are peripheral to your interests. Even while tuned in, the community is percolates. In just one day the conference generated nearly 4,931 IRC messages from 167 participants. Contrast that with the 550 tweets generated by 55 participants during the whole of the DLF Fall 2009 Forum. Code4Lib drives you to participate, ask and answer questions, tease one another, share links even if you are not up on stage. It is a very active forum.

The Community

Of course, 5,000 messages a day don't just focus on the meat of the presentations. The intensity of Code4Lib is supported by a vital foundation of social relationships. The conference is as much geared to tending those social bones as it is building the muscles of ideas and code. These social relationships build the trust and camaraderie that become partnerships and contributions to future efforts. This is the blood factory, and clearly shows its roots in the IRC chat that birthed this community. In fact, sitting in the same room while chatting with each other over IRC is a common activity at Code4Lib, even outside the big meeting rooms.

This year breakfast and lunch were provided, as were a number of break-time snacks throughout the day. While dinner was not provided, considerable planning went into communal evening activities such as a newcomers dinner (for which over 70 people signed up), a BBQ (over 70), and a veggie dinner (over 30). Organizers also provided a hospitality suite at the hotel that was open late into the night with music, laptops, and people all humming along together. This year there was even a community game of Werewolf one night.

To some extent the intensity of the technology focus is matched by the intensity of the social community. The whole hotel hums with Code4Lib in a way that feels quite a bit different from the relative calm of CNI or DLF. This can make it a bit daunting for a newcomer, there are a lot of inside jokes and apparent traditions to get up to speed on. The very un-organization-ness of Code4Lib can be confusing.

The (un)Organization

Who is in charge? Who is running this thing? There is no staff to turn to, the shared leadership of the meeting (rotating emcees, and such) make it hard to identify any particular go-to person for questions. This lack of staff, directorship, or authority leaves you looking in a new direction: at each other.

You are encouraged to trust the group, to trust your peers, to trust, even, yourself. This takes some getting used to for most of us. We are all likely familiar with the condition of being given responsibility for something without the authority we need to get it done. A typical conference removes this discomfort by at least removing the responsibility, which can feel a bit like a break from "work." At least we don't feel the lack of authority so keenly.

Code4Lib is very different. What you begin to realize is that though there is still not a great deal of responsibility (you can come and go from this meeting like you would almost any other), in fact you have authority. I had two visceral experiences of this that can serve as examples.

In one case a speaker was having technical difficulties. As he struggled to get his machine to project properly I realized what the problem was, a particular piece of software which I had also once used was interfering with the screen's brightness. I called out a few times, "it's Shades." After I did this to no avail, my neighbor asked me if I knew what was wrong. I said I thought I did. "Well, go up there then," he said. Click. I had been waiting for some other authority to help this speaker fix the problem. That's not how Code4Lib works. There is nobody but us in this room, we have to fix our own problems. I walked up, helped the speaker turn off that software, and the show went on. There was no particular celebration of this minor contribution on my part, it was just the way things are done.

In another instance I wondered on the IRC channel whether there was an evaluation survey that the attendees would be asked to complete so that future planners could make use of their feedback. Someone shot back, "no, because you haven't organized that yet." I dug in, and over the next day put together an evaluation that could be offered online and linked to the conference wiki. I was a newcomer at my first Code4Lib, but trusted to contribute nonetheless.

As an attendee you get a sense of this even before arriving at what longtimers will sometimes refer to as the "(urn)conference." The first hint is that registration, which involves money, is handled by an organization on behalf of Code4Lib, not Code4Lib itself. Then you learn that most activities are being organized on a wiki and you are expected to edit that wiki to do things as simple as sign up for a dinner or get onto the lightning talk list. Code4Lib tends to rely on the simplest tool that can get the job done, and often that is the wiki. Luckily, most people who consider attending have enough technical skill to handle this freeform style.

The Costs

Unlike CNI and DLF, two other conferences that cover some of the same technical territory, it costs real money to attend Code4Lib. There is no organization, so there are no "member institutions" paying dues to cover the costs. The positive side of this coin is that anyone is welcome to attend. You just have to register in time!

This year participants paid $120 registration and mostly stayed in the conference hotel, costing another $130/night. The conference also received substantial corporate sponsorship. This year sponsors included platinum sponsor OCLC, silver sponsors Equinox, ExLibris, and Brown University, and bronze sponsors ProQuest, Serial Solutions, Oregon State University, Lucid Imagination, Princeton University, Index Data, Talis, and CrossRef.

Building a community of trust

There is no director of Code4Lib. No staff. On the agenda of the first Code4Lib was a session on making Code4Lib a 501c(3), but it isn't that either. The meetings are organized year to year by volunteers. An open Google Groups discussion (code4libcon) allows anyone to join in the discussion of ideas, presentations, and plans. Key decisions (where to site the next conference, which presentations to fit into the limited number of slots, what design to put on the t-shirt) are voted on via the Code4Lib web site. Other decisions are left to self-selected teams or individuals who throw themselves into the breech, though always staying in touch with the community via the list or IRC channel. Code4Lib develops your sense of authority, it helps you choose to take responsibility, it encourages your sense of trust in your colleagues. Being part of the Code4Lib community develops the very mental talents you need to build community code and solutions.


These first comments were in response to an earlier draft of this report. They offer great insights into Code4Lib, though, so I have left them as they are. You may also want to check out these other write-ups of the conference.

Eric Lease Morgan / 25 February 2010 / 06:59

Code4Lib is mostly about community -- a community with a shared purpose of making computers more useful tools in the field of librarianship. [1] The community is a lot like an open source software community, and while open source software is held in high esteem, the community does not negate "closed" source software. In Code4Lib authority is often times based on the concept of metreocity... something or like that. Oh, I forget the word, but it means your worth is based on the quality of your output. Yes, there are a lot of inside jokes. Yes, there are a lot of personalities. But again, that is what you get when you have a community.

Code4Lib has a website, a wiki, a journal, a mailing list of about 1000 members from all over the world, an RSS "planet", a conference, an IRC channel and in that channel we even have a robot who participates in the conversation. [2] These things did not happen over night. Like an organism, they grew over time. Instead of starting out saying, "We need this and that and the other thing", new venues for discussion and collaboration evolved as they were needed. They do not define the success of the organization but rather its maturity.

One funny thing about the decision-making process -- we vote. Discuss. Discuss. Discuss. Vote. This happens regularly regarding conference decisions, but it also happens in the refereeing of journal articles (at least when I was an editor).

Code4Lib is a sign of the times. It exploits the networked environment and yet understands that face-to-face communications are necessary. It is not about the organization itself or about keeping the organization alive and well. Instead it is about solving real problems -- about "scratching itches". It is practical, visceral, and at the same time cutting edge.

[1] Code4Lib community -

[2] All of these things are linked from

Bess / 25 February 2010 / 08:09

Eric, I think the word you're groping for is either "meritocracy" or "do-ocracy." I also often describe code4lib as an "ad-hocracy".

Jonathan Rochkind / 25 February 2010 / 08:25

You mention a couple times near the beginning of the summary the gender-unbalanced male-ness of the conference. I think for a tech conference, we're actually better than some, and I think each year is probably a bit more gender balanced than the year before. I've been to two DLF forums, which I also recall having many more men then women, I think the gender balance is probably not too different than a code4lib conf. That is, could be improved, but not entirely out of character for it's sector, and there are at least a few things some members of the code4lib community do to try and address this or make sure that women are not culturally excluded or what have you. Funded of Brown University and Oregon State University, for the past 2-3 confs there have been two scholarships set aside for women (among other criteria). I don't have a list of attendees at this conf, but on the 2010 conf schedule (, my quick count of presenters is 22 men and 11 women. (Conf attendees as a whole are clearly less than 1/3 women however, but presenters being more gender balanced than attendees is a fairly positive marker in this case, I think). Of two keynote speakers, one was a woman (I think roughly half of historical keynote speakers in the history of the conf have been women).

So I don't mean this to be an apologia for code4lib. Like many tech conferences or communities, there is room for improvement. But I wouldn't want anyone reading this to be discouraged from attending or participating in code4lib, or to get the idea that code4lib is necessarily worse in this regard than other tech-focused gatherings.

Roy Tennant / 25 February 2010 / 08:41

At first I thought you were missing the primary thrust of the conference, but then you seemed to come around to it at the end. Dan Chudnov, one of the founders of Code4Lib, has said something that has always stuck with me as the "prime directive" for the conference: "no spectators". The idea is that everyone should have an opportunity to, and be encouraged to, participate. A good example of this, beyond the traditional lightning talks and breakout sessions is that this year Dan inaugurated an "Ask Anything" session during which anyone could get up and ask anything and potentially get an answer then and there, or who to hook up with to get it.

This also illustrates how the conference is a living thing that evolves as the people who participate in planning it (and everyone is welcome, there are hundreds on the conference planning Google group) change it.

Eric Hellman / 25 February 2010 / 16:19

The set of talks yesterday morning exemplified the ways that the Code4Lib community has assumed a leadership role in the development of library technology that perhaps DLF was intended to do and didn't. As an example, yesterday morning. Emily, Bess and Naomi each gave talks discussing aspects of the professionalizing the development process in libraries. Next week, there will be 200 library developers at home thinking about how to improve their development process. The week after that, it will be 400. Next year, if you come back, and you've not implemented about agile process, deployment automation, continuous integration and test-driven development, you'll get eaten by werewolves.

Eric Hellman / 26 February 2010 / 09:06

I should correct Roy here. Dan Chudnov was one of the unfounders of Code4lib.

Edward / 26 February 2010 / 09:52

I think Jonathan is correct. Comparing the number of woman at Code4Lib to a typical library conference is not fair and paints Code4Lib unnecessarily in a bad light. Code4Lib does not draw from all librarians. It draws from coders in libraries --- which has a much higher percentage of males then other areas of librarianship. While I do not have any statistics, I hazard a bet that the ratio of females to males was higher at Code4Lib then the available pool of library developers. Certainly, we can do more to advocate for more woman in this area, but most of us are developers and not the people who are making hiring decisions. Still Code4Libbers have stepped up and organized scholarships for woman and minorities and I am happy to say that the number o woman at Code4Lib has been steadily increasing.

Emily Lynema / 26 February 2010 / 13:31

Edward and Jonathan, as a woman who has been to the past 4 conferences, I have to agree that the gender ratio is not bad at all (and is constantly improving at the confs). I have felt accepted in this community from the beginning [occasional IRC comments being the only possible exception]. I probably have more female peers via the Code4Lib community than I do within the IT unit at my own university. So I applaud you, Code4Lib.

Code4Lib 2010 was a great conference. Here's to ongoing improvement!

Naomi Dushay / 26 February 2010 / 16:50

When I was at the DLF meeting in Long Beach in ?November?, I found myself listening to what I call "blah blah." In the interests of full disclosure, I know I'm a bottom-up learner. But Code4Lib is "show it," don't talk about it. Code4Lib is "explain how it was done", don't gloss over it. The presentation that disappointed me most was a sort of "let's do this" - too vague, no clear buy in.

As for the female-male ratio: that was originally my comment about the lines for the restrooms. I was tickled by the situation, not distressed over the gender balance. I am not a librarian, but a programmer who works in a library, and I think that is true for many of the attendees/participants. Programming as a profession isn't gender balanced. I have no idea what the stats are, but they don't matter to me. I feel welcome, I feel listened to, I feel I am as included as I choose to be.

As an aside, there was a wiki page started during the meeting for ideas for the next meeting. It quickly acquired many suggestions for improvements, and what new experiments should be kept for the next conference. Go us!

(Comments have been closed.)

Eric Celeste / Saint Paul, Minnesota / 651.323.2009 /