DRAFT |
The OpenXT Project requires consensus on an extensible systems innovation platform, to enable derivative products to make assurances for diverse markets and use cases. This document records principles to guide decisions within the OpenXT Project. Stakeholders are expected to fairly interpret this document and to objectively apply the principles for the benefit of the OpenXT Project and all contributors.
The OpenXT Project uses composable software layers provided by OpenEmbedded, to isolate customizations such as hardware, GUI environments and Linux distributions.
OpenXT Platform Layers provide smaller governance contexts for use cases, target markets and operational models within a common codebase. Layers narrow the set of stakeholders and increase alignment, while increasing the adoption of core platform components.
All OpenXT Platform Layers are subject to OpenXT Governance as defined in this document. Layer creation and changes can be proposed via the "Project Changes" process defined in this document.
Derivative works rely on OpenXT Platform Properties to make assurances for diverse markets and use cases. Derivative works are developed and governed independently of the OpenXT Project. Developers of derivative works can propose technical changes to the OpenXT Platform, as defined by "Project Changes" in this document.
Project Meetings
The OpenXT Project shall hold monthly telephone Community Conference Call meetings on the third Thursday of every month at 4pm UTC. If the date of the call falls upon a legal holiday then an alternative date may be selected.
The Community Conference Call is public and open to all members of the OpenXT community.
Notification of the Community Conference Call should be sent to the mailing list at a time between one week and one day prior to the call. The Notification shall include the timing of the call and the telephone access information for the call.
The Community Call will be hosted by a member of the OpenXT community.
The OpenXT Project shall have a Governance Board of seven appointed individuals.
This body shall represent the interests of parties involved in the OpenXT Project as well as the interests of the OpenXT platform itself.
The Board is responsible for:
This body will form a decision making authority to resolve issues that impact OpenXT and arrive at decisions on behalf of the whole community that cannot be easily resolved by the Pull Request process.
The Board may issue a binding resolution on any decision which affects the OpenXT software platform, shared resources or development practices, where lazy consensus is not achievable via community dialogue, the mailing list RFC process and monthly community call. Board members are expected to fairly interpret this document and to objectively apply the documented principles for the benefit of the OpenXT project and all contributors.
The Board shall endeavour to ensure that sufficient technical expertise and capacity for sound judgement is present among the constituent members of the Board to enable efficient and effective decision making in the best interests of the Project as guided by the Project Purpose.
An initial body of a seven individuals will be formed by community agreement.
Board members are appointed as individuals, not as representatives of their employers; companies do not own seats. Individuals are appointed for their expertise.
Board members accept the responsibility of actively building consensus within the community.
The legitimacy of the Board and its decisions depends upon the composition of the Board reflecting the balance of stakeholders within the OpenXT Project.
A Board member may retire from their position on the Board by expressing a request to do so to the Governance Board. Such a request should preferably be issued by cryptographically signed email to the Project mailing list.
A Board member will be required to step down from their position if the remainder of the Board unanimously agrees that sufficient cause exists for removal, acting in the best interests of the Project.
Vacancies on the Board shall be announced to the mailing list. Any member of the community may nominate another member of the community as a candidate for filling the vacancy.
Vacancies shall be filled by a unanimous appointment by the remaining members of the Board with a formal notification to the mailing list and revision of this document to record the appointee.
The Board will assist the community by providing guidance and recommendations on direction of work that will increase the potential for consensus to be obtained to accept technical changes within the project. Proposed technical changes will be described in Request For Comment (RFC) documents. ( To do: RFC definition doc to be linked from here. )
This diagram illustrates the decision making process for change proposals.
("Board to build consensus by working with the community" stage in the above diagram)
Action by the Governance Board will only be invoked in the situation where no resolution to a technical matter can be reached using the process of interaction with the repository maintainers and informal discussions.
Action by the Governance Board is initiated by any member of the community creating an OpenXT JIRA ticket to fully describe the issue that needs resolution. All activity concerning the resolution process will be tracked in the ticket. When a resolution of some form is reached, it will also be entered into the ticket. When the decided upon resolution is enacted, the ticket shall be be closed. This leaves a concrete information trail on exactly what transpired and what the resolution ultimately was.
Members of the Governance Board will seek to build consensus within the community regarding the issue. Means available to the Board include, but are not limited to, the following:
The exact nature of a Board decision resolution may vary widely on a case by case basis. Illustrative examples include:
("Board votes" stage in the above diagram)
A vote will be required if it becomes clear that consensus on the decision resolution cannot be achieved between members of the Governance Board in the Consensus Building Process. The purpose of the Voting Process is to document the positions of the Board members and record the concluding decision for the proposal.
Voting can commence when any two members of the Governance Board propose that it is appropriate. The start of the Voting Process must be indicated on the JIRA ticket which will serve as the official record of when the Voting Process began.
Voting will be done with an indication of "yay", "nay" or "abstain" by each Board member. Each Board member is granted a single vote. Any member can elect to vote "abstain" without a requirement to provide a reason. Absent board members who do not provide a vote will be recorded as "absent". Voting may be done by proxy. The records of all the votes will be recorded in the JIRA ticket.
When voting is tied due to absent or abstain votes, the non-absent and non-abstaining members of the Governance Board will make a best effort attempt at determining how to proceed.
The Voting Process is required to conclude within two weeks of a vote being called, as determined by the metadata of the JIRA ticket. The Vote is considered final when the maximum time period has elapsed or when all votes have been accounted for, whichever is the earlier.
The members of the Governance Board are required to:
Attend the monthly Community Call.
Provide guidance and direction to project contributors on how to address challenges presented by proposed changes in order to seek solutions that are acceptable and desirable to all the project stakeholders and in alignment with the OpenXT Project Purpose.
Participate in the Consensus Building Process, the Voting Process and in Changes to the Board.
For each Community Call at least one member of the Governance Board shall:
Repository Maintainers, Source Code Committers are the gatekeepers, managers and performers of updates to the canonical copies of the project software source code.
TBD. (FIXME)
TBD. (FIXME)
Monitor mailing list postings that are relevant to RFCs and Pull Requests and reply when appropriate.
Monitor the repositories for Pull Requests and comments and engages with them.
System Administrators maintain and manage the project infrastructure systems.
Changes may be made by the following process:
This section shall contain the names of the current Governance Board. It shall be modified to contain the names of new board members when necessary and shall not require a vote beyond the approval of the resolutions appointing the board members.
Copyright 2016 by individual contributors. This work is licensed under the Creative Commons Attribution Non-Commercial Share-Alike 4.0 International License. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/. |
Document authors: Christopher Clark, Ross Philipson and Rich Persaud.
Revision 1: Revisions by: Christopher Clark, Ross Philipson and Rich Persaud. A draft revision presented at the OpenXT Community Call on 17th March 2016.
Revision 2: Revisions by: Christopher Clark, Ross Philipson and Rich Persaud. A second draft revision to be presented at the OpenXT Community Call on 21st April 2016.