Skip to content

BEP 7: Decision Making

Bryan Van de Ven edited this page Apr 7, 2021 · 15 revisions
BEP 7 Decision Making
Authors Bryan Van de Ven
Status Implemented
Discussion https://github.com/bokeh/bokeh/issues/10214

This proposal aims to make the high level decision making of the Bokeh Core Team and NumFOCUS Project Committee more transparent and accountable.

What is the process

Official decision making starts from a model of unanimous consent.

Technical or financial proposals are put before the relevant team. Proposals may be put forth as Issues, PRs, topics on the Project Discourse, or as an email to all team members, as appropriate. If there is no comment or objection within a stated timebox, then the proposal is deemed to pass. If there is comment or objection, then discussion may proceed for the duration of a second timebox. If any objections are resolved in that time, the proposal is deemed to pass. Otherwise, a vote will be taken among all the team members.

The timebox durations may be stipulated by the proposer, however may not be shorter than three days. In the event a vote is taken, individual responses must be recorded in a public forum such as a GitHub issue or Discourse topic.

Short-circuit for Financial Decisions

In some cases financial decisions may be subject to external deadlines and require expediency. In such cases it is permitted that team members express votes immediately. If enough +1 votes are expressed before the timebox is expired, then the proposal passes without further delay.

When will this process apply

  • All new expenditure of project funds will always be a recorded decision by the NumFOCUS Project Committee
  • Approving new BEPs will be be a recorded decision by the Core Team
  • Any "big" technical proposals will be a recorded decision by the Core Team

For purposes of this process, a "big" technical proposal is defined implicitly as any matter for which a Core Team member requests a recorded decision.

This process is not meant to impede day-to-day development. Standard work for bug-fixes and regular features will not normally come under this process, and only require typical discussion/approval on GitHub before merge. It is expected most recorded decisions will be financial matters.

Where are decisions recorded

A public record of decisions is kept in a Google Sheet in the Bokeh team drive. The sheet has a row for each decision that provides:

  • Resolution
  • Resolution Date
  • Team (Core or NumFOCUS)
  • Proposal Date
  • Proposer
  • Proposal description
  • Amount in USD
  • Notes (type of resolution, votes, etc)
  • References

Revisions

Changes to this document shall be recorded below:

Date Change
2020-07-15 Implemented
2021-04-07 Fixed incorrect title