Open Design

Common development cycle

OpenStack deliverables are released in various ways and on different time-based or feature-based schedules (see the Release Management chapter). What binds them all, however, is our common 6-month development cycle.

OpenStack development cycles are named alphabetically (Austin, Bexar, Cactus, Diablo…) and may result in one or more releases. Stable branches (see the chapter on Stable Branches) are only cut once though, from the last release of a given deliverable for that development cycle.

Forum

The Forum is an event held during the OpenStack Summits, every 6 months. They are a key part of the “Open Design” promise: it is where the various constituents of our community get together to bring feedback and discuss the future of OpenStack.

Goals

The Forum has several goals:

  • Close the feedback loop, by getting developers, operators and end users of OpenStack in the same room

  • Get feedback on the last release

  • Get priorities for the next development cycle

  • For features at the early design stages, get feedback on early direction and quick convergence across a broad range of attendees

The Forum is not for traditional speaker-to-audience presentations. They should all be open discussions about a specific technical topic. Therefore, usage of slides or microphones is discouraged, to reduce the distance between the session proposer/moderator and the rest of the audience.

Pre-summit organization

The list of topics being discussed is finalized by a selection committee including Technical Committee members and Foundation staff, based on input from the community.

Topics are first brainstormed by each group on separate etherpads, then formally submitted for committee review.

During the summit

We use etherpad.openstack.org to take notes during sessions. It is generally a good idea to prepare those etherpads in advance and list them on the common list of Forum etherpads.

Each session should have a moderator to keep the discussion on track, and try to get to actionable outcomes before the end of the session. It is generally the person who suggested the session in the first place.

As a courtesy to attendees, make sure to start your session on time and end your session on time, so that they can easily jump to another room. Vacate the room at the end of the session, and continue the discussion in the hallway if necessary.

Project Teams Gathering

The Project Teams Gathering (or PTG) is an event held every 6 months, at the beginning of each development cycle. Attendance is key to the developer productivity during the rest of the cycle.

Each room at the PTG is freely organized by each project team or workgroup.

Goals

  • Bootstrap the upcoming development cycle, get alignment on the team priorities, define common objectives, assign tasks

  • Make quick progress on issues that are difficult to solve otherwise, by getting the right set of people working on it together at the same time

  • Meet in person with fellow contributors, address social issues, spend time together during the evening, reset relationships after heated online discussions

  • Take advantage of cross-pollination, by taking time to discuss inter-project issues with members of other teams that will be present during the same week

Sprints

In addition to Forums and PTGs, teams may meet in-person or virtually in specific sprints. For those, it is generally good to have a specific objective for the sprint and use it to get a specific goal done. They should be announced on the mailing-list and open to any contributor who wants to join.

To enable people to focus on the same topic at the same time, without factoring in the monetary and life cost of travel, we also support Virtual Sprints held on IRC. See https://wiki.openstack.org/wiki/VirtualSprints for details.