xref: /openbmc/docs/tof/contract.md (revision 8e677cf7)
1# OpenBMC Technical Oversight Forum (TOF)
2This is a working document and subject to change.
3
4The OpenBMC TOF or Technical Oversight Forum represents the technical
5leadership of the OpenBMC project.
6
7The TOF handles the processes around accepting new features into OpenBMC,
8creating new subprojects (git repositories), approving subproject maintainers,
9handling and enforcement of subproject maintainer issues, and many other
10technical leadership concerns related to OpenBMC.  This source of this document
11is in the [OpenBMC documentation repository](https://github.com/openbmc/docs).
12The TOF updates and maintains this document, using the process documented
13within, and it can be considered authoritative unless directly overridden by
14the TSC.
15
16## Working Principles
17- Decision making is a spectrum between building broad consensus, in which
18  everyone has agreement, and providing guidance quickly, even when there are
19  strongly differing view-points.  This group should intend to work towards
20  broad consensus, with a balance towards moving forward when there is minor
21  disagreement.
22- Members within this forum are representatives of the development community as
23  a whole and not as representatives for the entities they are employed by.  As
24  such, decisions should be made based on merits of the decision at hand and
25  not on impacts to various member entities.
26- Encouraging progress, experimentation, and decision making within the project
27  is the core purpose of the TOF and not to create processes and barriers to
28  development.  Velocity should be favored over perfection, except as a
29  rationale for ignoring well-reasoned issues.
30
31## Role and responsibilities
32Issues the TOF handle include:
33- Approval of new bitbake meta layers.
34- Approval of new subprojects.
35- Supervising subproject maintainers.
36- Resolving subproject maintainer disputes.
37- Guidance and oversight of the technical direction of OpenBMC.
38
39## Current members
40- Brad Bishop - radsquirrel
41- Andrei Kartashev - Alatar
42- Deepak Kodihalli - dkodihal
43- Ed Tanous - edtanous
44- Richard Thomaiyar - rthomaiy
45- Patrick Williams - stwcx
46- Lei Yu - LeiYU
47
48The TOF shall have a minimum of 5 and maximum of 9 members at any given time.
49
50The chair rotates month to month.
51
52Chair responsibilities:
53- Preparing the agenda.
54- Taking meeting minutes.
55- Documenting decisions on GitHub.
56
57Members are elected by community contributors yearly.  The voting process will
58be determined by the TOF at a later date and updated in this document.  TOF
59candidates should have a breadth of knowledge about the OpenBMC project. Ideal
60candidates will also have a public history of fostering collaboration between
61teams.
62
63Resignation of TOF members will be handled as an empty/reduced seat until the
64next voting session.
65
66## Github issues
67The TOF tracks any ongoing decisions using GitHub issues in the
68[TOF repository](https://github.com/openbmc/technical-oversight-forum/issues).
69Issues can be opened by anyone, including TOF members themselves. Issues
70can be requests for process or technical changes, or solicitations for the
71opinion of the TOF. When an issue is opened the TOF will respond to a proposal
72or a solicitation, or add it to the next TOF meeting agenda for TOF discussion.
73
74Once an issue has a proposal, TOF members have 8 days to vote on the proposal
75in one of three ways: for, against, or “needs discussion”.  After 8 days, if
76the proposal has at least three votes for and no other votes, the proposal is
77approved.  Alternatively, if the proposal has at least three votes against and
78no other votes, the proposal is rejected and closed.  Any other vote count
79results in the issue being put on the next TOF meeting agenda.   To ensure
80proposals do not stagnate, if the initial 8 days elapses and the minimum number
81of votes has not been met, the proposal is extended by an additional 6 days and
82then put onto the next TOF meeting agenda after 2 weeks.
83
84Issue vote indicators by reacting to the top post:
85 - For - �� (`:+1:`)
86 - Against - �� (`:-1:`)
87 - Needs discussion - �� (`:eyes:`)
88
89## Meetings
90The TOF meets bi-weekly. Any requests for consideration by the TOF should be
91submitted via a GitHub issue using the process documented earlier in this
92document.
93
94Meetings require a quorum of the TOF to be present; quorum is defined as:
95
96| Active TOF membership | Quorum |
97| ---                   | ---    |
98| 5                     | 4      |
99| 6                     | 5      |
100| 7                     | 5      |
101| 8                     | 5      |
102| 9                     | 6      |
103
104During the meeting, the TOF discusses proposals under dispute and votes on
105them. A proposal is rejected if it does not reach majority approval or there is
106more than one dissenting vote.
107
108It is the responsibility of the TOF chairperson to make a public record of the
109decisions of the meeting.
110
111## Discord channel
112The TOF has a private Discord channel for forum member coordination and, in
113rare situations, potentially sensitive topics.  Sensitive topics would be
114topics having security or privacy concerns, such as those involving actions of
115an individual developer.  The TOF chairperson is responsible for coordinating
116the public posting of any information or decisions that do not need to remain
117private, using the same process as public issues.
118