Responsibilities of OpenStack project czars

Note: This was a model under active discussion during the Juno development cycle (summer 2014), but did not come to fruition in the community. I'm leaving it here for historical reference.

While OpenStack PTLs are ultimately accountable for the project as a whole (including the responsibilities outlined below), PTLs have the option to formally delegate subsets of their responsibility to other contributors. These delegees are referred to as czars.

These are the expectations I would place on each of the following roles.

Bug czar

  • Constantly monitor bug activity in Launchpad.
  • Work with bug authors to ensure that issue descriptions are well-defined and reproducible.
  • Triaging bug impact (priority) appropriately.
  • Assign Critical and High priority bugs to knowledgeable contributors, and ensure that they are fixed within a reasonable period of time.
  • Perform (and advocate for) code reviews on bug fixes.
  • Track release-impacting bugs throughout the release cycle, to ensure a bug free release candidate at the end of the cycle.
  • Generally perform code reviews with an eye towards minimizing the workload entailed by the above.

Security czar

  • Serve as the Vulnerability Management Team's front line contact.
  • Accurately document the impact and severity of security issues. Which releases are affected? How many users are affected? How likely is it that the issue would be exploited in the wild? What is the worst case scenario if the vulnerability is exploited?
  • Ensure the confidence of security issues (maintain secrecy as appropriate).
  • Ensure security issues are fixed and peer reviewed within a reasonable period of time.
  • Champion security awareness and related expectations within the project.
  • Generally perform code reviews with an eye towards minimizing the workload entailed by the above.

Documentation czar

  • Serve as the documentation team's front line contact.
  • Ensure the project itself is well documented for developers. What is the goal of the project? How do people consume it? How do people test it? How do people contribute?
  • Ensure features are well documented. How is the feature expected to behave? How do deployers consume it? How do end-users consume it?
  • Work with the release management czar to ensure that accurate and comprehensive release notes are produced at the end of each release cycle.
  • Generally perform code reviews with an eye towards minimizing the workload entailed by the above.

Gate czar

  • Serve as the infra and QA team's front line contact.
  • Constantly monitor gate health, and work to improve it.
  • Ensure transient bugs are quickly identified and fixed.
  • Understand how the gate can become wedged, and work to avoid those scenarios.
  • Ensure approved changes are merged in a timely manner, regardless of pre-existing transient issues.
  • Generally perform code reviews with an eye towards minimizing the workload entailed by the above.

Release management czar

  • Serve as the OpenStack Release Manager's front line contact.
  • Track the full life cycle of feature development (from spec to implementation). Communicate progress and impediments to those outside the project.
  • Communicate with blueprint assignees to help manage their commitments and blockers.
  • Produce periodic releases of projects that fall outside of the named, timed release cycle (such as clients and libraries).
  • Advocate for blueprint-focused code reviews to ensure features are merged within the target milestone.
  • Work with the documentation czar to ensure accurate and comprehensive release notes are produced at the end of each release cycle.
  • Generally perform code reviews with an eye towards minimizing the workload entailed by the above.

Oslo czar

  • Serve as the Oslo team's front line contact.
  • Work to avoid the duplication of similar efforts across multiple projects.
  • Champion code reviews which keep the project in line with other projects, both in terms of standards and the consumption of common libraries.