Revision 5 as of 2007-03-29 02:16:54

Clear message

Planning a Python Conference

Author: Andrew M. Kuchling
Date: 2007-03-28

Introduction

A great way to energize the Python community in your area is to hold a Python conference. Conferences are an excellent way for people to meet old friends and make new friends, to exchange ideas and knowledge, and to work together on projects using fast face-to-face discussions instead of slower e-mail and chat sessions. After a successful conference, people come away excited

In this white paper, I will be discussing how to organize and run a small conference, one that runs for one or two days and will have 50-100 attendees. If you want to run a smaller conference for 20 or 30 attendees, the advice here will still be useful to you because the problems are the same.

Larger conferences such as PyCon or EuroPython are more complicated to plan for several reasons. They run for three to five days, so you need to fill more program space. They'll usually attract a few hundred attendees, so your choice of locations is reduced and the likelihood of getting the location for free is small (schools are probably the only chance). Some of the information below will still be helpful, but if you're interested in planning such a conference, I suggest joining the pycon-organizers list and asking for advice. I'd also strongly suggest getting your feet wet by running a smaller conference first.

Types of conferences

Small conferences can be structured in a number of ways.

Planned conferences

A planned conference is the most traditional kind, with a fixed timetable and pre-selected schedule of speakers. Attendees will spend most of the conference time listening to speakers and occasionally making a comment or asking a question.

Pre-conference planning:

  • Speakers need to be chosen. The conference organizers might issue a call for speakers and then have a program committee select from the responses, or might invite specific people to give a talk.
  • The selected speakers then need to be arranged into a schedule for each day of the event.

Sprints

Sprints (also called hackathons) feature small groups of 3-10 people gather around a table and work on various projects. Sprints are very decentralized because there are no speakers who stand up and talk while the rest of the room listens; instead the activity is in the conversations within each small group.

Requirements:

  • Networking of some sort is a necessity for sprints. People will be writing code, and today writing code requires access to CVS/SVN repositories, bug trackers, and online reference materials.

Pre-conference planning:

  • Find out which projects will be present. A project needs a certain number of people in order to sustain a sprint. It may be necessary to have a skilled developer from the project who can actually answer questions from new developers, commit changes to the master repository.

Unconferences

An unconference is a conference where the content of the sessions is invented day-by-day by the participants. Often the program for each day is planned at the first session every morning. Participants introduce themselves, describe session topics they're interested in, and assemble into groups.

This may seem like a risky way to run a conference: what if no one suggests anything and you have a room full of people staring at each other in silence? In practice this is unlikely to happen. In a sizable group, there will be some people who want to learn about something and other people who can talk about it.

Conferences often feature lightning talk sessions consisting of a series of brief 5 to 10-minute talks, with a minute or two for questions between each talk. Many people can give such a short talk about a personal project or a library they've used, and writing three or four slides doesn't take much effort. Attendees enjoy lightning talks, too, because a single hour-long session will introduce them to ten or twelve different projects.

Alternate terms for unconferences are "open space conference" or "barcamp".

Finding a location

The critical things you need for a technical conference are:

  1. One or more places to talk such as an auditorium or conference room.
  2. Wireless Internet access for all attendees.
  3. Equipment to talk with (a projector and screen, microphones).
  4. Optionally, food.

XXX Name tags.

We are open to multi-year bids, but you're certainly not forced to assume hosting the conference for two or more years. Multi-year contracts with hotels or conference centers can strengthen your negotiating position with the hotel and let you lower costs by extracting concessions. On the other hand, if there are problems with the hotel at the first conference, you're committed to using the location again and you don't have much negotiating leverage at that point.

If you have any questions, suggestions, or would like to propose to host PyCon, write to the organizers' mailing list at <pycon-organizers at python.org>. You may want to assemble a set of web or wiki pages containing the information below.

Drawing up the program

Event ideas: talks, sprints, lightning talks.

Finding papers.

References

BarCamp, PyCon-related materials, organizing sprints, open space planning.

Unable to edit the page? See the FrontPage for instructions.