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