PyCon DC 2003
This article has been updated as of 12pm, April 18.
PyCon DC 2003 took took place March 26-28, 2003, at George Washington University in Washington, DC. It was Python's first do-it-yourself conference, organized by Pythoneers dissatisfied with the $500 entrance fees associated with professionally run conferences. This conference cost early-bird registrants a paltry $150, low enough to allow some to attend who otherwise could not have. The minimalist approach worked; rather than bankrupting the Python Software Foundation (PSF) as some feared, it appears to have generated a modest profit, around $200 (preliminary estimate). Some twenty people who registered but didn't attend helped the bottom line. We appreciate your money--and we ate your lunch too.
The conference attracted almost 250 registrants, the same amount as attended last year's Python10. That's pretty good considering the untried format, the three other Python conferences this year (OSCon, Python UK and EuroPython), the high unemployment rate, the current difficulty in obtaining US visas, fear of terror attacks and the fact that Gulf War II broke out less than a week before the conference. Some 20% of the attendees braved the obstacles and came from overseas anyway.
To keep costs low, the organizers chose a university setting rather than a hotel. The DC metro stop on the university campus helped make it easy for attendees to commute from cheap accommodations. The word "cheap" in the previous sentence is a joke; nothing is cheap in DC, especially not the food--$6 gets you a Jamba Juice smoothie and a cookie. I did score a $20 hostel in the Adams-Morgan neighborhood, however.
The theme of this year's conference was Popularizing Python. Steve Holden, the conference chairman, noted that attendees weren't only geeks but a good mix of scientists, educators, programmers, writers and entertainers, all of whom worked together and became colleagues.
The do-it-yourself nature of the event was manifest in the schedule. In addition to the keynote speeches, refereed-paper presentations and lightning talks (15-minute unrefereed speeches), there was something called "open space". Three and a half hours were set aside over two days for informal roundtable talks and discussions, akin to birds of a feather (BoF) sessions. After the keynote, attendees had the option of writing topics on colored pieces of paper, sticking them on the schedule board, announcing the topics into the microphone and then waiting at the designated time to see if anybody showed up. Almost all of the schedule slots filled up, even with two or three open-space meetings happening simultaneously. Fortunately, the room was big enough that sessions could go beyond their 15-minute time slots if necessary. Most open-space meetings attracted around ten people.
Another first this year was the sprint, time set aside for hacking together. In this case, two days were set aside before the conference for four sprints: Zope, the Python core, Twisted and Webware. Each sprint had four to ten participants. Most sprints required a relatively high level of programming experience to participate, but the Webware sprint was open to future developers to give them a chance to get their feet wet.
Another first was wireless access points in every room and in the foyer. This allowed sprinters and attendees to simply open their laptops and have immediate internet access. A limited number of wired ports were available for those without wireless cards. At least a third of the laptops present were Macintosh PowerBooks.
I was in the Webware sprint. (Webware is a web application server.) We identified five top to-do items: developer's documentation, a user manager with roles and permissions, spec-ing out a content management system and a component architecture for optional features (to avoid the overuse of inheritance). We chose to work on developers' documentation, as it was the key to getting the other things done. One guy added docstrings to the source, another wrote unit tests, another started diagramming the class structure in UML and I started writing an architectural overview from the perspective of a web request (transaction).
I also led an open-space discussion on PyYAML, the Python library for YAML (YAML Ain't Markup Language), which is a human-readable data serialization format almost, but not entirely, unlike XML. Being part of the team that's writing the next version of PyYAML, I needed to get input from users about what tasks they were using PyYAML for and what features they needed. We also introduced YAML to those who hadn't seen it.
Both these events brought the developers in contact with people we hadn't known who were interested in the project. In Webware's case, it was one guy in DC who had recently become a Webware enthusiast. In PyYAML's case, it was three Zope people who wanted to use YAML in Zope, each in a different way.